:root{color-scheme:light;--background:#f7f8fa;--foreground:#1b1f24;--muted:#5d6673;--panel:#ffffff;--border:#d8dee6;--accent:#0f766e;--tab-width:168px;--pane-width:1020px}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{min-height:100vh;padding:48px}.shell{display:grid;grid-gap:24px;gap:24px;width:100%;max-width:var(--pane-width)}.panel{max-width:680px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.account{display:flex;align-items:center;gap:12px;white-space:nowrap}.account-email{color:var(--muted);font-size:14px}h1{font-size:40px;line-height:1.1}h1,h2{margin:0}h2{font-size:18px;line-height:1.3}p{margin:0;color:var(--muted);line-height:1.6}code{border-radius:4px;background:#eef2f6;padding:2px 6px}a{color:var(--accent)}.status-panel{display:grid;grid-gap:16px;gap:16px;max-width:none}.environment-row,.map-status-row,.status-header,.status-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.map-status,.status-pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;text-transform:uppercase}.map-status.pending,.status-pill.building,.status-pill.starting{background:#fff7ed;color:#9a3412}.map-status.publishing{background:#eff6ff;color:#1d4ed8}.map-status.ready,.status-pill.ready{background:#16a34a;color:#ffffff}.map-status.failed,.status-pill.failed{background:#fef2f2;color:#b91c1c}.map-status.partial{background:#fef3c7;color:#92400e}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5e7eb}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.progress-track.indeterminate span{width:35%;animation:indeterminate-progress 1.2s ease-in-out infinite}@keyframes indeterminate-progress{0%{transform:translateX(-110%)}to{transform:translateX(320%)}}.map-status-row,.status-meta{color:var(--muted);font-size:14px}.status-error{color:#b91c1c}.cron-status{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:14px;color:var(--muted)}.cron-status .cron-title{color:var(--foreground);font-size:12px;font-weight:700;text-transform:uppercase}.cron-status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--foreground)}.source-quality-explanation{display:grid;grid-gap:8px;gap:8px;border-left:3px solid #f59e0b;background:#fffbeb;padding:12px 14px}.source-quality-explanation p{font-size:13px}.source-quality-groups{display:grid;grid-gap:16px;gap:16px}.source-quality-group{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--border);border-radius:8px;padding:16px}.source-error-heading,.source-quality-group-header,.source-quality-totals{display:flex;align-items:center;justify-content:space-between;gap:12px}.source-quality-group-header h3,.source-quality-section h4{margin:0;color:var(--foreground)}.source-quality-group-header h3{font-size:14px;text-transform:uppercase}.source-error-item,.source-quality-group-header span,.source-quality-totals{color:var(--muted);font-size:13px}.source-quality-totals{justify-content:flex-start}.source-quality-section{display:grid;grid-gap:8px;gap:8px}.source-quality-section h4{font-size:13px}.source-error-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.source-error-item{display:grid;grid-gap:5px;gap:5px;border:1px solid #fecaca;border-radius:6px;background:#fff7f7;padding:10px}.source-error-item.quarantined{border-color:#fcd34d;background:#fffbeb}.source-error-heading{align-items:flex-start}.source-error-heading strong,.source-error-heading>span{color:var(--foreground);overflow-wrap:anywhere}.source-error-heading code{flex:0 0 auto;font-size:11px}.source-error-meta{font-size:11px;overflow-wrap:anywhere}.source-error-diagnostic{color:#92400e;overflow-wrap:anywhere}.source-error-meta code{font-size:10px}.startup-config{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.startup-config div{display:grid;grid-gap:4px;gap:4px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px}.startup-config span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.startup-config strong{overflow-wrap:anywhere;font-size:14px;font-weight:700}.environment-grid,.map-status-grid{display:grid;grid-gap:8px;gap:8px}.environment-row,.map-status-row{min-height:32px;border-top:1px solid var(--border);padding-top:8px}.status-actions{display:flex;gap:8px;justify-content:flex-end}.map-row-actions button,.status-actions button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:white;color:var(--foreground);font-size:13px;font-weight:600;padding:6px 12px}.map-row-actions button:hover:not(:disabled),.status-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.map-row-actions button:disabled,.status-actions button:disabled{cursor:not-allowed;color:#94a3b8}.map-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.map-row-info{display:flex;flex-direction:column;gap:2px;min-width:0}.map-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;color:var(--foreground)}.map-source{border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.6;text-transform:uppercase}.map-source.api,.map-source.file,.map-source.internal{border-color:#d8b4fe;background:#f3e8ff;color:#7e22ce}.map-dependency{border:1px solid #cbd5e1;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;line-height:1.6}.map-dependency.resolved{border-color:#86efac;background:#dcfce7;color:#166534}.map-dependency.unresolved{border-color:#fdba74;background:#ffedd5;color:#9a3412}.map-origin{font-weight:400;font-size:12px;color:var(--muted)}.map-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.map-meta{min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-meta.expanded{white-space:normal;overflow:visible;text-overflow:clip}.map-dependencies{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.map-row-actions{display:flex;align-items:center;gap:12px}.login-panel{display:grid;grid-gap:16px;gap:16px;max-width:420px}.login-button{font:inherit;display:inline-block;justify-self:start;cursor:pointer;border:0;border-radius:6px;background:var(--accent);color:white;font-weight:600;padding:10px 16px;text-decoration:none}@media (max-width:640px){main{padding:24px}h1{font-size:32px}.environment-row,.map-status-row,.status-header,.status-meta{align-items:flex-start;flex-direction:column;gap:8px}.map-status-row,.startup-config{grid-template-columns:1fr}.source-error-heading,.source-quality-group-header{align-items:flex-start;flex-direction:column;gap:6px}}.tabs-shell{display:grid;grid-gap:0;gap:0}.tabs{display:flex;align-items:flex-end;gap:2px}.tab{width:var(--tab-width);flex:0 0 var(--tab-width);font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:#eef2f6;color:var(--muted);padding:8px 12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab:hover:not(.active){color:var(--accent)}.tab.active{position:relative;z-index:1;background:var(--panel);color:var(--foreground);border-bottom:1px solid var(--panel);margin-bottom:-1px}.tab-indicator{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:#b91c1c;vertical-align:middle}.tab-warning-indicator{background:#ca8a04}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab-panel[hidden]{display:none}.tab-panel>.panel{border-top-left-radius:0;border-top-right-radius:0}