:root{--bg:#f5f6f7;--paper:#fff;--ink:#182e3b;--muted:#77848c;--line:#e5eaed;--accent:#365bc7;--light:#eef3ff;--side:#152f3d;--danger:#a85443}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary{outline-offset:4px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1.1px;margin-bottom:12px;font-weight:620}h2{font-size:17px;letter-spacing:-.3px;margin-bottom:6px}h3{font-size:15px}small{display:block;font-size:11px;color:var(--muted)}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;padding:30px 22px 0;background:var(--side);color:#fff;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:inherit;font-size:25px;letter-spacing:-1px;font-weight:600;margin-bottom:44px;line-height:1.1}.brand:hover{text-decoration:none}.brand small{font-size:8px;letter-spacing:2px;color:#9eafb9;margin-top:8px;font-weight:500}.brand-mark{height:44px;width:44px;border:1px solid #78959f;border-radius:13px;display:grid;place-items:center;font-size:23px;letter-spacing:-2px;background:#234653}.clinic-label,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600}.clinic-label{color:#849fae;font-size:8px;margin-bottom:10px}.clinic-switch{color:#e8f3f2;background:#234150;border:1px solid #3b5461;padding:11px 8px;border-radius:8px;width:100%;margin-bottom:28px;font-size:12px}nav a{display:flex;gap:13px;align-items:center;color:#a8bdc9;font-size:12px;margin-bottom:5px;padding:12px 11px;border-radius:7px}nav a:hover{color:#fff;text-decoration:none;background:#254756}nav a.active{color:#f2f5ff;background:#304b86}nav a span{font-size:18px;line-height:1;width:20px}.sidebar-note{font-size:11px;color:#c5d3da;margin-top:auto;padding:35px 8px 22px}.sidebar-note p{font-size:10px;color:#8ca5b3;line-height:1.9;margin-top:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9ab5ed;margin-right:7px}.account{border-top:1px solid #35505e;padding:20px 0;display:flex;align-items:center;gap:10px;font-size:11px}.account strong{font-weight:500}.account small{font-size:10px;color:#8da5b4}.avatar{background:#395765;color:#dcebe8;height:31px;width:31px;border-radius:50%;display:grid;place-items:center;font-size:13px}.account form{margin-left:auto}.logout{border:0;background:transparent;color:#9eb6c4;font-size:18px}main{margin-left:240px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff;font-size:11px}.separator{margin:0 12px;color:#bcc8ce}.top-tag{padding:5px 10px;border:1px solid var(--line);border-radius:5px;color:#7a8b93;font-size:10px}.content{padding:36px 40px;max-width:1800px;width:100%;margin:auto}.muted{color:var(--muted)}.page-heading{margin-bottom:27px}.page-heading .eyebrow{color:var(--accent);margin-bottom:12px}.page-heading p{font-size:12px;margin:0}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--accent);border-radius:6px;padding:10px 16px;background:var(--accent);color:#fff;font-size:11px;font-weight:500;white-space:nowrap;text-decoration:none}.button:hover{background:#2547a8;text-decoration:none}.button.secondary{background:#fff;border-color:#d7e0e3;color:#36515f}.button.secondary:hover{background:#eef4f3}.filters{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:24px}.filters label{font-size:10px;color:#697e8a;display:flex;flex-direction:column;gap:6px;flex:1;min-width:115px}.filters input,.filters select{min-width:0;width:100%;border:1px solid #dce3e7;border-radius:5px;padding:9px 10px;background:#fff;color:#2d4654;font-size:11px;height:36px}.filters .button{height:36px}.reset{font-size:10px;align-self:end;padding:10px 0;white-space:nowrap;color:#7c8a92}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:20px}.stat{padding:20px 19px 18px;background:#fff;border:1px solid var(--line);border-radius:9px;min-height:136px}.stat>span{font-size:11px;color:#6f818b;display:block}.stat>strong{display:block;font-size:36px;letter-spacing:-1.4px;font-weight:550;line-height:1.45;margin:7px 0 3px}.stat em{font-size:13px;font-style:normal;color:#9e6a5b;letter-spacing:0;margin-left:5px;font-weight:400}.stat.accent{background:#edf2ff;border-color:#d6e0fa}.stat.accent>strong{color:#345bb9}.stat small{font-size:9px}.stat .small-number{font-size:21px;letter-spacing:-.5px}.stat .unavailable{color:#a7b2b8}.insight-strip{display:flex;align-items:center;gap:23px;font-size:10px;padding:2px 3px 23px;color:#7d8a90;flex-wrap:wrap}.insight-strip strong{color:#3b535f;margin-right:3px}.mini-dot{height:5px;width:5px;border-radius:50%;display:inline-block;margin-right:7px}.green{background:#708fd0}.amber{background:#c9a267}.gray{background:#a9b4bb}.refresh-status{margin-left:auto;font-size:9px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 23px 20px;gap:14px}.panel-heading p{font-size:10px;color:var(--muted);margin:5px 0 0}.period-tag{font-size:10px;color:#7d8f99;white-space:nowrap}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 23px;gap:26px}.tabs a{padding:0 0 13px;margin:0;border-radius:0;color:#7e8d95;font-size:11px}.tabs a:hover{background:transparent;color:var(--accent)}.tabs a.selected{color:var(--accent);border-bottom:2px solid var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{font-weight:500;color:#7a8992;background:#fafbfc;font-size:9px;padding:14px 20px;border-bottom:1px solid var(--line);text-align:left}td{padding:18px 20px;border-bottom:1px solid #eef1f3;color:#405562}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}td small{font-size:9px;margin-top:4px}.num{text-align:right;font-variant-numeric:tabular-nums}.campaign-name{font-weight:600;color:#244958}.booked-number{color:#3d5cb6;background:#eef3ff;border-radius:4px;padding:4px 8px}.dirty-badge{color:#a75b47;background:#fbf1eb;padding:4px 7px;border-radius:4px;font-size:10px}.bar{margin:5px 0 0 auto;width:64px;height:3px;background:#edf2f1;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:#8ca5df;max-width:100%}.method-note{margin-top:24px;max-width:900px;color:#829098;font-size:10px}.method-note strong{font-size:10px;font-weight:500;color:#506874}.method-note p{margin-top:6px;line-height:1.8}.fine{font-size:10px;color:#89959c}.notice{padding:12px 16px;border:1px solid #d6e0f6;background:#eff3ff;color:#4a5c88;border-radius:7px;font-size:11px;margin-bottom:22px}.notice.warning{background:#fcf6e9;border-color:#eee0bc;color:#92712e}.empty{padding:44px 24px;text-align:center;color:var(--muted);white-space:normal}.empty h2,.empty h3{color:#526d7a}.empty p{font-size:12px;line-height:1.9}.empty-icon{font-size:30px;color:#87a29b;margin-bottom:10px}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;font-size:11px;padding:17px;border-top:1px solid var(--line)}footer{margin-top:auto;padding:20px 40px;font-size:9px;color:#98a4aa;display:flex;justify-content:space-between}.clinic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.clinic-card{padding:28px;color:var(--ink)}.clinic-card h2{margin:16px 0}.clinic-card:hover{text-decoration:none;border-color:#aac8bd}.clinic-card>span:last-child{color:var(--accent);font-size:12px}.padded{padding:24px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:22px}.detail-grid aside{align-self:start}.timeline-item{border-left:2px solid #dfe7f4;padding:18px 0 18px 22px;margin-left:8px}.timeline-item time{font-size:10px;color:var(--muted);display:block;margin-bottom:10px}.timeline-item pre{font:12px/1.8 inherit;white-space:pre-wrap;word-break:break-word;font-family:inherit;color:#36505e}.timeline-item.original{border-color:#7799d6;margin-top:22px}.timeline-item .eyebrow{font-size:9px;color:#6481af;display:block;margin-bottom:8px}.metadata{font-size:11px}.metadata dt{color:#8a989f;margin-top:16px;font-size:10px}.metadata dd{margin:3px 0 0;overflow-wrap:anywhere}.badge{display:inline-block;font-size:10px;color:#6c7b84;background:#f0f3f5;border-radius:5px;padding:4px 8px}.badge.success{color:#365db9;background:#edf2ff}.badge.danger{color:#a45442;background:#faf0e9}.section-title{margin-top:30px;margin-bottom:18px}.task-error,.source-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.source-row code{font-size:10px;color:#758c98}.forms-grid{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.forms-grid h2{margin-bottom:22px}.forms-grid form p,.form-panel p{display:flex;flex-direction:column;gap:5px}form label{font-size:11px;color:#5d737f}form p input,form p select,form p textarea{width:100%;padding:9px 10px;border:1px solid #dce4e7;border-radius:5px;background:#fff;font-size:12px;color:var(--ink)}form .helptext{font-size:10px;color:#8e9aa2}input[type=checkbox]{width:auto}.errorlist{font-size:11px;color:#b35f45;padding-left:18px}.future-sources{display:flex;gap:24px;flex-wrap:wrap;font-size:11px;color:#83949d;margin-top:30px}.future-sources span:first-child{color:#3d5c6c}.form-panel{max-width:620px}.mono{font-family:ui-monospace,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.login-body{min-height:100vh;display:grid;place-items:center;background:#edf2f1}.login-card{background:#fff;width:420px;max-width:calc(100% - 36px);padding:42px;border:1px solid #dfe7e4;border-radius:16px;box-shadow:0 15px 70px #193b3a08}.login-card .brand{color:#294c58;margin-bottom:40px}.login-card .brand-mark{color:white}.login-card h1{font-size:33px}.login-card form{margin-top:26px}.login-card form p{margin-bottom:18px}.login-card label{display:block;margin-bottom:6px}.login-card .fine{margin-top:22px;text-align:center;margin-bottom:0}.full{width:100%}.full span{margin-left:auto}details{font-size:10px;color:var(--muted)}@media(min-width:1600px){.content{padding:44px 54px}.topbar{padding:0 54px}h1{font-size:36px}.stat{padding:25px}.stat>strong{font-size:42px}td{padding-top:21px;padding-bottom:21px}}@media(max-width:1150px){.sidebar{width:205px;padding:25px 15px 0}main{margin-left:205px}.content{padding:28px 22px}.topbar{padding:0 22px}.heading-row{align-items:start;flex-direction:column}.stats{gap:9px}.stat{padding:15px 12px;min-height:126px}.stat>strong{font-size:30px}.stat small{font-size:8px}.filters{gap:10px}.detail-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:16px;display:block}.brand{margin-bottom:16px;font-size:21px}.brand-mark{height:36px;width:36px}.clinic-label,.sidebar-note,.account{display:none}.clinic-switch{margin-bottom:12px}nav{display:flex;overflow:auto;gap:6px}nav a{white-space:nowrap;font-size:10px;padding:8px;margin-bottom:0}nav a span{display:none}main{margin:0}.topbar{height:49px}.content{padding:24px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:last-child{grid-column:span 2;min-height:90px}.stat:last-child>strong{font-size:24px}.stats .stat small{font-size:9px}.insight-strip{gap:12px}.refresh-status{width:100%;margin:0}.panel-heading{padding:18px 16px;flex-wrap:wrap}.tabs{padding:0 16px;gap:20px}.tabs a{font-size:10px}th,td{padding:14px 16px}.filters label{min-width:130px}.filters .button{flex:1}.filters .reset{padding:8px}h1{font-size:28px}.page-heading p{font-size:11px}.actions .button{font-size:10px;padding:9px 12px}.detail-grid{grid-template-columns:1fr}footer{padding:18px 16px}}
