@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy-900: #0f1a3d;--navy-800: #16224a;--sidebar-900: #070b1a;--sidebar-800: #0e1430;--sidebar-700: #161d3f;--blue-600: #1d3fd8;--blue-050: #e8ecf7;--yellow-400: #fbc02d;--yellow-050: #fff7e0;--page: #ffffff;--surface-alt: #f4f6fb;--border: #e4e8f0;--text: #101828;--text-muted: #5a6472;--ok: #12805c;--ok-050: #e7f5ef;--warn: #8a5a00;--warn-bg: var(--yellow-050);--warn-rule: var(--yellow-400);--danger: #c0392b;--danger-050: #fdecea;--neutral-chip: #eef1f6;--font: "Be Vietnam Pro", system-ui, sans-serif;--fs-page-title: 28px;--fs-section: 20px;--fs-card-title: 16px;--fs-body: 14px;--fs-meta: 13px;--fs-chip: 12px;--lh-body: 1.6;--radius-card: 12px;--radius-button: 8px;--card-pad: 20px;--section-gap: 24px;--row-height: 40px;--content-max: 1560px;--sidebar-width: 293px;--sidebar-rail: 68px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--surface-alt);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:var(--fs-page-title);font-weight:700}h2{font-size:var(--fs-section);font-weight:700}h3{font-size:var(--fs-card-title);font-weight:600}a{color:var(--blue-600)}button{font:inherit}.card{background:var(--page);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.cardTight{padding:0;overflow:hidden}.cardHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px var(--card-pad);border-bottom:1px solid var(--border)}.cardHead p{margin:0;color:var(--text-muted);font-size:var(--fs-meta)}.muted{color:var(--text-muted)}.bulletList{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--text)}.metaText{font-size:var(--fs-meta);color:var(--text-muted)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.table th{text-align:left;font-size:var(--fs-meta);font-weight:600;color:var(--text-muted);padding:10px 16px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--page)}.table td{padding:6px 16px;height:var(--row-height);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:nth-child(2n) td{background:var(--surface-alt)}.table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.groupRow td{background:var(--blue-050)!important;font-weight:600;font-size:var(--fs-meta);color:var(--navy-900);height:32px;padding-top:4px;padding-bottom:4px}.rowDanger td{background:var(--danger-050)!important;box-shadow:inset 3px 0 0 var(--danger)}.rowWarn td{background:var(--warn-bg)!important;box-shadow:inset 3px 0 0 var(--warn-rule)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:var(--fs-chip);font-weight:500;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chipPlain:before{display:none}.toneOk{background:var(--ok-050);color:var(--ok)}.toneWarn{background:var(--warn-bg);color:var(--warn)}.toneDanger{background:var(--danger-050);color:var(--danger)}.toneNeutral{background:var(--neutral-chip);color:var(--text-muted)}.toneActive{background:var(--blue-050);color:var(--blue-600)}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--page);color:var(--text);padding:7px 14px;font-size:var(--fs-body);font-weight:600;cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-alt)}.btn:disabled{opacity:.5;cursor:not-allowed}.btnPrimary{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.btnPrimary:hover:not(:disabled){background:#1836bb}.btnDanger{background:var(--page);border-color:var(--danger);color:var(--danger)}.btnDanger:hover:not(:disabled){background:var(--danger-050)}.btnSmall{padding:4px 10px;font-size:var(--fs-meta);white-space:nowrap}.btnRow{display:flex;gap:8px;flex-wrap:wrap}:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{display:grid;grid-template-columns:var(--sidebar-col) minmax(0,1fr);min-height:100vh;--sidebar-col: var(--sidebar-rail)}.shellPinned{--sidebar-col: var(--sidebar-width)}.sidebar{background:var(--sidebar-900);color:#fff;display:flex;flex-direction:column;gap:18px;padding:20px 0;position:sticky;top:0;align-self:start;height:100vh;width:var(--sidebar-rail);overflow-x:hidden;overflow-y:auto;z-index:40;transition:width .14s ease,box-shadow .14s ease;scrollbar-width:none}.sidebar::-webkit-scrollbar{width:0}.sidebar>*{flex:0 0 auto}.sidebar:is(:hover,:focus-within),.shellPinned .sidebar{width:var(--sidebar-width)}.sidebar:is(:hover,:focus-within){box-shadow:8px 0 28px #070b1a73}.shellPinned .sidebar:is(:hover,:focus-within){box-shadow:none}.sidebar>.sidebarFoot{height:0;min-height:0;padding-block:0;margin-block:0;overflow:hidden;opacity:0;border:0;transition:opacity .11s ease}.sidebar:is(:hover,:focus-within)>.sidebarFoot,.shellPinned .sidebar>.sidebarFoot{height:auto;margin-inline:16px;opacity:1}.sidebarHead{display:flex;align-items:center;justify-content:center;padding-inline:0;min-height:36px}.sidebar:is(:hover,:focus-within) .sidebarHead,.shellPinned .sidebar .sidebarHead{justify-content:flex-start;padding-inline:16px}.brandName,.sidebar .pinBtn{opacity:0;visibility:hidden;width:0;overflow:hidden;transition:opacity .11s ease}.sidebar:is(:hover,:focus-within) .brandName,.shellPinned .sidebar .brandName{opacity:1;visibility:visible;width:auto}.sidebar:is(:hover,:focus-within) .pinBtn,.shellPinned .sidebar .pinBtn{opacity:1;visibility:visible;width:28px}.pinBtn{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-button);background:transparent;color:#ffffff80;cursor:pointer;transition:color .11s ease,background .11s ease,transform .14s ease}.pinBtn:hover{background:var(--sidebar-700);color:#fff}.pinBtnOn{color:var(--yellow-400);transform:rotate(-35deg)}.pinBtn:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.brand{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;justify-content:center}.sidebar:is(:hover,:focus-within) .brand,.shellPinned .sidebar .brand{justify-content:flex-start}.brandLogo{width:36px;height:36px;flex:0 0 auto;object-fit:contain}.brandName{font-size:var(--fs-meta);font-weight:600;line-height:1.3;white-space:nowrap}.brandLight .brandName{color:var(--text)}.tenantBox{background:var(--sidebar-800);border-radius:var(--radius-button);padding:10px 12px;display:flex;flex-direction:column;gap:2px;width:calc(var(--sidebar-width) - 32px);box-sizing:border-box}.tenantLabel{padding-inline:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c}.tenantName{padding-inline:6px;font-size:var(--fs-card-title);font-weight:600}.tenantSelect{font:inherit;font-size:var(--fs-card-title);font-weight:600;color:inherit;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-button);padding:4px 6px;width:100%;cursor:pointer}.tenantSelect:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.tenantSelect option{color:#111827;background:#fff}.tenantMeta{padding-inline:6px;font-size:var(--fs-chip);color:#ffffff8c}.tenantBox .btn{margin-top:8px;align-self:stretch;width:100%;background:transparent;color:#ffffffc7;border-color:#ffffff38;font-weight:500}.tenantBox .btn:hover:not(:disabled){background:#ffffff14;color:#fff}.howtoBox{border:1px solid var(--border);border-left:3px solid var(--blue-600);border-radius:var(--radius-button);background:var(--surface-alt);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.howtoTitle{font-size:var(--fs-body);font-weight:600;margin:0}.howtoList{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-meta);color:var(--text-muted);line-height:1.6}.howtoCode{display:block;margin-top:4px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--page);color:var(--text);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--fs-chip);overflow-x:auto;white-space:pre}.howtoLink{color:var(--blue-600);font-weight:600}.howtoWarn{margin:0;font-size:var(--fs-meta);color:var(--warn);line-height:1.6}.nav{display:flex;flex-direction:column;gap:18px}.navGroup{display:flex;flex-direction:column;gap:2px;position:relative}.navGroup+.navGroup .navGroupLabel:before{content:"";visibility:visible;position:absolute;top:50%;left:14px;right:14px;height:1px;background:#ffffff29}.sidebar:is(:hover,:focus-within) .navGroup+.navGroup .navGroupLabel:before,.shellPinned .sidebar .navGroup+.navGroup .navGroupLabel:before{display:none}.navGroupLabel{position:relative;padding:0 16px 6px;visibility:hidden;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;color:#ffffff61}.sidebar:is(:hover,:focus-within) .navGroupLabel,.shellPinned .sidebar .navGroupLabel{visibility:visible}.navItem{display:flex;align-items:center;height:44px;padding:0;color:#ffffffb8;text-decoration:none;font-size:var(--fs-body);border-left:3px solid transparent;width:var(--sidebar-width);box-sizing:border-box}.navIcon{flex:0 0 20px;width:20px;height:20px;margin-left:calc((var(--sidebar-rail) - 20px) / 2 - 3px);margin-right:14px}.navItemLabel{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .11s ease}.sidebar:is(:hover,:focus-within) .navItemLabel,.shellPinned .sidebar .navItemLabel{opacity:1}.navItem:hover{background:var(--sidebar-700);color:#fff}.navItem:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:-2px}.navItemSoon{color:#ffffff6b}.navSoonTag{flex:0 0 auto;margin-right:16px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:#ffffff14;color:#ffffff80;opacity:0;transition:opacity .11s ease}.sidebar:is(:hover,:focus-within) .navSoonTag,.shellPinned .sidebar .navSoonTag{opacity:1}.navItemActive .navSoonTag{background:#fff3;color:#fff}.navItemActive,.navItemActive:hover{background:var(--blue-600);border-left-color:var(--yellow-400);color:#fff;font-weight:600}.sidebarFoot{margin-top:auto;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}.killBox{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--radius-button);background:var(--navy-800)}.killState{font-size:var(--fs-chip);color:#ffffffb3}.killStateOn{color:#ff9a8f;font-weight:600}.killBox .btn{justify-content:center}.scenarioBox{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;display:flex;flex-direction:column;gap:6px}.scenarioLabel{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c}.scenarioSelect{width:100%;font:inherit;font-size:var(--fs-meta);padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:var(--navy-800);color:#fff}.scenarioNote{margin:0;font-size:var(--fs-chip);line-height:1.5;color:#ffffff8c}.content{padding:24px 28px 56px;max-width:calc(var(--content-max) + 56px);width:100%;min-width:0;margin-inline:auto}.haltBanner{margin-bottom:var(--section-gap)}.pageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.pageHeaderMeta{margin:6px 0 0;color:var(--text-muted);font-size:var(--fs-meta)}.stack{display:flex;flex-direction:column;gap:var(--section-gap)}.stackTight{gap:10px}.twoCol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--section-gap);align-items:start}@media (max-width: 1100px){.twoCol{grid-template-columns:minmax(0,1fr)}}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:var(--radius-card);border:1px solid var(--border);padding:14px 16px;background:var(--page)}.noticeBody{min-width:0}.noticeText{margin-top:4px;line-height:var(--lh-body)}.notice-danger{background:var(--danger-050);border-color:color-mix(in srgb,var(--danger) 30%,var(--border));border-left:4px solid var(--danger)}.notice-danger strong{color:var(--danger)}.notice-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn-rule) 45%,var(--border));border-left:4px solid var(--warn-rule)}.notice-warn strong{color:var(--warn)}.notice-ok{background:var(--ok-050);border-color:color-mix(in srgb,var(--ok) 25%,var(--border));border-left:4px solid var(--ok)}.notice-ok strong{color:var(--ok)}.notice-neutral,.notice-active{background:var(--blue-050);border-left:4px solid var(--blue-600)}.statsBand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--blue-600);border-radius:var(--radius-card);overflow:hidden}.statsCell{padding:18px 20px;text-align:center;border-left:1px solid rgba(255,255,255,.16)}.statsCell:first-child{border-left:none}.statsValue{font-size:28px;font-weight:700;color:#fff;line-height:1.2;font-variant-numeric:tabular-nums}.statsValue-danger{color:#ffd7d2}.statsValue-warn{color:var(--yellow-400)}.statsLabel{font-size:var(--fs-meta);color:#ffffffc7}.tableWrap{overflow-x:auto}.cellMain{font-weight:500}.cellReason{margin-top:2px;font-size:var(--fs-meta);color:var(--danger);line-height:1.45}.cellNote{font-size:var(--fs-meta);line-height:1.5;max-width:62ch}.cellBody{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:60ch;line-height:1.5}.factList{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.factNum{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.factNumDanger{color:var(--danger)}.factNumOk{color:var(--ok)}.upcomingList{margin:0;padding:0;list-style:none}.upcomingRow{display:grid;grid-template-columns:52px minmax(0,1fr) 110px auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.upcomingRow:last-child{border-bottom:none}.upcomingTime{font-weight:600}.upcomingGroup{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:22px 4px;text-align:center}.emptyTitle{margin:0 0 4px;font-weight:600}.empty p:last-child{margin:0;max-width:56ch;margin-inline:auto}.cardProse{margin:0 0 10px;max-width:72ch}.cardProse:last-child{margin-bottom:0}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1a3d73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:var(--page);border-radius:var(--radius-card);border:1px solid var(--border);padding:22px;width:min(520px,100%)}.modalBody{margin:10px 0 0;line-height:var(--lh-body)}.modalError{margin:12px 0 0;color:var(--danger);font-size:var(--fs-meta)}.modalActions{margin-top:18px;justify-content:flex-end}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--navy-900)}.loginCard{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--page);border:1px solid var(--border);border-radius:var(--radius-card)}.loginBrand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.loginBrand .brandName{color:var(--text)}.loginField{display:flex;flex-direction:column;gap:6px}.loginLabel{font-size:var(--fs-meta);font-weight:500;color:var(--text-muted)}.loginInput{height:40px;padding:0 12px;font:inherit;font-size:var(--fs-body);color:var(--text);background:var(--page);border:1px solid var(--border);border-radius:var(--radius-button)}.loginInput:focus{outline:2px solid var(--blue-600);outline-offset:-1px}.loginError{margin:0;padding:10px 12px;font-size:var(--fs-body);color:var(--danger);background:var(--danger-050);border-radius:var(--radius-button)}.modalWide{width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 80px);display:flex;flex-direction:column}.modalHuge{width:min(1240px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:10px}.vncFrameWrap{flex:1;min-height:420px;border:1px solid var(--border);border-radius:var(--radius-button);background:#0b0b0b;overflow:hidden}.vncFrame{display:block;width:100%;height:100%;min-height:420px;border:0}.vncFrameWaiting{display:flex;align-items:center;justify-content:center;background:var(--surface-alt);min-height:220px}.formBody{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding:4px 2px}.formField{display:flex;flex-direction:column;gap:5px}.formLabel{font-size:var(--fs-meta);font-weight:600;color:var(--text)}.formHint{font-size:var(--fs-meta);color:var(--text-muted);line-height:1.5}.formArea{height:auto;padding:10px 12px;line-height:var(--lh-body);resize:vertical}.thumbRow{display:flex;flex-wrap:wrap;gap:10px}.thumb{margin:0;width:104px;border:1px solid var(--border);border-radius:var(--radius-button);overflow:hidden;background:var(--surface-alt)}.thumb img{display:block;width:100%;height:78px;object-fit:cover}.thumb figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 6px}.formRow{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.formRow>.formField{flex:1 1 150px;min-width:0}.fieldHead{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.fieldHead .btn{flex:none}.pickList{display:flex;flex-direction:column;gap:2px;max-height:190px;overflow-y:auto;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--page)}.pickItem{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-meta);line-height:1.5;padding:3px 0;cursor:pointer}.pickItem input{margin-top:3px;flex:none}.previewTable{max-height:240px;overflow-y:auto}.topbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px;min-height:36px}.bellBox{position:relative}.bellBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-button);border:1px solid var(--border);background:var(--page);color:var(--text-muted);cursor:pointer}.bellBtn:hover{color:var(--text);border-color:var(--text-muted)}.bellBtnAlert{color:var(--danger);border-color:var(--danger)}.bellCount{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--text-muted);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.bellCountAlert{background:var(--danger)}.bellPanel{position:absolute;top:44px;right:0;z-index:40;width:min(420px,calc(100vw - 48px));max-height:70vh;overflow-y:auto;background:var(--page);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 32px #0a0f2e2e}.bellHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--page)}.bellEmpty,.bellError{margin:0;padding:14px;font-size:var(--fs-meta);line-height:1.55;color:var(--text-muted)}.bellError{color:var(--danger);padding-bottom:0}.bellList{list-style:none;margin:0;padding:0}.bellItem{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.bellItem:last-child{border-bottom:0}.bellItemHead{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.bellLevel{font-size:var(--fs-meta);font-weight:700}.bellLevelAlert{color:var(--danger)}.bellLevelWarn{color:var(--warn)}.bellMessage{margin:0;font-size:var(--fs-meta);line-height:1.55}.savedBox{display:flex;flex-direction:column;gap:6px}.savedList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.savedRow{display:flex;align-items:stretch;gap:6px}.savedPick{flex:1;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--surface-alt);color:var(--text);font-size:var(--fs-meta);cursor:pointer}.savedPick:hover{border-color:var(--blue-600)}.savedPickOn{border-color:var(--blue-600);background:var(--blue-050);font-weight:600}.savedForget{width:32px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--page);color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer}.savedForget:hover{color:var(--danger);border-color:var(--danger)}.rememberRow{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-meta);line-height:1.5;cursor:pointer}.rememberRow input{margin-top:3px}.rememberNote{display:block;color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:2px}.logoutBtn{width:100%;background:transparent;color:#ffffffbf;border-color:#ffffff40}.logoutBtn:hover{color:#fff;border-color:#fff9}.dayPicker{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.dayChip{flex:0 0 auto;min-width:70px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--page);color:var(--text);font:inherit;line-height:1.25;text-align:center;cursor:pointer}.dayChip:hover{border-color:var(--blue-600)}.dayChipTop{display:block;font-size:var(--fs-chip);color:var(--text-muted)}.dayChipBottom{display:block;font-size:var(--fs-meta);font-weight:600;font-variant-numeric:tabular-nums}.dayChipToday .dayChipTop{color:var(--blue-600);font-weight:600}.dayChipOn{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.dayChipOn .dayChipTop,.dayChipOn .dayChipBottom{color:#fff}.emptyAction{margin-top:12px}.cellLink{font-size:var(--fs-meta);white-space:nowrap}.stockGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:0 var(--card-pad) var(--card-pad)}.stockItem{margin:0;border:1px solid var(--border);border-radius:var(--radius-button);overflow:hidden;background:var(--surface-alt)}.stockItem img{display:block;width:100%;height:130px;object-fit:cover}.stockItem figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px}.planLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--section-gap);align-items:start}.planLayoutOpen{grid-template-columns:minmax(0,1fr) 380px}.monthBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.monthTitle{font-size:var(--fs-section);font-weight:600}.monthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.monthHead{background:var(--surface-alt);padding:8px 10px;font-size:var(--fs-meta);font-weight:600;color:var(--text-muted);text-align:center}.monthCell{background:var(--page);padding:6px;display:flex;flex-direction:column;gap:5px;min-width:0;max-height:336px;overflow-y:auto}.monthCellOut{background:var(--surface-alt)}.monthCellOut .monthCellDay{color:var(--text-muted);opacity:.6}.monthCellToday .monthCellDay{background:var(--blue-600);color:#fff}.monthCellDay{align-self:flex-start;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-size:var(--fs-meta);font-weight:600;color:var(--text-muted)}.planCard{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;font:inherit;padding:6px 8px;border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:var(--radius-button);background:var(--page);cursor:pointer;min-width:0}.planCard:hover{border-color:var(--blue-600)}.planCard:focus-visible{outline:2px solid var(--blue-600);outline-offset:1px}.planCardOpen{border-color:var(--blue-600);box-shadow:inset 0 0 0 1px var(--blue-600)}.planCard-fanpage{background:var(--blue-050)}.planCard-group{background:var(--ok-050)}.planCard-planned{border-left-color:var(--text-muted)}.planCard-done{border-left-color:var(--ok)}.planCard-cancelled{border-left-color:var(--yellow-400);opacity:.6}.planCard-failed{border-color:var(--danger);border-left-color:var(--danger)}.planCardTop{display:flex;align-items:baseline;gap:6px;min-width:0}.planCardTime{font-size:var(--fs-chip);font-weight:700;color:var(--text);flex:0 0 auto}.planCardWhere{font-size:var(--fs-chip);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.planCardText{font-size:var(--fs-chip);line-height:1.45;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.planCardBody{display:flex;align-items:flex-start;gap:6px;min-width:0}.planCardThumb{position:relative;flex:0 0 auto;width:38px;height:38px;border-radius:4px;overflow:hidden;background:var(--surface-alt)}.planCardThumb img{width:100%;height:100%;object-fit:cover;display:block}.planCardPics{position:absolute;right:0;bottom:0;padding:0 3px;font-size:10px;font-weight:600;color:#fff;background:#101828b8;border-top-left-radius:4px}.planPanel{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--page);padding:var(--card-pad);max-height:calc(100vh - 32px);overflow-y:auto}.planPanelHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.planPanelTitle{display:flex;gap:6px;flex-wrap:wrap}.planPanelWhere{margin:0;font-size:var(--fs-meta);color:var(--text-muted)}.planPanelTabs{display:flex;gap:6px}.planPanelFoot{display:flex;align-items:center;gap:10px;padding-top:4px}.planSavedTag{font-size:var(--fs-meta);color:var(--ok);font-weight:600}.postPreview{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-alt);padding:14px;display:flex;flex-direction:column;gap:8px}.postPreviewHead{display:flex;flex-direction:column;gap:2px}.postPreviewName{font-weight:600}.postPreviewBody{margin:0;white-space:pre-wrap;word-break:break-word;font-size:var(--fs-body);line-height:var(--lh-body)}.postPreviewTags{margin:0;font-size:var(--fs-meta);color:var(--blue-600)}.postPreviewPics{display:flex;flex-direction:column;gap:6px}.postPreviewPics img{width:100%;border-radius:var(--radius-button);display:block}@media (max-width: 1280px){.planLayoutOpen{grid-template-columns:minmax(0,1fr)}.planPanel{position:static;max-height:none}}.pickRow{display:flex;flex-wrap:wrap;gap:8px}.pickCard{flex:1 1 160px;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--page);cursor:pointer}.pickCard strong{font-size:var(--fs-body)}.pickCard span{font-size:var(--fs-chip);color:var(--text-muted);line-height:1.4}.pickCardSlim{flex:1 1 120px}.pickCard:hover{border-color:var(--blue-600)}.pickCardOn{border-color:var(--blue-600);background:var(--blue-050);box-shadow:inset 0 0 0 1px var(--blue-600)}.pickCard:focus-visible{outline:2px solid var(--blue-600);outline-offset:1px}.shelfGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.shelfTile{margin:0;border:1px solid var(--border);border-radius:var(--radius-button);overflow:hidden;background:var(--surface-alt)}.shelfTile img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.shelfTile figcaption{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;background:var(--page);font-size:var(--fs-chip)}.shelfName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{display:flex;gap:3px;min-height:84px}.timeShot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:var(--radius-button);color:#fff;overflow:hidden}.timeShot-hook{background:var(--navy-900)}.timeShot-clip{background:var(--blue-600)}.timeShot-cta{background:var(--ok)}.timeShotTop{display:flex;justify-content:space-between;gap:6px;font-size:var(--fs-chip)}.timeShotNote{font-size:11px;line-height:1.35;color:#ffffffd1}.timeRuler{display:flex;gap:3px;margin-top:4px;font-size:11px;color:var(--text-muted)}.timeRuler span{flex:1 1 0;min-width:0}.timeEnd{flex:0 0 auto!important;text-align:right}.subList{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.subList li{display:flex;gap:10px;font-size:var(--fs-meta);line-height:1.5}.subAt{flex:0 0 38px;font-weight:600;color:var(--blue-600);font-variant-numeric:tabular-nums}.chart{display:flex;align-items:flex-end;gap:3px;height:180px;padding-top:8px}.chartCol{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}.chartStack{display:flex;flex-direction:column;min-height:2px;border-radius:3px;overflow:hidden}.chartSeg{min-height:3px}.chartSeg-group{background:var(--ok)}.chartSeg-fanpage{background:var(--blue-600)}.chartLabel{font-size:10px;color:var(--text-muted);text-align:center}.legendRow{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:var(--fs-meta)}.legendItem{display:inline-flex;align-items:center;gap:6px}.legendDot{width:10px;height:10px;border-radius:3px}.legendDot-group{background:var(--ok)}.legendDot-fanpage{background:var(--blue-600)}.kv{width:100%;border-collapse:collapse}.kv th,.kv td{padding:7px 0;border-bottom:1px solid var(--border);font-size:var(--fs-body)}.kv th{text-align:left;font-weight:400;color:var(--text-muted)}.kv td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.kv tr:last-child th,.kv tr:last-child td{border-bottom:0}.reviewList{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--section-gap);align-items:start}.chipRow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.postBody{white-space:pre-wrap;margin:0 0 8px;line-height:1.55}.checkRow{display:flex;align-items:center;gap:8px;padding:3px 0}.scanAdd{display:flex;gap:8px;margin:10px 0 14px}.scanAdd .input{flex:1 1 auto;min-width:0}.scanAdd .btn{flex:0 0 auto}.scanRow{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.scanHead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scanUrl{flex:1 1 160px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-meta);color:var(--text-muted)}.scanActions{display:flex;gap:6px;flex:0 0 auto}.suggestRow{border-left:3px solid var(--line);padding:2px 0 2px 12px}.suggestPick{display:flex;align-items:center;gap:8px;margin-bottom:4px}.suggestOld{margin:0 0 4px;font-size:var(--fs-meta);color:var(--text-muted)}.suggestNew{margin:0 0 2px;white-space:pre-wrap;line-height:1.5}.scanFileBtn{position:relative;overflow:hidden;flex:0 0 auto;cursor:pointer}.scanFileBtn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}
