:root{color-scheme:dark;--bg:#101419;--panel:#191f27;--input:#10161d;--line:#303946;--text:#e8edf4;--muted:#a8b3c1;--accent:#a7efc5;--accent-ink:#132c20;--danger:#ffb1ac;--radius:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit}button,input,select{font:inherit}button,.button,summary{touch-action:manipulation}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:42px;padding:9px 17px;border:1px solid var(--line);border-radius:8px;background:#242d38;color:var(--text);font-weight:600;font-size:.875rem;text-decoration:none;cursor:pointer;white-space:nowrap}button:hover,.button:hover{background:#303c49;border-color:#506075}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.primary:hover{background:#c4f7d9;border-color:#c4f7d9}.quiet{background:transparent}.danger{background:#3c2227;border-color:#784047;color:#ffcbc8}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:650;font-size:1rem;letter-spacing:-.03em;text-decoration:none}.brand-mark{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid #435548;border-radius:10px;color:var(--accent);background:#202e27;font-size:.72rem;letter-spacing:-.04em}.topbar{border-bottom:1px solid var(--line);background:#141a21}.topbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:20px 32px}.dashboard{max-width:1200px;margin:0 auto;padding:48px 32px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.eyebrow{color:var(--accent);font-size:.67rem;letter-spacing:.18em;font-weight:650;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:2.4rem;line-height:1.2;letter-spacing:-.045em;font-weight:600;margin-bottom:12px}h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em;font-weight:600;margin-bottom:0}h3{font-size:1rem;line-height:1.4;font-weight:600;letter-spacing:-.015em;margin-bottom:0}.subtle{color:var(--muted);margin-bottom:0;font-size:.92rem}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.count{background:#232d37;padding:2px 9px;border-radius:6px;color:var(--muted);font-size:.75rem}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{padding:24px}.service-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.service-heading h3{overflow-wrap:anywhere;padding-top:3px}.status{flex-shrink:0;max-width:45%;overflow-wrap:anywhere;border:1px solid #44574d;background:#24342c;color:#b7dec6;font-size:.7rem;font-weight:600;padding:4px 9px;border-radius:6px}.service-details{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:24px 0}.service-details dt{color:var(--muted);font-size:.72rem;margin-bottom:5px}.service-details dd{margin:0;font-size:.84rem;overflow-wrap:anywhere}.service-details code{font-size:.79rem}.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:18px}.service-actions button{font-size:.77rem;min-height:36px;padding:7px 13px}.remove-service{margin-left:auto;font-size:.76rem;color:var(--muted)}.remove-service summary{cursor:pointer;padding:9px 2px;color:var(--danger)}.remove-service[open]{flex-basis:100%;margin-left:0}.remove-confirmation{border:1px solid #654046;border-radius:8px;padding:12px;margin-top:4px}.remove-confirmation p{margin-bottom:12px}.service-error{border-left:2px solid #a95859;padding-left:12px;font-size:.82rem;color:#ffc1bd;overflow-wrap:anywhere}.empty-state{text-align:center;padding:44px 24px}.empty-mark{display:flex;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 16px;border:1px solid #45594d;border-radius:12px;color:var(--accent);font-size:1.6rem;font-weight:300}.empty-state h3{font-size:1.1rem;margin-bottom:7px}.empty-state p{color:var(--muted);font-size:.88rem;margin-bottom:0}.help{color:var(--muted);font-size:.78rem;line-height:1.55;margin:0}.refresh-note{margin:12px 0 36px}.create-panel{overflow:hidden;scroll-margin-top:24px}.create-heading{padding:28px 32px;border-bottom:1px solid var(--line)}.create-heading h2{font-size:1.5rem;margin-bottom:10px}.create-heading .subtle{max-width:720px;font-size:.86rem}.create-form{padding:30px 32px}fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}legend{display:flex;align-items:center;gap:10px;padding:0;font-size:.92rem;font-weight:600;margin-bottom:20px}.step{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:.72rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.full-row{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:8px;min-width:0}label{font-size:.8rem;font-weight:600}input,select{width:100%;min-width:0;color:var(--text);background:var(--input);border:1px solid #394452;border-radius:7px;padding:11px 12px;font-size:.85rem;min-height:44px}input::placeholder{color:#8190a2;opacity:1}input[type=file]{font-size:.78rem;line-height:1.9;padding:8px}input[type=file]::file-selector-button{font:inherit;border:0;border-radius:5px;margin-right:12px;background:#313e4d;color:var(--text);padding:4px 9px;cursor:pointer}select{max-width:420px}.stack{display:flex;flex-direction:column;gap:21px}.source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.source-option{padding:17px;background:#151b22;border:1px solid var(--line);border-radius:9px}.source-option .help{font-size:.73rem}.source-option input{font-size:.78rem}.optional{font-size:.72rem;color:var(--muted);font-weight:400;margin-left:6px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em;overflow-wrap:anywhere}.fieldset-help{margin-top:-9px;margin-bottom:17px}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:24px}.submit-row .help{max-width:570px}.message{padding:14px 18px;margin:0 0 24px;border-radius:9px;font-size:.88rem;overflow-wrap:anywhere}.error{background:#321e23;border:1px solid #704047;color:#ffcac5}.success{background:#20342a;border:1px solid #3c694f;color:#c4f4d6}.page-footer{display:flex;align-items:center;justify-content:center;gap:14px;color:#8f9bac;font-size:.74rem;padding:30px 0 10px}.page-footer span{color:#526071}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-shell{width:100%;max-width:440px}.login-shell>.brand{margin-bottom:32px}.login-panel{padding:32px}.login-panel h1{font-size:1.85rem}.login-panel>.subtle{margin-bottom:27px;font-size:.88rem}.login-panel .message{margin-bottom:23px}.login-panel .stack{gap:19px}.full-width{width:100%}.login-note{font-size:.7rem;color:var(--muted);text-align:center;margin:20px 0 0}@media(min-width:1400px){.dashboard{padding-top:64px}}@media(max-width:960px){.source-options{grid-template-columns:1fr}.source-option .help{font-size:.78rem}.source-option input{font-size:.85rem}.service-grid{grid-template-columns:1fr}}@media(max-width:600px){.topbar-inner{padding:16px 20px}.dashboard{padding:32px 20px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:19px}h1{font-size:2rem}.page-heading .button{width:100%}.service-card{padding:20px}.service-heading{gap:10px}.service-details{gap:8px}.service-actions{gap:6px}.remove-service{margin-left:0}.create-heading,.create-form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.submit-row{flex-direction:column;align-items:stretch;gap:18px}.page-footer{flex-wrap:wrap;gap:5px 10px;text-align:center}.login-panel{padding:27px 24px}}
.files-intro{margin-bottom:24px}.files-panel{overflow:hidden}.files-heading{padding:24px 32px;border-bottom:1px solid var(--line)}.files-heading h2{overflow-wrap:anywhere}.file-areas{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}.file-table-scroll{overflow-x:auto}.file-table{width:100%;border-collapse:collapse;font-size:.86rem}.file-table th,.file-table td{text-align:left;padding:14px 24px;border-bottom:1px solid var(--line);vertical-align:top}.file-table th{color:var(--muted);font-size:.75rem;font-weight:600}.file-table tr:last-child td{border-bottom:0}.file-table td:first-child{overflow-wrap:anywhere;max-width:35rem}.file-table td:nth-child(2),.file-table td:nth-child(3){white-space:nowrap}.files-upload{margin-top:24px}.files-stop-note{margin-bottom:16px}.service-actions .button{font-size:.77rem;min-height:36px;padding:7px 13px}@media(max-width:600px){.files-heading{padding:24px 20px}.file-table th,.file-table td{padding:12px}.file-areas .button{width:100%}}
.storage-options{border:1px solid var(--line);border-radius:8px;padding:16px}.storage-options summary{cursor:pointer;font-size:.85rem;font-weight:600}.storage-options .help{margin:14px 0}.storage-options .form-grid{margin-top:16px}button:disabled{opacity:.5;cursor:not-allowed}.message details summary{cursor:pointer}.message details p{margin-top:14px}
.button.unavailable{opacity:.5;cursor:default;white-space:normal}
.folder-form{display:flex;align-items:flex-end;gap:12px;margin:20px 0 10px}.folder-form .field{flex:1}.folder-form button{min-height:44px}@media(max-width:600px){.folder-form{align-items:stretch;flex-direction:column}}
.http-routing{font-size:.76rem;color:var(--muted)}.http-routing summary{cursor:pointer;padding:9px 2px}.http-routing[open]{flex-basis:100%}.http-routing .help{margin:4px 0 12px}.http-routing button{white-space:normal}
[hidden]{display:none!important}.domain-heading{overflow-wrap:anywhere}.detail-panel{padding:26px 30px;margin-bottom:28px}.detail-help{margin:12px 0 20px}.detail-actions{border-top:0;padding-top:0}.diagnostic-summary{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.log-output{margin:20px 0 0;padding:20px;background:#0e141a;border:1px solid var(--line);border-radius:8px;color:#d6e2ef;font: .79rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto;tab-size:4}.log-output:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-panel{margin-top:28px}.storage-summary{padding:24px 32px;border-top:1px solid var(--line)}.storage-summary h3{margin-bottom:10px}.storage-summary .service-details{margin-bottom:0}.form-retry{margin:0 0 12px}.form-details{font-size:.85rem;margin:0 0 20px}.form-status:not(:empty){margin:0 0 24px}.form-error:focus{outline:2px solid var(--danger);outline-offset:3px}.metrics-section{margin:0 0 36px}.metrics-status{margin:-4px 0 16px}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metric-card{margin:0;padding:20px;min-width:0}.metric-title{color:var(--muted);font-size:.8rem;letter-spacing:0}.metric-value{font-size:1.35rem;font-weight:600;letter-spacing:-.025em;margin:5px 0 14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric-chart{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#303e48;stroke-width:1}.chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-series-0{stroke:#a7efc5}.chart-series-1{stroke:#9ec5ff;stroke-dasharray:6 4}.chart-point.chart-series-0{fill:#a7efc5}.chart-point.chart-series-1{fill:#9ec5ff;stroke-dasharray:none}.chart-axis,.chart-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.65rem;line-height:1.4;font-variant-numeric:tabular-nums}.chart-scale{margin-bottom:4px}.chart-caption{margin-top:12px;font-size:.72rem}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}.chart-key{display:inline-flex;gap:7px;align-items:center}.chart-key:before{content:"";display:inline-block;width:18px;border-top:2px solid #a7efc5}.chart-key.chart-series-1:before{border-top:2px dashed #9ec5ff}.metrics-explanation{margin-top:12px}.metrics-unavailable .metrics-grid{opacity:.6}.service-heading h3 a{text-decoration-thickness:1px;text-underline-offset:4px}.service-heading h3 a:not(:hover){text-decoration:none}@media(max-width:600px){.metrics-grid{grid-template-columns:1fr}.detail-panel{padding:22px 20px}.storage-summary{padding:24px 20px}.metric-value{font-size:1.25rem}}
