:root{--background:#f4f7fb;--surface:#fff;--surface-subtle:#f8fafd;--surface-muted:#f1f5fa;--text:#0f172a;--text-soft:#334155;--muted:#64748b;--quiet:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eff6ff;--cyan:#06b6d4;--cyan-soft:#ecfeff;--green:#147a45;--green-soft:#eaf8f0;--amber:#b85d00;--amber-soft:#fff4e5;--red:#c43232;--red-soft:#ffeded;--panel-radius:14px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 8px 24px #1e35570f}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--text);font-feature-settings:"cv02", "cv03", "cv04", "cv11";margin:0;font-family:Roboto Flex,Roboto,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--text);color:#fff;border-radius:8px;padding:10px 13px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;background:linear-gradient(#fff 0%,#fbfdff 68%,#f7faff 100%);border-right:1px solid #dce4ef;flex-direction:column;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0;box-shadow:8px 0 28px #21375a08}.brand{border-bottom:1px solid var(--border);align-items:center;gap:11px;min-height:66px;margin:0 -12px 20px;padding:0 22px 20px;display:flex}.brand-logo-image{flex:none;width:38px;height:38px}.brand>span{line-height:1.08;display:grid}.brand strong{color:var(--text);letter-spacing:-.025em;font-size:19px;font-weight:680}.brand small{color:var(--blue);margin-top:4px;font-size:13px;font-weight:680}.sidebar nav,.mobile-navigation nav{gap:7px;display:grid}.nav-link{color:#475569;border-radius:9px;align-items:center;gap:12px;min-height:44px;padding:0 14px;font-weight:560;transition:color .15s,background .15s;display:flex;position:relative}.nav-link:before{background:linear-gradient(180deg, var(--blue), var(--cyan));opacity:0;content:"";border-radius:99px;width:2px;transition:opacity .15s,transform .15s;position:absolute;inset:9px auto 9px 0;transform:scaleY(.45)}.nav-link:hover{color:var(--text);background:#f8fafc}.nav-link.active{background:var(--blue-soft);color:var(--blue-hover)}.nav-link.active:before{opacity:1;transform:scaleY(1)}.nav-link.active svg{color:var(--blue)}.sidebar-footer{gap:12px;margin-top:auto;display:grid}.viewer-menu{position:relative}.viewer-menu summary{border:1px solid var(--border);cursor:pointer;background:#ffffffb8;border-radius:10px;align-items:center;gap:10px;min-height:68px;padding:10px 11px;list-style:none;display:flex}.viewer-menu summary::-webkit-details-marker{display:none}.viewer-menu summary:after{content:"";border-bottom:1.5px solid #64748b;border-right:1.5px solid #64748b;width:7px;height:7px;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.viewer-menu[open] summary:after{transform:rotate(225deg)translate(-2px,-1px)}.avatar,.mobile-avatar{background:var(--blue-soft);color:var(--blue);border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid}.avatar{width:36px;height:36px}.viewer-copy{gap:3px;min-width:0;display:grid}.viewer-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.viewer-copy small{color:var(--muted);font-size:11px}.viewer-popover{z-index:50;border:1px solid var(--border);width:210px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;gap:8px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.viewer-popover span{color:var(--muted);text-overflow:ellipsis;font-size:11px;overflow:hidden}.viewer-popover button{background:var(--surface-muted);width:100%;min-height:34px;color:var(--text-soft);cursor:pointer;border:0;border-radius:7px;font-size:12px;font-weight:650}.viewer-popover button:hover{color:var(--blue-hover);background:var(--blue-soft)}.hub-link{min-height:38px;color:var(--blue);border-radius:8px;align-items:center;gap:9px;padding:0 12px;font-size:13px;font-weight:650;display:flex}.hub-link:hover{background:var(--blue-soft)}.mobile-bar,.mobile-navigation{display:none}.main-content{background:radial-gradient(circle at 90% -12%, #dbeafe7a, transparent 31rem), var(--background);min-width:0;min-height:100vh}.review-mode-banner{z-index:70;color:#713f12;letter-spacing:.005em;background:#fff8df;border-bottom:1px solid #f3ce79;padding:9px 34px;font-size:13px;font-weight:650;position:sticky;top:0}.page-header{background:linear-gradient(135deg,#fffffffa 0%,#f8fbfff7 64%,#eff6ffd6 100%);border-bottom:1px solid #cbd5e1b8;justify-content:space-between;align-items:flex-start;gap:24px;min-height:126px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.page-header:after{z-index:0;pointer-events:none;content:"";background:url(/topography.svg) 100%/auto 100% no-repeat;position:absolute;inset:0 0 0 38%}.page-title-block,.page-header-action{z-index:1;position:relative}.page-header h1{letter-spacing:-.043em;margin:0;font-size:31px;font-weight:690;line-height:1.12}.page-header p{color:var(--muted);margin:7px 0 0;font-size:14px}.page-header-action{align-self:center}.range-select{border:1px solid var(--border-strong);min-width:178px;min-height:43px;color:var(--text-soft);box-shadow:var(--shadow-xs);background:#ffffffeb;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.range-select svg{color:#475569}.range-select select{min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;outline:0;flex:1;font-size:13px;font-weight:580}.page-body{width:100%;max-width:1720px;margin-inline:auto;padding:22px 34px 48px}.page-stack{gap:16px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{min-width:0;min-height:112px;box-shadow:var(--shadow-xs);background:#fffffff5;border:1px solid #cbd5e1c2;border-radius:12px;grid-template-columns:42px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:19px 17px;display:grid}.metric-icon{border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.cyan{color:var(--cyan);background:var(--cyan-soft)}.metric-icon.red{color:var(--red);background:var(--red-soft)}.metric-copy{gap:7px;min-width:0;display:grid}.metric-copy small{color:#3d4a63;white-space:nowrap;font-size:12px}.metric-copy strong{letter-spacing:-.04em;text-overflow:ellipsis;font-size:27px;line-height:1;overflow:hidden}.metric-sparkline{width:72px;height:28px;overflow:visible}.metric-sparkline path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.metric-sparkline.blue{color:var(--blue)}.metric-sparkline.cyan{color:var(--cyan)}.metric-sparkline.red{color:var(--red)}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,.83fr);align-items:stretch;gap:14px;display:grid}.panel{border-radius:var(--panel-radius);min-width:0;box-shadow:var(--shadow-xs);background:#fffffff5;border:1px solid #cbd5e1c2;overflow:hidden}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 18px;display:flex}.panel-heading h2{letter-spacing:-.015em;margin:0;font-size:15px}.panel-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.chart-panel .panel-heading{border-bottom:0}.chart-wrap{min-height:314px;padding:0 18px 14px;position:relative}.chart-legend{z-index:1;color:var(--text-soft);align-items:center;gap:16px;font-size:11px;display:flex;position:absolute;top:-49px;right:20px}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.blue{background:var(--blue)}.legend-dot.cyan{background:var(--cyan)}.chart-canvas{position:relative}.chart-canvas svg{width:100%;max-height:272px;overflow:visible}.chart-gridline{stroke:#dde5ef;stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.chart-axis{fill:#64748b;font-family:inherit;font-size:11px}.chart-line{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-line.geocode{stroke:var(--blue)}.chart-line.tiles{stroke:var(--cyan)}.chart-empty{color:var(--muted);text-align:center;margin:0;font-size:12px;position:absolute;inset:38% 0 auto}.provider-list{display:grid}.provider-row{border-bottom:1px solid var(--border);gap:12px;padding:17px;display:grid}.provider-row:last-child{border-bottom:0}.provider-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.provider-title strong{align-items:center;gap:9px;font-size:13px;display:inline-flex}.provider-icon{width:30px;height:30px;color:var(--blue);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.provider-facts{color:var(--text-soft);grid-template-columns:1fr auto;gap:8px 12px;margin:0;font-size:11px;display:grid}.provider-facts dt,.provider-facts dd{margin:0}.provider-facts dt{color:var(--muted)}.status-marker{color:var(--text-soft);white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:620;display:inline-flex}.status-marker i{background:currentColor;border-radius:50%;width:7px;height:7px}.status-marker.green{color:var(--green)}.status-marker.amber{color:var(--amber)}.status-marker.red{color:var(--red)}.status-marker.gray{color:var(--muted)}.table-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;width:100%;min-width:0;overflow-x:auto}.table-scroll:focus-visible{outline-offset:-3px;outline:3px solid #2563eb57}table{border-collapse:collapse;white-space:nowrap;width:100%}th{color:#64748b;border-bottom:1px solid var(--border);background:var(--surface-subtle);letter-spacing:.05em;text-align:left;text-transform:uppercase;height:42px;padding:0 17px;font-size:10px;font-weight:720}td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;min-height:51px;padding:13px 17px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fafc}td strong{color:var(--text);font-weight:650}.text-link{color:var(--blue);font-weight:650}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.cell-subtitle{color:var(--muted);margin-top:3px;font-size:10px;display:block}.quota-cell{min-width:210px}.quota-usage{gap:6px;width:100%;max-width:210px;display:grid}.quota-usage-heading{justify-content:space-between;align-items:center;gap:9px;display:flex}.quota-usage-heading strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.quota-usage small{color:var(--muted);font-size:10px}.quota-source{letter-spacing:.035em;text-transform:uppercase;border-radius:99px;padding:3px 6px;font-size:9px;font-weight:720}.quota-source.default{color:#1e5ec5;background:var(--blue-soft)}.quota-source.override{color:#805000;background:var(--amber-soft)}.quota-progress{background:#e2e8f0;border-radius:99px;width:100%;height:5px;overflow:hidden}.quota-progress i{border-radius:inherit;background:var(--blue);height:100%;display:block}.quota-progress.warning i{background:var(--amber)}.quota-progress.exhausted i{background:var(--red);min-width:100%}.empty-state{min-height:122px;color:var(--muted);text-align:center;place-items:center;padding:30px 20px;display:grid}.empty-state p{margin:0}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.fact-list{margin:0;display:grid}.fact-row{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);align-items:center;gap:16px;min-height:52px;padding:12px 17px;display:grid}.fact-row:last-child{border-bottom:0}.fact-row dt,.fact-row dd{margin:0}.fact-row dt{color:var(--muted);font-size:11px;font-weight:620}.fact-row dd{overflow-wrap:anywhere;color:var(--text-soft);font-size:12px}.callout{color:#244b82;background:#f5f9ff;border:1px solid #c7daf7;border-radius:11px;align-items:flex-start;gap:11px;padding:17px;line-height:1.55;display:flex}.callout p{margin:0}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:660;display:inline-flex}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-hover)}.form-error{background:var(--red-soft);color:var(--red);border-radius:8px;margin:0;padding:11px 13px;font-size:12px;font-weight:620}.auth-page{background:radial-gradient(circle at 72% 10%, #bae6fd73, transparent 30rem), radial-gradient(circle at 20% 90%, #dbeafebf, transparent 28rem), var(--background);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{background:#fffffff5;border:1px solid #cbd5e1d6;border-radius:18px;gap:24px;width:min(100%,440px);padding:34px;display:grid;box-shadow:0 22px 60px #1e35571f}.auth-brand{align-items:center;gap:11px;display:flex}.auth-brand>span{line-height:1.05;display:grid}.auth-brand strong{letter-spacing:-.025em;font-size:19px}.auth-brand small{color:var(--blue);margin-top:4px;font-weight:680}.auth-copy{gap:8px;display:grid}.auth-copy h1,.auth-copy p{margin:0}.auth-copy h1{letter-spacing:-.035em;font-size:27px}.auth-copy p{color:var(--muted);line-height:1.55}.auth-security{color:var(--muted);border-top:1px solid var(--border);align-items:flex-start;gap:9px;padding-top:18px;font-size:11px;line-height:1.5;display:flex}.auth-security svg{color:var(--green);flex:none}@media (max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.provider-list{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-row{border-right:1px solid var(--border)}.provider-row:nth-child(2n){border-right:0}}@media (max-width:760px){.app-shell{display:block}.sidebar{display:none}.mobile-bar{z-index:80;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;min-height:70px;padding:0 18px;display:grid;position:sticky;top:0}.mobile-bar .brand{border:0;justify-self:center;gap:8px;min-height:0;margin:0;padding:0}.mobile-bar .brand-logo-image{width:30px;height:30px}.mobile-bar .brand strong{font-size:18px}.mobile-bar .brand small{margin-top:2px;font-size:11px}.icon-button{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-button:hover{background:var(--surface-muted)}.mobile-avatar{justify-self:end;width:38px;height:38px;font-size:11px}.mobile-navigation{z-index:70;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fbfffa;flex-direction:column;padding:20px 18px;display:flex;position:fixed;inset:70px 0 0}.mobile-navigation-footer{gap:10px;margin-top:auto;display:grid}.mobile-navigation .viewer-popover{width:100%;margin-top:8px;position:static}.page-header{align-content:start;gap:25px;min-height:206px;padding:34px 24px;display:grid}.page-header:after{opacity:.72;background-size:auto 100%;inset:0}.page-header h1{font-size:34px}.page-header p{max-width:310px;font-size:15px;line-height:1.45}.page-header-action{justify-self:start}.range-select{background:#fff;min-width:188px}.page-body{padding:18px 18px 36px}.review-mode-banner{padding:9px 18px;top:70px}.metrics-grid{gap:12px}.metric-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 58px;gap:7px;min-height:122px;padding:16px}.metric-icon{display:none}.metric-copy{grid-row:1/3}.metric-copy small{font-size:12px}.metric-copy strong{font-size:28px}.metric-sparkline{grid-area:2/2;align-self:end;width:58px}.dashboard-grid{gap:14px}.chart-wrap{min-height:255px;padding:0 12px 9px}.chart-canvas{margin-top:7px;overflow-x:auto}.chart-canvas svg{width:680px;height:240px;max-height:none}.chart-legend{justify-content:flex-end;padding:0 6px 6px;position:static}.provider-list{grid-template-columns:1fr}.provider-row{border-right:0}.content-grid{grid-template-columns:1fr}.fact-row{grid-template-columns:1fr;gap:5px}}@media (max-width:430px){.mobile-bar{padding-inline:12px}.mobile-bar .brand-logo-image{display:none}.page-header{padding-inline:18px}.page-body{padding-inline:12px}.metrics-grid{gap:9px}.metric-card{padding:14px 12px}.metric-copy strong{font-size:25px}.metric-sparkline{width:50px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
