@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,400&display=swap');
:root{
  --forest-950:#061612;--forest-900:#0a211a;--forest-800:#10372b;--forest-700:#17513f;
  --gold-600:#9e7434;--gold-500:#b98942;--gold-300:#d8bc82;
  --ink:#13211b;--muted:#68756f;--soft:#f5f6f3;--cream:#f7f4ed;--paper:#ffffff;
  --line:#e5e3dc;--line-strong:#d5d1c7;--danger:#a23333;--success:#25754b;--warning:#9a650c;
  --shadow-sm:0 8px 24px rgba(12,35,28,.07);--shadow-lg:0 24px 60px rgba(8,31,24,.13);
  --radius:18px;--radius-lg:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8f7f3 0%,#f3f1eb 100%);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:15px;line-height:1.55}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
.portal-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.portal-overlay{display:none}
.sidebar{background:linear-gradient(180deg,var(--forest-950),var(--forest-800));color:white;padding:28px 22px;position:sticky;top:0;height:100vh;overflow:auto;box-shadow:18px 0 50px rgba(5,24,18,.08);z-index:40}
.brand-wrap{padding:4px 10px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.brand{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-size:28px;line-height:1.05;letter-spacing:-.025em;font-weight:400;font-optical-sizing:auto}.brand-sub{letter-spacing:.22em;font-size:10px;color:var(--gold-300);text-transform:uppercase;margin-top:5px}.brand-seal{width:44px;height:44px;border:1px solid rgba(216,188,130,.55);border-radius:14px;display:grid;place-items:center;color:var(--gold-300);font-family:'Playfair Display',serif;font-size:19px;margin-bottom:14px}
.nav-title{font-size:10px;letter-spacing:.18em;color:#9fb3aa;margin:26px 10px 9px;text-transform:uppercase;font-weight:700}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:13px;color:#eaf1ed;margin:4px 0;font-weight:600;transition:.2s ease}.nav-link:before{content:'•';color:rgba(216,188,130,.65);font-size:18px;line-height:1}.nav-link:hover{background:rgba(255,255,255,.075);transform:translateX(2px)}.nav-link.active{background:linear-gradient(90deg,rgba(185,137,66,.22),rgba(255,255,255,.07));box-shadow:inset 3px 0 0 var(--gold-500);color:#fff}.nav-link.active:before{color:var(--gold-300)}
.sidebar-footer{margin-top:30px;padding:18px 10px 4px;border-top:1px solid rgba(255,255,255,.1);color:#b7c5bf;font-size:12px}
.main{padding:30px 38px 44px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(225,223,216,.9);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow-sm);position:sticky;top:14px;z-index:20}.topbar-user{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--forest-800),var(--forest-700));color:white;display:grid;place-items:center;font-weight:800;box-shadow:0 8px 20px rgba(16,55,43,.2)}.topbar-name{font-weight:800;color:var(--forest-900)}.topbar-company{color:var(--muted);font-size:13px}.mobile-menu-btn{display:none;border:0;background:var(--forest-900);color:#fff;width:42px;height:42px;border-radius:12px;font-size:20px;cursor:pointer}
.pill{border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:#fff;font-weight:700;color:var(--forest-800);transition:.2s}.pill:hover{border-color:var(--gold-500);box-shadow:0 7px 18px rgba(14,46,36,.08)}
.h1{font-family:'Playfair Display',Georgia,serif;font-size:44px;line-height:1.08;margin:0;color:var(--forest-900);font-weight:600;letter-spacing:-.025em}.lead{color:var(--muted);font-size:16px;margin:8px 0 25px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0}.two{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.9fr);gap:22px}
.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.card h2{font-family:'Playfair Display',Georgia,serif;color:var(--forest-900);font-size:24px;margin:0 0 18px}.card-label{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-size:10px;font-weight:800}.card-num{font-size:35px;font-weight:800;letter-spacing:-.04em;color:var(--forest-800);margin:9px 0 2px}.grid-4>.card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold-500),transparent)}.grid-4>.card p{margin:0;color:var(--muted);font-size:13px}
.hero-panel{background:radial-gradient(circle at 85% 15%,rgba(185,137,66,.28),transparent 26%),linear-gradient(135deg,var(--forest-950),var(--forest-800));color:#fff;border-radius:var(--radius-lg);padding:36px 38px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.hero-panel:before{content:'';position:absolute;right:35px;bottom:-30px;font-family:'Playfair Display',serif;font-size:122px;color:rgba(255,255,255,.035);letter-spacing:-.08em}.hero-panel h1{font-family:'Playfair Display',Georgia,serif;font-size:44px;line-height:1.08;margin:0;font-weight:600;max-width:780px}.hero-panel p{color:#d8e2dd;max-width:760px;font-size:16px}.kpi-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.kpi-mini span{background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.15);padding:8px 13px;border-radius:999px;font-weight:600;font-size:13px;backdrop-filter:blur(8px)}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);background:#faf9f6}.table td{padding:15px 16px;border-bottom:1px solid #efede7;vertical-align:top}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fcfbf8}
.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;background:#eaf4ef;color:var(--success);font-weight:800;border:1px solid #d5e9df}.badge.warning{background:#fff5df;color:var(--warning);border-color:#f0dfb8}.badge.danger{background:#fdeaea;color:var(--danger);border-color:#f2cccc}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--forest-800),var(--forest-700));color:white;border:0;border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(16,55,43,.16);transition:.2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(16,55,43,.22)}.btn.secondary{background:#fff;color:var(--forest-800);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{border-color:var(--gold-500);background:#fffdfa}
.form{display:grid;gap:15px}.input,textarea,select{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:.2s}textarea{min-height:145px;resize:vertical}.input:focus,textarea:focus,select:focus{border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(185,137,66,.12)}label{font-weight:700;color:var(--forest-900)}
.timeline{position:relative;padding-left:27px}.timeline:before{content:'';position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:linear-gradient(var(--gold-500),#e8dfce)}.step{position:relative;margin-bottom:22px;padding-bottom:3px}.step:before{content:'';position:absolute;left:-25px;top:3px;width:15px;height:15px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 5px #f6efe2}.step small{color:var(--muted)}
.matter-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);padding:18px;border-radius:16px;background:linear-gradient(180deg,#fff,#fdfcf9);margin-bottom:13px;transition:.2s}.matter-card:hover{border-color:#d8ccb6;box-shadow:0 12px 26px rgba(20,43,34,.07);transform:translateY(-1px)}.matter-title{font-size:17px;font-weight:800;color:var(--forest-800)}.matter-meta{color:var(--muted);font-size:13px;margin:5px 0}.progress-wrap{height:8px;border-radius:999px;background:#ece8de;overflow:hidden;margin-top:11px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--forest-700),var(--gold-500));border-radius:999px}
.doc-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:15px;margin-bottom:11px;background:#fff;transition:.2s}.doc-card:hover{border-color:#d7c7a8;background:#fffdfa}.doc-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#f3ead9,#fff8eb);color:var(--forest-800);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;border:1px solid #eadcc2}.empty{padding:26px;border:1px dashed var(--line-strong);border-radius:15px;color:var(--muted);text-align:center;background:#fbfaf7}
.alert{padding:12px 14px;border-radius:12px;background:#fff0f0;color:var(--danger);margin:15px 0;border:1px solid #efcccc}.notice-success{background:#edf8f1;color:var(--success);border:1px solid #cfe8d8;padding:12px 14px;border-radius:12px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,rgba(185,137,66,.22),transparent 24%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.06),transparent 28%),linear-gradient(135deg,var(--forest-950),#12382d)}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.3);min-height:600px}.login-visual{padding:48px;background:radial-gradient(circle at 80% 15%,rgba(185,137,66,.28),transparent 24%),linear-gradient(155deg,var(--forest-950),var(--forest-800));color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-visual h2{font-family:'Playfair Display',serif;font-size:43px;line-height:1.12;margin:18px 0}.login-visual p{color:#d9e3de;max-width:420px}.login-points{display:grid;gap:12px;margin-top:28px}.login-point{display:flex;gap:11px;align-items:center;color:#e8efeb}.login-point:before{content:'✓';width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(185,137,66,.2);color:var(--gold-300);font-weight:900}.login-panel{padding:54px 50px;display:flex;flex-direction:column;justify-content:center}.login-card{width:100%;background:transparent;border-radius:0;padding:0;box-shadow:none}.login-card h1{font-family:'Playfair Display',Georgia,serif;margin:0;color:var(--forest-900);font-size:38px}.login-card>p{color:var(--muted)}.pass-wrap{position:relative}.pass-wrap button{position:absolute;right:9px;top:7px;border:0;background:transparent;color:var(--forest-700);font-weight:800;cursor:pointer;padding:8px}.login-card .btn{width:100%;margin-top:2px}.login-back{margin-top:23px;color:var(--muted);font-size:13px}.login-back a{color:var(--forest-700);font-weight:800}
@media(max-width:1050px){.portal-shell{grid-template-columns:250px minmax(0,1fr)}.main{padding:25px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.sidebar{padding-inline:16px}}
@media(max-width:780px){.portal-shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;height:100vh;transform:translateX(-105%);transition:.25s ease;z-index:80}.portal-shell.menu-open .sidebar{transform:translateX(0)}.portal-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.38);opacity:0;pointer-events:none;transition:.25s;z-index:70}.portal-shell.menu-open .portal-overlay{opacity:1;pointer-events:auto}.main{padding:16px}.topbar{top:8px;padding:11px 13px}.mobile-menu-btn{display:grid;place-items:center}.topbar-company{display:none}.grid-4,.grid-3,.grid-2,.two{grid-template-columns:1fr}.h1,.hero-panel h1{font-size:34px}.hero-panel{padding:28px 24px}.matter-card,.doc-card{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;min-height:auto}.login-visual{display:none}.login-panel{padding:38px 28px}.login-page{padding:16px}.table{display:block;overflow-x:auto}.card{padding:19px}}


/* Release 6.4.6 client portal visual system */
:root{--ba-green-950:#071d17;--ba-green-900:#0b2b22;--ba-green-800:#123f32;--ba-green-700:#1b5b48;--ba-gold:#bd8b3d;--ba-gold-soft:#e9d3a8;--ba-ivory:#f7f4ed;--ba-charcoal:#202923;--ba-shadow:0 18px 55px rgba(8,36,28,.10)}
body{background:radial-gradient(circle at 95% 5%,rgba(189,139,61,.10),transparent 24%),linear-gradient(180deg,#f9f7f1,#f0f1ed)}.sidebar{background:radial-gradient(circle at 20% 10%,rgba(189,139,61,.18),transparent 22%),linear-gradient(180deg,var(--ba-green-950),#0e3328 72%,#0a251d);box-shadow:18px 0 55px rgba(5,29,22,.13)}.brand-seal{border-color:rgba(233,211,168,.55);background:linear-gradient(145deg,rgba(189,139,61,.35),rgba(255,255,255,.04));font-family:Georgia,serif}.nav-title{color:#c8a96e;letter-spacing:.16em}.nav-link{display:flex;align-items:center;gap:11px}.menu-symbol{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.065);color:#e9d3a8;font-size:13px;flex:0 0 auto}.nav-link:hover .menu-symbol,.nav-link.active .menu-symbol{background:rgba(189,139,61,.25);color:#fff}.client-topbar{border-color:#ded9cf;box-shadow:0 12px 34px rgba(8,36,28,.08)}.client-context-tabs{margin:0 0 18px;padding:0 0 5px}.client-context-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid #ded9cf;background:rgba(255,255,255,.75);font-size:12px;font-weight:800;color:#536159;text-decoration:none;white-space:nowrap}.client-context-tab:hover,.client-context-tab.active{background:var(--ba-green-900);color:#fff;border-color:var(--ba-green-900)}.client-context-tab span{color:var(--ba-gold)}.hero-panel{padding:40px;background:radial-gradient(circle at 84% 16%,rgba(189,139,61,.33),transparent 24%),linear-gradient(135deg,var(--ba-green-950),var(--ba-green-800));border-radius:27px}.hero-panel h1{font-size:47px}.hero-panel p{font-size:16px;max-width:720px}.kpi-mini span{box-shadow:inset 0 1px rgba(255,255,255,.08)}.client-stat-grid{margin-top:20px}.client-stat-card{padding-top:26px}.stat-glyph{position:absolute;right:18px;top:17px;width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:#f2e8d6;color:var(--ba-gold);font-size:16px;border:1px solid #eadcc2}.client-visual-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.85fr);gap:20px;margin:20px 0}.client-progress-card{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}.client-progress-card .section-heading{grid-column:1/-1}.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:900;color:var(--ba-gold)}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.section-heading h2{margin:5px 0 0}.text-link{color:var(--ba-green-700);font-weight:800;font-size:12px}.client-donut{width:175px;height:175px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ba-gold) calc(var(--progress)*1%),#e8e5dc 0);position:relative}.client-donut:before{content:'';position:absolute;inset:15px;border-radius:50%;background:#fff}.client-donut div{position:relative;display:grid;text-align:center}.client-donut strong{font-size:40px;color:var(--ba-green-900)}.client-donut span{font-size:11px;color:#738078}.visual-copy strong{font:600 22px Georgia,serif;color:var(--ba-green-900)}.visual-copy p{color:#66736d;line-height:1.65}.visual-tags{display:flex;gap:8px;flex-wrap:wrap}.visual-tags span{padding:7px 10px;border-radius:999px;background:#edf4f0;color:#1b5b48;font-size:11px;font-weight:800}.client-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:17px}.client-action-grid a{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;padding:14px;border:1px solid #e2ddd2;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfaf6);text-decoration:none;transition:.2s}.client-action-grid a:hover{transform:translateY(-2px);border-color:#d4bd92;box-shadow:0 13px 28px rgba(8,36,28,.08)}.client-action-grid a>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f1e6d2;color:var(--ba-gold);font-weight:900}.client-action-grid strong{font-size:13px;color:var(--ba-green-900)}.client-action-grid small{font-size:10px;color:#7b867f;line-height:1.25}.card{border-color:#e1ddd3;box-shadow:0 14px 38px rgba(8,36,28,.07)}.matter-card{border-color:#e3ded4}.matter-card:hover{border-color:#d2bc92}.progress-bar{background:linear-gradient(90deg,var(--ba-green-700),var(--ba-gold))}.table-wrap{border-radius:16px;overflow:auto;box-shadow:0 10px 27px rgba(8,36,28,.05)}
@media(max-width:1100px){.client-visual-grid{grid-template-columns:1fr}.client-progress-card{grid-template-columns:auto 1fr}}@media(max-width:760px){.hero-panel{padding:30px 24px}.hero-panel h1{font-size:36px}.client-progress-card{grid-template-columns:1fr;text-align:center}.client-donut{margin:auto}.client-action-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.client-context-tabs{overflow:auto}.menu-symbol{width:27px;height:27px}}

/* Barry & Asmah shared wordmark typography: matches website/admin */
.sidebar .brand,.login-visual .brand{font-family:'Fraunces',Georgia,'Times New Roman',serif!important;font-weight:400!important;font-style:normal;letter-spacing:-.025em!important;line-height:1.05;font-optical-sizing:auto;text-rendering:optimizeLegibility}

/* Version 1.0 Phase 1 — non-destructive production UI normalisation */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{min-width:320px}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
:focus-visible{outline:3px solid rgba(189,139,61,.55);outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-height:42px}
textarea{resize:vertical}
.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
