*{box-sizing:border-box}:root{--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--slate-400: #94a3b8;--slate-300: #cbd5e0;--slate-200: #e2e8f0;--slate-100: #f1f5f9;--slate-50: #f8fafc;--red-700: #b91c1c;--red-600: #dc2626;--red-500: #ef4444;--red-100: #fee2e2;--red-50: #fef2f2;--amber-700: #b45309;--amber-500: #f59e0b;--amber-100: #fef3c7;--amber-50: #fffbeb;--emerald-700: #047857;--emerald-500: #10b981;--emerald-100: #d1fae5;--emerald-50: #ecfdf5;--blue-600: #2563eb;--blue-500: #3b82f6;--blue-50: #eff6ff;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);--shadow-inset: inset 0 0 0 1px rgba(15, 23, 42, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--letter-tight: -.01em}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--slate-900);letter-spacing:var(--letter-tight)}.banner-911{position:relative;background:linear-gradient(135deg,#7f1d1d,#991b1b,#b91c1c);color:#fff;border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:28px;box-shadow:0 20px 60px #7f1d1d40,var(--shadow-inset);overflow:hidden}.banner-911:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.08),transparent 50%);pointer-events:none}.banner-911 .header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:18px;position:relative}.banner-911 .eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:4px}.banner-911 .headline{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0}.banner-911 .subhead{font-size:14px;opacity:.9;margin:6px 0 0;max-width:700px;line-height:1.5}.banner-911 .impact{text-align:right;flex-shrink:0;background:#00000040;border-radius:var(--radius-md);padding:14px 20px;border:1px solid rgba(255,255,255,.1)}.banner-911 .impact .lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:2px}.banner-911 .impact .amount{font-size:22px;font-weight:700;letter-spacing:-.02em}.banner-911 .impact .sub{font-size:11px;opacity:.7;margin-top:2px}.banner-911 .rows{display:flex;flex-direction:column;gap:6px;position:relative}.banner-911 .row{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:12px 16px;display:grid;grid-template-columns:2fr 2fr 1.4fr auto;gap:16px;align-items:center;cursor:pointer;transition:background .15s,transform .05s}.banner-911 .row:hover{background:#ffffff24}.banner-911 .row:active{transform:translateY(1px)}.banner-911 .row .name{font-weight:600;font-size:14px}.banner-911 .row .sub-line{font-size:11px;opacity:.7;margin-top:2px}.banner-911 .row .meds{font-size:12px;opacity:.85}.banner-911 .row .when{font-size:12px;font-weight:600;text-align:right}.banner-911 .row .when .big{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:1px}.banner-911 .row-overflow{text-align:center;font-size:12px;opacity:.7;padding:6px;font-style:italic}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:28px}.kpi-tile{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-md);padding:16px 20px;box-shadow:var(--shadow-sm);transition:transform .05s,box-shadow .15s}.kpi-tile:hover{box-shadow:var(--shadow-md)}.kpi-tile .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-500);margin-bottom:6px}.kpi-tile .value{font-size:28px;font-weight:700;color:var(--slate-900);letter-spacing:-.02em;line-height:1}.kpi-tile .delta{font-size:11px;color:var(--slate-500);margin-top:6px}.kpi-tile.critical{border-color:var(--red-100)}.kpi-tile.critical .value{color:var(--red-700)}.kpi-tile.warn{border-color:var(--amber-100)}.kpi-tile.warn .value{color:var(--amber-700)}.kpi-tile.good .value{color:var(--emerald-700)}.topbar{border-bottom:1px solid rgba(255,255,255,.05)}.topbar h1{letter-spacing:-.01em}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.nav-tabs{display:flex;gap:4px}.nav-tabs button{background:transparent;color:#94a3b8;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.nav-tabs button:hover,.nav-tabs button.active{color:#fff;background:#1e293b}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:#0f172a;font-size:14px;line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{background:#0f172a;color:#fff;padding:14px 32px;display:flex;align-items:center;gap:24px}.topbar .brand{display:flex;flex-direction:column}.topbar h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.3px}.topbar .sub{font-size:11px;color:#94a3b8;margin-top:2px}.topbar .spacer{flex:1}.topbar .built-at{color:#64748b;font-size:11px;margin-right:8px}.topbar button{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.topbar button:hover{background:#2563eb}.topbar button:disabled{background:#475569;cursor:not-allowed}.topbar button.secondary{background:#334155}.topbar button.secondary:hover{background:#475569}.page{max-width:1400px;margin:0 auto;padding:24px 32px 48px;width:100%}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 20px}.kpi .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;font-weight:600}.kpi .val{font-size:28px;font-weight:700;margin-top:4px;color:#0f172a}.kpi .delta{font-size:11px;color:#64748b;margin-top:2px}.kpi.alert{border-color:#fecaca;background:#fef2f2}.kpi.alert .val{color:#b91c1c}.kpi.warn{border-color:#fed7aa;background:#fff7ed}.kpi.warn .val{color:#c2410c}.kpi.good{border-color:#bbf7d0;background:#f0fdf4}.kpi.good .val{color:#15803d}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:32px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;min-height:280px}.card.alert{border-top:3px solid #ef4444}.card.warn{border-top:3px solid #f59e0b}.card.info{border-top:3px solid #3b82f6}.card.gray{border-top:3px solid #64748b}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.card-title{font-size:15px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px}.card-icon{font-size:18px}.card-count{background:#f1f5f9;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;color:#475569}.card.alert .card-count{background:#fee2e2;color:#991b1b}.card.warn .card-count{background:#ffedd5;color:#9a3412}.card.info .card-count{background:#dbeafe;color:#1e40af}.card-desc{font-size:12px;color:#64748b;margin:0 0 12px}.card-list{list-style:none;padding:0;margin:0;flex:1}.card-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9;cursor:pointer;font-size:13px}.card-list li:last-child{border-bottom:none}.card-list li:hover{background:#f8fafc;padding-left:4px}.card-list .name{font-weight:500;color:#0f172a}.card-list .meta{color:#64748b;font-size:11px}.card-list .amt{font-weight:600;color:#0f172a}.card-list .amt.red{color:#dc2626}.card-list .empty{color:#94a3b8;font-style:italic;padding:16px 0;text-align:center}.card-foot{margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0}.card-foot button{background:transparent;border:none;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer;padding:0}.card-foot button:hover{text-decoration:underline}.drug-strip{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 22px;margin-bottom:28px}.drug-strip h3{margin:0 0 12px;font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.drug-strip h3 .total{font-size:11px;color:#64748b;font-weight:500}.drug-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.drug-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.drug-cell .drug-name{font-size:12px;font-weight:600;color:#0f172a}.drug-cell .drug-count{font-size:22px;font-weight:700;color:#2563eb;margin-top:2px}.drug-cell .drug-sub{font-size:10px;color:#64748b;margin-top:1px}.search-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;overflow:hidden}.search-head{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc}.search-head:hover{background:#f1f5f9}.search-head .label{font-weight:600}.search-head .chev{color:#64748b;font-size:12px}.search-body{padding:16px 20px}.search-controls{display:flex;gap:10px;margin-bottom:14px;align-items:center}.search-controls input[type=search]{flex:1;padding:10px 14px;border:1px solid #cbd5e0;border-radius:6px;font-size:14px}.search-controls select{padding:9px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:13px;background:#fff}.search-controls .count{color:#64748b;font-size:12px;min-width:80px;text-align:right}.search-results{max-height:460px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px}.search-results table{width:100%;border-collapse:collapse}.search-results th{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 10px;font-size:11px;text-transform:uppercase;color:#475569;letter-spacing:.4px;text-align:left;position:sticky;top:0;z-index:1}.search-results td{padding:8px 10px;border-bottom:1px solid #f1f5f9;font-size:13px}.search-results tr{cursor:pointer}.search-results tr:hover td{background:#f8fafc}.upload-widget{background:#fff;border:1px dashed #cbd5e0;border-radius:12px;padding:16px 20px;margin-bottom:24px}.upload-widget .title{font-weight:600;margin-bottom:8px;font-size:13px}.upload-widget .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-widget select,.upload-widget input[type=file]{font-size:13px;padding:6px 8px}.upload-widget button{background:#10b981;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500}.upload-widget button:disabled{background:#94a3b8}.upload-widget .msg{font-size:11px;margin-top:6px}.upload-widget .msg.error{color:#dc2626}.upload-widget .msg.success{color:#16a34a}.upload-widget .hint{font-size:10px;color:#94a3b8;margin-top:4px}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.badge.current{background:#dcfce7;color:#15803d}.badge.past-due{background:#fee2e2;color:#991b1b}.badge.no-contract{background:#dbeafe;color:#1e40af}.badge.unknown{background:#e2e8f0;color:#475569}.badge.pending{background:#fef3c7;color:#92400e}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;z-index:100;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:100%;max-width:720px;padding:28px 32px;position:relative;box-shadow:0 20px 60px #0000004d}.modal-close{position:absolute;top:14px;right:18px;background:transparent;border:none;font-size:24px;cursor:pointer;color:#64748b;line-height:1}.modal-close:hover{color:#0f172a}.detail h2{margin:0 0 4px;font-size:22px}.detail .sub{color:#64748b;font-size:13px;margin-bottom:20px}.detail-section{margin-bottom:22px}.detail-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;margin:0 0 10px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:13px}.kv .k{color:#64748b}.kv .v{color:#0f172a;font-weight:500}.med-item{padding:10px 0;border-bottom:1px dashed #e2e8f0}.med-item:last-child{border-bottom:none}.med-item .drug-class-h{font-weight:700;color:#0f172a}.med-item .drug-detail{color:#475569;font-size:12px;margin-top:2px}.med-item .duration{color:#1e40af;font-size:11px;display:inline-block;margin-top:4px;background:#dbeafe;padding:2px 8px;border-radius:4px}.med-item.past .drug-class-h{color:#94a3b8;text-decoration:line-through}.fills-table{width:100%;font-size:12px;border-collapse:collapse}.fills-table th{font-size:10px;text-align:left;padding:6px;background:#f8fafc;color:#64748b}.fills-table td{padding:6px;border-bottom:1px solid #f1f5f9}.leak-banner{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:10px 14px;margin-bottom:18px;color:#991b1b;font-size:13px;font-weight:600}.tiers-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 22px;margin-bottom:28px}.tier-group{margin-bottom:16px}.tier-group:last-child{margin-bottom:0}.tier-group-head{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;font-weight:700;margin-bottom:6px}.tier-rows{display:flex;flex-direction:column;gap:6px}.tier{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.tier.below{background:#fff7ed;border-color:#fdba74}.tier>summary{padding:10px 14px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.tier>summary::-webkit-details-marker{display:none}.tier>summary:before{content:"▸";display:inline-block;margin-right:8px;color:#94a3b8;font-size:10px}.tier[open]>summary:before{transform:rotate(90deg)}.tier-patients{padding:8px 14px 14px;display:flex;flex-wrap:wrap;gap:6px}.pt-chip{background:#fff;border:1px solid #cbd5e0;padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer}.pt-chip:hover{background:#ebf8ff;border-color:#63b3ed}.pt-more{font-size:11px;color:#64748b;font-style:italic}
