:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#172536;background:#f3f6f8;font-synthesis:none;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #ccd5de;border-radius:7px;background:#fff;color:#243447;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:#edf4f1;border-color:#8aafa0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #74b7ef;outline-offset:3px}.primary{background:#155b46;color:#fff;border-color:#155b46}.primary:hover{background:#104934;color:#fff}.danger{color:#b33636}input,select{background:#fff;color:#172536;border:1px solid #cbd5df;border-radius:6px;padding:10px 12px;min-height:44px;max-width:100%;width:100%}label{display:flex;flex-direction:column;gap:7px;font-weight:550}input[type=checkbox]{width:18px;min-height:18px;accent-color:#155b46}.check{flex-direction:row;align-items:center;font-weight:400}h1,h2,p{margin-top:0}h1{font-size:32px;line-height:1.25;margin-bottom:8px;letter-spacing:-.8px}h2{font-size:19px;margin-bottom:14px}h2 small{font-size:13px;color:#916713}small{font-size:12px;color:#657386}td small{display:block;margin-top:4px}.muted{color:#657386;font-size:14px}.layout{display:flex;min-height:100vh}aside{width:232px;position:fixed;inset:0 auto 0 0;border-right:1px solid #dbe3ea;background:#fff;padding:24px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-.7px;font-weight:750;margin:0 10px 32px}.brand svg{color:#155b46;width:32px;height:32px;stroke-width:1.8}nav{display:flex;flex-direction:column;gap:8px}nav button{border:0;justify-content:flex-start;padding:14px 16px;font-size:16px;min-height:50px;gap:16px;background:transparent}nav svg{width:22px;height:22px;stroke-width:1.8}nav .active{background:#e8f3ef;color:#155b46;font-weight:650}.sidebar-bottom{margin-top:auto;color:#87939e;font-size:12px;padding:20px 16px}main{margin-left:232px;padding:18px 28px 48px;width:calc(100% - 232px);max-width:1800px}.account{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:32px;margin-bottom:12px}.account button{border:0;background:transparent;padding:4px;min-height:30px}header{margin-bottom:24px}header p{color:#657386;font-size:16px;margin-bottom:0}.panel{background:#fff;border:1px solid #dce4eb;border-radius:10px;padding:24px;margin-bottom:20px}.panel>:last-child{margin-bottom:0}.toolbar,.section-head,.actions,.form-row,.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar,.section-head{justify-content:space-between}.toolbar{margin-bottom:20px}.toolbar label{width:min(520px,70%)}.section-head{margin-bottom:14px}.section-head h2,.section-head p{margin-bottom:2px}.form-row{align-items:flex-end}.form-row label{flex:1;min-width:130px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.form-grid+.actions{margin-top:20px}.actions{margin-top:12px}.actions button{padding:6px 11px;font-size:13px;min-height:36px}.legend{display:flex;gap:20px;font-size:13px}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:22px;height:18px;border-radius:3px}.continuous{background:#22865f}.event{background:#e6ad36}.off{background:#d6dce2}.axis{display:grid;grid-template-columns:62px repeat(4,1fr) 0;white-space:nowrap;font-size:12px;color:#596b7c;margin:12px 0}.axis span:last-child{transform:translate(-100%)}.week-row{display:flex;gap:14px;align-items:center;margin:10px 0}.day-label{border:0;min-width:48px;padding:0;min-height:32px;font-weight:600;background:transparent}.track{position:relative;height:32px;background:#d6dce2;flex:1;touch-action:pan-y;overflow:hidden}.track:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 96 - 1px),#ffffff77 calc(100% / 96 - 1px),#ffffff77 calc(100% / 96))}.period{position:absolute;top:0;bottom:0;border:0;border-radius:0;min-height:0;padding:0;font-size:11px;color:#fff;overflow:hidden}.period.event,.period.off{color:#172536}.period:hover{filter:brightness(.92);background:revert-layer}.period-list{margin:18px 0}.period-list>div{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f3}.period-list span{flex:1}.empty{text-align:center;padding:48px 20px;color:#657386}.empty svg{color:#799587}.empty h2{margin-top:16px}.error,.success{padding:12px 16px;border-radius:7px;background:#fff0ef;color:#9f3030;overflow-wrap:anywhere}.success{background:#eaf5ee;color:#155b46}video{width:100%;max-height:560px;min-height:180px;background:#101b25;border-radius:7px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;color:#657386;font-weight:500;background:#f7f9fa}td,th{padding:14px 12px;border-bottom:1px solid #e6ebef;vertical-align:middle}td .actions{margin:0}.pagination{justify-content:flex-end;margin-top:20px;font-size:13px}.badge{display:inline-block;padding:3px 9px;border-radius:5px;font-size:12px;background:#f0f2f4}.badge.online{background:#e5f5eb;color:#17623e}.badge.offline{background:#fff1df;color:#8b5b14}.secret{display:block;overflow-wrap:anywhere;background:#f4f6f8;padding:16px}.record-track{position:relative;height:42px;background:#e5e9ed}.record-track button{position:absolute;height:100%;min-height:0;padding:0;border:0;border-right:1px solid white;border-radius:0;background:#22865f}.time-labels{display:flex;justify-content:space-between;color:#657386;font-size:12px;margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics .panel{padding:20px}.metrics strong{font-size:27px}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e9ed;padding:16px 0}.alert-row p{margin:4px 0;overflow-wrap:anywhere}details{margin-top:20px}summary{cursor:pointer;color:#155b46}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth form{width:100%;max-width:420px;padding:32px}.auth label{margin:18px 0}.auth .primary{width:100%;margin-top:18px}.auth .brand{margin:0 0 32px}.auth h1{font-size:25px}@media(max-width:1000px){aside{width:190px}.brand{font-size:21px}main{margin-left:190px;width:calc(100% - 190px);padding:16px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.legend{gap:10px;font-size:12px}.form-row label{min-width:150px}.panel{padding:20px}}@media(max-width:700px){.layout{display:block}aside{position:static;width:auto;padding:12px;border-right:0;border-bottom:1px solid #dbe3ea}.brand{font-size:22px;margin:0 0 12px 8px}.brand svg{width:26px;height:26px}nav{flex-direction:row;overflow:auto;gap:4px}nav button{font-size:12px;padding:8px;gap:6px;min-height:40px;flex-shrink:0}nav svg{width:17px;height:17px}.sidebar-bottom{display:none}main{margin:0;width:100%;padding:12px 14px 32px}.account{margin-bottom:8px}h1{font-size:26px}header p{font-size:14px}.panel{padding:16px;margin-bottom:16px}.form-grid{grid-template-columns:1fr}.metrics{gap:10px}.metrics strong{font-size:22px}.toolbar label{width:100%}.week-grid{overflow:auto}.axis{grid-template-columns:46px repeat(4,1fr) 0}.week-row{gap:4px}.day-label{min-width:40px;font-size:12px}.period{font-size:0}.legend{flex-wrap:wrap}.section-head{gap:12px}.track{height:28px}.form-row label{min-width:calc(50% - 12px)}.alert-row{align-items:flex-start;flex-direction:column}.panel.empty{padding:32px 12px}.record-track{height:40px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.schedule-fieldset{border:0;margin:0;padding:0;min-width:0}.schedule-fieldset:disabled .track{pointer-events:none}.push-info{max-width:680px;min-width:230px;overflow-wrap:anywhere}.push-info code{white-space:normal}.push-info textarea{font:inherit;width:100%;border:1px solid #cbd5df;border-radius:6px;padding:10px;resize:vertical}.push-info .form-row label{min-width:130px}.push-info p{margin:12px 0}.table-wrap th,.table-wrap .badge{white-space:nowrap}.table-wrap .push-info{width:280px;max-width:280px}.table-wrap .push-info .form-row{flex-direction:column;align-items:stretch}.table-wrap .push-info .form-row label{min-width:0}dialog{border:1px solid var(--border, #d9dfe6);border-radius:12px;padding:24px;width:min(960px,calc(100vw - 32px));max-height:85vh;overflow:auto;color:inherit}dialog::backdrop{background:#00000073}dialog form{margin-bottom:16px}fieldset{border:0;padding:0;margin:16px 0;min-width:0}fieldset:disabled{opacity:.7}input[type=checkbox]{min-width:18px;min-height:18px}[hidden]{display:none!important}
