/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body{min-height:100%;color:var(--ink);background:#e4e9e8;margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--prim)}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:24px;line-height:1.2}h2{font-size:18px}h3{font-size:15px}p{margin:0}hr{border:0;border-top:1px solid var(--line);margin:0}code{background:var(--off-soft);border-radius:4px;padding:2px 6px;font-size:13px}summary{cursor:pointer;font-weight:600}}@layer components{.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.frame{background:var(--bg);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (width>=481px){.frame{box-shadow:0 0 40px #0000001f}}.screen{flex-direction:column;flex:1;display:flex}.content{flex-direction:column;flex:1;gap:14px;padding:20px 18px 24px;display:flex}.pubcontent{padding:28px 22px}.topbar{background:var(--bg);justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.brand{letter-spacing:-.02em;color:var(--prim);font-size:16px;font-weight:700}.brand i{color:var(--ink);font-style:normal;font-weight:500}.avatar{background:var(--prim-soft);width:32px;height:32px;color:var(--prim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar.big{width:56px;height:56px;font-size:20px}.avatar.mini{width:24px;height:24px;font-size:10px}.avatar.alarm{background:var(--alarm-soft);color:var(--alarm)}.nav{border-top:1px solid var(--line);z-index:3;background:#fff;display:flex;position:sticky;bottom:0}.nav a{text-align:center;color:var(--muted);flex:1;padding:10px 4px 12px;font-size:11px;text-decoration:none}.nav a.on{color:var(--prim);font-weight:600}.nav a b{margin-bottom:2px;font-size:18px;font-weight:400;display:block}.banner{justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:13px;display:flex}.banner.warn{background:var(--warn-soft);color:#6b4707}.banner.alarm{background:var(--alarm);color:#fff}.banner.info{background:var(--prim-soft);color:var(--prim)}.banner.off{background:var(--off-soft);color:#3f4a4d}.banner a{color:inherit;font-weight:600}.btn{background:var(--prim);color:#fff;text-align:center;cursor:pointer;border:0;border-radius:12px;width:100%;padding:14px 16px;font-size:16px;font-weight:600;text-decoration:none;display:block}.btn.sec{background:var(--prim-soft);color:var(--prim)}.btn.ghost{color:var(--prim);border:1.5px solid var(--line);background:0 0}.btn.ok{background:var(--ok)}.btn.danger{background:var(--alarm)}.btn.danger.ghost{color:var(--alarm);background:0 0;border-color:#e8c4c0}.btn.small{width:auto;padding:9px 12px;font-size:14px;display:inline-block}.btn.big{border-radius:16px;padding:20px;font-size:19px}.row{align-items:center;gap:10px;display:flex}.row>*{flex:1}.stack{flex-direction:column;gap:10px;display:flex}form.fields{flex-direction:column;gap:14px;display:flex}.field label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:12px}.field textarea{min-height:70px}.field .hint{color:var(--muted);margin-top:4px;font-size:12px}.card{background:var(--paper);border-radius:var(--r);border:1px solid var(--line);padding:14px 16px}.card.flat{background:var(--prim-soft);border:0}.card.warnline{border-color:var(--warn)}.card.alarmline{border-color:var(--alarm)}.card h3{margin-bottom:6px}.card .link{float:right;color:var(--prim);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:none}a.card{color:inherit;text-decoration:none;display:block}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tiles.two{grid-template-columns:1fr 1fr}.tile{border:1.5px solid var(--line);text-align:center;cursor:pointer;color:inherit;background:#fff;border-radius:12px;padding:14px 8px;font-size:14px}.tile b{margin-bottom:4px;font-size:22px;font-weight:400;display:block}.tile.on{border-color:var(--prim);background:var(--prim-soft);font-weight:600}.tile small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.tile.left{text-align:left;padding:16px}.list{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}.li{border-bottom:1px solid var(--line);color:inherit;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 14px;text-decoration:none;display:flex}.li:last-child{border-bottom:0}.li .grow{flex:1;min-width:0}.li .t{font-weight:600}.li .s{color:var(--muted);font-size:13px}.li .chev{color:var(--off)}.li .pos{background:var(--prim);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:inline-flex}.li .drag{color:var(--off);cursor:grab}.badge{background:var(--off-soft);color:#3f4a4d;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:#6b4707}.badge.alarm{background:var(--alarm-soft);color:var(--alarm)}.badge.prim{background:var(--prim-soft);color:var(--prim)}.badge.chip{padding:6px 12px}.status{color:#fff;background:var(--ok);border-radius:18px;padding:22px 18px;text-decoration:none;display:block}.status.warn{background:var(--warn)}.status.alarm{background:var(--alarm)}.status.off{background:var(--off)}.status.prim{background:var(--prim)}.status h2{color:#fff;font-size:22px}.status p{opacity:.9;margin-top:4px}.status .now{border-top:1px solid #ffffff4d;align-items:center;gap:10px;margin-top:14px;padding-top:12px;font-size:15px;display:flex}.status .now b{font-size:26px;font-weight:400}.kpi{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kpi div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}.kpi b{font-size:20px;font-weight:600;display:block}.kpi span{color:var(--muted);font-size:12px}.toggle{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.toggle .sw{background:var(--line);cursor:pointer;border:0;border-radius:13px;flex:none;width:44px;height:26px;padding:0;position:relative}.toggle .sw:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle .sw.on{background:var(--ok)}.toggle .sw.on:after{left:21px}.toggle .sw.lock{opacity:.5;cursor:default}.toggle .t{font-weight:600}.toggle .s{color:var(--muted);font-size:13px}.check{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.check input{flex:none;width:18px;height:18px;margin-top:3px}.progress{gap:3px;padding:14px 18px 0;display:flex}.progress.tight{padding:0}.progress i{background:var(--line);border-radius:2px;flex:1;height:4px}.progress i.done{background:var(--prim)}.wizhead{color:var(--muted);justify-content:space-between;align-items:center;padding:10px 18px 0;font-size:13px;display:flex}.wizhead a,.wizhead button{color:var(--prim);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.illus{background:var(--prim-soft);border-radius:var(--r);text-align:center;color:var(--prim);padding:16px}.illus b{font-size:42px;font-weight:400;line-height:1.1;display:block}.illus span{font-size:13px}.live{text-align:center;border:2px dashed var(--line);background:#fff;border-radius:18px;padding:26px 18px}.live.on{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.live b{letter-spacing:.06em;font-size:30px;font-weight:700;display:block}.live.on b{color:var(--ok)}.timeline{flex-direction:column;gap:0;display:flex}.tl{grid-template-columns:58px 14px 1fr;gap:8px;min-height:44px;font-size:13px;display:grid}.tl .time{color:var(--muted);text-align:right}.tl .dot{position:relative}.tl .dot:before{content:"";background:var(--line);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:3px}.tl .dot:after{content:"";background:var(--line);width:2px;position:absolute;top:14px;bottom:-4px;left:6px}.tl:last-child .dot:after{display:none}.tl.ok .dot:before{background:var(--ok)}.tl.now .dot:before{background:var(--alarm);box-shadow:0 0 0 4px var(--alarm-soft)}.tl.x .dot:before{background:var(--warn)}.bars{flex-direction:column;gap:6px;display:flex}.bar{color:var(--muted);grid-template-columns:34px 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.bar div{background:var(--off-soft);border-radius:4px;height:14px;position:relative;overflow:hidden}.bar div i{background:var(--prim);border-radius:3px;position:absolute;top:0;bottom:0}.bar div i.gap{background:var(--warn)}.nightbar{background:var(--off-soft);border-radius:8px;height:34px;position:relative;overflow:hidden}.nightbar i{background:var(--prim);position:absolute;top:0;bottom:0}.nightbar i.gap{background:var(--warn)}.axis{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.step{align-items:flex-start;gap:12px;display:flex}.step .n{background:var(--prim-soft);width:26px;height:26px;color:var(--prim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.step .n.done{background:var(--ok);color:#fff}.modal{z-index:5;background:#1b2a2f73;border:0;justify-content:center;align-items:flex-end;width:100%;padding:0;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);text-align:left;border-radius:22px 22px 0 0;flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:90%;padding:18px 18px 26px;display:flex;overflow:auto}.sheet .handle{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 4px}.tabs{background:var(--off-soft);border-radius:10px;padding:3px;display:flex}.tabs a{text-align:center;color:var(--muted);border-radius:8px;flex:1;padding:8px;font-size:14px;text-decoration:none}.tabs a.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.toast{background:var(--ink);color:#fff;z-index:9;border-radius:12px;width:calc(100% - 36px);max-width:444px;padding:12px 16px;font-size:14px;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000040}.hero-ok{text-align:center;padding:30px 0 10px}.hero-ok b{background:var(--ok-soft);width:76px;height:76px;color:var(--ok);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;font-size:38px;display:inline-flex}.hero-ok b.off{background:var(--off-soft);color:var(--muted)}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1.5px solid var(--line);color:inherit;cursor:pointer;background:#fff;border-radius:20px;padding:6px 12px;font-size:13px;text-decoration:none}.pill.on{border-color:var(--prim);background:var(--prim-soft);font-weight:600}.callnum{letter-spacing:.03em;text-align:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;font-size:26px;font-weight:600}.landing{background:var(--prim);color:#fff;border-radius:0 0 28px 28px;padding:36px 22px 30px}.landing h1{color:#fff;font-size:30px;line-height:1.15}.landing p{opacity:.85;margin-top:10px}.landing .brand{color:#fff}.landing .brand i{color:#bfdde0}.landing .btn{color:var(--prim);background:#fff}.gauge{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.gauge i{background:var(--ok);width:60%;height:100%;display:block}.spacer{flex:1}}@layer utilities{.contents{display:contents}.grow{flex-grow:1}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--bg:#f5f7f5;--paper:#fff;--ink:#1b2a2f;--muted:#5e6f74;--line:#d9e1df;--prim:#22545f;--prim-ink:#fff;--prim-soft:#e3eef0;--ok:#2e7d5b;--ok-soft:#e1f1e8;--warn:#b9791a;--warn-soft:#fbf0da;--alarm:#b93a31;--alarm-soft:#f8e3e0;--off:#8a9599;--off-soft:#ecefee;--r:14px;--rs:8px;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
