:root{font-family:Microsoft YaHei,Inter,system-ui,sans-serif;color:#172521;background:#f2f6f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}aside{position:fixed;width:238px;height:100vh;background:#0c3f36;color:#eaf6f2;padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 30px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e2b84b;color:#173c34;font-weight:800}.brand b{display:block;font-size:17px}.brand small,.user small{display:block;color:#8ab5aa;font-size:10px;margin-top:3px}nav{display:grid;gap:7px}nav a{color:#b8d3cc;text-decoration:none;padding:12px 14px;border-radius:10px;display:flex;gap:12px;align-items:center;font-size:14px}nav a span{width:22px;text-align:center;font-size:18px}nav a.router-link-active{background:#176957;color:#fff;box-shadow:inset 3px 0 #e2b84b}.user{margin-top:auto;border-top:1px solid #2a5a50;padding:18px 5px 0;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#dcebe6;color:#0d5b4c;display:grid;place-items:center;font-weight:700}.user b{font-size:13px}.user button{margin-left:auto;background:none;border:0;color:#adc8c1;cursor:pointer;font-size:20px}main{grid-column:2;padding:26px 34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header small{color:#789087}header h1{margin:3px 0 0;font-size:26px}.status-dot{font-size:12px;color:#2d6e5f;background:#e3f0eb;padding:8px 12px;border-radius:20px}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;background:#2eaa78;border-radius:50%;margin-right:7px}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #dfE8e4;border-radius:14px;box-shadow:0 6px 18px #153c2f0a}.metric{padding:20px}.metric small{color:#6f847d}.metric strong{display:block;font-size:30px;margin-top:10px}.metric em{font-style:normal;color:#188266;font-size:12px}.panel{margin-top:18px;padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel h2{font-size:17px;margin:0}.btn{border:0;border-radius:9px;padding:9px 15px;cursor:pointer;background:#126b58;color:#fff}.btn.secondary{background:#edf4f1;color:#205f52}.btn.warn{background:#fff0d8;color:#8a5a0d}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.input{border:1px solid #cedbd6;border-radius:9px;padding:9px 11px;background:#fff;min-width:150px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#70827c;background:#f6f9f8;font-weight:600}th,td{padding:11px 12px;border-bottom:1px solid #e9efec}tr:hover td{background:#fbfdfc}.tag{font-size:11px;padding:4px 8px;border-radius:12px;background:#e5f3ee;color:#18715e}.tag.orange{background:#fff1d9;color:#9b650a}.empty{text-align:center;padding:45px;color:#80938c}.modal-bg{position:fixed;inset:0;background:#102b2480;display:grid;place-items:center;z-index:20}.modal{background:#fff;border-radius:16px;padding:24px;width:min(760px,92vw);max-height:88vh;overflow:auto}.modal h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:6px;font-size:13px;color:#526860}.field input,.field select,.field textarea{border:1px solid #cfdad6;border-radius:8px;padding:9px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toast{position:fixed;right:25px;bottom:25px;background:#153e35;color:#fff;padding:12px 18px;border-radius:10px;z-index:40}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.login-art{background:linear-gradient(145deg,#0b3d34,#15735e);color:#fff;padding:9vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:420px;height:420px;border:80px solid #ffffff0c;border-radius:50%;right:-180px;bottom:-180px}.login-art h1{font-size:44px;margin:18px 0}.login-art p{color:#b9d9d1;line-height:1.8}.login-form{display:grid;place-items:center;padding:30px}.login-box{width:min(370px,100%)}.login-box h2{font-size:28px}.login-box .field{margin:16px 0}.login-box input{padding:13px}.login-box .btn{width:100%;padding:13px}.error{color:#b93a32;background:#fff0ee;padding:10px;border-radius:8px;font-size:13px}.qr-page{min-height:100vh;background:#edf4f1;padding:24px;display:grid;place-items:start center}.qr-card{width:min(620px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 15px 50px #163c3020}.qr-card h1{font-size:22px}.details{display:grid;grid-template-columns:120px 1fr}.details div{padding:10px;border-bottom:1px solid #edf1ef}.details div:nth-child(odd){color:#71837d}@media(max-width:900px){.shell{display:block}aside{position:static;width:100%;height:auto;padding:14px}.brand{padding:0 5px 12px}nav{display:flex;overflow:auto}nav a{white-space:nowrap}.user{display:none}main{padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100vh}.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:24px}main{padding:12px}.panel{padding:13px;overflow:auto}header{margin-top:6px}.details{grid-template-columns:95px 1fr}}.site-footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;color:#70827c;font-size:12px;padding:24px 12px 8px}.site-footer a{color:#526f66;text-decoration:none}.site-footer a:hover{text-decoration:underline}.login-page>.site-footer{position:absolute;left:0;right:0;bottom:10px;color:#70827c}.customer-service-float{position:fixed;right:18px;top:55%;z-index:18;display:flex;align-items:center;gap:7px;padding:11px 13px;border:0;background:#126b58;color:#fff;border-radius:24px 4px 4px 24px;box-shadow:0 8px 24px #102b2440;font:inherit;font-size:13px;cursor:pointer}.customer-service-float span{color:#e2b84b}@media(max-width:520px){.customer-service-float{right:10px;top:auto;bottom:72px;border-radius:22px}.login-page>.site-footer{bottom:4px;padding:8px}}.backup-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px}.backup-metrics article{padding:15px;border-radius:12px;background:#f4f8f6;border:1px solid #e1eae6}.backup-metrics span{display:block;color:#70827c;font-size:12px}.backup-metrics strong{display:block;margin-top:7px;font-size:21px}.backup-settings{margin-bottom:16px}.table-wrap{overflow:auto}.backup-restore-modal{width:min(620px,92vw)}.backup-restore-modal .field{margin-top:18px}.notice.warning{background:#fff4df;color:#875c13;border:1px solid #f1d39b}.muted{color:#70827c;font-size:13px;line-height:1.7}@media(max-width:520px){.backup-metrics{grid-template-columns:1fr 1fr}}.switch-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;color:#526860}.option-toolbar{align-items:center;margin:12px 0}.option-toolbar label{display:flex;align-items:center;gap:6px;color:#526860;font-size:13px}.platform-notification-logs{margin-top:18px;max-height:320px}.platform-settings .form-grid+.toolbar{margin-top:16px}.platform-settings .mcp-endpoint,.platform-settings .mcp-secret>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dce8e3;border-radius:10px;background:#f8fbfa}.platform-settings .mcp-endpoint div{display:grid;gap:5px}.platform-settings .mcp-secret{margin-top:14px;padding:16px;border:1px solid #e2b75f;border-radius:10px;background:#fff9e9;display:grid;gap:10px}.platform-settings .mcp-secret code{overflow-wrap:anywhere}@media(max-width:600px){.platform-settings .mcp-endpoint,.platform-settings .mcp-secret>div{align-items:stretch;flex-direction:column}}.customer-service-float{right:18px;top:auto;bottom:18px;width:112px;height:138px;display:flex;flex-direction:column;justify-content:flex-end;gap:0;padding:0 5px 5px;border-radius:24px;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}.customer-service-float:before{content:"";position:absolute;left:18px;right:18px;bottom:17px;height:24px;border-radius:50%;background:#0c3f3630;filter:blur(8px);z-index:-1;transition:transform .2s ease}.customer-service-mascot{position:absolute;inset:0 2px 27px;display:grid;place-items:center;transform-origin:50% 90%;animation:customer-service-floaty 3.2s ease-in-out infinite}.customer-service-mascot img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #102b2438);transition:transform .22s ease,filter .22s ease}.customer-service-status{position:absolute;right:12px;bottom:8px;width:15px;height:15px;border:3px solid #fff;border-radius:50%;background:#32c98b;box-shadow:0 0 0 3px #32c98b33;animation:customer-service-pulse 2s ease-out infinite}.customer-service-label{position:relative;min-width:78px;padding:7px 10px;border:1px solid #ffffff66;border-radius:16px;background:#126b58;color:#fff!important;box-shadow:0 7px 18px #102b243d;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.customer-service-float:hover .customer-service-mascot img,.customer-service-float:focus-visible .customer-service-mascot img{transform:translateY(-4px) rotate(-2deg) scale(1.05);filter:drop-shadow(0 12px 10px #102b2448)}.customer-service-float:hover:before{transform:scale(.86)}.customer-service-float:focus-visible{outline:3px solid #e2b84b;outline-offset:5px}@keyframes customer-service-floaty{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(-6px) rotate(1.5deg)}70%{transform:translateY(-2px) rotate(-1deg)}}@keyframes customer-service-pulse{0%{box-shadow:0 0 #32c98b66}70%,to{box-shadow:0 0 0 9px #32c98b00}}@media(max-width:520px){.customer-service-float{right:6px;bottom:64px;width:94px;height:118px;padding-bottom:4px;border-radius:22px}.customer-service-mascot{inset:0 2px 25px}.customer-service-label{min-width:70px;padding:6px 8px;font-size:11px}.customer-service-status{right:9px;bottom:6px;width:13px;height:13px}}@media(prefers-reduced-motion:reduce){.customer-service-mascot,.customer-service-status,.customer-service-spinner{animation:none}.customer-service-mascot img{transition:none}}.customer-service-dialog-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:#08161180;backdrop-filter:blur(3px)}.customer-service-dialog{width:min(420px,calc(100vw - 24px));height:min(720px,calc(100dvh - 32px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #ffffff33;border-radius:18px;background:#1f2a38;box-shadow:0 24px 70px #06110dc0}.customer-service-dialog-toolbar{height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 8px;background:#172331}.customer-service-dialog-toolbar button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#d7e5e0;font-size:20px;line-height:1;cursor:pointer}.customer-service-dialog-toolbar button:hover,.customer-service-dialog-toolbar button:focus-visible{background:#ffffff18;outline:none}.customer-service-frame-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#1f2a38}.customer-service-frame-viewport iframe{position:absolute;top:0;bottom:0;left:-2px;width:calc(100% + 4px);height:100%;border:0;background:#1f2a38}.customer-service-frame-viewport:before,.customer-service-frame-viewport:after{content:"";position:absolute;left:0;right:0;z-index:2;background:#1f2a38;pointer-events:none}.customer-service-frame-viewport:before{top:0;height:60px}.customer-service-frame-viewport:after{bottom:0;height:34px}.customer-service-frame-state{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:10px;padding:28px;text-align:center;background:#1f2a38;color:#e8f2ef}.customer-service-frame-state small{max-width:260px;color:#9fb3ad;line-height:1.6}.customer-service-frame-state.error-state{background:#202b38}.customer-service-frame-state .btn{margin-top:8px;min-width:120px}.customer-service-spinner{width:30px;height:30px;border:3px solid #ffffff2b;border-top-color:#32c98b;border-radius:50%;animation:customer-service-spin .8s linear infinite}@keyframes customer-service-spin{to{transform:rotate(360deg)}}.login-guide{color:#71857e}.captcha-box{display:flex;align-items:end;gap:10px;margin:14px 0;padding:12px;border:1px solid #d9c786;border-radius:10px;background:#fff9e8}.captcha-box .field{flex:1}.captcha-refresh{min-height:40px;border:0;background:transparent;color:#126b58;cursor:pointer;white-space:nowrap}@media(max-width:520px){.customer-service-dialog-backdrop{padding:6px}.customer-service-dialog{width:100%;height:calc(100dvh - 12px);border-radius:15px}.customer-service-dialog-toolbar{height:38px;flex-basis:38px}}.security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.security-summary article{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.security-summary small,.security-summary b{display:block}.security-summary b{font-size:28px;margin-top:8px}.security-summary article.danger b{color:#d94841}.security-settings{display:grid;gap:15px;max-width:760px}.security-settings>label:not(.field){display:flex;align-items:center;gap:9px}@media(max-width:720px){.security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-security .table-wrap{overflow-x:auto}}.status-dot.warning{color:#8a5a0d;background:#fff1d9}.status-dot.warning:before{background:#e39b22}.status-dot.offline{color:#a1302b;background:#ffe9e6}.status-dot.offline:before{background:#d94841}.terminal-network-banner{display:flex;align-items:center;gap:10px;margin:-10px 0 18px;padding:12px 15px;border:1px solid #efcf86;border-radius:11px;background:#fff7df;color:#76510e;font-size:13px}.terminal-network-banner strong{white-space:nowrap}.terminal-network-banner.offline{border-color:#efaaa4;background:#fff0ee;color:#9d302a}@media(max-width:600px){.terminal-network-banner{align-items:flex-start;flex-direction:column;gap:4px;margin-top:-5px}.status-dot{max-width:46vw;text-align:center}}.backup-summary~.panel .table-wrap,.platform-settings .table-wrap,.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.backup-summary~.panel table{min-width:720px}.platform-settings .table-wrap table{min-width:620px}@media(max-width:600px){.panel-head{align-items:stretch;gap:12px;flex-direction:column}.panel-head>.toolbar{display:grid;grid-template-columns:1fr;gap:8px}.panel-head>.toolbar>*{width:100%;min-width:0}.platform-settings .details{overflow-wrap:anywhere}.platform-settings .toolbar{flex-wrap:wrap}.platform-settings .toolbar>*{min-width:0}}:root{--primary:#0f766e;--primary-hover:#0b625b;--primary-soft:#e8f4f0;--surface:#fff;--surface-soft:#f5f9f7;--page:#eef4f1;--border:#d9e5e0;--line:#e3ece8;--text:#172a24;--text-secondary:#60746c;--danger:#b33d35;--warning:#94620d;--shadow-sm:0 4px 14px rgba(18,64,52,.055);--shadow-md:0 12px 32px rgba(18,64,52,.085);color-scheme:light}html{min-width:320px;background:var(--page);scrollbar-gutter:stable}body{min-width:320px;line-height:1.5;background:linear-gradient(145deg,#f3f7f5,#edf4f1);color:var(--text)}button,.btn,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}button,select{min-height:38px}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(226,184,75,.48);outline-offset:2px}input:focus,select:focus,textarea:focus,.input:focus{border-color:#5fae99;box-shadow:0 0 0 3px #0f766e1c;outline:none}.shell aside{overflow:hidden;box-shadow:8px 0 28px #07302714}.shell aside nav{flex:1 1 auto;align-content:start;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:#3f776b transparent}.shell aside nav::-webkit-scrollbar{width:5px}.shell aside nav::-webkit-scrollbar-thumb{background:#3f776b;border-radius:8px}.shell aside nav a{min-height:44px;border:1px solid transparent}.shell aside nav a:hover{background:#124f44;color:#fff;border-color:#2a6659}.shell aside nav a.router-link-active{background:linear-gradient(100deg,#14715f,#1a806b);box-shadow:inset 3px 0 #e2b84b,0 6px 16px #052a2229}main{background:radial-gradient(circle at 92% 2%,rgba(35,137,111,.055),transparent 28%)}main>header{padding-bottom:2px}main>header h1{letter-spacing:-.02em;color:#102f27}.card,.panel{border-color:var(--border);box-shadow:var(--shadow-sm)}.panel{border-radius:16px}.panel-head{gap:16px}.panel-head h2{color:#17372f;letter-spacing:-.01em}.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1.2;background:linear-gradient(135deg,#126b58,#0f7a63);box-shadow:0 3px 9px #0f6b581f}.btn:hover:not(:disabled){background:linear-gradient(135deg,#0e5e4d,#0c6f59);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.secondary{background:#edf5f2;color:#205f52;box-shadow:none;border:1px solid #dce9e4}.btn.secondary:hover:not(:disabled){background:#e1f0ea;color:#164d42}.btn.warn{background:#fff3df;color:#895b0c;box-shadow:none;border:1px solid #f3dfba}.btn.warn:hover:not(:disabled){background:#ffe9c5;color:#744a07}.input,.field input,.field select,.field textarea{min-height:40px;border-color:#cad9d3;background:#fff;color:var(--text)}.field textarea{line-height:1.65;resize:vertical}table{line-height:1.45}th{color:#5f746c;background:#f4f8f6}th,td{border-bottom-color:#e5eeea}tbody tr:last-child td{border-bottom:0}.tag{display:inline-flex;align-items:center;min-height:24px;font-weight:600}.empty{border:1px dashed #d6e3de;border-radius:12px;background:#f8fbfa;line-height:1.7}.modal-bg{padding:16px;backdrop-filter:blur(3px)}.modal{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid rgba(255,255,255,.72);box-shadow:0 26px 80px #08231c47;overscroll-behavior:contain}.toast{max-width:min(420px,calc(100vw - 24px));box-shadow:0 12px 32px #072c233d}.status-dot{min-height:34px;display:inline-flex;align-items:center;white-space:nowrap}.site-footer{line-height:1.6}main small,.qr-page small,.login-page small{font-size:12px!important}.shell aside .user button{flex:0 0 40px!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;display:grid;place-items:center}.shell aside .user{flex:0 0 auto}.shell aside .user>div:not(.avatar){min-width:0}.shell aside .user b{display:block;overflow-wrap:anywhere;line-height:1.35}.mobile-menu-toggle{min-width:56px!important;min-height:40px!important}.sound-toggle,.patrol-area-edit{min-height:40px!important}@media(max-width:900px){.shell aside{overflow:visible;box-shadow:0 7px 22px #0730271f}.shell aside nav{overflow-x:auto;overflow-y:hidden;padding-right:0}main{background:radial-gradient(circle at 100% 0,rgba(35,137,111,.05),transparent 24%)}.panel{border-radius:14px}}@media(max-width:520px){body{font-size:14px}main>header small{font-size:12px}main>header .status-dot{max-width:48vw;min-height:32px;padding:6px 9px;font-size:11px;line-height:1.35;white-space:normal}.shell aside .brand b{font-size:16px}.mobile-menu-toggle,.shell aside nav a,.shell aside nav .mobile-logout{font-size:12px}.mobile-menu-toggle{min-height:40px!important}main small,.qr-page small,.login-page small{font-size:12px!important}.panel{box-shadow:0 4px 13px #1240340d}.modal-bg{padding:8px;align-items:center}.modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:17px;border-radius:15px}.modal-actions{position:sticky;bottom:-17px;margin:18px -17px -17px;padding:11px 17px max(11px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);backdrop-filter:blur(8px)}.modal-actions .btn{min-height:44px}.site-footer{font-size:12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}}.qr-actions{display:flex;gap:10px;margin-top:20px}.inline-form,.mobile-inventory{display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid #dfe9e5;border-radius:12px;background:#f9fcfb}.inline-form h2,.mobile-inventory h2{font-size:17px;margin:0}.notice{margin:12px 0 0;padding:10px;border-radius:8px;background:#fff0ee;color:#a43d35;font-size:13px}.notice.success{background:#e8f5f0;color:#176957}.empty.compact{padding:16px}.repair-list{display:grid;gap:14px}.repair-item{border:1px solid #e0e9e5;border-radius:12px;padding:16px}.repair-title{display:flex;justify-content:space-between;gap:12px}.repair-title small{display:block;color:#71857d;margin-top:5px}.repair-item p{line-height:1.7}.repair-meta{display:flex;gap:18px;flex-wrap:wrap;color:#71857d;font-size:12px}.repair-handle{display:grid;grid-template-columns:140px 1fr auto;gap:10px;margin-top:14px}.repair-handle select,.repair-handle input{border:1px solid #cedbd6;border-radius:8px;padding:9px}.brand-logo{width:40px;height:40px;border-radius:10px;object-fit:contain;background:#fff}.avatar-image{object-fit:cover}.logo-setting{display:flex;align-items:center;gap:14px;margin:8px 0 20px;flex-wrap:wrap}.logo-setting img,.logo-placeholder{width:96px;height:64px;border:1px solid #dbe6e2;border-radius:10px;object-fit:contain;background:#fff}.logo-placeholder{display:grid;place-items:center;color:#82948e;font-size:12px}.file-button{display:inline-block;cursor:pointer}.file-button input{display:none}.profile-panel{max-width:680px}.profile-avatar img,.avatar-large{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#dcebe6;color:#0d5b4c;display:grid;place-items:center;font-size:32px;font-weight:700;margin-bottom:18px}@media(max-width:520px){.qr-page{padding:10px}.qr-card{padding:16px}.qr-actions{display:grid}.repair-handle{grid-template-columns:1fr}.repair-title{align-items:flex-start}.mobile-inventory,.inline-form{padding:14px}nav a{padding:10px}}.platform-summary,.resource-panel{margin-bottom:18px}.resource-head-actions{display:flex;align-items:center;gap:10px}.resource-overall{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.resource-overall.normal{background:#ddf4e8;color:#24704f}.resource-overall.warning{background:#fff2ca;color:#8d6500}.resource-overall.critical{background:#ffe0dc;color:#b43d31}.resource-overall.unknown{background:#e9edec;color:#65726d}.resource-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 16px;color:#6e817a;font-size:12px}.resource-legend span{display:inline-flex;align-items:center;gap:6px}.resource-legend i{width:9px;height:9px;border-radius:50%;background:#9ba8a4}.resource-legend i.normal{background:#38a169}.resource-legend i.warning{background:#d69e2e}.resource-legend i.critical{background:#dc4c3f}.resource-legend i.unknown{background:#9ba8a4}.resource-legend em{margin-left:auto;font-style:normal}.resource-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.resource-card{border:1px solid #dfe8e4;border-top:4px solid #38a169;border-radius:14px;padding:15px;background:#fbfdfc}.resource-card.warning{border-top-color:#d69e2e;background:#fffdf5}.resource-card.critical{border-top-color:#dc4c3f;background:#fff8f7}.resource-card.unknown{border-top-color:#9ba8a4;background:#f7f8f8}.resource-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.resource-card-head h3{margin:0 0 4px;font-size:16px;color:#203f35}.resource-card-head code{font-size:11px;color:#7a8c86}.resource-status{font-size:11px;font-weight:700;white-space:nowrap;color:#56726a}.resource-meter{margin-top:10px}.resource-meter>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#647b73}.resource-meter strong{color:#274b3f}.resource-track{height:7px;margin-top:5px;border-radius:999px;overflow:hidden;background:#e6edea}.resource-track i{display:block;height:100%;border-radius:inherit;background:#38a169}.resource-card.warning .resource-track i{background:#d69e2e}.resource-card.critical .resource-track i{background:#dc4c3f}.resource-card.unknown .resource-track i{background:#9ba8a4}.resource-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:13px;padding-top:10px;border-top:1px solid #e3ebe8;color:#71857e;font-size:11px}.alert-metric strong{color:#b85c35}.platform-panel-head{align-items:center;gap:16px}.platform-panel-head p{margin:4px 0 0;color:#70847d}.tenant-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}.tenant-card{border:1px solid #dfe8e4;border-radius:16px;padding:18px;background:linear-gradient(145deg,#fff,#f8fbfa);box-shadow:0 8px 24px #1f46390f}.tenant-card.disabled{background:#f5f6f6;opacity:.82}.tenant-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tenant-card-head h3{margin:0 0 4px;font-size:18px;color:#193c31}.tenant-card-code{font-size:12px;color:#778b84;word-break:break-all}.tenant-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.tenant-stat{border-radius:11px;padding:12px;background:#edf5f1}.tenant-stat.alert{background:#fff1eb}.tenant-stat small{display:block;color:#6c817a;margin-bottom:5px}.tenant-stat strong{font-size:24px;color:#214e40}.tenant-stat.alert strong{color:#b85c35}.tenant-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #e2eae7;color:#80918b;font-size:12px}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap;background:#ddf4e8;color:#24704f}.status-chip.off{background:#ecefee;color:#66716d}.status-chip.expiring{background:#fff1d9;color:#91620e}.status-chip.expired{background:#ffe3df;color:#aa3f35}.status-chip.disabled{background:#ecefee;color:#66716d}.tenant-validity{display:flex;justify-content:space-between;gap:8px;margin-top:13px;color:#657a72;font-size:12px}.tenant-validity em{font-style:normal;color:#a24a3f}.dashboard-empty{padding:36px 12px;text-align:center;color:#71837d}.status-dot.expired{color:#a33f35;background:#ffe5e1}.status-dot.expired:before{background:#d34d42}.tenant-expiry-banner{display:flex;align-items:center;gap:12px;margin:-6px 0 18px;padding:13px 16px;border:1px solid #efb5ad;border-radius:12px;background:#fff2f0;color:#8e372f;font-size:13px}.tenant-expiry-banner strong{white-space:nowrap}.tenant-expiry-banner span{line-height:1.6}.renewal-notice{width:min(520px,92vw)}.renewal-notice p{color:#5f726b;line-height:1.8}.tag.expiring{background:#fff1d9;color:#91620e}.tag.expired{background:#ffe3df;color:#aa3f35}.tag.disabled{background:#ecefee;color:#66716d}.dashboard-empty.compact{padding:22px 8px}.tenant-dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.tenant-dashboard-head h2{margin:0;color:#193c31;font-size:21px}.tenant-dashboard-head p{margin:5px 0 0;color:#71857e;font-size:13px}.dashboard-period{display:flex;align-items:center;gap:9px;color:#60756e;font-size:13px;white-space:nowrap}.dashboard-period .input{min-width:106px}.tenant-summary{grid-template-columns:repeat(6,minmax(135px,1fr))}.dashboard-metric{position:relative;overflow:hidden;text-decoration:none;color:inherit;min-height:124px;border-top:4px solid #187b65;transition:transform .18s ease,box-shadow .18s ease}a.dashboard-metric:hover{transform:translateY(-2px);box-shadow:0 10px 24px #18493b1f}.dashboard-metric:after{content:"";position:absolute;width:74px;height:74px;border-radius:50%;right:-22px;bottom:-24px;background:currentColor;opacity:.06}.dashboard-metric.green{border-top-color:#187b65}.dashboard-metric.gold{border-top-color:#d6a737}.dashboard-metric.coral{border-top-color:#d46a52}.dashboard-metric.blue{border-top-color:#4e73c8}.dashboard-metric.violet{border-top-color:#7b67b5}.dashboard-metric.red{border-top-color:#ba4d49}.dashboard-chart-grid{display:grid;gap:16px}.dashboard-breakdowns{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analysis-grid .trend-panel{grid-column:1/-1}.dashboard-chart-panel{margin-top:18px;min-width:0}.dashboard-chart-panel .panel-head{align-items:flex-start;margin-bottom:14px}.dashboard-chart-panel .panel-head small,.task-progress-panel .panel-head small,.dashboard-quick-panel .panel-head small{display:block;margin-top:4px;color:#7c8f88}.dashboard-chart-panel .panel-head>strong{font-size:24px;color:#315b4d}.rank-list{display:grid;gap:12px}.rank-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#536c63}.rank-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-label b{color:#274b3f}.rank-track{height:7px;border-radius:999px;background:#e8eeeb;overflow:hidden;margin-top:5px}.rank-track i{display:block;height:100%;border-radius:inherit;min-width:2px}.donut-layout{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;min-height:190px}.donut-chart{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;position:relative}.donut-chart:after{content:"";position:absolute;inset:26px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #edf1ef}.donut-chart span{position:relative;z-index:1;font-size:24px;font-weight:800;color:#274b3f;text-align:center}.donut-chart small{display:block;font-size:11px;font-weight:500;color:#7a8d86;margin-top:2px}.chart-legend{display:grid;gap:9px;min-width:0}.chart-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;color:#5c7169}.chart-legend i,.trend-legend i{width:8px;height:8px;border-radius:50%}.chart-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend b{color:#2a4e42}.trend-legend{display:flex;justify-content:flex-end;gap:16px;margin:-3px 0 10px;font-size:11px;color:#6b7f78}.trend-legend span{display:flex;align-items:center;gap:5px}.trend-legend i.scan{background:#187b65}.trend-legend i.repair{background:#d46a52}.trend-chart{height:220px;display:flex;align-items:stretch;gap:3px;border-bottom:1px solid #dfe8e4;padding:8px 2px 27px}.trend-day{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;justify-content:flex-end}.trend-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.trend-bars i{display:block;width:min(9px,42%);min-height:1px;border-radius:4px 4px 1px 1px}.trend-bars i.scan{background:#187b65}.trend-bars i.repair{background:#d46a52}.trend-day small{position:absolute;left:50%;bottom:-20px;transform:translate(-50%);font-size:9px;color:#7c8e88;white-space:nowrap}.task-progress-panel .panel-head a{font-size:12px;color:#187b65;text-decoration:none}.task-progress-list{display:grid;gap:13px}.task-progress-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,2fr) 52px;align-items:center;gap:14px}.task-progress-row>div:first-child{min-width:0}.task-progress-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#2b4d42}.task-progress-row span{font-size:11px;color:#7b8e87}.task-progress-row>b{text-align:right;color:#2e6554;font-size:13px}.task-progress-track{height:9px;border-radius:999px;background:#e7eeeb;overflow:hidden}.task-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#187b65,#4aa989)}.dashboard-quick-panel{margin-bottom:10px}@media(max-width:1100px){.resource-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1380px){.tenant-summary{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-analysis-grid .trend-panel{grid-column:auto}}@media(max-width:620px){.resource-card-grid,.tenant-card-grid,.dashboard-breakdowns{grid-template-columns:1fr}.resource-head-actions{align-items:flex-end;flex-direction:column}.resource-legend em{width:100%;margin-left:0}.tenant-card{padding:15px}.tenant-card-foot,.tenant-dashboard-head{align-items:flex-start;flex-direction:column}.tenant-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-metric{min-height:108px}.donut-layout{grid-template-columns:118px 1fr;gap:14px}.donut-chart{width:112px;height:112px}.donut-chart:after{inset:21px}.trend-chart{height:180px}.task-progress-row{grid-template-columns:1fr 48px;gap:8px}.task-progress-row>div:first-child{grid-column:1/-1}.tenant-expiry-banner{align-items:flex-start;flex-direction:column;gap:4px}}.inventory-message{margin-bottom:14px}.table-scroll{overflow-x:auto}.inventory-scan-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;margin-bottom:18px;border:1px solid #dbe7e2;border-radius:14px;background:#f7fbf9}.scan-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.scan-step>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#176957;color:#fff;font-weight:700;margin-top:21px}.scan-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.scan-submit{grid-column:1/-1}.qr-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0;padding:5px;border-radius:12px;background:#edf4f1;overflow:visible}.qr-menu button{border:0;border-radius:9px;padding:10px 6px;background:transparent;color:#49685e;font-weight:600}.qr-menu button.active{background:#fff;color:#176957;box-shadow:0 2px 8px #1446361a}.mobile-inventory{scroll-margin-top:12px}.mobile-inventory-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-inventory-head small{color:#6f837c}.login-chip{padding:5px 10px;border-radius:999px;background:#dff3e9;color:#176957;font-size:12px}.mobile-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mobile-steps span{padding:8px 4px;border-radius:8px;background:#edf1ef;color:#7a8c86;text-align:center;font-size:12px}.mobile-steps span.done{background:#e0f3ea;color:#176957}.already-scanned{display:grid;gap:4px;padding:13px;border:1px solid #add9c8;border-radius:10px;background:#e7f6ef;color:#176957}.already-scanned span{font-size:13px}.mobile-scan-submit{width:100%;min-height:46px}.mobile-login-guide{display:grid;gap:10px;margin-top:18px;padding:18px;border-radius:12px;background:#edf6f2}.mobile-login-guide h2,.mobile-login-guide p{margin:0}.mobile-login-guide p{font-size:13px;line-height:1.7;color:#59736a}@media(max-width:700px){.inventory-scan-form{grid-template-columns:1fr}.scan-extra{grid-column:auto;grid-template-columns:1fr}.scan-submit{grid-column:auto}.inventory-task-list .panel-head{align-items:flex-start}.inventory-task-list .panel-head .btn{white-space:nowrap}.qr-card{max-width:560px}.qr-menu{position:sticky;top:6px;z-index:3}.mobile-inventory{padding:14px}.mobile-steps{font-size:11px}}.mobile-workbench{display:grid;gap:14px;max-width:680px;margin:0 auto}.mobile-hero,.mobile-panel{border:1px solid #dbe7e2;border-radius:18px;background:#fff;padding:18px}.mobile-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(145deg,#e8f5ef,#f8fcfa)}.mobile-hero h2{margin:3px 0 6px;font-size:24px}.mobile-hero p,.mobile-panel p{margin:0;color:#637970;line-height:1.6}.mobile-hero-actions{display:grid;justify-items:end;gap:8px}.sound-toggle{min-height:36px;padding:6px 10px;border:1px solid #85bba7;border-radius:999px;background:#e8f6f0;color:#185c48;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.sound-toggle.off{border-color:#c8d1cd;background:#f2f4f3;color:#65736e}.mobile-message{margin:0}.mobile-panel{display:grid;gap:15px}.mobile-panel h3{margin:0;font-size:17px}.mobile-progress{display:grid;gap:8px;padding:12px;border-radius:12px;background:#f0f6f3}.mobile-progress div{display:flex;justify-content:space-between}.mobile-progress progress{width:100%;accent-color:#176957}.camera-guide{display:flex;gap:12px;align-items:center;padding:14px;border:1px dashed #b9cbc4;border-radius:12px;background:#f7f9f8}.camera-guide.ready{border-color:#54a486;background:#eaf7f1}.camera-guide p{font-size:12px;margin-top:3px}.camera-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#dbe9e3;color:#176957;font-size:23px}.camera-access-status{display:grid;gap:4px;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.6}.camera-access-status.secure{border:1px solid #9bcbb8;background:#eef9f4;color:#185c48}.camera-access-status.http{border:1px solid #e3c581;background:#fff8e8;color:#725314}.camera-access-status b{font-size:13px}.camera-access-status small{opacity:.9}.camera-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.camera-button{min-height:46px;display:grid;place-items:center;text-align:center;cursor:pointer}.camera-button.disabled{pointer-events:none;opacity:.55}.camera-file{display:none}.camera-viewport{position:relative;overflow:hidden;border-radius:14px;background:#10231e;aspect-ratio:3/4}.camera-viewport video{width:100%;height:100%;object-fit:cover}.camera-viewport span{position:absolute;left:12px;right:12px;bottom:12px;padding:9px;border-radius:9px;background:#0b211bbf;color:#fff;text-align:center;font-size:12px}.mobile-scan-form{display:grid;gap:12px}.mobile-section-head{display:flex;justify-content:space-between;align-items:center}.mobile-log-list{display:grid;gap:10px}.mobile-log-list article{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f5f8f7}.mobile-log-list small{display:block;margin-top:4px;color:#71857d}.mobile-log-result{text-align:right}.mobile-log-result .tag{display:inline-flex}.native-auto-banner{display:grid;gap:3px;padding:12px 14px;border:1px solid #72b89e;border-radius:12px;background:#e8f7f1;color:#165d48}.native-auto-banner span{font-size:12px}.native-continue{width:100%;min-height:46px}@media(max-width:700px){main:has(.mobile-workbench){padding:10px 10px 84px}main:has(.mobile-workbench)>header{margin-bottom:10px}.mobile-workbench{gap:10px}.mobile-hero,.mobile-panel{padding:14px;border-radius:14px}.mobile-hero{display:grid}.mobile-hero-actions{justify-items:start}.mobile-hero h2{font-size:22px}.mobile-log-list article{display:grid}.mobile-log-result{text-align:left}.camera-actions{grid-template-columns:1fr}}@media(max-width:900px){.shell aside{position:sticky;top:0;z-index:10;border-bottom:1px solid #285a50}.shell aside .brand{padding-bottom:9px}.shell aside nav{scrollbar-width:none;padding-bottom:2px}.shell aside nav::-webkit-scrollbar{display:none}.shell aside nav a{min-height:44px;flex:0 0 auto;padding:9px 12px}main>header{margin-bottom:16px}button,.btn,input,select,textarea{min-height:44px}}.mobile-menu-toggle,.mobile-logout{display:none}.native-terminal .shell aside{padding:5px 8px;position:sticky;top:0}.native-terminal .shell aside .brand{display:flex;padding:0 4px}.native-terminal .shell aside .user{display:none}.native-terminal .shell aside nav{gap:3px;padding:0}.native-terminal .shell aside nav a{min-height:38px;padding:6px 9px;font-size:12px}.native-terminal .shell main{padding:10px 10px 72px}.native-terminal .shell main>header{display:none}.native-terminal .mobile-workbench{max-width:none}.native-terminal .mobile-hero{padding:12px 14px}.native-terminal .mobile-hero h2{font-size:21px}@media(min-width:521px)and (max-width:900px){main{padding:20px clamp(18px,4vw,32px)}.login-form{padding:48px}.login-box{width:min(440px,100%)}}@media(max-width:520px){.shell aside{padding:8px 10px}.shell aside .brand{padding:0 4px;min-height:46px}.shell aside .brand-mark{width:34px;height:34px;border-radius:9px}.shell aside .brand small{display:none}.mobile-menu-toggle{display:block;margin-left:auto;min-width:56px;min-height:40px!important;padding:8px 12px;border:1px solid #5d8e82;border-radius:9px;background:#174f44;color:#fff;font-size:12px}.shell aside nav{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 0 2px;overflow:visible}.shell aside.mobile-nav-open nav{display:grid}.shell aside nav a{justify-content:center;min-width:0;font-size:12px;gap:4px;padding:7px 5px;white-space:normal;text-align:center}.shell aside nav a span{font-size:16px;width:18px}.shell aside nav .mobile-logout{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;padding:7px 5px;border:1px solid #35665b;border-radius:9px;background:#123f36;color:#dbece7;font-size:12px}.shell aside nav .mobile-logout span{width:18px;font-size:16px}main>header{align-items:flex-start}main>header h1{font-size:21px}main>header .status-dot{padding:6px 8px;font-size:10px}.login-form{padding:22px 18px}.login-box h2{font-size:25px}.login-box input,.login-box .btn{width:100%;font-size:16px}.qr-page{padding:8px}.qr-card{padding:14px;border-radius:14px}.toolbar>.input,.toolbar>.btn{width:100%}.modal{width:calc(100vw - 20px);padding:18px}.panel-head{align-items:flex-start;gap:10px}.panel-head>.btn{flex:0 0 auto}.mobile-card-table{overflow:visible!important}.mobile-card-table table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block;width:100%}.mobile-card-table thead{display:none}.mobile-card-table tbody{display:grid;gap:10px}.mobile-card-table tr{padding:11px 12px;border:1px solid #dfe9e5;border-radius:12px;background:#f9fbfa}.mobile-card-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px;padding:7px 0;border:0;line-height:1.5;overflow-wrap:anywhere}.mobile-card-table td:before{content:attr(data-label);color:#758a82;font-size:12px;font-weight:600}.mobile-card-table td[data-label=操作]{display:block;padding-top:10px;border-top:1px solid #e5ece9}.mobile-card-table td[data-label=操作]:before{display:none}.mobile-card-table td[data-label=选择]{grid-template-columns:92px 1fr;align-items:center}.mobile-card-table td[colspan]{display:block;text-align:center}.mobile-card-table td[colspan]:before{display:none}.mobile-card-table .toolbar{gap:7px}.mobile-card-table .toolbar .btn{flex:1 1 auto}}.muted{color:#789087}.label-address{margin-bottom:15px;overflow-wrap:anywhere}.label-selection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:15px}.label-selection-summary>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;padding:14px 16px;border:1px solid #dce8e3;border-radius:12px;background:#f8fbfa}.label-selection-summary small{color:#70847d}.label-selection-summary b{justify-self:end;color:#164f42}.label-selection-summary span{grid-column:1/-1;color:#70847d;font-size:13px}.label-toolbar{align-items:end;margin-bottom:15px}.label-toolbar .field{min-width:130px}.label-message{align-self:center;color:#176957}.label-table-wrap{overflow-x:auto}.label-table-wrap tr{cursor:pointer}.label-table-wrap tr.selected{background:#edf8f4}.check-cell{width:46px;text-align:center}.check-cell input{width:18px;height:18px;accent-color:#176957;cursor:pointer}.label-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.label-pagination label{display:flex;align-items:center;gap:8px;color:#60756d}.label-pagination select{min-height:40px;border:1px solid #cddbd5;border-radius:8px;padding:0 12px;background:#fff}@media(max-width:700px){.label-selection-summary{grid-template-columns:1fr}.label-toolbar{display:grid;grid-template-columns:1fr 1fr}.label-toolbar .field,.label-toolbar .btn,.label-message{width:100%;min-width:0}.label-toolbar .field,.label-message{grid-column:1/-1}.label-pagination{display:grid;grid-template-columns:1fr 1fr}.label-pagination label{grid-column:1/-1;grid-row:1;justify-content:center}.label-pagination .btn{width:100%}}.preprint-box{display:grid;grid-template-columns:minmax(260px,1fr) 150px auto;gap:16px;align-items:end;margin:16px 0;padding:16px;border:1px solid #d9e6e1;border-radius:14px;background:#f7fbf9}.preprint-box h3{margin:0 0 6px}.preprint-box p{margin:0;color:#60756d;line-height:1.6}@media(max-width:760px){.preprint-box{grid-template-columns:1fr}.preprint-box .btn{width:100%}}.import-modal{max-width:760px}.import-fields{line-height:1.8;color:#60756d;background:#f8fbfa;border:1px solid #dce8e3;border-radius:10px;padding:12px 14px}.import-modal input[type=file]{padding:10px;background:#fff}@media(max-width:700px){.import-modal .panel-head{align-items:flex-start}.import-modal .panel-head .btn{width:auto}}.lifecycle-tabs{margin:16px 0 10px}.lifecycle-guide{margin-bottom:14px}.asset-actions{flex-wrap:wrap;min-width:250px}.asset-actions .btn{padding:7px 10px}@media(max-width:760px){.asset-actions{min-width:0}.lifecycle-tabs .btn{flex:1}}.terminal-download-grid{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center}.terminal-qr{display:grid;justify-items:center;gap:8px;padding:14px;border:1px solid #dbe7e2;border-radius:14px;background:#fff}.terminal-qr img{width:190px;height:190px;image-rendering:pixelated}.terminal-download-info{display:grid;gap:16px}.terminal-download-info .btn{width:max-content}.terminal-hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.terminal-download-info p{margin:0;color:#60766e;line-height:1.6}@media(max-width:700px){.terminal-download-grid{grid-template-columns:1fr}.terminal-qr{width:min(100%,240px);margin:auto}.terminal-download-info .btn{width:100%;text-align:center}}.patrol-message{padding:10px 14px;border-radius:10px;background:#e4f5ee;color:#17624f}.patrol-form .input{min-width:135px}.patrol-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:15px}.patrol-point-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.patrol-card{border:1px solid #dfe9e5;border-radius:12px;padding:14px;display:grid;gap:8px;background:#fbfdfc}.patrol-card>span,.patrol-card small{display:block;color:#70857d;font-size:12px}.patrol-card>div{display:flex;gap:7px;flex-wrap:wrap}.patrol-point-card{grid-template-rows:auto auto minmax(42px,auto) auto}.patrol-area-row{align-items:center;justify-content:space-between;min-height:42px;padding:7px 9px;border-radius:9px;background:#f1f7f4;color:#587069;font-size:12px}.patrol-area-edit{min-height:30px;border:0;border-radius:7px;padding:4px 9px;background:#dfeee8;color:#176957;cursor:pointer;white-space:nowrap}.patrol-area-editor{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px!important}.patrol-area-editor .input{width:100%;min-width:0}.patrol-area-editor .btn{height:40px;padding:0 12px}.patrol-card-actions{align-self:end;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:7px!important;min-height:40px;width:100%}.patrol-card-actions .btn{height:40px;width:100%;min-width:0;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}.patrol-card-actions .patrol-code-tag{min-height:40px;width:100%;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;white-space:nowrap}.patrol-card i{justify-self:start;font-style:normal;font-size:11px;padding:4px 8px;border-radius:12px;background:#edf2f0}.patrol-card i.normal{background:#dff4eb;color:#127054}.patrol-card i.risk{background:#fff0d9;color:#96600a}.patrol-lock{min-height:55vh;display:grid;place-content:center;text-align:center;background:#fff;border:1px solid #dfe9e5;border-radius:16px;padding:30px}.patrol-lock>div{font-size:44px}.patrol-lock p,.patrol-scan-panel>p{color:#6d817a}.patrol-task-choice{text-align:left;border:1px solid #d6e3de;background:#fff;border-radius:12px;padding:14px;display:flex;justify-content:space-between}.patrol-task-choice.active{border-color:#14705c;background:#eaf6f1}.patrol-progress strong{font-size:38px;color:#126b58}.patrol-progress span{color:#71857e}.patrol-switch{display:block;margin:14px 0}.patrol-scan-button{width:100%;border:0;border-radius:14px;padding:18px;background:#126b58;color:#fff;font-size:19px;font-weight:700}.patrol-scan-button:disabled{opacity:.55}@media(max-width:600px){.patrol-cards,.patrol-point-cards{grid-template-columns:1fr}.patrol-form{display:grid}.patrol-form .input{width:100%}.patrol-area-editor{grid-template-columns:1fr 1fr}.patrol-area-editor .input{grid-column:1/-1}.patrol-terminal-panel,.patrol-scan-panel{overflow:visible}}.guide-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}.guide-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-span{grid-column:1/-1}.guide-checks{display:flex;gap:24px;flex-wrap:wrap}.guide-checks label{display:flex;align-items:center;gap:8px}.guide-asset-picker{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface-soft)}.guide-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.guide-picker-head>div:first-child{display:flex;flex-direction:column;gap:4px}.guide-picker-head>div:last-child{display:flex;gap:8px}.guide-assets{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:280px;overflow:auto;margin:12px 0}.guide-assets label{display:flex;gap:9px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.guide-assets label.selected{border-color:var(--primary);background:var(--primary-soft)}.guide-assets span{display:flex;flex-direction:column;min-width:0}.guide-assets b,.guide-assets small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-save{grid-column:1/-1}.guide-cards{display:grid;gap:12px}.guide-cards article{border:1px solid var(--border);border-radius:14px;padding:14px}.guide-cards h3{margin:10px 0 6px}.guide-cards p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary)}.guide-actions{display:flex;gap:8px;margin-top:12px}.guide-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.asset-guides-public{margin-top:18px;border-top:1px solid #dfe7e3;padding-top:16px}.asset-guides-public h2{margin:0 0 10px}.public-guide-card{border:1px solid #dfe7e3;border-radius:12px;padding:14px;margin-top:10px;background:#f9fcfa}.public-guide-card h3{margin:8px 0 5px}.public-guide-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.public-guide-content{color:#263c34}@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-list{order:-1}}@media(max-width:640px){.guide-form,.guide-assets{grid-template-columns:1fr}.guide-picker-head{flex-direction:column}.guide-picker-head>div:last-child{width:100%}.guide-picker-head .btn{flex:1}.guide-layout .panel{padding:14px}.guide-actions .btn{flex:1}}@media(max-width:640px){.guide-list>.panel-head{align-items:stretch;flex-direction:column}.guide-list>.panel-head>.toolbar{display:grid;grid-template-columns:1fr;width:100%}.guide-list>.panel-head>.toolbar .input,.guide-list>.panel-head>.toolbar .btn{width:100%}}
