:root{--bg: #0b1220;--bg-grad: #0e1830;--surface: #131c2e;--surface-2: #1a2740;--line: #25334d;--line-soft: #1e2a41;--ink: #e7ecf6;--ink-dim: #8c9cbc;--ink-faint: #586a8c;--up: #36d399;--degraded: #fbbf24;--down: #f87171;--mark: #7dd3fc;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:radial-gradient(1200px 600px at 50% -10%,var(--bg-grad),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--up),var(--mark) 55%,transparent);opacity:.7;z-index:10}.page{max-width:560px;margin:0 auto;padding:72px 20px 48px;display:flex;flex-direction:column;gap:28px}.hero__mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--mark);font-size:20px;margin-bottom:18px}.hero__title{margin:0;font-size:clamp(28px,6vw,40px);font-weight:680;letter-spacing:-.02em;line-height:1.05}.hero__subtitle{margin:10px 0 0;color:var(--ink-dim);font-size:15px;line-height:1.5;max-width:46ch}.panel{border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(180deg,var(--surface),var(--bg) 160%);padding:18px}.panel__heading{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.status-card{font-family:var(--mono);border:1px solid var(--line);border-left-width:3px;border-radius:8px;background:var(--surface-2);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.status-card--up{border-left-color:var(--up)}.status-card--degraded{border-left-color:var(--degraded)}.status-card--down{border-left-color:var(--down)}.status-card--pending{border-left-color:var(--ink-faint);color:var(--ink-dim);font-size:13px}.status-row{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.02em}.status-value{margin-left:auto;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:var(--ink-dim)}.dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);flex:none}.dot--up{background:var(--up);box-shadow:0 0 0 3px #36d39926;animation:pulse 2.4s ease-in-out infinite}.dot--down{background:var(--down);box-shadow:0 0 0 3px #f8717126}.status-detail{margin:2px 0 0;font-size:11px;color:var(--ink-faint);letter-spacing:.02em;line-height:1.5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.phases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.phase{display:flex;align-items:center;gap:12px;padding:11px 2px;border-top:1px solid var(--line-soft);color:var(--ink-dim);font-size:14px}.phase:first-child{border-top:none}.phase--done{color:var(--ink)}.phase__badge{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:6px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink-faint);background:var(--surface)}.phase--done .phase__badge{color:var(--bg);background:var(--up);border-color:var(--up)}.phase__title{line-height:1.3}.foot{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-faint);text-align:center;padding-top:8px}:focus-visible{outline:2px solid var(--mark);outline-offset:2px}@media (max-width: 480px){.page{padding-top:56px}}@media (prefers-reduced-motion: reduce){.dot--up{animation:none}}.app{min-height:100%}.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#0b1220d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand__mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--mark);font-size:15px}.brand__name{font-weight:640;letter-spacing:-.01em}.app-nav{display:flex;gap:4px}.app-nav__link{padding:7px 12px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--ink-dim)}.app-nav__link:hover{color:var(--ink);background:var(--surface)}.app-nav__link.is-active{color:var(--ink);background:var(--surface-2)}.app-main{width:100%}.shell{max-width:980px;margin:0 auto;padding:28px 20px 56px}.shell--narrow{max-width:640px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{margin:0;font-size:clamp(22px,4vw,30px);font-weight:680;letter-spacing:-.02em}.page-sub{margin:6px 0 0;color:var(--ink-dim);font-size:14px}.page-actions{display:flex;gap:10px;flex:none}.crumb{margin:0 0 6px;font-size:13px}.hero__actions{display:flex;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:560;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s,opacity .15s}.btn:hover{background:var(--surface-2);border-color:var(--mark)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--mark);border-color:var(--mark);color:#06121f}.btn--primary:hover{background:#a5e0ff;border-color:#a5e0ff}.btn--danger{color:var(--down);border-color:#f8717166;background:#f8717114}.btn--danger:hover{border-color:var(--down);background:#f8717124}.table-wrap{border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:14px}.table thead th{text-align:left;padding:11px 14px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);background:var(--bg);border-bottom:1px solid var(--line)}.table tbody td{padding:12px 14px;border-top:1px solid var(--line-soft);color:var(--ink-dim);vertical-align:middle}.table__row:hover td{background:var(--surface-2)}.cell-link{color:var(--mark);text-decoration:none;font-weight:600}.cell-link:hover{text-decoration:underline}.mono{font-family:var(--mono);font-size:12.5px}.utc{color:var(--ink-faint)}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-dim)}.pill--pending{color:var(--degraded);border-color:#fbbf2459;background:#fbbf2414}.pill--synced{color:var(--up);border-color:#36d39959;background:#36d39914}.empty{border:1px dashed var(--line);border-radius:12px;padding:32px;text-align:center;color:var(--ink-dim)}.empty__hint{font-size:13px;color:var(--ink-faint)}.empty a,.empty__hint a{color:var(--mark)}.banner{border:1px solid var(--line);border-left-width:3px;border-radius:8px;padding:12px 14px;font-size:14px;color:var(--ink-dim);background:var(--surface-2);margin-bottom:16px}.banner--error{border-left-color:var(--down);color:#fecaca}.banner--ok{border-left-color:var(--up);color:#bbf7d0}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0}.field--sm{flex:0 0 110px}.field-row{display:flex;gap:12px;flex-wrap:wrap}.field label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-dim)}.field input,.field select,.textarea{font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 11px;width:100%}.field input:focus,.field select:focus,.textarea:focus{outline:none;border-color:var(--mark)}.textarea{font-family:var(--mono);font-size:13px;line-height:1.5;resize:vertical}.field__hint{margin:0;font-size:12px;color:var(--ink-faint)}.upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-row input[type=file]{font-size:13px;color:var(--ink-soft)}.group{border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px 16px;margin:0;display:flex;flex-direction:column;gap:12px}.group legend{padding:0 6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.actions{display:flex;gap:10px;margin-top:4px}.detail{border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);overflow:hidden}.detail__row{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 16px;border-top:1px solid var(--line-soft);font-size:14px}.detail__row:first-child{border-top:none}.detail__label{color:var(--ink-faint);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding-top:1px}.detail__value{color:var(--ink)}.muted{color:var(--ink-faint)}.result-list{list-style:none;margin:14px 0 0;padding:0}.result-list li{padding:9px 0;border-top:1px solid var(--line-soft);font-size:14px}.unmatched{margin-top:14px;font-size:13px;color:var(--ink-dim)}.unmatched summary{cursor:pointer;color:var(--ink-dim)}.unmatched ul{margin:10px 0 0;padding-left:18px}@media (max-width: 560px){.page-head{flex-direction:column;align-items:flex-start}.detail__row{grid-template-columns:1fr;gap:4px}.field--sm{flex-basis:90px}}.banner--warn{border-left-color:var(--degraded);color:#fde68a}.warn-dot{color:var(--degraded);cursor:help}.account-card{border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);padding:16px 18px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-name{font-weight:640;font-size:15px}.account-sub{font-size:12px;margin-top:2px}.account-body{display:flex;flex-direction:column;border-top:1px solid var(--line-soft)}.account-row{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line-soft);font-size:14px;align-items:center}.account-row:first-child{border-top:none}.account-row__label{color:var(--ink-faint);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.account-row__value{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stat-row{gap:16px}.stat{font-size:13px;color:var(--ink-dim)}.stat b{color:var(--ink);font-variant-numeric:tabular-nums}.stat--err b{color:var(--down)}.cal-picker{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg)}.cal-picker select{font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 11px}.btn--ghost{background:transparent;border-color:var(--line-soft);padding:6px 11px;font-size:13px}.btn--ghost:hover{background:var(--surface-2)}.review-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px}.review-bar__actions{display:flex;gap:8px}.row--off td{opacity:.5}.row--off td:first-child{opacity:1}.warn-list{margin:8px 0 0;padding-left:18px;font-size:13px}.warn-list li{margin:2px 0}.detail-block{display:flex;flex-direction:column;gap:4px}.table input[type=checkbox]{width:16px;height:16px;accent-color:var(--mark);cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04091299;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto;z-index:50}.modal{width:100%;max-width:600px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.modal__title{margin:0 0 16px;font-size:18px;font-weight:660}.provider-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:640;vertical-align:middle;border:1px solid var(--line)}.provider-badge--google{color:#1a73e8;background:#1a73e81a;border-color:#1a73e859}.provider-badge--icloud{color:#6b7280;background:#6b72801f;border-color:#6b728066}.icloud-connect{width:100%;max-width:420px;margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.icloud-connect input{width:100%}.form-hint{font-size:12px;line-height:1.5;margin:0}.field--sm{max-width:420px}.app-nav{margin-right:auto}.app-user{display:inline-flex;align-items:center;gap:10px}.app-user__link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);padding:4px 8px;border-radius:999px;border:1px solid transparent}.app-user__link:hover{border-color:var(--line);background:var(--surface)}.app-user__avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.app-user__avatar--blank{display:grid;place-items:center;background:var(--surface-2);font-size:12px;font-weight:700}.app-user__name{font-size:13px;font-weight:560;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn--sm{padding:5px 10px;font-size:12px}.app-loading{display:grid;place-items:center;min-height:60vh;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login__card{width:100%;max-width:380px;text-align:center;padding:32px 28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:14px}.login__mark{width:48px;height:48px;margin:0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--mark);font-size:24px}.login__title{margin:0;font-size:22px;letter-spacing:-.01em}.login__sub{margin:0}.btn--google{justify-content:center;gap:10px}.g-mark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:3px;background:#fff;color:#4285f4;font-weight:800;font-size:12px}.banner--warn{border:1px solid #6b5d1f;background:#b4961e1f;color:#e7d27a}.profile-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:16px;max-width:520px}.profile-id{display:flex;align-items:center;gap:14px}.profile-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.profile-avatar--blank{display:grid;place-items:center;background:var(--surface-2);font-size:22px;font-weight:700}.profile-name{font-size:18px;font-weight:640}
