:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172738;background:#f4f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:#086e70}.layout{min-height:100dvh;display:grid;grid-template-columns:236px 1fr}.sidebar{min-width:0;background:#10283b;color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:30px}.brand{font-weight:750;font-size:22px;letter-spacing:-.04em;padding:0 12px}.brand small{display:block;font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#91c5c4;margin-top:4px}.nav{display:grid;gap:7px}.nav button{background:none;border:0;color:#b9cbd3;text-align:left;padding:12px 14px;border-radius:10px}.nav button.active{background:#204456;color:#fff}@media(hover:hover) and (pointer:fine){.nav button:hover{background:#204456;color:#fff}}.sidebar-foot{margin-top:auto;padding:14px 12px;color:#abc0c8;font-size:12px;line-height:1.6}.main{min-width:0}.top{height:76px;border-bottom:1px solid #e0e8e8;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.top strong{font-size:14px}.top span{color:#74818a;font-size:13px}.content{padding:34px 38px 70px;max-width:1420px;margin:auto}.eyebrow{color:#0a7774;text-transform:uppercase;font-weight:750;font-size:11px;letter-spacing:.14em}.heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:26px}.heading h1{font-size:32px;letter-spacing:-.045em;margin:5px 0 4px}.muted{color:#72818a}.button,.primary{border:1px solid #d9e3e4;border-radius:9px;background:#fff;color:#173748;padding:10px 15px;font-weight:650}.primary{background:#087b78;border-color:#087b78;color:#fff}.danger{color:#a13737}@media(hover:hover) and (pointer:fine){.button:hover,.primary:hover{filter:brightness(.95)}}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.metric,.panel{background:white;border:1px solid #e0e9e9;border-radius:14px;box-shadow:0 3px 16px #18374507}.metric{padding:20px}.metric b{display:block;font-size:29px;letter-spacing:-.04em;margin-top:8px}.metric span{color:#70818a;font-size:13px}.panel{padding:22px;margin-bottom:16px}.panel h2{font-size:17px;letter-spacing:-.02em;margin:0 0 17px}.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar input{flex:1}.toolbar select{width:190px}.field,input,select,textarea{border:1px solid #d8e2e2;background:#fff;border-radius:9px;padding:10px 11px;color:#172738;min-width:0}.field{display:grid;gap:7px;border:0;padding:0}.field span{font-size:12px;font-weight:650;color:#567078}.field input,.field select,.field textarea{width:100%}.field textarea{min-height:84px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.case-list{display:grid}.case-row{display:grid;grid-template-columns:100px 1.3fr 1.1fr 1fr 100px;gap:12px;align-items:center;padding:17px 10px;border-top:1px solid #edf1f1;cursor:pointer}@media(hover:hover) and (pointer:fine){.case-row:hover{background:#f8fbfa}}.case-row:first-child{border-top:0}.case-row strong{font-size:14px}.case-row small{display:block;color:#7b8c94;margin-top:4px}.pill{border-radius:99px;padding:5px 9px;background:#eaf2f0;color:#286862;font-size:11px;font-weight:700;white-space:nowrap}.pill.orange{background:#fff2e6;color:#a35c22}.pill.blue{background:#eaf0f9;color:#3d6386}.pill.gray{background:#eef1f2;color:#64757c}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:18px}.detail-grid .panel{margin-bottom:18px}.kv{display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:13px;padding:8px 0;border-bottom:1px solid #edf1f1}.kv span:first-child{color:#809098}.totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}.total{background:#f4f8f7;border-radius:10px;padding:14px}.total b{display:block;margin-top:6px;font-size:20px}.total span{font-size:12px;color:#65827f}.event{border-left:2px solid #c6ddda;padding:0 0 18px 14px;margin-left:4px;font-size:13px}.event b{display:block}.event small{color:#86959b}.event p{margin:4px 0;color:#63757d}.notice{border-radius:10px;background:#e9f3f2;color:#286965;padding:13px;font-size:13px;margin:12px 0}.warning{background:#fff4e7;color:#92622b}.error{background:#faeeee;color:#a33139}.empty{padding:42px;text-align:center;color:#7b8b91}.modal-back{position:fixed;inset:0;background:#0e273b8a;display:grid;place-items:center;padding:20px}.modal{width:min(680px,100%);max-height:90dvh;overscroll-behavior:contain;overflow:auto;background:white;border-radius:16px;padding:26px;box-shadow:0 20px 60px #09202d44}.modal h2{margin:0 0 22px}.modal .actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast{position:fixed;right:24px;bottom:24px;background:#173b47;color:white;padding:12px 17px;border-radius:10px;box-shadow:0 10px 25px #0002;z-index:10}.client-shell{max-width:580px;margin:5vh auto;padding:24px}.client-shell .panel{padding:30px}.client-shell h1{font-size:28px;letter-spacing:-.04em}.client-shell .grid{margin-top:18px}@media(max-width:950px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{padding:14px;display:block}.brand{display:inline-block}.nav{display:flex;overflow:auto;margin-top:12px}.nav button{flex-shrink:0}.sidebar-foot{display:none}.top{min-height:58px;height:auto;padding:10px 18px;gap:12px;flex-wrap:wrap}.content{padding:22px 18px}.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.heading{align-items:start;flex-direction:column}.heading h1{font-size:26px}.cards{grid-template-columns:repeat(2,1fr)}.case-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.case-row:not(.payment-item)>:nth-child(3){display:none}.grid,.grid.three{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar select{width:100%}}
.call-panel{border-left:4px solid #087b78}.call-decision{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #e4eceb;margin-top:20px;padding-top:18px}.call-decision p{margin:5px 0 0}.call-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:14px;padding:15px 8px;border-top:1px solid #edf1f1;font-size:13px}.call-row small{display:block;color:#7b8c94;margin-top:4px}.call-row:first-of-type{border-top:0}@media(max-width:650px){.call-decision{display:block}.call-decision .row{margin-top:14px}.call-row{grid-template-columns:1fr 1fr}.call-row>:last-child{grid-column:1/-1}}
.phone-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:#e7f2ef;border:1px solid #c8e0da;border-radius:12px;margin-bottom:24px}.phone-strip small{display:block;color:#54736d;margin-top:5px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{font-size:24px;min-height:55px}.keypad-modal{max-width:360px}@media(max-width:650px){.phone-strip{display:block}.phone-strip .row{margin-top:12px}}
.agenda-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;border-top:1px solid #edf1f1;text-align:left;color:inherit;padding:17px 0}@media(hover:hover) and (pointer:fine){.agenda-item:hover{background:#f4f8f7}}.agenda-item strong{font-size:14px}.agenda-item small,.task-row small{display:block;color:#71848b;font-size:12px;line-height:1.6;margin-top:5px}.task-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #edf1f1}.task-check{border:1px solid #bbd4d1;color:#087b78;border-radius:7px;background:white;width:32px;height:32px;flex:none}.task-check.checked{background:#087b78;color:white}.task-row strong{font-size:14px}
.team-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #edf1f1}.team-row small{display:block;color:#71848b;margin-top:5px;font-size:12px}@media(max-width:650px){.team-row{display:block}.team-row .row{margin-top:12px}}
.currency-summary{border-top:1px solid #e0e9e9;padding:16px 0}.currency-summary h3{margin:0 0 10px}.reversed{text-decoration:line-through;color:#8a969b}.payment-row{padding-bottom:12px}.payment-row>.button{font-size:11px;margin-top:7px;padding:6px 9px}a.button{text-decoration:none;display:inline-block}

.dialog-open{overflow:hidden}:focus-visible{outline:3px solid #087b78;outline-offset:3px}.case-row:focus-visible{outline-offset:-3px}.modal-back{z-index:20}.toast{z-index:30}form[aria-busy="true"]{cursor:progress}

.hours-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.hours-summary span{display:block;color:#567078;font-size:13px;margin-top:6px}.hours-editor{display:grid;gap:12px;margin:18px 0}.hours-day{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}@media(max-width:600px){.hours-day{grid-template-columns:1fr 1fr}.hours-day>label:first-child{grid-column:1/-1}}

/* Keep forms usable with browser chrome, the software keyboard and long references. */
html{-webkit-text-size-adjust:100%;overscroll-behavior-y:contain}
button,a.button,[role="button"]{touch-action:manipulation}
button:active:not(:disabled),a.button:active{filter:brightness(.9)}
button{user-select:none;-webkit-user-select:none}
.panel,.metric,.kv>*{min-width:0;overflow-wrap:anywhere}
.toast{max-width:calc(100vw - 48px);bottom:calc(24px + env(safe-area-inset-bottom,0px))}
.modal-back{padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}
@media(pointer:coarse){input,textarea,select{font-size:16px}button,a.button{min-height:44px}.task-check{width:44px;height:44px}}
@media(max-width:600px){.content{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.sidebar{padding-top:calc(14px + env(safe-area-inset-top,0px))}.modal{padding:20px}.modal .actions{flex-wrap:wrap}.totals{grid-template-columns:1fr}.kv{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
