.hostMetricCards article{min-height:0;padding:18px}.hostMetricCards h3{margin:0 0 12px}.hostMetricCards p{margin:8px 0}[aria-label=主機資源監控],[aria-label=主機歷史趨勢]{scroll-margin-top:90px}[aria-label=主機歷史趨勢] select,[aria-label=主機歷史趨勢] button{padding:9px 12px;border:1px solid #c7d4e2;border-radius:6px;background:#fff;color:#243449}.enrollment{height:auto;min-height:100vh;padding:24px;box-sizing:border-box}.enrollment section{width:min(100%,620px);box-sizing:border-box}.enrollment p{line-height:1.6}.enrollment label{display:block;margin:16px 0}.enrollment input{display:block;box-sizing:border-box;width:100%}.setupSecret,.recoveryCodes code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.setupSecret{display:block;padding:16px;background:#edf2f7}.recoveryCodes{padding-left:24px;line-height:1.9}.accountControls{margin-bottom:28px;min-width:0}.mfaRefresh{position:relative;margin:0 0 12px;padding:12px;border:1px solid #ccd6e2;background:#fff;border-radius:8px}.mfaRefresh form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.mfaRefresh input{display:block;max-width:180px}.inventoryPager{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.accountInvite{border:1px solid #ccd6e2;border-radius:8px;padding:16px;margin:16px 0;max-width:700px}.accountInvite label{display:block;margin:10px 0}.accountInvite textarea{box-sizing:border-box;width:100%;overflow-wrap:anywhere}@media(max-width:700px){.accountControls{margin-bottom:20px}}.login label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px;margin:12px 0 18px;line-height:1.5;cursor:pointer}.login input[type=checkbox]{display:inline-block;flex:0 0 auto;width:16px;height:16px;padding:0;margin:0;accent-color:#24b99b}.login section>form+button{margin-top:12px;background:transparent;border:1px solid #71879b;color:inherit}.login button:disabled{cursor:wait;opacity:.65}:root{font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;color:#dce9f5;background:#071321;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% -10%,#123b4f 0,transparent 32%),#071321}header{height:78px;border-bottom:1px solid #203245;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2));background:#081522cc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:2}.brand{display:flex;gap:12px;align-items:center}.brand div{display:flex;flex-direction:column}.brand small{color:#71879b;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.mark{height:38px;width:38px;border-radius:10px;background:#31d6b1;color:#05221e;display:grid;place-items:center;font-weight:800}.authActions{display:flex;align-items:center;gap:16px}.authActions button:not(.MuiButtonBase-root){border:1px solid #294154;border-radius:8px;background:#102334;color:#95aabe;padding:8px 12px;cursor:pointer}.pulse{font:12px IBM Plex Mono,monospace;color:#7192a7}.pulse:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#31d6b1;margin-right:8px;box-shadow:0 0 12px #31d6b1}.dashboard{max-width:1180px;margin:0 auto;padding:56px 28px}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.heading p{font:12px IBM Plex Mono,monospace;color:#31d6b1;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px}.heading h1{font-size:36px;margin:0}.summary{display:flex;gap:22px;color:#95aabe;font-size:13px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px}.online{background:#31d6b1}.degraded{background:#ffc857}.offline{background:#ff6577}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}article:not(.MuiPaper-root),.empty{background:linear-gradient(145deg,#102334,#0c1b2a);border:1px solid #20384b;border-radius:14px;padding:22px;min-height:210px;box-shadow:0 18px 50px #0003}article:not(.MuiPaper-root) h2{font-size:21px;margin:20px 0}.nodeTop{display:flex;justify-content:space-between;align-items:center}.status{font-size:11px;padding:5px 9px;border-radius:20px;color:#06141a}.status.online{background:#31d6b1}.status.degraded{background:#ffc857}.status.offline{background:#ff6577}.mono{font:11px IBM Plex Mono,monospace;color:#668196}.metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #20384b;border-bottom:1px solid #20384b;padding:16px 0}.metrics div{display:flex;flex-direction:column}.metrics strong{font:22px IBM Plex Mono,monospace}.metrics span,article:not(.MuiPaper-root) footer{font-size:11px;color:#71879b}article:not(.MuiPaper-root) footer{display:flex;justify-content:space-between;padding-top:15px}.login{height:100vh;display:grid;place-items:center}.login section{width:min(390px,calc(100vw - 40px));background:#0e2030;border:1px solid #294154;border-radius:18px;padding:34px;box-shadow:0 30px 90px #0008}.login h1{margin:20px 0 4px}.login p{color:#71879b;font:12px IBM Plex Mono,monospace;margin:0 0 28px}.login label{font-size:12px;color:#95aabe}.login input{display:block;width:100%;background:#071522;border:1px solid #2b4458;border-radius:8px;color:#fff;padding:12px;margin:8px 0 14px}.login button{width:100%;border:0;border-radius:8px;padding:12px;background:#31d6b1;color:#06221e;font-weight:700;cursor:pointer}.login small,.error{color:#ff6577}.empty{display:grid;place-items:center;color:#71879b}@media(max-width:700px){.heading{align-items:start;flex-direction:column;gap:24px}.summary{gap:12px;flex-wrap:wrap}.dashboard{padding:36px 18px}header{padding:0 18px}.pulse{display:none}}.modemGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.nodeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;margin-bottom:28px}.nodeCard{min-height:0}.nodeTitle{display:flex;justify-content:space-between;gap:20px}.nodeTitle>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.nodeTitle small{width:100%;padding-left:14px;color:#71879b;font:10px IBM Plex Mono}.nodeTitle strong{color:#31d6b1;font-size:12px;white-space:nowrap}.nodeCard dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;border-top:1px solid #20384b;margin:18px 0 14px;padding-top:14px;font:11px IBM Plex Mono}.nodeCard dt{color:#71879b}.nodeCard dd{margin:0;text-align:right;color:#dce9f5;overflow-wrap:anywhere}.slotList{display:flex;gap:7px;flex-wrap:wrap}.slot{border:1px solid #294154;border-radius:20px;padding:5px 8px;color:#95aabe;font:9px IBM Plex Mono}.slot b{font-weight:500}.slot.online b{color:#31d6b1}.slot.degraded b,.slot.error b{color:#ffc857}.slot.unregistered b,.slot.missing b{color:#ff6577}.isolation{display:block;color:#71879b;font-size:10px;line-height:1.5;margin-top:14px}.modemCard{font:inherit;text-align:left;color:inherit;background:linear-gradient(145deg,#102334,#0c1b2a);border:1px solid #20384b;border-radius:14px;padding:18px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:14px;transition:.2s}.modemCard:hover,.modemCard.selected{border-color:#31d6b1;transform:translateY(-2px)}.modemCard.missing{border-color:#743947;border-style:dashed}.modemCard>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.modemCard small{width:100%;color:#71879b;font:11px IBM Plex Mono;padding-left:15px}.radio{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:1px 3px;text-align:right}.radio strong{font:24px IBM Plex Mono}.radio span{font-size:10px;color:#71879b}.radio small{grid-column:1/-1!important;width:auto!important;padding:0!important;font-size:9px!important}.throughput{grid-column:1/-1;display:flex;gap:18px;border-top:1px solid #20384b;padding-top:12px;font:12px IBM Plex Mono;color:#95aabe}.modemCard em{grid-column:1/-1;color:#ff6577;font-size:11px}.role{border:0;border-radius:10px;padding:3px 6px;font:8px IBM Plex Mono;letter-spacing:.08em}.role.active{background:#31d6b1;color:#05221e}.role.standby{background:#23394a;color:#95aabe}.detailGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;margin-top:18px}.chartCard{background:#0c1b2a;border:1px solid #20384b;border-radius:14px;padding:22px}.chartCard p,.sidePanel p{color:#31d6b1;font:10px IBM Plex Mono;letter-spacing:.15em}.chartCard h2{margin:0}.chart{height:360px;width:100%;margin-top:8px}.sidePanel{display:grid;gap:18px}.sidePanel>div{background:#0c1b2a;border:1px solid #20384b;border-radius:14px;padding:20px}.sidePanel p{margin:0 0 14px}.sidePanel h3{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#91a9bd;margin:15px 0 5px}.sidePanel h3 strong{font:18px IBM Plex Mono;color:#dce9f5}.sidePanel small{display:block;color:#71879b;font-size:11px}.power button,.operations button{width:100%;margin:18px 0 9px;padding:11px;border:0;border-radius:8px;background:#31d6b1;color:#06221e;font-weight:700;cursor:pointer}.power button:disabled{background:#23394a;color:#6f8799;cursor:not-allowed}.operations em{display:block;color:#ffc857;font-size:11px;margin-top:12px;overflow-wrap:anywhere}@media(max-width:900px){.detailGrid{grid-template-columns:1fr}}@media(max-width:700px){.chart{height:300px}.modemGrid{grid-template-columns:1fr}}.connectivity h3{justify-content:flex-start;align-items:center;color:#dce9f5;font-size:16px}.connectivity .dot{margin-right:2px}.connectivity dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:18px 0 0;font:11px IBM Plex Mono}.connectivity dt{color:#71879b}.connectivity dd{margin:0;text-align:right;color:#dce9f5;overflow-wrap:anywhere}.historyGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.historyCard{min-height:0}.historyTitle{display:flex;align-items:start;justify-content:space-between}.historyTitle p{color:#31d6b1;font:10px IBM Plex Mono;letter-spacing:.15em;margin:0 0 6px}.historyTitle h2{margin:0;font-size:20px}.historyTitle>small{color:#71879b}.historyList{display:grid;margin-top:18px}.historyRow,.auditRow{display:grid;grid-template-columns:auto 1fr;gap:12px;border-top:1px solid #20384b;padding:12px 0}.historyRow>div,.auditRow>div{display:grid;min-width:0}.historyRow b,.auditRow b{font:12px IBM Plex Mono;font-weight:500}.historyRow small,.auditRow small{color:#71879b;font-size:10px;margin-top:3px}.historyRow em,.auditRow em{color:#95aabe;font-size:10px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.commandState{align-self:start;border-radius:16px;padding:4px 7px;color:#06141a;font-size:9px;white-space:nowrap}.commandState.pending{background:#ffc857}.commandState.succeeded{background:#31d6b1}.commandState.failed,.commandState.expired{background:#ff6577}.commandState.uncertain{background:#d2a8ff}.auditRow{grid-template-columns:1fr auto}.auditRow time{color:#71879b;font:9px IBM Plex Mono;white-space:nowrap}@media(max-width:900px){.historyGrid{grid-template-columns:1fr}}body{min-width:0}.nodeGrid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.nodeCard,.modemCard,.chartCard,.sidePanel,.historyCard{min-width:0;overflow-wrap:anywhere}.nodeTitle{flex-wrap:wrap}.nodeTitle>div{min-width:0;flex:1 1 180px}.modemCard{grid-template-columns:minmax(0,1fr) auto}.slot.online,.slot.degraded,.slot.offline{background:transparent}.chartCard p.error,.sidePanel small.error{color:#ff6577;letter-spacing:normal;overflow-wrap:anywhere}@media(max-width:360px){header{padding:0 12px}.brand{gap:8px}.heading h1{font-size:30px}.dashboard{padding:30px 12px}.nodeCard,.chartCard{padding:16px}.nodeCard dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 10px}}.build{color:#91a9bd;font:12px IBM Plex Mono,monospace}@media(max-width:700px){.build{display:none}}:root{color:#243449;background:#f3f6fa;font-family:system-ui,Microsoft JhengHei,sans-serif}body{background:#f3f6fa}a{color:#1767ba;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}header{padding:0 24px;background:#fff;border-color:#dde5ee;-webkit-backdrop-filter:none;backdrop-filter:none}.brand small{color:#52677e}.authActions button:not(.MuiButtonBase-root){background:#fff;color:#344b63;border-color:#ccd8e4}.appNav{position:fixed;left:0;top:78px;bottom:0;width:208px;background:#fff;border-right:1px solid #dde5ee;padding:26px 16px;display:flex;flex-direction:column;gap:8px}.appNav p{color:#66788a;font-size:12px;padding:0 12px}.appNav a{padding:13px 16px;border-radius:8px;color:#344b63}.appNav a[aria-current=page]{background:#e8f1ff;color:#125bb1;font-weight:700}.appNav small{margin-top:auto;color:#63758a;padding:12px;line-height:1.9}.adminMain{margin-left:208px;max-width:none;padding:32px;min-width:0}.heading h1{font-size:28px}.heading p{color:#62788f}.summary{color:#465d73}.tableWrap{overflow:auto;border:1px solid #dce5ee;border-radius:12px;background:#fff}table:not(.MuiTable-root){width:100%;border-collapse:collapse;font-size:14px}th:not(.MuiTableCell-root),td:not(.MuiTableCell-root){text-align:left;vertical-align:top;padding:18px;border-bottom:1px solid #e5ebf2}th:not(.MuiTableCell-root){background:#f8fafc;color:#52677e;font-size:12px;white-space:nowrap}td:not(.MuiTableCell-root) small{display:block;margin-top:6px;color:#5b7086}td:not(.MuiTableCell-root) div{margin-bottom:5px}article:not(.MuiPaper-root),.nodeCard,.modemCard,.chartCard,.sidePanel>div,.historyCard,.login section{background:#fff;color:#243449;border-color:#dce5ee;box-shadow:none}.nodeTitle small,.nodeCard dt,.nodeCard dd,.nodeCard small,.modemCard small,.historyRow small,.auditRow small,.historyRow em,.auditRow em,.sidePanel small,.chartCard small,.historyCard small{color:#52677e}.nodeTitle strong,.heading p,.chartCard p,.historyTitle p,.sidePanel p{color:#176b83}.detailTabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.detailTabs a{padding:10px 15px;border-radius:7px}.detailTabs a[aria-current=page]{background:#dfeeff;font-weight:700}.networkOverview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.networkOverview h2{font-size:18px;margin:0 0 18px}.networkOverview p{overflow-wrap:anywhere;font-size:14px}.ipValues{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:13px}.ipValues dt{color:#52677e}.ipValues dd{margin:0;overflow-wrap:anywhere}.ipValues small{display:block;color:#63758a;margin-top:4px;font-size:11px}.modemIPs{grid-column:1/-1;font-size:12px;line-height:1.8;overflow-wrap:anywhere;text-align:left}.modemCard.selected{border-color:#2a78c4;box-shadow:0 0 0 1px #2a78c4}.historyGrid{grid-template-columns:1fr}.historyRow,.auditRow{border-color:#e5ebf2}.notice{font-size:13px;color:#52677e;line-height:1.8}.menuToggle{display:none}.login input{background:#f8fafc;color:#243449;border-color:#c7d4e2}.login label,.login p{color:#52677e}.empty{background:#fff;color:#63758a;min-height:100px}.error{color:#b72b40}.modemCard .role{color:#3a566e;background:#edf3f8}.nodeCard .slot{background:#edf3f8;color:#344b63}.sidePanel button:disabled{color:#677b8c;background:#e1e7ed}.sidePanel button{cursor:pointer}.chart{min-width:0}@media(max-width:900px){.adminMain{padding:24px 18px}.networkOverview,.detailGrid{grid-template-columns:1fr}}@media(max-width:700px){.menuToggle{display:block;border:0;background:none;padding:8px;font-size:20px;color:#345}.appNav{display:none;z-index:5;box-shadow:8px 0 20px #0002}.appNav.open{display:flex}.adminMain{margin:0;padding:24px 12px}header{padding:0 10px}.mark{display:none}.brand b{font-size:14px}.heading h1{font-size:24px}.ipValues{grid-template-columns:1fr}.detailTabs{gap:4px}.detailTabs a{padding:8px 10px}.modemGrid,.nodeGrid{grid-template-columns:minmax(0,1fr)}.brand small{letter-spacing:0}.authActions{gap:5px}article:not(.MuiPaper-root){padding:16px}.networkOverview{min-width:0}}.historyFilters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#fff;border:1px solid #dce5ee;padding:16px;border-radius:10px;margin-bottom:12px}.historyFilters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#52677e}.historyFilters input,.historyFilters select{border:1px solid #c7d4e2;border-radius:6px;padding:9px;background:#fff;color:#243449;max-width:100%;min-width:0}.historyFilters button,.historyPaging button:not(.MuiButtonBase-root),.refreshNetwork button{border:1px solid #b8cee5;background:#e8f1ff;color:#14569f;border-radius:6px;padding:10px 14px;cursor:pointer}.historyPaging{display:flex;gap:10px;margin:12px 0}.refreshNetwork{margin:15px 0}.refreshNetwork p{font-size:13px;color:#52677e}button:not(.MuiButtonBase-root):disabled{cursor:not-allowed;opacity:.55}@media(max-width:700px){.historyFilters{display:grid;grid-template-columns:minmax(0,1fr)}.historyFilters input,.historyFilters select{width:100%}}.sidePanel h3,.sidePanel h3 strong,.connectivity h3,.connectivity dd{color:#243449}.connectivity dt,.throughput,.build,.radio span{color:#52677e}.throughput,.nodeCard dl{border-color:#dce5ee}.operations em{color:#865200}.modemCard em,.chartCard p.error,.sidePanel small.error{color:#b72b40}.slot.online b{color:#087660}.slot.degraded b,.slot.error b{color:#865200}.slot.unregistered b,.slot.missing b{color:#b72b40}@media(max-width:700px){.nodeTable,.vmTable,.nodeTable tbody,.vmTable tbody,.nodeTable tr,.vmTable tr,.nodeTable td,.vmTable td{display:block;width:auto}.nodeTable thead,.vmTable thead{display:none}.nodeTable tr,.vmTable tr{padding:12px;border-bottom:2px solid #dce5ee}.nodeTable td,.vmTable td{padding:10px 4px;overflow-wrap:anywhere}.nodeTable td:before,.vmTable td:before{display:block;font-size:11px;color:#60778b;margin-bottom:8px}.nodeTable td:nth-child(1):before{content:"節點"}.nodeTable td:nth-child(2):before{content:"狀態／Modem"}.nodeTable td:nth-child(3):before{content:"預設路由（主路由表）"}.nodeTable td:nth-child(4):before{content:"主機公網 IP"}.nodeTable td:nth-child(5):before{content:"最後上報"}.vmTable td:nth-child(1):before{content:"VM"}.vmTable td:nth-child(2):before{content:"狀態"}.vmTable td:nth-child(3):before{content:"裝置／網橋"}.vmTable td:nth-child(4):before{content:"Modem 關聯"}}.reportPanel{margin-top:20px;min-width:0;scroll-margin-top:90px}.reportPanel table{width:100%;min-width:720px;border-collapse:collapse}.reportPanel th{white-space:nowrap}.reportPanel td:first-child{min-width:180px}.reportPanel td,.reportPanel th{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #dbe4ed;overflow-wrap:anywhere}.reportPanel td small{display:block;color:#52677e;margin-top:6px}.trafficCalendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0;scroll-margin-top:90px}.trafficCalendar button{padding:8px;min-height:80px;text-align:left;background:#fff;color:#123;border:1px solid #bdccd9}.trafficCalendar button small{display:block;margin-top:8px}.trafficCalendar button[data-incomplete=true]{border-style:dashed}.trafficCalendar .weekday{text-align:center}.reportTotals{display:flex;flex-wrap:wrap;gap:20px;margin:15px 0}@media(max-width:600px){.trafficCalendar{gap:2px}.trafficCalendar button{padding:3px;font-size:11px;min-height:65px}.reportPanel .historyFilters{display:flex;flex-direction:column;align-items:stretch}.reportPanel .historyFilters label,.reportPanel .historyFilters input,.reportPanel .historyFilters select{width:100%;min-width:0}}.terminalLog{margin-top:.6rem;min-width:0}.terminalLog section{padding:1rem;border:1px solid #506078;border-radius:.5rem;max-width:72rem}.terminalLog pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:28rem;overflow:auto;background:#101825;color:#e4edf8;padding:.75rem;font-family:ui-monospace,monospace;font-size:.85rem;unicode-bidi:plaintext}.terminalLog p{white-space:normal}.terminalLog small{display:block}.terminalPanelButton{border:1px solid #b8cee5;background:#e8f1ff;color:#14569f;border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer;max-width:100%;white-space:normal;margin:8px 0}.terminalPanelButton:hover:not(:disabled){background:#dceaff;border-color:#7da8d6}.terminalPanelButton:focus-visible{outline:3px solid #248dce;outline-offset:3px}.wiseModal{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:28px;border:1px solid #e1e8f0;border-radius:22px;background:#fff;color:#243449;box-shadow:0 24px 100px #071b3940;overflow:auto;animation:modalEnter .16s ease-out}.wiseModalWide{width:min(680px,calc(100vw - 32px))}.wiseModal::backdrop{background:#11243d80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.wiseModalHeading{display:flex;justify-content:space-between;align-items:start;gap:20px}.wiseModalHeading h2{font-size:23px;letter-spacing:-.025em;margin:7px 0 0}.eyebrow{font-size:10px;letter-spacing:.13em;color:#648198;font-weight:750}.wiseModalDescription,.wiseModalBody p,.mutedText{color:#65778c;line-height:1.7;font-size:13px}.wiseModalBody{margin-top:20px}.wiseModal button,.fileManager button{border:1px solid #d7e2ed;border-radius:9px;background:#fff;padding:10px 16px;color:#324b65;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}.wiseModal button:hover,.fileManager button:hover{background:#f0f5fa;border-color:#a8bed3}.wiseModal button:disabled,.fileManager button:disabled{opacity:.5;cursor:not-allowed}.wiseModal .primaryButton,.fileManager .primaryButton{background:#1768dc;color:#fff;border-color:#1768dc}.wiseModal .iconButton{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;background:#f1f5f9;color:#5a6e84;font-size:23px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.wiseModal input:not([type=checkbox]),.wiseModal select,.fileManager input:not([type=checkbox]),.fileManager select{width:100%;padding:11px 13px;border:1px solid #cfdce8;border-radius:9px;background:#f9fbfd;color:#233e58;font:inherit;margin:8px 0}.wiseModal input:focus-visible,.wiseModal button:focus-visible,.fileManager :focus-visible{outline:3px solid #77aafa;outline-offset:3px}.wiseModal input[autocomplete=one-time-code]{font-family:ui-monospace,monospace;font-size:28px;letter-spacing:.3em;text-align:center}.wiseModal .mfaRefresh{border:0;padding:0;margin:12px 0;background:transparent}.wiseModal .mfaRefresh small{font-size:12px;color:#6b7e92}.wiseModal .mfaRefresh form{display:grid;gap:12px}.wiseModal .mfaRefresh label{font-size:13px}.wiseModal .mfaRefresh input[type=checkbox]{margin-right:8px}.profileTrigger{display:flex;align-items:center;gap:10px;text-align:left!important}.profileTrigger small,.profileIdentity small{display:block;font-size:10px;letter-spacing:.07em;color:#6c8094;margin-top:3px}.profileAvatar{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e9f1ff;color:#2166ba;font-weight:750;flex-shrink:0}.profileAvatar.large{width:48px;height:48px;border-radius:14px;font-size:21px}.profileIdentity{display:flex;gap:14px;align-items:center;padding:18px;background:#f7faff;border:1px solid #e3ecf5;border-radius:14px;overflow-wrap:anywhere}.profileIdentity strong{font-size:14px}.securityBadge{font-size:11px;color:#147663;background:#ddf7ee;padding:6px 10px;border-radius:20px;margin-left:auto;white-space:nowrap}.securityCard{padding:20px 0;border-bottom:1px solid #e4ebf3}.securityCard h3{font-size:16px;margin:0}.fileManager{background:#fff;border:1px solid #dce6f0;border-radius:16px;padding:24px;box-shadow:0 6px 24px #17385205}.fileManager h2{font-size:21px;margin-top:0}.fileManager h3{font-size:17px}.fileManager h4{font-size:15px}.fileManager p{font-size:13px;color:#63798e;line-height:1.7}.fileManager section{margin-top:24px;padding-top:18px;border-top:1px solid #e5edf5}.fileManager table{margin-top:16px}.fileManager .directoryLink{border:0;background:transparent;padding:0;color:#1768bd;text-align:left}.fileToolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.fileToolbar label{flex:1;min-width:170px;font-size:12px;color:#5b7288}.fileBreadcrumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:12px}.fileBreadcrumbs button{padding:6px 10px;border:0;background:#eff5fc;color:#32699c}.fileBreadcrumbs span{color:#98a9ba}.uploadDropzone{display:grid;place-items:center;gap:10px;padding:28px;border:2px dashed #c8d9ed;border-radius:14px;background:#f7faff;text-align:center}.uploadDropzone.dragging{border-color:#2879df;background:#e9f2ff}.uploadDropzone strong{font-size:15px;color:#3c648c}.uploadDropzone input[type=file]{width:auto;max-width:100%;border:0;background:transparent;font-size:12px}.uploadDropzone input::file-selector-button{border:0;border-radius:8px;padding:9px 14px;background:#e4efff;color:#2465af;cursor:pointer}.fileManager progress{width:100%;height:8px;accent-color:#2472d5}.fileManager [role=alert],.wiseModal [role=alert]{padding:12px;background:#fff1f2;border:1px solid #ffd3db;color:#a73148;border-radius:10px}.workspaceAccess{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#f5fbf8;border:1px solid #d7ebe2;border-radius:12px;padding:12px 16px;margin:16px 0}.workspaceAccess .securityBadge{margin:0}.workspaceAccess small{flex:1;color:#507769;font-size:12px;line-height:1.6}.workspaceAccess button{border:1px solid #c7ded3;background:#fff;color:#376657;border-radius:8px;padding:8px 12px;cursor:pointer}@keyframes modalEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.wiseModal{animation:none}}@media(max-width:600px){.wiseModal{padding:20px}.profileTrigger>span:last-child{display:none}.securityBadge{display:none}.fileManager{padding:16px}.fileToolbar{display:block}}
