:root{--brand:#071a2f;--accent:#c6a15b;--bg:#f3f5f6;--ink:#172536;--muted:#74818c;--line:#e0e5e7;--white:#fff;--green:#2f8067;--red:#b64b4b;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 18px 50px rgba(15,36,53,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:14px}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.wordmark{display:flex;align-items:center;gap:11px}.wordmark>span{width:38px;height:38px;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;font-family:var(--serif)}.wordmark img{width:42px;height:42px;object-fit:contain}.wordmark b{font-size:12px;letter-spacing:.1em}.eyebrow{color:#96783f;font-size:9px;letter-spacing:.18em;font-weight:700}.button,.soft-button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:12px 17px;background:var(--brand);color:white;font-size:10px;font-weight:700}.button.gold{background:var(--accent);color:var(--brand)}.soft-button{background:white;color:#806739;border:1px solid #d9dde0}.notice{padding:12px 15px;margin-bottom:18px;background:#e8f4ef;color:#276c57;border-left:3px solid #3d9174}.notice.error{background:#fff0f0;color:#9b3e3e;border-color:#be5656}.auth-page{min-height:100vh;background:white}.auth-shell{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}.auth-brand{padding:55px 8vw;background:var(--brand);color:white;display:flex;flex-direction:column;justify-content:space-between}.auth-brand h1{font:60px/1.05 var(--serif);margin:18px 0}.auth-brand h1 em{color:var(--accent)}.auth-brand>div>p:last-child{color:#aab8c4;max-width:480px;line-height:1.8}.auth-form{display:grid;place-items:center;padding:35px}.auth-form form{width:min(420px,100%)}.auth-form h2,.setup-card h1{font:44px var(--serif);margin:10px 0}.auth-form>form>p:not(.eyebrow){color:var(--muted)}label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;margin:14px 0}input,textarea,select{border:1px solid #d6dddf;background:white;padding:11px;outline:none;color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(198,161,91,.12)}.auth-form .button{width:100%;margin-top:8px}.test-logins{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.test-logins button{border:1px solid var(--line);background:white;padding:10px;text-align:left;display:flex;flex-direction:column}.test-logins b{font-size:9px}.test-logins span{font-size:8px;color:var(--muted)}.setup-card{width:min(560px,calc(100% - 30px));margin:8vh auto;background:white;padding:45px;box-shadow:var(--shadow)}.brand-symbol{width:48px;height:48px;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;font:18px var(--serif)}.credentials{background:#f4f6f6;padding:16px;display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:10px;margin:25px 0}.public-page{background:#f8f7f3}.public-nav{height:78px;background:var(--brand);color:white;display:flex;align-items:center;padding:0 6vw;gap:35px;position:sticky;top:0;z-index:30}.public-nav nav{display:flex;gap:30px;margin-left:auto;font-size:11px;color:#c4ced6}.nav-login{border-bottom:1px solid var(--accent);font-size:10px}.mobile-menu{display:none}.new-hero{min-height:650px;background:var(--brand);color:white;padding:85px 8vw;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.new-hero h1{font:clamp(54px,6vw,88px)/1 var(--serif);margin:22px 0}.new-hero h1 em,.expertise h2 em{color:var(--accent)}.new-hero>div>p:last-of-type{max-width:610px;color:#bac6d0;font-size:17px;line-height:1.8}.hero-buttons{display:flex;gap:25px;align-items:center;margin-top:35px}.hero-buttons>a:last-child{font-size:11px}.hero-card{background:white;color:var(--ink);padding:32px;box-shadow:0 35px 80px rgba(0,0,0,.25)}.hero-card>small{font-size:7px;letter-spacing:.15em;color:#857044}.hero-card h3{font:29px/1.25 var(--serif)}.mini-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:14px 0}.mini-row>span{width:30px;height:30px;background:#edf1f3;display:grid;place-items:center}.mini-row p{display:flex;flex-direction:column;margin:0}.mini-row b{font-size:9px}.mini-row small{font-size:7px;color:var(--muted)}.hero-card>a{display:block;color:#866b38;font-size:9px;font-weight:700;margin-top:12px}.live-strip{display:flex;align-items:center;gap:50px;padding:25px 8vw;background:white}.live-strip p{display:flex;align-items:center;gap:9px;margin:0}.live-strip b{font:28px var(--serif);color:#886e3c}.live-strip span,.live-strip small{font-size:8px;color:var(--muted)}.live-strip small{margin-left:auto}.public-section{padding:105px 8vw}.intro>div{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.public-section h2{font:clamp(42px,5vw,70px)/1.08 var(--serif);margin:22px 0}.intro>div>p{color:#60707d;line-height:1.9}.expertise{background:var(--brand);color:white}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);margin-top:50px}.area-grid article{padding:28px 22px;border-right:1px solid rgba(255,255,255,.14)}.area-grid small{color:var(--accent)}.area-grid h3{font:23px var(--serif)}.area-grid p{color:#aebbc5;font-size:12px}.leader{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:white}.leader-photo img{width:100%;max-height:630px;object-fit:cover;object-position:top}.leader strong{color:#8d713c}.leader>div:last-child>p:last-of-type{color:#61717e;line-height:1.9}.leader a{color:#876c3a;font-size:11px;font-weight:700}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#102941;color:white}.contact form{background:white;color:var(--ink);padding:28px}.contact>div>p:last-child{color:#a9b8c3;line-height:2}.contact input,.contact textarea{border-width:0 0 1px}.public-page footer{background:#051525;color:#9cacb9;padding:45px 8vw;display:flex;align-items:center;justify-content:space-between;font-size:9px}.public-page footer b{color:white}.system-page{display:flex}.side{position:fixed;inset:0 auto 0 0;width:210px;background:var(--brand);color:white;padding:22px 12px;display:flex;flex-direction:column;z-index:50}.side .wordmark{padding:0 10px 25px}.side nav{display:flex;flex-direction:column;gap:4px}.side nav a{padding:11px 13px;color:#95a7b5;font-size:10px;border-radius:5px}.side nav a:hover,.side nav a.active{background:#173650;color:white}.side-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:15px;display:flex;gap:9px;align-items:center}.avatar{width:31px;height:31px;border-radius:50%;background:#d4ba7e;color:#1a3043;display:grid;place-items:center;font-size:8px;font-weight:700}.avatar.large{width:48px;height:48px;font-size:11px}.side-user p{display:flex;flex-direction:column;margin:0}.side-user b{font-size:8px}.side-user small{font-size:6px;color:#7f93a2}.system-main{margin-left:210px;min-width:0;flex:1}.system-main>header{height:66px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 25px;position:sticky;top:0;z-index:20}.system-main>header>p{font-size:8px;color:var(--muted);margin-right:auto}.system-main>header>p span{display:inline-block;width:6px;height:6px;background:#35a87d;border-radius:50%;margin-right:5px}.system-main>header a,.system-main>header button{border:0;background:white;font-size:8px;color:#596a77}.side-toggle{display:none}.system-main>main{padding:28px;max-width:1450px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-title h1{font:38px var(--serif);margin:5px 0}.page-title>div>span{font-size:9px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stat-grid.two{grid-template-columns:1fr 1fr}.stat-grid article{background:white;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column}.stat-grid small{font-size:7px;letter-spacing:.1em;color:var(--muted)}.stat-grid b{font:27px var(--serif);margin:10px 0 3px}.stat-grid span{font-size:7px;color:var(--muted)}.attention{padding:13px;background:#fff6e4;border:1px solid #e7d4aa;display:flex;justify-content:space-between;font-size:9px;margin-bottom:16px}.attention a{color:#8d6d30}.split,.client-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:white;border:1px solid var(--line)}.panel-title{height:57px;border-bottom:1px solid var(--line);padding:0 17px;display:flex;align-items:center;justify-content:space-between}.panel-title h2{font:19px var(--serif);margin:0}.panel-title a{font-size:8px;color:#876c38}.list-row{display:flex;align-items:center;gap:10px;padding:13px 17px;border-bottom:1px solid #edf0f1}.list-row p{display:flex;flex-direction:column;flex:1;margin:0}.list-row b{font-size:9px}.list-row small{font-size:7px;color:var(--muted)}.list-row time{font:14px var(--serif);width:38px}.tag{font-style:normal;font-size:7px;background:#e8f2ee;color:#2d745e;padding:4px 7px;border-radius:10px}.tag.warning{background:#fff0e5;color:#a35f32}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;background:#f7f8f8;color:#73808a;font-size:7px;letter-spacing:.08em;padding:12px 15px}td{padding:14px 15px;border-top:1px solid var(--line);font-size:9px}td small{display:block;color:var(--muted);font-size:7px;margin-top:3px}.progress{width:100px;height:4px;background:#e7ebec;margin-top:6px}.progress i{display:block;height:100%;background:var(--accent)}.inline-form select{padding:5px;font-size:8px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.person-card{background:white;border:1px solid var(--line);padding:20px}.person-card h3{font:19px var(--serif)}.person-card p{font-size:8px;color:var(--muted);line-height:1.8}.event-list article{display:flex;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid var(--line)}.event-list time{width:45px;display:flex;flex-direction:column;font-size:7px;color:var(--muted)}.event-list time b{font:24px var(--serif);color:var(--ink)}.event-list p{flex:1;display:flex;flex-direction:column;margin:0}.event-list b{font-size:9px}.event-list small{font-size:7px;color:var(--muted)}.verified{font-size:7px;color:var(--green)}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-section{display:grid;grid-template-columns:230px 1fr;padding:25px;gap:25px}.settings-section h2{font:23px var(--serif);margin:0}.settings-section>div:first-child p{font-size:8px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid label{margin:7px 0}.form-grid .wide{grid-column:span 2}.sticky-save{position:sticky;bottom:15px;display:flex;justify-content:flex-end}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-45%);width:min(620px,calc(100% - 30px));max-height:90vh;overflow:auto;background:white;padding:28px;z-index:101;opacity:0;visibility:hidden;transition:.2s}.modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.modal>form>h2{font:30px var(--serif);margin:7px 0}.modal-x{position:absolute;right:18px;top:13px;border:0;background:white;font-size:22px}.modal-shade{position:fixed;inset:0;background:rgba(5,19,31,.7);z-index:100;opacity:0;visibility:hidden}.modal-shade.open{opacity:1;visibility:visible}.check{flex-direction:row;align-items:center}.client-page{background:#f4f6f6}.client-nav{height:68px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5vw;gap:35px;position:sticky;top:0;z-index:20}.client-nav nav{display:flex;gap:25px;margin:auto;font-size:9px;color:#657480}.client-nav>div{display:flex;align-items:center;gap:9px}.client-nav form button{border:0;background:white;font-size:8px}.client-main{max-width:1200px;margin:auto;padding:35px 22px}.client-welcome h1{font:42px var(--serif);margin:7px 0}.client-welcome>p:last-child{color:var(--muted)}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.client-stats article{background:white;border:1px solid var(--line);padding:15px;display:flex;flex-direction:column}.client-stats small{font-size:6px;color:var(--muted)}.client-stats b{font:23px var(--serif);margin-top:7px}.client-matter{display:grid;grid-template-columns:1.3fr .8fr .8fr;align-items:center;padding:22px;margin-bottom:15px;gap:25px}.client-matter h2{font:25px var(--serif);margin:10px 0}.client-matter p{font-size:8px;color:var(--muted);line-height:1.7}.matter-meter{display:flex;flex-direction:column}.matter-meter>b{font:28px var(--serif)}.matter-meter>span{height:5px;background:#e7ebec;margin:8px 0}.matter-meter i{display:block;height:100%;background:var(--accent)}.matter-meter small{font-size:7px;color:var(--muted)}.client-matter aside{display:flex;align-items:center;gap:10px}.client-matter aside img{width:48px;height:48px;border-radius:50%;object-fit:cover}.client-matter aside p{display:flex;flex-direction:column}.timeline-row,.file-row,.invoice-row{display:flex;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line)}.timeline-row time{width:45px;font-size:8px;color:#876d3b}.timeline-row p,.file-row p,.invoice-row p{display:flex;flex-direction:column;flex:1;margin:0}.timeline-row b,.file-row b,.invoice-row b{font-size:9px}.timeline-row small,.file-row small,.invoice-row small{font-size:7px;color:var(--muted)}.legal-note,.empty-small{font-size:7px;color:var(--muted);padding:12px 17px}.file-row>span{width:30px;height:35px;background:#edf1f2;display:grid;place-items:center;font-size:6px}.client-columns{margin-top:15px}.messages-panel{display:flex;flex-direction:column}.message-list{padding:15px;min-height:190px}.message{max-width:75%;padding:10px;background:#eef2f4;font-size:8px;display:flex;flex-direction:column}.message.mine{background:var(--brand);color:white;margin-left:auto}.message small{font-size:6px;opacity:.65;margin-top:6px}.message-form{display:flex;padding:12px;border-top:1px solid var(--line);gap:8px}.message-form textarea{flex:1;resize:none}.empty-state{background:white;padding:50px;text-align:center;margin-top:30px}
@media(max-width:950px){.area-grid{grid-template-columns:1fr 1fr}.stat-grid,.card-grid,.client-stats{grid-template-columns:1fr 1fr}.settings-section{grid-template-columns:1fr}.new-hero{grid-template-columns:1fr}.client-matter{grid-template-columns:1fr 1fr}.client-matter aside{grid-column:span 2}}
@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.public-nav{padding:0 18px}.public-nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--brand);padding:20px;flex-direction:column}.public-nav nav.open{display:flex}.mobile-menu{display:block;border:0;background:none;color:white;margin-left:auto}.nav-login{display:none}.new-hero{padding:60px 22px}.new-hero h1{font-size:54px}.live-strip{padding:20px;gap:18px;overflow:auto}.live-strip small{display:none}.public-section{padding:75px 22px}.intro>div,.leader,.contact{grid-template-columns:1fr}.area-grid{grid-template-columns:1fr}.public-page footer{align-items:flex-start;flex-direction:column;gap:8px}.side{transform:translateX(-100%);transition:.2s}.side.open{transform:none}.system-main{margin-left:0}.side-toggle{display:block!important}.system-main>main{padding:20px 13px}.page-title{align-items:flex-start}.page-title h1{font-size:31px}.stat-grid,.stat-grid.two{grid-template-columns:1fr 1fr}.split,.client-columns{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.settings-section{padding:18px}.client-nav{padding:0 15px}.client-nav nav{display:none}.client-main{padding:25px 13px}.client-matter{grid-template-columns:1fr}.client-matter aside{grid-column:auto}}
@media(max-width:430px){.stat-grid,.stat-grid.two,.card-grid,.client-stats{grid-template-columns:1fr}.page-title>.button{font-size:0;padding:11px}.page-title>.button:after{content:'+';font-size:16px}.new-hero h1{font-size:45px}.hero-buttons{align-items:flex-start;flex-direction:column}.setup-card{padding:28px 20px}.test-logins{grid-template-columns:1fr}}
.admin-auth-page{display:grid;place-items:center;background:linear-gradient(135deg,#061729,#102f4a)}.admin-auth-card{width:min(460px,calc(100% - 28px));background:white;padding:40px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.admin-auth-card>.wordmark{margin-bottom:45px}.admin-auth-card h1{font:43px var(--serif);margin:8px 0}.admin-auth-card>p:not(.eyebrow){color:var(--muted)}.admin-auth-card form>.button{width:100%;margin-top:8px}.admin-lock{width:42px;height:42px;border-radius:50%;background:#edf1f3;color:#49667b;display:grid;place-items:center;margin-bottom:20px}.back-link{display:block;text-align:center;font-size:8px;color:var(--muted);margin-top:20px}.install-links{display:flex;gap:9px;flex-wrap:wrap}.client-auth{background:linear-gradient(145deg,var(--brand),#123852)}

/* Production mobile navigation — consistent in public, client and staff/admin portals. */
.hamburger-icon{display:inline-block;position:relative;width:23px;height:17px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;vertical-align:middle}
.hamburger-icon:before{content:"";position:absolute;top:6px;left:0;width:100%;border-top:2px solid currentColor}
.mobile-menu,.client-menu,.side-toggle{cursor:pointer;min-width:40px;min-height:40px;align-items:center;justify-content:center}
.mobile-menu[aria-expanded="true"],.client-menu[aria-expanded="true"],.side-toggle[aria-expanded="true"]{outline-offset:3px}
.client-menu{display:none;border:0;background:none;color:var(--brand);margin-left:auto}
.nav-backdrop{display:none;border:0;padding:0;position:fixed;inset:0;background:rgba(1,12,25,.5);z-index:45;cursor:pointer}
body.navigation-open{overflow:hidden}
@media(max-width:720px){
  .mobile-menu,.client-menu,.side-toggle{display:inline-flex!important}
  .public-nav nav{top:100%;box-shadow:0 14px 26px rgba(0,0,0,.2);max-height:calc(100dvh - 75px);overflow:auto}
  .public-nav nav.open{display:flex}
  .client-nav{position:sticky;top:0;gap:10px}
  .client-nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 22px 22px;background:white;box-shadow:0 15px 26px rgba(8,28,48,.15);flex-direction:column;gap:0;max-height:calc(100dvh - 68px);overflow-y:auto}
  .client-nav nav.open{display:flex}
  .client-nav nav a{padding:13px 6px;font-size:13px}
  .client-nav>div{margin-left:0}
  .nav-backdrop.open{display:block}
  .side{max-width:min(84vw,300px);overflow-y:auto}
  .side nav a{min-height:40px;display:flex;align-items:center;font-size:13px}
}
@media(min-width:721px){.client-menu{display:none!important}}

.public-nav nav .mobile-login{display:none}
.repository-menu{display:none;border:0;background:transparent;color:white;margin-left:auto;cursor:pointer;min-width:44px;min-height:44px}
@media(max-width:720px){
  .public-nav nav .mobile-login{display:block;color:white;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:12px}
  .repository-menu{display:inline-flex;align-items:center;justify-content:center}
  .repository-nav{position:relative}
  .repository-nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 22px;background:var(--brand);box-shadow:0 14px 26px rgba(0,0,0,.2);flex-direction:column;gap:0}
  .repository-nav nav a{display:block;padding:12px 0;font-size:13px}
  .repository-nav nav.open{display:flex}
}
