body,html{background:#f5f7fb;margin:0;min-height:100%}page{background:#f5f7fb;color:#172033;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif}taro-button-core,taro-input-core,taro-text-core,taro-textarea-core,taro-view-core{box-sizing:border-box}taro-button-core::after{border:0}.app-frame{min-height:100vh}.desktop-rail{background:#fff;border-right:1px solid #e8ebf2;display:flex;flex-direction:column;inset:0 auto 0 0;padding:28px 16px 20px;position:fixed;width:244px;z-index:10}.app-main{margin-left:244px;min-height:100vh}.rail-brand{align-items:center;display:flex;gap:11px;padding:0 10px}.brand-symbol{background:#173f5f;border-radius:13px;display:block;flex-shrink:0;height:38px;overflow:hidden;width:38px}.brand-symbol,.brand-symbol img{height:38px;width:38px}.rail-brand-copy{min-width:0}.rail-brand-title{color:#142133;display:block;font-size:16px;font-weight:800;overflow-wrap:anywhere}.rail-brand-subtitle{color:#96a0b2;display:block;font-size:11px;margin-top:3px}.rail-nav{display:flex;flex-direction:column;gap:5px;margin-top:34px}.rail-nav-item{align-items:center;border-radius:11px;color:#738097;display:flex;font-size:14px;gap:12px;height:46px;padding:0 14px;position:relative;text-decoration:none}.rail-nav-item--active{background:#edf7f8;color:#137c88;font-weight:700}.nav-icon{align-items:center;color:currentColor;display:inline-flex;font-size:20px;justify-content:center;line-height:1;width:22px}.nav-active-bar{background:#1a8b95;border-radius:3px 0 0 3px;height:26px;position:absolute;right:-16px;top:10px;width:3px}.rail-footnote{color:#a2aaba;display:flex;flex-direction:column;font-size:11px;gap:5px;margin-top:auto;padding:0 14px}.mobile-tabbar{display:none}.mobile-tabbar-row,.mobile-tabbar-safe{display:none}.page-shell,.subpage{min-height:100vh;padding:36px 42px 56px}.page-shell{margin:0 auto;max-width:1540px}.subpage{margin:0 auto;max-width:1540px}.subpage-header,.topbar{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:30px}.topbar-heading{align-items:center;display:flex;gap:14px;min-width:0}.page-brand-mark{background:#173f5f;border-radius:16px;box-shadow:0 8px 18px rgba(20,61,95,.22);display:block;flex-shrink:0;height:52px;overflow:hidden;width:52px}.page-brand-mark,.page-brand-mark img{height:52px;width:52px}.brand-title,.subpage-title{color:#142133;display:block;font-size:31px;font-weight:800;letter-spacing:-.03em}.brand-subtitle,.subpage-subtitle{color:#8691a4;display:block;font-size:14px;margin-top:7px}.topbar-actions{align-items:center;display:flex;gap:10px}.status-pill{align-items:center;background:#eaf8f2;border-radius:999px;color:#218467;display:inline-flex;font-size:12px;font-weight:700;min-height:31px;padding:0 12px;white-space:nowrap}.status-pill--offline{background:#fff0f0;color:#c84b55}.summary-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.panel,.summary-card{background:#fff;border:1px solid #e8ebf2;border-radius:16px;box-shadow:0 8px 24px rgba(37,51,76,.045)}.summary-card{min-width:0;padding:18px 20px}.summary-card--all,.summary-card--attention,.summary-card--available,.summary-card--in-use{border-width:2px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.summary-card--all:active,.summary-card--attention:active,.summary-card--available:active,.summary-card--in-use:active{transform:scale(.985)}.summary-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.summary-filter-hint,.summary-filter-tag{flex-shrink:0;font-size:10px;font-weight:700}.summary-filter-hint{color:#b4bcc9}.summary-filter-tag{background:rgba(20,33,51,.08);border-radius:999px;color:#142133;padding:2px 7px}.summary-card--highlight{background:linear-gradient(145deg,#fff,#f2fbfb);border-color:#d9eff0}.summary-card--in-use{background:linear-gradient(145deg,#fff,#f4fbfb);border-color:#d9eff0}.summary-card--available{background:linear-gradient(145deg,#fff,#f4fbf7);border-color:#d7eee4}.summary-card--all{border-color:#e4e8ef}.summary-card--attention{background:linear-gradient(145deg,#fff,#fff7f7);border-color:#f0d4d7}.summary-card--attention.summary-card--alert{border-color:#e8a8af;box-shadow:0 8px 22px rgba(185,71,83,.12)}.summary-card--attention.summary-card--alert .summary-value{color:#b94753}.summary-card--selected{box-shadow:0 10px 26px rgba(37,51,76,.1)}.summary-card--all.summary-card--selected{background:linear-gradient(145deg,#f4f6f9,#e8edf4);border-color:#1b2b41}.summary-card--all.summary-card--selected .summary-filter-tag{background:#1b2b41;color:#fff}.summary-card--in-use.summary-card--selected{background:linear-gradient(145deg,#e7f6f7,#cfecee);border-color:#15818d}.summary-card--in-use.summary-card--selected .summary-filter-tag{background:#15818d;color:#fff}.summary-card--in-use.summary-card--selected .summary-value{color:#0f6e78}.summary-card--available.summary-card--selected{background:linear-gradient(145deg,#e7f7f0,#d2f0e4);border-color:#27876b}.summary-card--available.summary-card--selected .summary-filter-tag{background:#27876b;color:#fff}.summary-card--available.summary-card--selected .summary-value{color:#1e6f59}.summary-card--attention.summary-card--selected{background:linear-gradient(145deg,#ffe4e7,#ffd0d5);border-color:#c54f5b;box-shadow:0 10px 26px rgba(197,79,91,.22)}.summary-card--attention.summary-card--selected .summary-filter-tag{background:#c54f5b;color:#fff}.summary-card--attention.summary-card--selected .summary-value{color:#9d2f3b}.summary-label{color:#8893a5;display:block;font-size:13px}.summary-value{color:#142133;display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;margin-top:10px}.summary-note{color:#a5aebe;display:block;font-size:11px;margin-top:6px}.panel{min-width:0;padding:22px}.panel + .panel{margin-top:18px}.panel-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.panel-title{color:#1a283b;font-size:18px;font-weight:800}.panel-caption{color:#9aa4b4;display:block;font-size:12px;line-height:1.5;margin-top:6px;max-width:660px}.empty-state{border:1px dashed #d6dce6;border-radius:13px;color:#8c97a8;font-size:14px;padding:48px 20px;text-align:center}.back-button,.button,.quick-link{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#17334c;border:1px solid transparent;border-radius:10px;color:#fff;display:inline-flex;font-size:13px;font-weight:700;height:40px;justify-content:center;line-height:1.2;margin:0;min-height:40px;min-width:0;padding:0 15px;text-align:center;white-space:nowrap;width:auto}.button--secondary{background:#fff;border-color:#75bbc1;color:#147b85}.button--accent{background:#15818d;border-color:#15818d;color:#fff}.button--danger{background:#c54f5b;border-color:#c54f5b;color:#fff}.button--ghost{background:#fff;border-color:#e3aeb4;color:#b94753}.button[disabled=false]{opacity:1}.button--secondary[disabled=false]{color:#147b85}.button--accent[disabled=false],.button--danger[disabled=false]{color:#fff}.button--ghost[disabled=false]{color:#b94753}.button--busy,.button:disabled,.button[disabled=""],.button[disabled=true]{opacity:.5}.button--ghost:disabled,.button--ghost[disabled=""],.button--ghost[disabled=true],.button--secondary:disabled,.button--secondary[disabled=""],.button--secondary[disabled=true]{background:#f1f5f9;border-color:#cbd5e1;color:#64748b;opacity:1}.button--small{font-size:12px;height:32px;min-height:32px;padding:0 11px}.back-button{background:#17334c;font-size:12px;height:36px;min-height:36px;text-decoration:none}.error-text{color:#be3d49;display:block;font-size:13px;line-height:1.5;margin:10px 0}.success-text{color:#218467;display:block;font-size:13px;line-height:1.5;margin:10px 0}.select-row{align-items:center;display:flex;gap:10px;margin-bottom:18px}.select-label{color:#8b96a8;font-size:12px;white-space:nowrap}.field-input,.select-box{align-items:center;background:#fff;border:1px solid #dce2eb;border-radius:9px;color:#27374c;display:inline-flex;font-size:13px;min-height:40px;padding:0 12px}.select-box{min-width:150px;white-space:nowrap}.field{display:block;margin-bottom:14px;min-width:0}.field-label{color:#69778c;display:block;font-size:12px;margin-bottom:7px}.field-input{width:100%}.field-input::-moz-placeholder{color:#b1b9c6}.field-input::placeholder{color:#b1b9c6}.modal-mask{align-items:center;background:rgba(19,31,48,.54);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:40}.modal-card{background:#fff;border:1px solid hsla(0,0%,100%,.45);border-radius:18px;box-shadow:0 24px 72px rgba(14,28,46,.22);max-height:min(740px,92vh);overflow-y:auto;padding:26px;width:min(520px,100%)}.modal-title{color:#142133;display:block;font-size:21px;font-weight:800;margin-bottom:20px}.modal-copy{color:#748196;font-size:13px;line-height:1.7}.modal-actions{display:flex;gap:10px;margin-top:22px}.modal-actions .button{flex:1 1 0}.quote-box{background:#f7fafb;border-radius:12px;color:#425269;display:flex;flex-direction:column;font-size:13px;gap:9px;line-height:1.5;padding:15px}.login-shell{align-items:center;background:radial-gradient(circle at 78% 4%,rgba(28,145,154,.16),transparent 28%),radial-gradient(circle at 12% 90%,rgba(232,179,90,.12),transparent 26%),#f5f7fb;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:hsla(0,0%,100%,.94);border:1px solid #e7ebf1;border-radius:20px;box-shadow:0 22px 64px rgba(24,42,63,.1);padding:34px;width:min(420px,100%)}.login-mark{background:#173f5f;border-radius:24px;box-shadow:0 12px 28px rgba(20,61,95,.24);display:block;height:96px;margin-bottom:18px;overflow:hidden;width:96px}.login-mark,.login-mark img{height:96px;width:96px}.login-kicker{color:#15818d;display:block;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:13px}.login-title{color:#142133;display:block;font-size:29px;font-weight:800;letter-spacing:-.04em}.login-subtitle{color:#8290a3;display:block;font-size:13px;line-height:1.7;margin:9px 0 28px}.login-demo{border-top:1px solid #edf0f4;display:flex;flex-direction:column;gap:7px;margin-top:15px;padding-top:16px}.login-demo-note{color:#9ba5b4;font-size:11px;line-height:1.5}@media (max-width:1120px){.desktop-rail{width:218px}.app-main{margin-left:218px}.page-shell,.subpage{padding-left:26px;padding-right:26px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.desktop-rail{display:none}.app-main{margin-left:0;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.page-brand-mark,.page-brand-mark img{height:44px;width:44px}.mobile-tabbar{background:hsla(0,0%,100%,.97);border-top:1px solid #e6ebf1;bottom:0;box-shadow:0 -8px 24px rgba(36,49,70,.06);box-sizing:content-box;display:flex;flex-direction:column;height:auto;left:0;min-height:0;padding:0;position:fixed;right:0;z-index:30}.mobile-tabbar-row{box-sizing:border-box;display:flex;min-height:50px;padding:7px 6px}.mobile-tabbar-safe{background:hsla(0,0%,100%,.97);box-sizing:content-box;display:block;flex-shrink:0;height:0;overflow:hidden;padding-top:env(safe-area-inset-bottom);width:100%}.mobile-tabbar-safe taro-text-core{display:block;font-size:0;height:0;line-height:0;overflow:hidden}.mobile-tab{align-items:center;color:#9aa5b5;display:flex;flex:1;flex-direction:column;font-size:9px;gap:2px;justify-content:center;min-width:0;text-decoration:none}.mobile-tab--active{color:#15818d;font-weight:800}.mobile-tab-icon{font-size:17px;line-height:1}.page-shell,.subpage{padding:22px 15px 28px}.subpage-header,.topbar{align-items:flex-start;margin-bottom:22px}.brand-title,.subpage-title{font-size:24px}.brand-subtitle,.subpage-subtitle{font-size:12px;line-height:1.5;max-width:230px}.topbar-actions{gap:6px}.status-pill{font-size:10px;padding:0 8px}.summary-grid{gap:9px;margin-bottom:12px}.summary-card{border-radius:13px;padding:14px}.summary-filter-hint,.summary-filter-tag{font-size:9px}.summary-label{font-size:11px}.summary-value{font-size:24px;margin-top:7px}.summary-note{font-size:10px}.panel{border-radius:14px;padding:15px}.panel + .panel{margin-top:12px}.panel-title{font-size:16px}.panel-caption{font-size:11px}.panel-header{margin-bottom:14px}.select-row{margin-bottom:14px}.select-box{flex:1;min-width:0}.button{font-size:12px;height:38px;min-height:38px;padding:0 11px}.button--small{font-size:11px;height:31px;min-height:31px;padding:0 9px}.back-button{height:32px;min-height:32px;padding:0 10px}.modal-card{border-radius:16px;padding:20px}.modal-title{font-size:19px}.login-card{padding:28px 22px}}