*{box-sizing:border-box}body{margin:0;background:#f3f5f7;color:#172c3c;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}main{max-width:740px;margin:0 auto;padding:32px 20px 40px}header{display:flex;align-items:center;gap:12px;margin-bottom:26px;font-size:19px;font-weight:700}header small{display:block;font-size:13px;color:#667681;font-weight:400}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#193f43;color:white}.card{padding:28px;background:white;border:1px solid #e0e6e9;border-radius:18px;margin-bottom:20px;box-shadow:0 3px 12px #192f4010}h1,h2{margin:0 0 12px;font-size:25px;letter-spacing:-.6px}h2{font-size:22px}.label{font-size:14px;color:#667681;margin-bottom:8px}.status{display:flex;align-items:center;gap:12px;font-size:29px;color:#61717d}.dot{width:13px;height:13px;border-radius:50%;background:currentColor;flex-shrink:0}.status.active{color:#17744e}.status.inactive{color:#896016}.status.unknown{color:#6c737e}#state-description{margin:10px 0 24px;color:#546674;min-height:24px}button{border:0;border-radius:10px;min-height:48px;padding:12px 20px;font:inherit;font-size:14px;font-weight:750;letter-spacing:.3px;cursor:pointer;transition:background .15s}button:disabled{opacity:.5;cursor:default}.primary{background:#193f43;color:white;width:100%}.primary:hover:not(:disabled){background:#28565b}.secondary{background:#e8efef;color:#193f43;margin-top:22px;width:100%}.secondary:hover:not(:disabled){background:#dbe7e7}.intro{color:#546674;margin:0 0 22px}.hours-head,.day-row{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:12px;align-items:center}.hours-head{font-size:12px;color:#667681;padding-bottom:8px}.day-row{padding:12px 0;border-bottom:1px solid #edf0f2}.day-name{font-weight:650;font-size:14px}.day-row label{display:flex;align-items:center;gap:8px;font-size:13px;color:#526470}.day-row input[type=checkbox]{accent-color:#193f43;width:19px;height:19px;margin:0}.day-row input[type=time]{width:100%;min-width:0;background:#f8fafb;border:1px solid #d5dfe4;border-radius:7px;font:inherit;font-size:14px;padding:8px;color:#172c3c}.day-row input:disabled{opacity:.4}.muted,footer{font-size:13px;color:#667681}.muted{margin:14px 0 0}.notice{background:#fff5df;color:#6c501b;padding:12px;border-radius:8px;font-size:14px}.feedback{margin:0;padding:0}.feedback:not(:empty){background:#e4f2e9;color:#185738;padding:14px;border-radius:10px;margin-bottom:20px}.feedback.error{background:#fbeaea;color:#8b2d2d}footer{text-align:center}button:focus-visible,input:focus-visible{outline:3px solid #61a6a9;outline-offset:3px}[hidden]{display:none!important}@media(max-width:520px){main{padding:20px 12px}.card{padding:20px 16px}.hours-head{display:none}.day-row{grid-template-columns:1fr 1fr;gap:10px}.day-name{font-size:15px}.day-row label{justify-self:end}.status{font-size:25px}}
.day-row select{width:100%;padding:10px;border:1px solid #c5d3d8;border-radius:8px;background:#f8fafb;color:#193f43;font:inherit;cursor:pointer}.day-summary{grid-column:1/-1;margin:0;font-size:12px;color:#667681}.day-row select:focus-visible{outline:3px solid #61a6a9;outline-offset:2px}#events label{padding:10px 0;border-bottom:1px solid #edf0f2}#events input{accent-color:#193f43;width:18px;height:18px;vertical-align:middle}#link-events{margin-top:14px}#rediscover{margin:0 0 14px}
.channel-group{min-width:0;margin:18px 0;padding:12px 16px 16px;border:1px solid #dce5e8;border-radius:12px}.channel-group legend{padding:0 8px;font-size:17px;font-weight:700;color:#193f43}.channel-count{margin:0 0 8px;font-size:13px;color:#667681}#events .event-option{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px 4px}#events .event-option:last-child{border-bottom:0}.event-option span{display:block}.event-option strong{display:block;font-size:14px;font-weight:600}.event-option small{display:block;font-size:12px;color:#667681}.event-option input{flex-shrink:0}.event-option:has(input:checked){background:#f0f7f4;border-radius:6px}
body{background:#f2f3f5;color:#202126}main{max-width:1440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;padding:30px 36px}header{grid-column:1/-1;margin:0;font-size:25px;letter-spacing:3px;color:#101114}.brand-logo{width:52px;height:52px;border-radius:13px}.card{margin:0;border-radius:14px;box-shadow:none;padding:26px}.alarm{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center}.alarm h1,.alarm .label,.alarm .status,.alarm #state-description{grid-column:1}.alarm .label{display:none}.alarm h1{font-size:15px;color:#72767d;margin-bottom:8px}.alarm #state-description{margin:8px 0 0;font-size:14px}.alarm-controls{grid-column:2;grid-row:1/5;display:grid;grid-template-columns:1fr 1fr;gap:10px}.alarm-controls button{margin:0;width:100%;height:50px}.alarm-controls #follow-hours{grid-column:1/-1}.primary{background:#16181b}.primary:hover:not(:disabled){background:#34373c}.secondary{background:#eceef1;color:#25282d}.secondary:hover:not(:disabled){background:#dce0e5}button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #608b75}.alarm #connection-note,.alarm #manual-note,.alarm #alarm-action{grid-column:1/-1}#events{max-height:620px;overflow:auto;padding-right:6px}.channel-group{background:#fafbfc}.day-summary,.channel-count{display:none}.day-row{padding:15px 0}.day-row label{width:100%}.day-row select{background:#fafbfc;color:#25282d}details{margin-top:16px;color:#667681;font-size:13px}details summary{cursor:pointer}.feedback{grid-column:1/-1}.hours-head,.day-row{grid-template-columns:1fr 1.1fr 1fr 1fr;gap:10px}@media(max-width:900px){main{display:block;padding:20px 16px}.card{margin-bottom:18px}header{margin-bottom:22px}.alarm{display:block}.alarm-controls{margin-top:20px}.alarm #state-description{margin-bottom:16px}#events{max-height:none}}@media(max-width:520px){.card{padding:20px 16px}.day-row{grid-template-columns:1fr 1fr}.hours-head{display:none}.day-row input[type=time]{min-height:42px}.alarm-controls{grid-template-columns:1fr 1fr}.status{font-size:24px}}
#events-unlock{max-width:360px;margin:36px auto;display:grid;gap:14px}#events-password,.channel-toolbar select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #ccd2d9;border-radius:8px;background:#fafbfc;font:inherit}#unlock-error{color:#a02d2d;margin:0}.channel-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:20px 0}.channel-toolbar .secondary{margin:0;width:auto}#events .channel-group{margin-top:8px}#events-editor[hidden],#events-unlock[hidden],.channel-group[hidden]{display:none}
main{grid-template-columns:minmax(0,1fr)}header #open-events,header #logout{width:auto;margin:0;letter-spacing:0}header #logout{margin-left:auto}.events-drawer{position:fixed;inset:0 auto 0 0;margin:0;height:100dvh;max-height:100dvh;width:480px;max-width:100%;border:0;border-radius:0;padding:24px;overflow:auto;box-shadow:8px 0 40px #0002}.events-drawer::backdrop{background:#10182070}.events-drawer #close-events{margin:0 0 20px;width:auto}.events-drawer #events{max-height:none}.login-page main{display:grid;min-height:100dvh;place-items:center}.login-card{width:100%;max-width:390px}.login-card header{margin-bottom:28px}.login-card form{display:grid;gap:12px}.login-card input{width:100%;padding:12px;font:inherit;border:1px solid #ccd2d9;border-radius:8px}.login-card button{margin-top:12px}#login-error{color:#a02d2d;margin:0}@media(max-width:520px){header{gap:8px;font-size:18px;letter-spacing:1px}header .brand-logo{width:36px;height:36px}header #open-events,header #logout{padding:10px;font-size:12px}.events-drawer{padding:20px 16px}}
.password-visibility{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.login-card .password-visibility input,.password-visibility input{width:18px;height:18px;margin:0;padding:0;accent-color:#193f43}
