.alarms{max-width:980px;margin:0 auto;padding:1rem 1.25rem 4rem}.alarms h2{font-size:1.05rem;margin:1.6rem 0 .6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600}button{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.4rem .85rem;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{border-color:#a33;color:#ff8484}button.ghost{background:transparent}button.small{padding:.2rem .55rem;font-size:.85rem}input,select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.banner{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:.9rem 1.1rem;margin:.9rem 0}.banner.tz-change{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 12%,var(--surface))}.banner.tz-change>.banner-title{font-size:1.05rem;font-weight:700;margin-bottom:.3rem}.banner.tz-change .zone-arrow{color:var(--accent-2);font-weight:700}.tz-review-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--border);flex-wrap:wrap}.tz-review-row .rv-label{font-weight:600}.tz-review-row .rv-meaning{color:var(--text-dim);flex:1;min-width:240px}.tz-review-row .rv-meaning strong{color:var(--text)}.banner.missed{border-color:#b8860b}.banner.missed .banner-title{font-weight:700;margin-bottom:.3rem}.banner.missed ul{margin:.2rem 0 .6rem;padding-left:1.2rem;color:var(--text-dim)}.banner.notif-fallback{border-color:#b8860b;color:var(--text-dim)}.firing-card{border-radius:var(--radius);border:2px solid var(--accent-2);background:color-mix(in srgb,var(--accent-2) 18%,var(--surface));padding:1.1rem 1.3rem;margin:.9rem 0;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;animation:firing-pulse 1.2s ease-in-out infinite}@keyframes firing-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent-2) 55%,transparent)}50%{box-shadow:0 0 0 10px transparent}}.firing-card .f-bell{font-size:1.8rem}.firing-card .f-main{flex:1;min-width:200px}.firing-card .f-label{font-size:1.5rem;font-weight:800;line-height:1.2}.firing-card .f-sub{color:var(--text-dim);margin-top:.15rem}.firing-card .f-actions{display:flex;gap:.6rem}.clock-strip{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem 0 .4rem;margin-top:.9rem}.clock-card{min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;flex:0 0 auto}.clock-card.device{border-color:var(--accent)}.clock-card .cc-zone{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.clock-card .cc-time{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock-card .cc-meta{font-size:.75rem;color:var(--text-dim)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:1.4rem}.toolbar h2{margin:0}.item-list{list-style:none;margin:.7rem 0 0;padding:0}.item-row{display:flex;align-items:flex-start;gap:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:.6rem}.item-row.disabled{opacity:.55}.item-row.firing-now{border-color:var(--accent-2)}.item-row .i-main{flex:1;min-width:0}.item-row .i-label{font-size:1.15rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.item-row .i-detail{color:var(--text-dim);font-size:.9rem;margin-top:.2rem}.item-row .i-next{color:var(--text-dim);font-size:.85rem;margin-top:.2rem}.item-row .i-next strong{color:var(--text);font-weight:600}.item-row .i-countdown{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:.2rem}.item-row .i-side{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.chip{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.12rem .55rem;vertical-align:2px;margin-right:.5rem}.chip.alarm{background:#2b3a63;color:#9db8ff}.chip.timer{background:#234233;color:#7fe0a8}.chip.reminder{background:#4a3260;color:#d3a8ff}.chip.review{background:#5c2b3c;color:#ff9db8}.chip.snoozed{background:#4d3d1e;color:#ffd47f}.toggle{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 auto}.toggle input{opacity:0;width:0;height:0}.toggle .slider{position:absolute;inset:0;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .12s ease}.toggle .slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:var(--text-dim);transition:transform .12s ease,background .12s ease}.toggle input:checked+.slider{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.slider:before{transform:translate(18px);background:#fff}.empty-hint{color:var(--text-dim);padding:1.2rem;text-align:center;border:1px dashed var(--border);border-radius:var(--radius)}.settings{margin-top:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem}.settings .set-row{display:flex;align-items:center;gap:.8rem;padding:.45rem 0;flex-wrap:wrap}.settings .set-row+.set-row{border-top:1px solid var(--border)}.settings .set-name{min-width:160px;font-weight:600}.settings .set-note{color:var(--text-dim);font-size:.85rem}.settings input[type=number]{width:5rem}.settings .set-diagnostics{width:100%}.settings .set-diagnostics summary{cursor:pointer;font-weight:600}.settings .set-diagnostics .set-note{margin:.55rem 0}.selftest-results{margin:.4rem 0 0;padding-left:1.3rem;font-size:.85rem}.selftest-results li.pass{color:#7fe0a8}.selftest-results li.fail{color:#ff8484}.selftest-results .st-detail{color:var(--text-dim)}dialog.editor{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem;width:min(560px,calc(100vw - 2rem))}dialog.editor::backdrop{background:#0009}dialog.editor h3{margin:0 0 .9rem}.ed-field{display:block;margin-bottom:.85rem}.ed-field>.ed-caption{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:.25rem;font-weight:600}.ed-label-input{width:100%;font-size:1.05rem;padding:.55rem .7rem;font-weight:600}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.segmented button{border:none;border-radius:0;background:transparent;padding:.35rem .9rem}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:#fff;font-weight:600}.ed-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:.85rem}.ed-row .ed-field{margin-bottom:0}.weekday-picks{display:flex;gap:.3rem;margin-top:.4rem}.weekday-picks label{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:50%;cursor:pointer;font-size:.8rem;color:var(--text-dim)}.weekday-picks input{display:none}.weekday-picks label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.duration-inputs{display:flex;gap:.4rem;align-items:center}.duration-inputs input{width:4.2rem;text-align:right}.duration-inputs span{color:var(--text-dim);font-size:.85rem}.ed-error{color:#ff8484;font-size:.9rem;min-height:1.2em;margin:.2rem 0 .6rem}.ed-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:.6rem}.zone-picker{position:relative;min-width:240px}.zone-picker input{width:100%}.zone-picker .zp-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000080}.zone-picker .zp-item{padding:.35rem .7rem;cursor:pointer;display:flex;justify-content:space-between;gap:.6rem;font-size:.9rem}.zone-picker .zp-item:hover,.zone-picker .zp-item.hl{background:var(--accent);color:#fff}.zone-picker .zp-item .zp-off{color:var(--text-dim);font-size:.8rem}.zone-picker .zp-item:hover .zp-off,.zone-picker .zp-item.hl .zp-off{color:#dfe8ff}.zone-picker .zp-group{padding:.3rem .7rem .15rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim)}.zone-picker .zp-more{padding:.3rem .7rem;color:var(--text-dim);font-size:.8rem}
