/* QADIATEY interface finish: shared rhythm, type, surfaces and interactions. */
:root {
  --ui-canvas: #f5f6f2;
  --ui-surface: #ffffff;
  --ui-border: #e3e9e3;
  --ui-ink: #17352c;
  --ui-secondary: #5e7169;
  --ui-shadow: 0 12px 34px rgba(18, 51, 39, .055);
}

body { color: var(--ui-ink); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
button:disabled { opacity: .55; cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(199, 163, 93, .72);
  outline-offset: 3px;
}
.dark-btn, .gold-btn, .social-btn, .soft-btn, .outline-gold { min-height: 42px; }
.dark-btn:hover, .gold-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(6, 61, 52, .16); }
.soft-btn:hover, .social-btn:hover { background: #e9f1e9; color: #19563f; }
.link-btn, .gate-login button, .signup button { text-underline-offset: 4px; }
.link-btn:hover, .gate-login button:hover, .signup button:hover { text-decoration: underline; }

/* Public experience */
.site-header { min-height: 76px; padding-inline: clamp(22px, 5vw, 80px); background: linear-gradient(180deg, rgba(0, 29, 24, .54), rgba(0, 29, 24, .12)); }
.site-nav a { font-size: 13px; font-weight: 500; }
.site-nav a:hover { color: #f4d99e; }
.header-actions button { font-size: 12px; }
.cinematic-hero { min-height: 680px; height: min(800px, 92vh); }
.hero-shade { background: linear-gradient(270deg, rgba(1, 27, 23, .95), rgba(1, 35, 29, .8) 43%, rgba(1, 35, 29, .22) 82%), linear-gradient(0deg, rgba(1, 27, 23, .42), transparent 45%); }
.hero-content { width: min(710px, 85vw); padding-top: clamp(160px, 22vh, 245px); }
.hero-content h1 { font-size: clamp(52px, 5vw, 78px); line-height: 1.28; margin: 17px 0; }
.hero-content > p { font-size: 16px; max-width: 610px; line-height: 1.9; }
.hero-actions .gold-btn { min-width: 185px; font-size: 13px; }
.hero-metrics { margin-top: 62px; gap: 0; width: min(560px, 100%); }
.hero-metrics div { flex: 1; padding-inline: 20px; border-inline-end: 1px solid rgba(255, 255, 255, .18); }
.hero-metrics div:first-child { padding-inline-start: 0; }
.hero-metrics div:last-child { border: 0; }
.hero-metrics b { font-size: 24px; }
.hero-metrics span { font-size: 11px; }
.journey-section { padding-block: clamp(70px, 7vw, 110px); }
.section-intro { max-width: 680px; margin: 0 auto 38px; }
.section-intro h2 { font-size: clamp(30px, 3vw, 43px); }
.journey-grid { max-width: 1210px; gap: 19px; }
.journey-card { border: 1px solid #dfe7de; border-radius: 14px; box-shadow: var(--ui-shadow); }
.journey-card:hover { transform: translateY(-5px); box-shadow: 0 24px 45px rgba(6, 55, 43, .15); }
.journey-photo { height: 224px; }
.journey-body { text-align: right; padding: 25px 27px 28px; }
.journey-body h3 { font-size: 23px; }
.journey-body p { min-height: 51px; font-size: 13px; }
.journey-body .gold-btn { width: auto; margin: 14px 0 0; }
.journey-body a { display: inline-block; margin-inline-start: 16px; font-size: 12px; }
.feature-strip { padding-block: 32px; }
.feature-strip strong { font-size: 13px; }
.feature-strip small { font-size: 11px; }
.manifesto { padding-block: 78px; }
.manifesto p { font-size: 14px; }
.site-footer { padding-block: 36px; }
.legal-links a { font-size: 12px; }

/* Account selection, sign in, and setup */
.gate-page { min-height: 100dvh; background: radial-gradient(circle at 90% 0, #e8eee7, transparent 33%), #f7f6f1; }
.gate-content { padding: 86px 5vw; }
.gate-heading { margin-bottom: 40px; }
.gate-heading h2 { font-size: clamp(30px, 3vw, 43px); }
.gate-heading p { font-size: 14px; }
.gate-cards { max-width: 1170px; gap: 20px; }
.gate-card { border-radius: 14px; box-shadow: var(--ui-shadow); }
.gate-card:hover { transform: translateY(-4px); box-shadow: 0 22px 45px rgba(7, 52, 41, .16); }
.gate-card-art { height: 240px; }
.gate-card > div:last-child { padding: 26px; }
.gate-card h3 { font-size: 23px; }
.gate-card p { min-height: 47px; font-size: 13px; }
.gate-card .dark-btn { align-items: center; font-size: 12px; }
.gate-login { font-size: 13px; }
.login-page { background: #f7f8f4; }
.login-visual { padding: clamp(32px, 5vw, 70px); }
.login-message h1 { font-size: clamp(38px, 3.5vw, 55px); }
.login-message p { font-size: 15px; }
.login-form-wrap { background: radial-gradient(circle at 90% 0, #edf1e9, transparent 35%), #f8f8f5; }
.login-form { width: min(490px, 100%); padding: clamp(30px, 3vw, 45px); border-radius: 16px; box-shadow: 0 24px 60px rgba(11, 47, 35, .08); }
.login-form h2 { font-size: 32px; }
.login-form > p { font-size: 13px; line-height: 1.8; }
.login-form label, .onboarding-card label { font-size: 13px; color: #2b4a3d; }
.login-form input, .onboarding-card input, .onboarding-card select { min-height: 48px; background: #fff; border-color: #dce5dd; font-size: 14px; }
.login-form input:hover, .onboarding-card input:hover, .onboarding-card select:hover { border-color: #a9c2b1; }
.form-row .remember, .link-btn, .signup { font-size: 12px !important; }
.setup-warning { font-size: 12px; border-radius: 8px; }
.onboarding { background: radial-gradient(circle at 15% 20%, rgba(199, 163, 93, .15), transparent 28%), linear-gradient(145deg, #f8f7f2, #eaf0e9); }
.onboarding-card { width: min(570px, 100%); padding: clamp(28px, 4vw, 50px); border-top: 0; border-radius: 17px; box-shadow: 0 25px 65px rgba(7, 44, 34, .11); }
.onboarding-card > .brand { padding-bottom: 26px; border-bottom: 1px solid var(--ui-border); }
.onboarding-card h1 { font-size: clamp(27px, 3vw, 36px); }
.onboarding-card > p { font-size: 13px; }
.onboarding-card .or span { background: #fff; }

/* Workspace shell and consistent content surfaces */
.workspace { grid-template-columns: 248px minmax(0, 1fr); background: var(--ui-canvas); }
.sidebar { padding: 25px 17px 17px; background: linear-gradient(170deg, #0a5143, #05382f 57%, #022d27); }
.sidebar > .brand { padding: 0 9px 25px; }
.sidebar nav { margin-top: 24px; gap: 5px; }
.sidebar nav button { min-height: 45px; padding: 10px 12px; font-size: 13px; font-weight: 500; border-radius: 8px; }
.sidebar nav button > span { font-size: 19px; }
.sidebar nav button.active { border-right: 0; background: rgba(255, 255, 255, .12); box-shadow: inset 3px 0 0 var(--gold); }
.sidebar nav button:hover { background: rgba(255, 255, 255, .1); }
.workspace-switch { width: 100%; min-height: 42px; margin-top: auto; border: 1px solid rgba(233, 216, 174, .34); border-radius: 8px; color: #e8ddc2; font-size: 12px; }
.workspace-switch:hover { background: rgba(255, 255, 255, .09); }
.work-top { height: 77px; padding-inline: clamp(20px, 2.5vw, 42px); background: #fff; border-bottom-color: var(--ui-border); }
.workspace-context { display: grid; gap: 1px; min-width: 0; }
.workspace-context small { color: #899a8e; font-size: 10px; }
.workspace-context strong { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--forest); font-size: 13px; }
.top-tools > button { width: 41px; height: 41px; border-radius: 10px; font-size: 18px; color: var(--forest); }
.top-tools > button:hover { background: #f0f5ef; }
.profile { gap: 12px; padding-inline-start: 10px; }
.profile .avatar { width: 40px; height: 40px; font-size: 15px; }
.profile b { font-size: 12px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile small { font-size: 10px; }
.content { max-width: 1500px; padding: clamp(24px, 3vw, 42px); }
.page-head { align-items: center; gap: 18px; margin-bottom: 22px; }
.page-head h1 { font-size: clamp(24px, 2.25vw, 32px); line-height: 1.45; margin: 4px 0; }
.page-head p { font-size: 13px; line-height: 1.6; }
.breadcrumb { font-size: 11px; color: #9b7940; }
.page-head .dark-btn { font-size: 12px; padding-inline: 18px; flex: 0 0 auto; }
.content > .panel, .calendar-layout > .panel { border: 1px solid var(--ui-border); border-radius: 11px; background: var(--ui-surface); box-shadow: var(--ui-shadow); }
.content > .panel + .panel { margin-top: 16px; }
.panel-title h3 { font-size: 16px; }
.panel-title p { font-size: 12px; }
.panel-title button, .panel-title a { font-size: 12px; }
.stat-card { border-color: var(--ui-border); border-radius: 10px; }
.stat-card small { font-size: 12px; }
.stat-card strong { font-size: 26px; }
.empty-state { padding: 65px 24px; }
.empty-state > span { width: 62px; height: 62px; font-size: 25px; }
.empty-state h3 { font-size: 18px; }
.empty-state p { font-size: 13px; line-height: 1.8; }

/* Data views */
.list-tools { padding: 16px 20px; }
.filter-search { max-width: 430px; min-height: 44px; border-radius: 8px; color: #647b6c; background: #fbfcfa; }
.filter-search:focus-within { border-color: #7ba88d; box-shadow: 0 0 0 3px rgba(40, 110, 79, .12); }
.filter-search input { font-size: 13px; }
table { width: 100%; }
th { color: #60756b; background: #f7f9f6; font-size: 11px; font-weight: 600; }
th, td { padding: 16px 20px; border-bottom-color: #edf0ec; }
td { color: #52695d; font-size: 12px; }
td b { font-size: 12px; }
td small { display: block; margin-top: 4px; color: #7b8e83; }
tbody tr:hover { background: #fbfdfb; }
.status { font-size: 11px; font-weight: 600; padding: 5px 10px; }
.soft-btn { padding: 8px 12px; font-size: 11px; font-weight: 600; }
.row-delete { width: 30px; height: 30px; font-size: 17px; }
.pagination { padding: 16px 20px; font-size: 11px; }
.doc-row { grid-template-columns: 43px minmax(0, 1fr) 85px 115px 56px 32px; gap: 14px; padding: 16px 20px; font-size: 11px; }
.doc-row:hover, .event-row:hover { background: #fafcf9; }
.doc-row b { font-size: 13px; }
.doc-row small { font-size: 11px; }
.file-icon { border-radius: 7px; }
.calendar-layout { grid-template-columns: minmax(0, 1.8fr) minmax(240px, .7fr); gap: 16px; }
.event-row { min-height: 76px; gap: 13px; padding: 16px 20px; border-bottom-color: #edf0ec; }
.event-row h3 { font-size: 13px; color: #223d30; }
.event-row p { font-size: 11px; line-height: 1.6; margin: 4px 0 0; }
.event-row time { font-size: 11px; }
.event-row > button { font-size: 11px; color: #28694e; }
.calendar-event-row { grid-template-columns: 55px 7px minmax(0, 1fr) 72px auto auto 30px; }
.calendar-event-row > .row-delete { display: grid; place-items: center; background: #f8e8e5; color: #a64b43; }
.matter-event-row { grid-template-columns: minmax(0, 1fr); }
.member-row { grid-template-columns: minmax(0, 1fr) minmax(130px, 185px); }
.member-row select { width: 100%; min-height: 42px; padding: 8px 11px; border: 1px solid #dce5dc; border-radius: 7px; background: #fff; color: var(--ui-ink); font-size: 12px; }
.profile-name-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.profile-name-form label { flex: 1 1 240px; font-size: 13px; font-weight: 600; }
.profile-name-form input { display: block; width: 100%; min-height: 44px; margin-top: 7px; padding: 10px 12px; border: 1px solid #dce5dc; border-radius: 7px; background: #fff; font-size: 14px; }
.profile-name-form button { min-height: 44px; }
.notification-row { grid-template-columns: 8px minmax(0, 1fr) auto; }
.notification-row > span:last-child { font-size: 11px; color: #7b8c80; }
.notification-row > button { border: 1px solid #dce9db; border-radius: 7px; padding: 8px 11px; background: #f4f8f3; }
.date-box b { font-size: 20px; }
.date-box span { font-size: 10px; }
.mini-calendar { padding: 22px; }
.calendar-note { border-radius: 8px; padding: 16px; }
.calendar-note b { font-size: 23px; }
.calendar-note span { font-size: 12px; }
.content > .panel.full-panel:not(:has(.list-tools, .doc-table, .empty-state, .event-row)) { padding: 23px; }
.content > .panel.full-panel:not(:has(.list-tools, .doc-table, .empty-state, .event-row)) > h3 { font-size: 17px; margin-top: 0; }
.content > .panel.full-panel:not(:has(.list-tools, .doc-table, .empty-state, .event-row)) > p { font-size: 13px; line-height: 1.85; color: var(--ui-secondary); }
.content > .panel.full-panel > .panel-title { padding: 0 0 16px; margin: 0; }
.content > .panel.full-panel:has(> .panel-title) { padding: 22px; }
.content > .panel.full-panel:has(> .panel-title) > .doc-table { margin-inline: -22px; }
.content > .panel.full-panel:has(> .panel-title) > .event-row { margin-inline: -22px; }
.content > .panel.full-panel:has(> .panel-title) > .empty-state { margin-inline: -22px; }
.content > .panel.full-panel.legal-settings { padding: 22px; }
.legal-settings-links a { color: #24694f; font-size: 12px; padding: 8px 11px; border: 1px solid #dae7dc; border-radius: 7px; }
.legal-settings-links a:hover { background: #eaf2e9; }

/* Dialogs and feedback */
.modal-shell { backdrop-filter: blur(5px); }
.record-modal { max-height: min(88dvh, 850px); overflow-y: auto; border-radius: 15px; padding: clamp(23px, 3vw, 37px); }
.record-modal h2 { font-size: 27px; }
.record-modal label { font-size: 12px; color: #315043; }
.record-modal input, .record-modal select, .record-modal textarea { min-height: 45px; border-radius: 7px; border-color: #dce5dc; font-size: 13px; }
.record-modal textarea { min-height: 105px; }
#toast { border-radius: 9px; padding: 15px 19px; font-size: 12px; }

@media (max-width: 1050px) {
  .workspace { grid-template-columns: 220px minmax(0, 1fr); }
  .sidebar nav button { font-size: 12px; }
  .site-nav { display: none; }
}

@media (max-width: 760px) {
  .site-header { min-height: 66px; padding-inline: 16px; }
  .cinematic-hero { min-height: 700px; height: auto; }
  .hero-content { width: 100%; padding: 140px 23px 100px; }
  .hero-content h1 { font-size: clamp(38px, 10vw, 52px); }
  .hero-content > p { font-size: 14px; }
  .hero-metrics { margin-top: 42px; }
  .hero-metrics div { padding-inline: 8px; }
  .hero-metrics div:first-child { padding-inline-start: 0; }
  .hero-metrics b { font-size: 18px; }
  .hero-metrics span { font-size: 9px; }
  .journey-section { padding: 65px 18px; }
  .journey-photo { height: 205px; }
  .journey-body { padding: 22px; }
  .journey-body p { min-height: 0; }
  .feature-strip { gap: 15px; }
  .manifesto { padding: 58px 22px; }
  .gate-content { padding: 76px 17px 40px; }
  .gate-heading { margin-bottom: 28px; }
  .gate-card-art { height: 100%; }
  .gate-card > div:last-child { padding: 18px; }
  .gate-card p { min-height: 0; }
  .login-form-wrap { padding: 75px 16px 35px; }
  .login-form { padding: 28px 22px; }
  .onboarding { padding: 16px; }
  .onboarding-card { padding: 30px 22px; }
  .workspace { display: block; }
  .sidebar { width: min(315px, 88vw); padding: 23px 16px; }
  .sidebar nav { margin-top: 15px; }
  .sidebar nav button { min-height: 48px; font-size: 13px; }
  .work-top { height: 69px; padding-inline: 13px; }
  .workspace-context { display: none; }
  .content { padding: 23px 14px 42px; }
  .page-head { align-items: flex-start; }
  .page-head h1 { font-size: 23px; }
  .page-head p { display: block; font-size: 11px; }
  .page-head .dark-btn { min-height: 42px; font-size: 11px; }
  .calendar-layout { grid-template-columns: 1fr; }
  .mini-calendar { display: block; }
  .event-row { grid-template-columns: 43px 5px minmax(0, 1fr) auto; gap: 8px; padding: 14px; }
  .calendar-event-row { grid-template-columns: 43px 5px minmax(0, 1fr) auto auto; }
  .calendar-event-row > .status { display: none; }
  .matter-event-row { grid-template-columns: minmax(0, 1fr); }
  .member-row { grid-template-columns: minmax(0, 1fr) minmax(105px, 145px); }
  .notification-row { grid-template-columns: 5px minmax(0, 1fr) auto; }
  .event-row > time { display: none; }
  .event-row > button { display: inline-flex; align-items: center; min-height: 32px; }
  .doc-row { grid-template-columns: 37px minmax(0, 1fr) auto auto; gap: 8px; padding: 14px; }
  .doc-row > span:nth-of-type(2), .doc-row > span:nth-of-type(3) { display: none; }
  .doc-row button:last-child { display: inline-grid; place-items: center; }
  .content > .panel.full-panel:has(> .panel-title) { padding: 17px; }
  .content > .panel.full-panel:has(> .panel-title) > .doc-table,
  .content > .panel.full-panel:has(> .panel-title) > .event-row,
  .content > .panel.full-panel:has(> .panel-title) > .empty-state { margin-inline: -17px; }
}

@media (max-width: 480px) {
  .hero-caption { display: none; }
  .gate-card { grid-template-columns: 100px minmax(0, 1fr); }
  .gate-card h3 { font-size: 18px; }
  .gate-card p { font-size: 11px; }
  .gate-card .dark-btn { padding: 8px 10px; }
  .page-head { display: block; }
  .page-head .dark-btn { margin-top: 13px; }
  .profile { padding: 0; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .list-tools { padding: 12px; }
  th, td { padding: 13px 14px; }
  .event-row h3 { font-size: 12px; }
  .event-row > .status { display: none; }
  #toast { left: 12px; right: 12px; bottom: 12px; }
}

@media (max-width: 600px) {
  .table-wrap:has(> .record-table, > .matter-table) { overflow: visible; }
  .record-table, .matter-table, .record-table tbody, .matter-table tbody { display: block; width: 100%; white-space: normal; }
  .record-table thead, .matter-table thead { display: none; }
  .record-table tbody tr, .matter-table tbody tr { display: block; margin: 12px; padding: 14px 16px; border: 1px solid #e2ebe1; border-radius: 9px; background: #fff; }
  .record-table tbody tr:hover, .matter-table tbody tr:hover { background: #fff; }
  .record-table td, .matter-table td { display: flex; align-items: center; justify-content: space-between; gap: 15px; width: 100%; padding: 8px 0; border-bottom: 1px solid #f0f2ee; text-align: left; font-size: 12px; }
  .record-table td:last-child, .matter-table td:last-child { border: 0; padding-bottom: 0; }
  .record-table td::before, .matter-table td::before { flex: 0 0 auto; color: #829387; font-size: 11px; }
  .record-table td:nth-child(1)::before, .matter-table td:nth-child(1)::before { content: 'المرجع'; }
  .record-table td:nth-child(2)::before { content: 'العنوان'; }
  .record-table td:nth-child(3)::before { content: 'الحالة'; }
  .record-table td:nth-child(4)::before { content: 'آخر تحديث'; }
  .record-table td:nth-child(5)::before, .matter-table td:nth-child(5)::before { content: 'الإجراءات'; }
  .matter-table td:nth-child(2)::before { content: 'القضية'; }
  .matter-table td:nth-child(3)::before { content: 'العميل'; }
  .matter-table td:nth-child(4)::before { content: 'الحالة'; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* Saudi lawyer services on the public landing page */
.lawyer-services{padding:90px 5vw 82px;background:#f7f5ef;scroll-margin-top:24px}
.services-container{max-width:1220px;margin:auto}
.services-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.services-heading h2{font-family:var(--serif);font-size:clamp(30px,3.2vw,43px);line-height:1.35;color:var(--forest);margin:10px 0}
.services-heading p{max-width:660px;color:#60716a;line-height:1.9;margin:0;font-size:13px}
.services-start{flex:0 0 auto;color:var(--forest);font-weight:700;font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:7px}
.services-start span{margin-inline-start:6px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.service-card{min-height:220px;display:flex;flex-direction:column;align-items:flex-start;padding:26px;background:#fff;border:1px solid #e8e4d9;border-radius:12px;box-shadow:0 10px 30px rgba(12,46,35,.035)}
.service-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#ecf2ec;color:#286e55}
.service-card-icon .line-icon{width:24px;height:24px}
.service-card h3{font-size:17px;color:var(--forest);margin:17px 0 5px}
.service-card p{color:#67766f;line-height:1.8;font-size:12px;margin:0 0 15px}
.service-status{margin-top:auto;display:inline-block;padding:5px 10px;background:#edf5ee;color:#316e50;border-radius:100px;font-size:10px;font-weight:700}
.practice-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;margin-top:24px;padding:36px;border-radius:14px;background:linear-gradient(125deg,#083d33,#0a5748);color:#fff}
.practice-panel h3{font-family:var(--serif);font-size:29px;line-height:1.4;margin:12px 0}
.practice-panel p{color:#d2e3db;font-size:12px;line-height:1.9;margin:0}
.practice-tags{display:flex;flex-wrap:wrap;align-content:center;gap:9px}
.practice-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:7px;background:rgba(255,255,255,.07);font-size:11px;color:#f3f4ed}
.services-roadmap{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;margin-top:22px;padding:30px 32px;border:1px solid #e8dfcd;border-radius:12px;background:#fffcf6;scroll-margin-top:30px}
.services-roadmap h3{font-family:var(--serif);font-size:25px;color:var(--forest);margin:9px 0}
.services-roadmap p{font-size:12px;color:#687870;line-height:1.8;margin:0}
.services-roadmap ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;list-style:none;padding:0;margin:0}
.services-roadmap li{position:relative;padding-inline-start:17px;color:#435d50;font-size:12px;line-height:1.7}
.services-roadmap li:before{content:'◈';position:absolute;inset-inline-start:0;color:#b18a48}
.services-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:25px 30px;border:1px solid #dcd8c9;border-radius:12px;background:#fff}
.services-cta strong,.services-cta span{display:block}.services-cta strong{font-family:var(--serif);font-size:19px;color:var(--forest)}.services-cta span{font-size:12px;color:#687870;margin-top:6px}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-panel,.services-roadmap{grid-template-columns:1fr}}
@media(max-width:600px){.lawyer-services{padding:60px 16px}.services-heading{display:block}.services-start{display:inline-block;margin-top:18px}.services-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:0;padding:22px}.practice-panel{padding:25px 20px;gap:22px}.practice-panel h3{font-size:24px}.practice-tags span{font-size:11px}.services-roadmap{padding:24px 20px}.services-roadmap ul{grid-template-columns:1fr}.services-cta{display:block;padding:23px 20px}.services-cta .gold-btn{width:100%;margin-top:18px}}

/* Internal finance workspace */
.finance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px;margin:0 0 15px}
.finance-metrics article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;min-width:0}
.finance-metrics small,.finance-metrics strong{display:block}.finance-metrics small{color:#6a7b71;font-size:11px}.finance-metrics strong{margin-top:8px;color:var(--forest);font-size:21px;overflow-wrap:anywhere}
.finance-panel{padding:20px;margin-bottom:14px}.finance-panel h2{font-family:var(--serif);font-size:19px;color:var(--forest);margin:0 0 17px}
.finance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}
.finance-form label,.record-modal label{display:grid;gap:7px;color:#3a5144;font-size:11px;font-weight:600}
.finance-form input,.finance-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}
.finance-form .finance-wide{grid-column:1/-1}.finance-form .finance-check{display:flex;align-items:center;gap:8px;min-height:42px}.finance-check input{width:auto;min-height:0;accent-color:var(--forest)}
.finance-form .dark-btn{justify-self:start;min-height:42px}.finance-panel .table-wrap{overflow:auto}.finance-panel table{min-width:660px}.finance-panel td,.finance-panel th{font-size:11px;line-height:1.7}
.finance-panel .soft-btn{white-space:nowrap}.finance-note,.finance-empty{font-size:11px;line-height:1.8;color:#738177;margin:15px 0 0}
.finance-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.finance-panel-head h2{margin:0}
.report-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.report-breakdown{border:1px solid var(--line);border-radius:8px;padding:15px}.report-breakdown h3{font-size:13px;color:var(--forest);margin:0 0 9px}.report-breakdown div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid #f0f0ea;font-size:11px;color:#64746a}
.report-breakdown b{color:var(--forest)}
@media(max-width:600px){.finance-form{grid-template-columns:1fr}.finance-form .finance-wide{grid-column:auto}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-metrics strong{font-size:17px}.finance-panel{padding:15px}}
.alert-settings{margin-top:14px;padding:18px}.alert-settings-action{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.alert-settings-action small{font-size:11px;color:#708076;line-height:1.7}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-card{display:grid;gap:8px;text-align:right;padding:18px;background:#f9fbf8;border:1px solid #dfe7df;border-radius:8px;color:var(--forest)}.template-card:hover,.template-card:focus-visible{border-color:var(--gold);outline:none}.template-card strong{font-size:14px}.template-card span{font-size:11px;color:#6e8072;line-height:1.7}.template-modal{max-height:min(90vh,850px);overflow:auto}.template-modal textarea{width:100%;min-height:68px;border:1px solid var(--line);padding:9px;border-radius:5px}.template-modal label{margin-bottom:11px}
@media(max-width:600px){.template-grid{grid-template-columns:1fr}}
.portal-share-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:11px;color:#41574b}.portal-share-row span:first-child{font-weight:700;color:var(--forest);flex:1;min-width:0;overflow-wrap:anywhere}.portal-share-row .soft-btn{margin-inline-start:auto;white-space:nowrap}
@media(max-width:600px){.portal-share-row{flex-wrap:wrap}.portal-share-row span:first-child{flex-basis:100%}}
.report-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-insights .finance-panel{min-width:0}.report-insights .report-breakdown{border:0;padding:0}
@media(max-width:800px){.report-insights{grid-template-columns:1fr}}

/* Keep document controls together and readable on narrow screens. */
.doc-row{grid-template-columns:43px minmax(0,1fr) auto auto}
.doc-info{min-width:0;overflow-wrap:anywhere}
.doc-meta{display:flex;align-items:center;gap:16px;white-space:nowrap}
.doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.doc-actions .soft-btn{white-space:nowrap}
.doc-actions .row-delete{flex:0 0 auto}
.page-head h1,.dashboard-hero h1,.member-row p,.notification-row p{overflow-wrap:anywhere}
.panel-title > .dark-btn{background:var(--forest);color:#fff;font-size:12px}
@media(max-width:950px){
  .doc-row{grid-template-columns:37px minmax(0,1fr);gap:8px 12px;padding:14px}
  .doc-meta,.doc-actions{grid-column:2;justify-content:flex-start}
  .doc-actions{flex-wrap:wrap}
  .doc-actions .soft-btn{min-height:40px}
  .doc-actions .row-delete{width:40px;height:40px}
}
@media(max-width:760px){
  .calendar-event-row{grid-template-columns:43px 5px minmax(0,1fr) 40px;align-items:start}
  .calendar-event-row > button[data-edit]{grid-column:3;grid-row:2;justify-self:start;min-height:40px}
  .calendar-event-row > .row-delete{grid-column:4;grid-row:1 / span 2;width:40px;height:40px}
  .notification-row > button{min-height:40px;white-space:normal}
  .finance-panel-head{flex-wrap:wrap}
  .login-form input:not([type=checkbox]),.onboarding-card input,.onboarding-card select,.record-modal input,.record-modal select,.record-modal textarea,.finance-form input:not([type=checkbox]),.finance-form select,.template-modal textarea,.filter-search input,.member-row select{font-size:16px}
  .login-form input[type=checkbox]{width:18px;height:18px;min-height:0}
  .finance-form label{font-size:13px}
}
@media(max-width:480px){
  .finance-metrics article:last-child:nth-child(odd){grid-column:1/-1}
  .content > .panel.full-panel > .panel-title{flex-wrap:wrap;gap:12px}
  .content > .panel.full-panel > .panel-title > .dark-btn{width:100%;min-height:44px}
  .content > .panel.full-panel .form-row{flex-wrap:wrap;gap:8px}
  .content > .panel.full-panel .form-row > button{flex:1 1 100%;min-height:44px}
}
.ai-panel{margin-bottom:18px}
.ai-panel h2{font-size:18px;color:var(--forest);margin:0 0 10px}
.ai-panel p{line-height:1.8}
.ai-form{display:grid;gap:16px;max-width:900px}
.ai-form label{display:grid;gap:7px;font-weight:600}
.ai-form input,.ai-form select,.ai-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit}
.ai-form textarea{resize:vertical;line-height:1.8}
.ai-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ai-output{margin-top:22px;display:grid;gap:12px;max-width:900px}
.ai-output h3{font-size:14px;margin:10px 0 0}
.ai-output pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;background:#f8f8f5;border:1px solid var(--line);padding:16px;border-radius:6px;font:inherit}
.ai-output [hidden]{display:none}
.ai-output button{justify-self:start}
@media(max-width:640px){.ai-name-row{grid-template-columns:1fr}}
