:root{--ink:#111827;--muted:#64748b;--line:#dce3ea;--paper:#fff;--wash:#f4f7f9;--navy:#102a43;--teal:#0c7c72;--gold:#d6a840;--blue:#2563eb;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px}.topbar{min-height:72px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:28px;padding:0 max(28px,calc((100vw - 1180px)/2));box-shadow:0 8px 28px #102a4320}.brand{color:#fff;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.5px}.brand span{color:var(--gold)}.main-nav{display:flex;align-self:stretch;gap:4px;margin-right:auto}.main-nav a{display:flex;align-items:center;color:#cbd5e1;text-decoration:none;padding:0 14px;border-bottom:3px solid transparent;font-weight:650;font-size:14px}.main-nav a:hover,.main-nav a.active{color:#fff;border-bottom-color:var(--gold)}.userbox{display:flex;gap:18px;align-items:center;text-align:right}.userbox small{display:block;color:#cbd5e1;margin-top:2px}.quiet{background:transparent;border:1px solid #ffffff40;color:white;border-radius:8px;padding:8px 12px;cursor:pointer}main{max-width:1180px;margin:0 auto;padding:38px 28px 70px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.page-heading h1{font-size:34px;letter-spacing:-1px;margin:3px 0 8px}.page-heading p{color:var(--muted);margin:0}.eyebrow{text-transform:uppercase!important;color:var(--teal)!important;font-weight:800;font-size:11px;letter-spacing:1.4px}.primary,.secondary,.icon-button{border:0;border-radius:10px;padding:13px 18px;font-weight:750;cursor:pointer}.primary{background:var(--teal);color:white;box-shadow:0 7px 18px #0c7c7228}.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.button-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.icon-button{width:44px;padding:12px;background:#fff;color:var(--navy);border:1px solid var(--line);text-decoration:none;text-align:center}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metrics article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;min-height:132px;box-shadow:0 4px 16px #102a4308}.metrics small,.metrics span{display:block;color:var(--muted)}.metrics strong{display:block;font-size:30px;margin:11px 0}.metrics .healthy{border-top:3px solid var(--teal)}.metrics .healthy strong{font-size:22px;color:var(--teal)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px #102a4308}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-title h2{margin:4px 0;font-size:22px}.pill,.status{background:#e6f5f2;color:#09665e;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill.neutral{background:#eef2f6;color:#52616f}.pill.warning{background:#fff4ce;color:#7a4d00}.pill.danger{background:#fee4e2;color:var(--danger)}.empty{text-align:center;padding:55px 20px}.empty-icon{width:50px;height:50px;margin:0 auto 16px;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:900;border-radius:14px}.empty h3{margin:0 0 8px}.empty p{color:var(--muted);max-width:560px;margin:auto}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-top:1px solid var(--line)}th{font-size:12px;color:var(--muted);text-transform:uppercase}.calendar-actions{display:flex;gap:8px}.advisor-switcher{display:flex;align-items:center;gap:12px;margin:-10px 0 18px;font-size:14px;font-weight:700}.advisor-switcher select{min-width:210px}.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto;box-shadow:0 8px 24px #102a4308}.calendar-grid{display:grid;grid-template-columns:70px repeat(7,minmax(130px,1fr));min-width:980px}.calendar-header-row{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);background:#fff}.time-corner,.day-heading{padding:13px 10px;text-align:center}.time-corner{font-size:12px;color:var(--muted)}.day-heading{border-left:1px solid var(--line)}.day-heading strong,.day-heading span{display:block}.day-heading strong{text-transform:uppercase;font-size:12px;color:var(--muted)}.day-heading span{margin-top:4px;font-weight:800}.day-heading.today{color:var(--blue);background:#eff6ff}.calendar-body{height:660px}.time-axis{position:relative;background:#fbfcfd}.time-axis span{position:absolute;right:10px;transform:translateY(-50%);font-size:12px;color:var(--muted)}.day-column{position:relative;border-left:1px solid var(--line);background:linear-gradient(to bottom,transparent 9.85%,#e7edf2 10%,transparent 10.15%);background-size:100% 10%}.today-column{background-color:#f8fbff}.hour-line{position:absolute;left:0;right:0;border-top:1px solid #edf1f4}.calendar-event{position:absolute;left:6px;right:6px;z-index:2;border-radius:8px;padding:7px 8px;overflow:hidden;min-height:33px}.calendar-event strong,.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event strong{font-size:13px}.calendar-event span{font-size:12px;margin-top:2px}.calendar-event.appointment{background:#dbeafe;color:#174ea6;border-left:4px solid #2563eb;text-decoration:none}.calendar-event.appointment:hover{filter:brightness(.97);box-shadow:0 5px 14px #2563eb26}.calendar-event.lunch{background:#fff6d8;color:#705000;border:1px dashed #d6a840}.calendar-legend{display:flex;align-items:center;gap:20px;margin:14px 4px;color:var(--muted);font-size:13px}.calendar-legend small{margin-left:auto}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.appointment-dot{background:var(--blue)}.lunch-dot{background:var(--gold)}.form-panel{margin-bottom:18px}.form-hint{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:22px}.compact-grid{grid-template-columns:repeat(4,1fr)}.field{display:flex;flex-direction:column;gap:7px}.field-wide{grid-column:1/-1}.field label{font-weight:700;font-size:14px;color:#344054}.field input:not([type=checkbox]),.field select,.field textarea,.advisor-switcher select{width:100%;border:1px solid #cbd5df;border-radius:9px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #0c7c7220;border-color:var(--teal)}.field input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal)}.field-error{color:var(--danger)}.upload-zone{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;padding:22px;border:1px dashed #9aaaba;border-radius:13px;background:#f8fafc}.upload-zone p{margin:6px 0 0;color:var(--muted);font-size:14px}.file-button{white-space:nowrap}.notice{border-radius:10px;padding:12px 15px;margin:14px 0}.notice.error{background:#fff0ef;color:#912018}.notice.success{background:#e7f7f2;color:#08665c}.beta-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.beta-summary article{background:#f5f8fa;border-radius:11px;padding:16px}.beta-summary small,.beta-summary strong{display:block}.beta-summary small{color:var(--muted)}.beta-summary strong{margin-top:8px;font-size:18px}.sticky-actions{position:sticky;bottom:16px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:#dce7ef;border-radius:14px;padding:15px 18px;box-shadow:0 12px 32px #102a4345}.sticky-actions span{font-size:13px}.history-panel{margin-top:20px}.history-row{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.history-row span{color:var(--muted)}@media(max-width:900px){.topbar{flex-wrap:wrap;padding:12px 20px}.main-nav{order:3;width:100%;height:42px}.main-nav a{padding:0 10px}.metrics{grid-template-columns:1fr 1fr}.page-heading{align-items:stretch;flex-direction:column}.userbox div{display:none}.form-grid,.compact-grid{grid-template-columns:1fr 1fr}.beta-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:26px 16px}.topbar{padding:12px 16px}.metrics,.form-grid,.compact-grid,.beta-summary{grid-template-columns:1fr}.page-heading h1{font-size:28px}.upload-zone,.sticky-actions{align-items:stretch;flex-direction:column}.calendar-legend{align-items:flex-start;flex-direction:column}.calendar-legend small{margin:0}.history-row{grid-template-columns:1fr}}.page-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
