:root{--bg-start:#f8fafc;--bg-end:#dbeafe;--card:#ffffff;--text:#0f172a;--muted:#334155;--brand:#0369a1}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:linear-gradient(160deg,var(--bg-start),var(--bg-end))}.page{min-height:100dvh;display:grid;grid-gap:16px;gap:16px;align-content:start;padding:24px;max-width:1120px;margin:0 auto}.card{width:100%;max-width:760px;padding:32px;border-radius:20px;background:var(--card);box-shadow:0 20px 40px rgba(2,6,23,.12)}.kicker{margin:0;color:var(--brand);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}h1{margin:10px 0 12px;font-size:clamp(1.8rem,2.8vw,2.8rem)}p{margin:0;color:var(--muted);line-height:1.6}.auth-card{width:100%;max-width:560px;padding:28px;border-radius:18px;background:var(--card);box-shadow:0 16px 36px rgba(2,6,23,.12);display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px;color:var(--text);font-weight:600}.field input,.field select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font:inherit}.field select{background:#fff}.button-row{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.link-button,button{border:1px solid transparent;background:var(--brand);color:#ffffff;border-radius:10px;padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button:disabled{opacity:.6;cursor:not-allowed}button.danger{background:#b91c1c}.passkey{background:#0f766e}.error{color:#b91c1c}.error,.status{font-weight:600}.status{margin:0;color:#0f766e}.danger-note{color:#7f1d1d;font-weight:600}.dashboard-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.full-width{max-width:100%}.list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}h2{margin:8px 0 10px;font-size:1.4rem}.import-form{margin-top:14px;display:grid;grid-gap:12px;gap:12px}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.checkbox-row input{width:18px;height:18px}.import-result{padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;display:grid;grid-gap:6px;gap:6px}.history-table-wrap{margin-top:10px;overflow-x:auto}.history-table{width:100%;border-collapse:collapse;min-width:720px}.history-table td,.history-table th{text-align:left;border-bottom:1px solid #e2e8f0;padding:10px 8px;vertical-align:top}.history-table th{color:#0f172a;font-size:.9rem}button.th-sort{border:none;background:transparent;color:inherit;padding:0;border-radius:0;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}button.th-sort:hover{color:#0369a1}.sort-indicator{color:#64748b;font-size:.78rem;line-height:1}.history-table th[aria-sort=ascending] .sort-indicator,.history-table th[aria-sort=descending] .sort-indicator{color:#0369a1}.metrics-grid{margin-top:12px;margin-bottom:16px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.metric-card{border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;display:grid;grid-gap:4px;gap:4px;background:#f8fafc}.metric-card span{color:#475569;font-size:.85rem;font-weight:600}.label-with-info{display:inline-flex;align-items:center;gap:6px}.info-hint{position:relative;display:inline-flex}.info-hint>summary{list-style:none}.info-hint>summary::-webkit-details-marker{display:none}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;border:1px solid #94a3b8;color:#334155;font-size:11px;font-weight:700;line-height:1;cursor:pointer;background:#ffffff;-webkit-user-select:none;-moz-user-select:none;user-select:none}.info-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(320px,75vw);padding:8px 10px;border-radius:10px;border:1px solid #cbd5e1;background:#ffffff;color:#0f172a;font-size:.82rem;line-height:1.4;box-shadow:0 10px 24px rgba(2,6,23,.14);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}.info-hint:focus-within .info-popover,.info-hint:hover .info-popover,.info-hint[open] .info-popover{opacity:1;transform:translateY(0);pointer-events:auto}.metric-card strong{color:#0f172a;font-size:1.1rem}.performance-chart-wrap{margin-top:10px;margin-bottom:16px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffff;padding:10px}.performance-chart{width:100%;height:auto;display:block}.performance-line{stroke:#0f766e;stroke-width:2.5}.performance-point{fill:#0f766e}.performance-zero-line{stroke:#cbd5e1;stroke-width:1;stroke-dasharray:4 4}.performance-chart-meta{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap;color:#475569;font-size:.82rem}small{color:#475569}