/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-caption{display:table-caption}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}.topbar h1,.panel h2,.record-modal h2,.attendance-import h2,.admin-intro h2{color:#1f3550}.sidebar{color:#4a6a86;background:#fff;border-right:1px solid #e5edf5}.nav-item,.ledger-link{color:#55738f}.nav-caption,.ledger-link b{color:#8ba2b6}.sidebar-management{color:#24445f;background:#f7faff;border-color:#e2ecf5}.sidebar-management span{color:#2f7cf6}.sidebar-footer{border-top-color:#edf3f8}.sidebar-footer strong{color:#1f3550}.sidebar-footer span{color:#8ba2b6}.sidebar-account-switch{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;width:100%;padding:7px;position:relative}.sidebar-account-switch:hover{background:#f7fafc;border-color:#dbe7f0}.sidebar-account-switch>div:nth-child(2){min-width:0}.sidebar-account-switch strong,.sidebar-account-switch span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-account-switch>i{color:#2f7cf6;margin-left:auto;font-style:normal}.avatar{color:#1f5bb5;background:#e8f1fd}.stat-card--navy,.operation-hero{background:linear-gradient(135deg,#2f7cf6,#5b7c9e)}.operation-hero-scan{white-space:nowrap;flex:none;align-self:center}.patrol-hero,.workflow-hero{background:linear-gradient(135deg,#2f7cf6,#5b7c9e)}.primary-button,.upload-button{box-shadow:0 8px 18px #2f7cf630}.record-modal,.clear-modal,.business-picker-modal{border-radius:12px;box-shadow:0 18px 48px #1f35501f}.login-shell{background:radial-gradient(circle at 20% 0,#dcefff 0,#0000 40%),radial-gradient(circle at 85% 90%,#e3ecf5 0,#0000 36%),linear-gradient(135deg,#f4f8fd,#eef4fb)}.panel,.stat-card,.operation-panel{border-radius:8px;box-shadow:0 4px 12px #1f35500d}.primary-button,.secondary-button,.outline-button,.cancel-button,.plain-button{border-radius:8px}.secondary-button{color:#4a6a8a;border-color:#b9cfe0}.operation-action-card:nth-child(2) i,.patrol-item-badge{color:#4a6a8a;background:#e7eef5}.patrol-item-list button.active{background:#5b7c9e;border-color:#5b7c9e}.menu-sub{animation:menu-slide var(--dur-slow) ease}@keyframes menu-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ledger-page,.workflow-center,.device-page,.operation-workbench,.alert-report-page,.admin-page{animation:view-fade var(--dur-page) ease}@keyframes view-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.tag,.status,.device-status,.deadline{transition:background var(--dur-slow),color var(--dur-slow),border-color var(--dur-slow)}@keyframes bell-pulse{0%,to{box-shadow:0 0 #e05d5973}50%{box-shadow:0 0 0 5px #e05d5900}}.bell-wrap.has-alert .bell-dot{animation:.5s infinite bell-pulse}.device-gauge{cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 9px;display:inline-flex}.device-gauge:hover{background:#eef5ff}.device-gauge span{color:#4d6a86;font-size:11px;font-weight:900}@keyframes gauge-pulse{0%,to{box-shadow:0 0 #e05d5966}50%{box-shadow:0 0 0 6px #e05d5900}}.device-gauge.has-alert{border-radius:10px;animation:.6s infinite gauge-pulse}button{transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast)}.panel,.stat-card,.operation-panel{transition:box-shadow var(--dur-med),border-color var(--dur-med)}.skeleton{background:linear-gradient(90deg,#e9eff6 25%,#f5f9fd 50%,#e9eff6 75%) 0 0/200% 100%;border-radius:7px;height:14px;animation:1.2s ease-in-out infinite skeleton-pulse;display:inline-block}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.motion-off *,body.motion-off :before,body.motion-off :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body.motion-off .skeleton{animation:none}.app-shell{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:20px 12px 16px}.sidebar-section{border:1px solid;border-radius:12px;margin-bottom:8px;padding:10px 8px 12px}.sidebar-section--recent{background:#f6f8fb;border-color:#e4eaf1}.sidebar-section--recent .nav-caption{color:#617b93}.sidebar-section--operations{background:#edf5ff;border-color:#d8e7fa}.sidebar-section--operations .nav-caption{color:#3d6fb5}.sidebar-section--operations .nav-caption--operations{margin-top:4px}.sidebar-section--system{background:#f3fbf7;border-color:#d9efe6}.sidebar-section--system .nav-caption{color:#3f8a6f}.sidebar-section .nav-caption{margin:4px 6px 8px}.sidebar-section--system .main-nav{gap:2px;padding:0 2px;display:grid}.operation-nav{margin:0 2px 4px}.recent-nav{gap:2px;margin-bottom:10px;display:grid}.recent-item{padding:7px 9px;font-size:12px}.recent-item span{font-size:11px}.operation-tabs{flex-wrap:wrap;gap:8px;padding:2px;display:flex}.operation-tabs button{color:#52708a;cursor:pointer;background:#fff;border:1px solid #d8e3ec;border-radius:11px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.operation-tabs button:hover{color:#2566c3;background:#f2f8ff;border-color:#7fb2ec}.operation-tabs button.active{color:#1b62cf;background:#e8f2ff;border-color:#2196f3;box-shadow:0 3px 8px #2196f32e}.operation-tabs button i{color:#2b6bc7;background:#eaf2ff;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.operation-tabs button.active i{color:#fff;background:#2196f3}.operation-tabs button em{color:#5f7a94;background:#e8eef5;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.operation-tabs button.active em{color:#1b62cf;background:#dcecff}.operation-tabs button.featured{background:#fff8f7;border-color:#e2a8a2}.operation-tabs button.featured span{color:#b54842}.operation-tabs button.featured i{color:#c24640;background:#fde8e6}.operation-tabs button.featured.active{background:#fdeae8;border-color:#c24640}.drill-plan-panel{background:#fffaf9;border:1px solid #e3d9d6;border-radius:12px;padding:14px}.drill-plan-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.drill-plan-head b{color:#8a3f38;font-size:13px}.drill-plan-head span{color:#a07d76;font-size:11px}.drill-plan-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px;display:grid}.drill-plan-item{background:#fff;border:1px solid #e8e1de;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.drill-plan-item b{color:#2a4860;font-size:12px}.drill-plan-item span{color:#7b8fa1;font-size:11px}.drill-plan-item em{color:#667b8e;background:#eef3f7;border-radius:999px;justify-self:start;padding:2px 8px;font-size:10px;font-style:normal;font-weight:900}.drill-plan-item.drill-plan--done em{color:#258161;background:#e7f4ec}.drill-plan-item.drill-plan--late{background:#fff8f7;border-color:#f0d0cb}.drill-plan-item.drill-plan--late em{color:#ba504a;background:#fff0ef}.drill-reminder-list{gap:8px;display:grid}.drill-reminder-row{background:#fff8f7;border:1px solid #f0d0cb;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.drill-reminder-row b{color:#a3483f;font-size:13px}.drill-reminder-row span{color:#7b8fa1;font-size:11px}.drill-reminder-row em{color:#ba504a;white-space:nowrap;background:#fff0ef;border-radius:999px;padding:4px 9px;font-size:10px;font-style:normal;font-weight:900}@media (max-width:760px){.drill-reminder-row{grid-template-columns:1fr}.drill-reminder-row em{justify-self:start}.drill-plan-head{flex-direction:column;align-items:flex-start}.drill-plan-list{grid-template-columns:1fr}}.operation-shift-pills{gap:8px;margin-bottom:12px;display:flex}.operation-shift-pills button{color:#5c7488;cursor:pointer;background:#fff;border:1px solid #d7e3ec;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:900}.operation-shift-pills button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.operation-post-group{margin-bottom:10px}.operation-post-caption{color:#62869a;letter-spacing:.05em;margin:0 0 7px;font-size:11px;font-weight:900}.operation-chip-list button{align-items:center;display:inline-flex}.operation-chip-list button.active{color:#1b62cf;background:#e8f2ff;border-color:#2f7cf6}.operation-post-duty{border-radius:999px;margin-left:6px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900}.operation-post-duty--ok{color:#258161;background:#e7f4ec}.operation-post-duty--warn{color:#ba504a;background:#fff0ef}.duty-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px;display:grid}.duty-card{background:#f8fbfd;border:1px solid #e0e9f2;border-radius:10px;padding:10px 12px}.duty-card b{color:#2a4860;font-size:12px;display:block}.duty-card span{border-radius:999px;margin-top:6px;padding:3px 8px;font-size:10px;font-weight:900;display:inline-block}.duty-card--ok span{color:#258161;background:#e7f4ec}.duty-card--warn{background:#fff8f7;border-color:#f0d0cb}.duty-card--warn span{color:#ba504a;background:#fff0ef}.garage-vehicle-groups{grid-template-columns:1fr 1fr;gap:12px;display:grid}.garage-vehicle-group{background:#f8fbfd;border:1px solid #e0e9f2;border-radius:14px;padding:13px}.garage-vehicle-group-title{color:#62869a;letter-spacing:.05em;margin:0 0 10px;font-size:11px;font-weight:900}.garage-vehicle-types{grid-template-columns:1fr 1fr;gap:10px;display:grid}.garage-vehicle-types button{color:#35546e;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce7ef;border-radius:13px;align-items:center;gap:10px;padding:14px;display:flex;box-shadow:0 5px 14px #17324b0d}.garage-vehicle-types button:hover{background:#f4f9ff;border-color:#7fb2ec}.garage-vehicle-types button.active{background:#e8f2ff;border-color:#2196f3;box-shadow:0 6px 16px #2196f329}.garage-vehicle-types button i{color:#2869bf;background:#e9f3ff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-style:normal;font-weight:900;display:inline-flex}.garage-vehicle-types button span{flex:1;font-size:14px;font-weight:900}.garage-vehicle-types button em{color:#5f7a94;background:#e8eef5;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.garage-vehicle-types button.active em{color:#1b62cf;background:#dcecff}@media (max-width:900px){.garage-vehicle-groups{grid-template-columns:1fr}}@media (max-width:520px){.garage-vehicle-types{grid-template-columns:1fr}}@media (max-width:760px){.duty-grid{grid-template-columns:1fr 1fr}}.facility-tab{gap:14px;display:grid}.facility-tab-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.facility-tab-head p{color:#62869a;letter-spacing:.05em;margin:0;font-size:11px;font-weight:900}.facility-tab-head h3{color:#203e58;letter-spacing:-.03em;margin:5px 0 0;font-size:18px}.facility-tab-head small{color:#72899b;margin-top:5px;font-size:12px;line-height:1.6;display:block}.facility-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.facility-kpis>div{background:#f8fbfd;border:1px solid #dde7ef;border-radius:11px;padding:13px 15px}.facility-kpis span{color:#71869a;font-size:11px;font-weight:800;display:block}.facility-kpis b{color:#173a58;letter-spacing:-.04em;margin-top:5px;font-size:23px;display:block}.facility-device-list{gap:7px;display:grid}.facility-device-row{background:#f8fbfd;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:9px 12px;display:grid}.facility-device-row>i{color:#2767b9;background:#eaf4fe;border-radius:8px;justify-content:center;align-items:center;width:29px;height:29px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.facility-device-row b,.facility-device-row small{display:block}.facility-device-row b{color:#2a4860;font-size:13px}.facility-device-row small{color:#788fa1;margin-top:3px;font-size:11px}.facility-status{white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.facility-status--正常{color:#258161;background:#e7f4ec}.facility-status--预警{color:#a06d14;background:#fdf3e0}.facility-status--故障{color:#ba504a;background:#fff0ef}.facility-status--退役{color:#667b8e;background:#eef3f7}@media (max-width:760px){.operation-tabs{flex-wrap:nowrap;overflow-x:auto}.operation-tabs button{flex:none}.facility-tab-head{flex-direction:column;align-items:flex-start}.facility-kpis{grid-template-columns:1fr 1fr}.facility-device-row{grid-template-columns:auto minmax(0,1fr)}.facility-device-row .facility-status{grid-column:2;justify-self:start}}.facility-kpis>div.attention{background:#fff8f7;border-color:#f0d0cb}.facility-kpis>div.attention b{color:#c54a46}.special-dimension-pills{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.special-dimension-pills button{color:#5c7488;cursor:pointer;background:#fff;border:1px solid #d7e3ec;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900}.special-dimension-pills button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.special-fire-panel .panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.fire-device-kpis{grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 10px;display:grid}.fire-device-kpis>div{background:#f8fbfd;border:1px solid #e0e9f2;border-radius:9px;padding:9px 10px}.fire-device-kpis span{color:#71869a;font-size:10px;font-weight:800;display:block}.fire-device-kpis b{color:#173a58;margin-top:3px;font-size:18px;display:block}.fire-device-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fire-device-list li{background:#fff;border:1px solid #e3ebf3;border-radius:8px;padding:8px 9px}.fire-device-list b,.fire-device-list small{display:block}.fire-device-list b{color:#2a4860;font-size:12px}.fire-device-list small{color:#788fa1;margin-top:2px;font-size:10px}.special-tag--good{color:#258161;background:#e7f4ec}.special-tag--gray{color:#667b8e;background:#eef3f7}@media (max-width:760px){.special-dimension-pills{flex-wrap:nowrap;overflow-x:auto}.special-dimension-pills button{flex:none}}.emergency-shortcut{color:#c24640;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff7f6,#fff);border:1px solid #f2d5d2;border-radius:10px;align-items:center;gap:9px;margin:4px 2px 12px;padding:10px 11px;font-size:12px;font-weight:900;display:flex}.emergency-shortcut:hover{border-color:#e5a09a;transform:translateY(-1px)}.emergency-icon{background:#fde8e6;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-style:normal;display:inline-flex}.emergency-shortcut em{color:#e07a72;margin-left:auto;font-size:10px;font-style:normal;font-weight:900}.nav-item{color:#55738f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;padding:10px 11px;font-size:13px;font-weight:700;display:flex}.nav-item:hover,.nav-item.active{color:#1e62d0;background:#eef5ff}.menu-group{gap:2px;display:grid}.menu-group-toggle{color:#55738f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;padding:10px 11px;font-size:13px;font-weight:700;display:flex}.menu-group-toggle:hover{color:#1e62d0;background:#eef5ff}.menu-group-toggle>span{flex:1;width:auto}.menu-arrow{color:#8aa3ba;width:18px;height:18px;transition:transform var(--dur-med);justify-content:center;align-items:center;font-style:normal;display:inline-flex}.menu-arrow.open{transform:rotate(90deg)}.menu-badge{color:#5f7a94;background:#e8eef5;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.menu-badge--red{color:#d34b46;background:#fde8e6}.menu-sub{border-left:1px solid #e3ecf5;gap:1px;margin-left:12px;padding:2px 0 4px 10px;display:grid}.menu-child{padding:7px 9px;font-size:12px}.menu-child .type-dot{border-radius:5px;width:18px;height:18px;font-size:9px}.menu-child .drag-handle{color:#9db2c7;background:0 0;width:18px;height:20px;font-size:11px}.nav-item--disabled{color:#8ba2b6;cursor:not-allowed}.plan-tag{color:#2f7cf6;background:#eef5ff;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:9px;font-style:normal;font-weight:900}.topbar{display:block}.topbar-head{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.topbar-head>div:first-child{flex:1;min-width:max-content}.topbar-title{white-space:nowrap}.topbar-head .top-actions{flex-wrap:wrap;flex:none;justify-content:flex-end}.top-actions button{white-space:nowrap}@media (min-width:761px){.topbar.topbar--web-landing{justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;display:flex}.topbar--web-landing .topbar-head{flex:none;min-width:0}.topbar--web-landing .topbar-head .top-actions{justify-content:flex-start}.topbar--web-landing .topbar-status{flex:1;justify-content:flex-end;min-width:0;margin-top:0}}@media (min-width:761px) and (max-width:1120px){.topbar.topbar--web-landing{flex-wrap:wrap;align-items:stretch}.topbar--web-landing .topbar-head{flex:auto}.topbar--web-landing .topbar-status{flex:100%;justify-content:flex-start}}.topbar-status{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;display:flex;box-shadow:0 6px 18px #1f35500d}.status-block{color:#4d6a86;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;display:inline-flex}.status-block b{color:#1f3550;font-size:16px}.status-block--clock span{color:#8ba2b6;font-size:11px}.health-pill{border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:11px;font-weight:900;display:inline-flex}.health-pill i{background:currentColor;border-radius:50%;width:8px;height:8px}.health-pill--green{color:#2fa47c;background:#e9f7f1}.health-pill--amber{color:#b7791b;background:#fff4dd}.health-pill--red{color:#d34b46;background:#fde8e6}.status-block--pending{cursor:pointer;border-radius:9px;padding:5px 9px}.status-block--pending:hover{background:#eef5ff}.topbar-search{color:#1f3550;background:#f8fbfe;border:1px solid #dce7f0;border-radius:9px;outline:none;width:230px;padding:8px 11px;font-size:12px}.topbar-search:focus{border-color:#2f7cf6;box-shadow:0 0 0 3px #2f7cf614}.status-block--bell{cursor:pointer;background:#f4f8fc;border-radius:9px;justify-content:center;width:34px;height:34px;font-size:15px;position:relative}.status-block--bell:hover{background:#e8f0fa}.bell-dot{background:#e05d59;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:7px}.status-block--gallery{cursor:pointer;color:#1d5faf;background:#eef5ff;border-radius:9px;padding:6px 10px;font-size:12px;font-weight:800}.status-block--gallery:hover{color:#0f4fa8;background:#e0edff}.mobile-control-drawer{flex-direction:column;gap:2px;display:flex}.mobile-drawer-search{color:#7890a4;text-align:left;cursor:pointer;background:#f4f8fc;border:1px solid #dce7f0;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:42px;margin-bottom:8px;padding:9px 12px;font-size:13px;display:flex}.mobile-drawer-search span{color:#2f7cf6;font-size:15px;font-weight:900}.mobile-dual-nav{align-items:flex-start;gap:10px;margin-top:2px;display:flex}.mobile-dual-left{background:#f4f8fc;border:1px solid #e2e9f2;border-radius:12px;flex-direction:column;flex:none;gap:5px;width:118px;padding:8px 6px;display:flex}.mobile-dual-left-item{color:#4d6a86;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:46px;padding:8px 10px;transition:background .12s,color .12s,transform 80ms;display:flex}.mobile-dual-left-item i{color:#8ba2b6;place-items:center;width:20px;height:20px;font-size:17px;font-style:normal;font-weight:900;line-height:1;display:grid}.mobile-dual-left-item span{letter-spacing:.02em;font-size:12px;font-weight:800}.mobile-dual-left-item:active{transform:scale(.96)}.mobile-dual-left-item.active{color:#1d5faf;background:#e8f1ff;box-shadow:inset 3px 0 #2f7cf6}.mobile-dual-left-item.active i{color:#2f7cf6}@media (max-width:340px){.mobile-dual-left{width:114px}.mobile-dual-left-item span{font-size:11px}}.mobile-dual-right{flex-direction:column;flex:1;gap:10px;min-width:0;padding:2px 0 8px;display:flex}.mobile-dual-head{border-bottom:1px solid #e2e9f2;padding:2px 4px 9px}.mobile-dual-head b{color:#1f3550;font-size:15px;display:block}.mobile-dual-head span{color:#7890a4;margin-top:2px;font-size:11px;display:block}.mobile-dual-group{flex-direction:column;gap:2px;display:flex}.mobile-dual-caption{color:#6b8298;padding:2px 4px;font-size:11px;font-weight:900}.mobile-dual-caption-row{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.mobile-dual-caption-row .mobile-dual-caption{padding:0}.mobile-dual-sort-toggle{color:#1d5faf;cursor:pointer;background:#fff;border:1px solid #cfe0f7;border-radius:8px;padding:3px 9px;font-size:11px;font-weight:800}.mobile-dual-sort-toggle:active{background:#eef5ff}.mobile-dual-sort-row{align-items:center;gap:6px;display:flex}.mobile-dual-sort-row .mobile-dual-item{flex:1;min-width:0}.mobile-dual-sort-actions{flex-direction:column;gap:4px;display:flex}.mobile-dual-sort-actions button{color:#4d6a86;cursor:pointer;background:#fff;border:1px solid #e2e9f2;border-radius:6px;width:32px;height:20px;font-size:12px;font-weight:900;line-height:1}.mobile-dual-sort-actions button:active{background:#eef5ff}.mobile-dual-sort-actions button:disabled{opacity:.35;cursor:default}.mobile-dual-item{color:#33475c;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e9f2;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:9px 11px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:flex}.mobile-dual-item:active{background:#eef5ff;transform:scale(.98)}.mobile-dual-item.active{color:#1d5faf;background:#e8f1ff;border-color:#cfe0f7}@keyframes mobileDrawerIn{0%{opacity:.35;transform:translate(26px)}to{opacity:1;transform:none}}.sidebar-section--system.mobile-open{animation:.18s ease-out mobileDrawerIn}[data-theme=dark] .sidebar-section--system.mobile-open.safety-navigation-open{background:#071b2d}@keyframes mobileDrawerOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(26px)}}.sidebar-section--system.mobile-open.mobile-closing{animation:.11s ease-in forwards mobileDrawerOut}@keyframes dualPaneIn{0%{opacity:.45;transform:translate(8px)}to{opacity:1;transform:none}}.mobile-dual-right{animation:.16s ease-out dualPaneIn}.sidebar-section--system.mobile-open .mobile-menu-close{border-radius:999px;width:auto;margin:0 0 8px auto;padding:6px 12px;font-size:11px}.mobile-dual-item:after{content:"›";color:#c7d4e0;margin-left:auto;font-size:15px;font-weight:900}.mobile-dual-item .menu-badge{margin-left:0}@media (max-width:1120px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.topbar-search{width:170px}}@media (min-width:1121px){.topbar-status{gap:12px}}@media (max-width:760px){.menu-sub{border-left:0;gap:4px;margin-left:0;padding:4px 0;display:flex;overflow-x:auto}.menu-child{white-space:nowrap;background:#f4f8fc;border-radius:999px;flex:none}.emergency-shortcut{display:none}.topbar-status{flex-wrap:wrap;padding:9px 10px}.topbar-search{order:10;width:100%}.status-block--bell{order:9}}.overview-charts-grid{grid-template-columns:1fr 1fr;gap:17px;margin-bottom:17px;display:grid}.chart-panel{min-height:300px}.chart-box{height:236px;margin-top:2px}.chart-empty{color:#7890a4;text-align:center;border:1px dashed #cfdee8;border-radius:10px;margin:0;padding:52px 16px;font-size:12px;line-height:1.7}@media (max-width:900px){.overview-charts-grid{grid-template-columns:1fr}}.workflow-filterbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.workflow-sort{color:#35546d;background:#fff;border:1px solid #d7e3ec;border-radius:8px;padding:7px 9px;font-size:12px}.ledger-view-toggle{background:#f4f8fc;border:1px solid #dce7ef;border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.ledger-view-toggle button{color:#7a92a8;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:800}.ledger-view-toggle button.active{color:#2f7cf6;box-shadow:none;background:#e8f1ff;font-weight:900}.report-export-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-hero .secondary-button{color:#fff;background:#ffffff1c;border-color:#fff6}.report-hero .secondary-button:hover{background:#fff3}@media (max-width:760px){.ledger-view-toggle{justify-content:stretch;width:100%}.ledger-view-toggle button{flex:1}}.batch-toolbar{background:#f2f8ff;border:1px solid #d8e7f7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.batch-toolbar>span{color:#4d6a86;font-size:12px}.batch-toolbar>span b{color:#2f7cf6;font-size:14px}.workflow-table tr td:first-child{border-left:4px solid #0000}.workflow-table tr.workflow-row--danger td:first-child{background:#fff9f8;border-left-color:#e05d59}.workflow-table tr.workflow-row--progress td:first-child{border-left-color:#e08a3c}.workflow-table tr.workflow-row--done td:first-child{border-left-color:#2fa47c}.row-check{accent-color:#2f7cf6;cursor:pointer;width:16px;height:16px}.workflow-history ol{border-left:2px solid #e4edf5;margin:10px 0 0;padding-left:24px;list-style:none;position:relative}.workflow-history li{padding-bottom:13px;position:relative}.workflow-history li:last-child{padding-bottom:0}.workflow-history li:before{content:"";background:#2f7cf6;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:-28px;box-shadow:0 0 0 2px #cfe0f5}@media (max-width:760px){.batch-toolbar .secondary-button,.batch-toolbar .plain-button{flex:1;min-width:120px}}.bell-wrap{position:relative}.notification-layer{z-index:100;pointer-events:none;position:fixed;inset:0}.notification-backdrop{z-index:0;pointer-events:auto;background:0 0;border:0;position:absolute;inset:0}.notification-pop{z-index:1;overscroll-behavior:contain;pointer-events:auto;background:#fff;border:1px solid #dce7f0;border-radius:14px;width:min(380px,100vw - 24px);max-height:min(70dvh,100dvh - 24px);position:fixed;overflow:auto;box-shadow:0 18px 50px #1f355029}.notification-pop[data-positioned=false]{visibility:hidden}.notification-pop-head{z-index:1;background:#fff;border-bottom:1px solid #edf2f7;align-items:center;gap:8px;padding:12px 14px;display:flex;position:sticky;top:0}.notification-pop-head b{color:#1f3550;font-size:14px}.notification-pop-head span{color:#8ba2b6;flex:1;font-size:11px}.notification-pop-head button{color:#2f7cf6;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:900}.notification-item{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0f4f8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 14px;display:grid}.notification-item:hover{background:#f7faff}.notification-item.unread{background:#f4f9ff}.notification-level{white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.notification-level--info{color:#2868bb;background:#e9f2ff}.notification-level--warning{color:#b37915;background:#fff4dd}.notification-level--error{color:#c54a46;background:#fff0ed}.notification-item>div{min-width:0}.notification-item b,.notification-item small,.notification-item time{display:block}.notification-item b{color:#2a4860;font-size:12px}.notification-item small{color:#71879a;overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.5}.notification-item time{color:#97a8b8;margin-top:4px;font-size:10px}.notification-item>i{background:#2f7cf6;border-radius:50%;width:7px;height:7px}.notification-empty{color:#7890a4;text-align:center;margin:0;padding:28px 16px;font-size:12px;line-height:1.7}.notification-pop>.de-state{min-height:92px;margin:10px}.status-block--bell:focus-visible{outline-offset:-2px;outline:2px solid #2f7cf6}.notification-pop button:focus-visible{outline-offset:-2px;outline:2px solid #2f7cf6}@media (max-width:760px){.notification-layer{display:none}}.device-page{gap:17px;display:grid}.device-hero{color:#fff;background:linear-gradient(135deg,#2f7cf6,#5b7c9e);border-radius:12px;justify-content:space-between;align-items:center;gap:26px;padding:24px 26px;display:flex}.device-hero h2{letter-spacing:-.04em;margin:0;font-size:25px}.device-hero p:not(.section-label){color:#eaf5ff;max-width:680px;margin:8px 0 0;font-size:13px;line-height:1.7}.device-hero .primary-button{color:#1b5d92;box-shadow:none;background:#fff}.device-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.device-import-button{color:#fff;min-width:0;box-shadow:none;background:#fff2;border:1px solid #fff5}.device-import-button:hover{background:#fff3}.device-kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.device-kpis>div{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:15px 17px}.device-kpis span{color:#71869a;font-size:11px;font-weight:800;display:block}.device-kpis b{color:#173a58;letter-spacing:-.04em;margin-top:5px;font-size:23px;display:block}.device-kpi--green b{color:#2fa47c}.device-kpi--amber b{color:#d99a2e}.device-kpi--red b{color:#e05d59}.device-filterbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.device-layout{grid-template-columns:210px minmax(0,1.5fr) minmax(300px,.8fr);align-items:start;gap:17px;display:grid}.device-tree-panel{background:#fff;border:1px solid #e2ebf2;border-radius:8px;padding:14px}.device-tree-head p{margin:0 0 10px}.device-tree-list{gap:4px;display:grid}.device-tree-item{color:#4d6a86;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:3px 8px;padding:9px 10px;display:grid}.device-tree-item:hover{background:#f4f8fc}.device-tree-item.active{color:#1e62d0;background:#eef5ff}.device-tree-item span{font-size:13px;font-weight:800}.device-tree-item b{color:#1f3550;font-size:13px;font-weight:900}.device-tree-item small{grid-column:1/-1;gap:5px;display:flex}.device-tree-item .dot{border-radius:999px;justify-content:center;min-width:20px;padding:2px 5px;font-size:9px;font-style:normal;font-weight:900;display:inline-flex}.dot--green{color:#298268;background:#e9f6ef}.dot--amber{color:#b37915;background:#fff6dd}.dot--red{color:#c54a46;background:#fff0ed}.dot--gray{color:#667b8e;background:#eef3f7}.device-table tr{cursor:pointer}.device-table tr.selected td{background:#f0f7ff}.device-type-badge{color:#2868bb;background:#e9f2ff;border-radius:7px;padding:5px 7px;font-size:11px;font-weight:900;display:inline-flex}.device-status{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.device-status--正常{color:#298268;background:#e9f6ef}.device-status--预警{color:#b37915;background:#fff6dd}.device-status--故障{color:#c54a46;background:#fff0ed}.device-status--退役{color:#667b8e;background:#eef3f7}.device-lifecycle{background:#f8fbfd;border:1px solid #e2ebf2;border-radius:8px;align-items:center;gap:6px;margin:0 0 12px;padding:10px 12px;display:flex}.lifecycle-step{color:#9aacbd;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.lifecycle-step i{color:#8ba2b6;background:#e8eef5;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-style:normal;display:inline-flex}.lifecycle-step.active{color:#2f7cf6}.lifecycle-step.active i{color:#fff;background:#2f7cf6}.lifecycle-step.warn{color:#b7791b}.lifecycle-step.warn i{color:#fff;background:#d99a2e}.lifecycle-step:after{content:"—";color:#d5e0ea;font-size:10px}.lifecycle-step:last-child:after{content:""}.device-detail-actions{background:#f8fbfd;border:1px solid #e2ebf2;border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;display:flex}.device-detail-actions label{color:#597187;gap:5px;font-size:12px;font-weight:900;display:grid}.device-detail-actions select,.device-detail-actions input{color:#233e56;background:#fff;border:1px solid #d7e3ec;border-radius:8px;padding:8px}.device-detail-note{color:#52687c;background:#f8fbfd;border:1px solid #e2ebf2;border-radius:10px;grid-template-columns:72px 1fr;gap:7px 12px;margin:13px 0;padding:12px;font-size:12px;display:grid}.device-detail-note b{color:#38536a}.device-log-block{margin-top:6px}.device-log-block>b{color:#38536a;font-size:12px}.device-log-form{gap:9px;margin:10px 0;display:flex}.device-log-form input{color:#233e56;border:1px solid #d7e3ec;border-radius:8px;flex:1;padding:9px}.device-log-timeline{border-left:2px solid #e4edf5;gap:10px;margin-top:10px;padding-left:16px;display:grid}.device-log-timeline>div{padding-left:14px;position:relative}.device-log-timeline>div:before{content:"";background:#2f7cf6;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-21px;box-shadow:0 0 0 2px #cfe0f5}.device-log-timeline span{color:#8299b2;font-size:10px;display:block}.device-log-timeline strong{color:#32526b;margin-top:2px;font-size:12px;display:block}.device-log-timeline p{color:#667f94;margin:3px 0 0;font-size:11px;line-height:1.5}.device-log-timeline small{color:#8ba2b6;margin-top:3px;display:block}@media (max-width:1280px){.device-layout{grid-template-columns:200px minmax(0,1fr)}.device-detail-panel{grid-column:1/-1}}@media (max-width:1100px){.device-layout{grid-template-columns:1fr}.device-tree-list{gap:6px;display:flex;overflow-x:auto}.device-tree-item{white-space:nowrap;flex:none;grid-template-columns:auto auto}.device-tree-item small{display:none}.device-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.device-hero{flex-direction:column;align-items:flex-start}.device-hero-actions{width:100%}.device-hero-actions .upload-button,.device-hero-actions .primary-button{text-align:center;flex:1}.device-kpis{grid-template-columns:1fr 1fr}.device-table{min-width:760px}}.view-toggle{background:#f4f8fc;border:1px solid #dce7ef;border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.view-toggle button{color:#7a92a8;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:800}.view-toggle button.active{color:#2f7cf6;background:#fff;box-shadow:0 1px 4px #1f35501a}.identity-grant-button{color:#1e8176;font-weight:800}.tenant-empty-state{color:#7d91a2;text-align:center;background:#f8fbfd;border:1px dashed #d5e1ea;border-radius:12px;margin:0 16px 16px;padding:18px;font-size:12px}body{background:radial-gradient(circle at 12% 0,#2f7cf61a,#0000 34%),radial-gradient(circle at 88% 88%,#22d3ee14,#0000 30%),linear-gradient(#f8fbfe,#f1f6fb)}.topbar-status{background:var(--glass);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);border-color:#ffffffb8}.nav-item.active{box-shadow:inset 3px 0 var(--blue),0 8px 18px #2f7cf614;background:linear-gradient(90deg,#edf6ff,#f7fbff)}.nav-item.active>span{filter:drop-shadow(0 0 5px #22d3ee59)}.brand-mark{background:linear-gradient(135deg,#2f7cf6,#22d3ee);box-shadow:0 8px 22px #22d3ee38}.safety-hero{border-radius:var(--radius-panel);color:#fff;background:linear-gradient(120deg,#06162c,#0a2a4d 58%,#0c3a5c);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:17px;padding:24px 26px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #06162c2e}.safety-hero:before{content:"";background-image:linear-gradient(#50c5ff0f 1px,#0000 1px),linear-gradient(90deg,#50c5ff0f 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 80%);mask-image:linear-gradient(90deg,#000,#0000 80%)}.safety-hero:after{content:"";filter:blur(2px);background:radial-gradient(circle,#22d3ee38,#0000 68%);border-radius:50%;width:280px;height:280px;position:absolute;top:-60px;right:-40px}.safety-hero-copy{z-index:1;position:relative}.safety-hero-kicker{color:#8ed8ff;letter-spacing:.14em;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;font-weight:900;display:flex}.safety-hero-kicker span{background:#49e6d8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #49e6d81f,0 0 12px #49e6d8b3}.safety-hero-copy h2{letter-spacing:-.03em;margin:0;font-size:24px}.safety-hero-copy p{color:#a9c6dc;margin:8px 0 0;font-size:12px}.safety-hero-metrics{z-index:1;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;display:grid;position:relative}.safety-hero-metrics article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #7dc4ff2e;border-radius:14px;min-width:110px;padding:12px 14px}.safety-hero-metrics span,.safety-hero-metrics small{color:#a9c6dc;font-size:10px;font-weight:800;display:block}.safety-hero-metrics b{color:#f2fbff;letter-spacing:-.04em;margin:3px 0 2px;font-size:25px;display:block}.safety-hero-metrics .is-risk{background:#ffa73f1a;border-color:#ffb35459}.safety-hero-metrics .is-risk b{color:#ffd3a2}.safety-hero-metrics .is-red{background:#ff5e591f;border-color:#ff6e6959}.safety-hero-metrics .is-red b{color:#ffc4c1}.mobile-bottom-nav button.active{color:#1f6ff0}.mobile-bottom-nav button.active span{filter:drop-shadow(0 0 5px #22d3ee40)}.mobile-nav-main span{background:linear-gradient(135deg,#2f7cf6,#22d3ee);box-shadow:0 8px 18px #2f7cf659}@media (max-width:900px){.safety-hero{grid-template-columns:1fr}.safety-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.tenant-empty-state.tenant-empty-state:before{content:"企业";color:#3974ad;background:#e7f1fb;border-radius:12px;place-items:center;width:38px;height:38px;margin:0 auto 8px;font-size:11px;font-weight:900;display:grid}.admin-shell{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.admin-secondary-nav{scrollbar-width:thin;background:linear-gradient(#f8fbff,#fff);border:1px solid #dce7f1;border-radius:15px;max-height:calc(100vh - 36px);padding:12px;position:sticky;top:18px;overflow:auto;box-shadow:0 10px 26px #1b3c5c12}.admin-secondary-head{border-bottom:1px solid #e4edf5;gap:3px;padding:8px 8px 13px;display:grid}.admin-secondary-head span{color:#69839a;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.admin-secondary-head b{color:#173b59;letter-spacing:-.03em;font-size:18px}.admin-secondary-head small{color:#8a9dad;font-size:10px}.admin-nav-group{gap:5px;padding-top:13px;display:grid}.admin-nav-group-title{color:#6c8499;align-items:center;gap:7px;padding:0 6px;font-size:11px;font-weight:900;display:flex}.admin-nav-group-title i,.admin-context-icon{color:#2b6bc2;background:#e8f2ff;border-radius:9px;place-items:center;font-style:normal;font-weight:900;display:grid}.admin-nav-group-title i{width:25px;height:25px;font-size:10px}.admin-nav-group button{color:#35536c;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;gap:2px;width:100%;padding:9px 10px;transition:background .14s,border-color .14s,transform 80ms;display:grid}.admin-nav-group button:hover{background:#f4f8fc;border-color:#d7e5f2}.admin-nav-group button:active{transform:scale(.98)}.admin-nav-group button span{font-size:12px;font-weight:900}.admin-nav-group button small{color:#8a9dac;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.4;overflow:hidden}.admin-nav-group button.active{color:#1e62bb;background:#eaf3ff;border-color:#a9caf7;box-shadow:inset 3px 0 #2f7cf6}.admin-nav-group button.active small{color:#5f83a9}.admin-workspace,.admin-task-content{gap:17px;min-width:0;display:grid}.admin-workspace,.admin-task-content,.admin-task-content>*{min-width:0;max-width:100%}.admin-task-content .user-management-panel{overflow:hidden}.admin-task-content .identity-mobile-card{background:#fff;border:1px solid #dbe6ee;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px #1f42600f}.admin-task-content .identity-mobile-card.is-protected{background:linear-gradient(155deg,#f5f9ff,#fff);border-color:#aacaf5}.admin-task-content .identity-mobile-card.is-warning{border-color:#edc996}.admin-task-content .identity-mobile-card header{border-bottom:1px solid #e6eef4;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.admin-task-content .identity-mobile-card header>div{gap:7px;min-width:0;display:grid}.admin-task-content .identity-mobile-card header b{overflow-wrap:anywhere;color:#173b59;font-size:15px}.admin-task-content .identity-mobile-card header input{accent-color:#2f7cf6;width:19px;height:19px}.admin-task-content .identity-mobile-shield{color:#2366b8;background:#e5f0ff;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.admin-task-content .identity-mobile-card dl{gap:0;margin:0;padding:4px 12px;display:grid}.admin-task-content .identity-mobile-card dl>div{border-bottom:1px dashed #e7edf2;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.admin-task-content .identity-mobile-card dl>div:last-child{border-bottom:0}.admin-task-content .identity-mobile-card dt{color:#8394a3;font-size:11px;font-weight:800}.admin-task-content .identity-mobile-card dd{overflow-wrap:anywhere;color:#28465f;min-width:0;margin:0;font-size:12px;font-weight:800;line-height:1.45}.admin-task-content .identity-mobile-card dd small{color:#2f6fb7;margin-left:6px;font-weight:900}.admin-task-content .identity-mobile-warning{color:#a76617;background:#fff5e8;border-radius:8px;margin:0 12px 10px;padding:8px;font-size:11px;font-weight:800}.admin-task-content .identity-mobile-card footer{background:#f8fafc;border-top:1px solid #e6eef4;flex-wrap:wrap;gap:7px;padding:10px 12px;display:flex}.admin-task-content .identity-mobile-card footer button{color:#31516c;background:#fff;border:1px solid #d6e3ed;border-radius:9px;min-height:34px;padding:7px 10px;font-size:11px;font-weight:900}.admin-task-content .identity-mobile-empty{color:#7d91a2;text-align:center;border:1px dashed #cddbe6;border-radius:12px;padding:20px;font-size:12px}.admin-context-header{background:#fff;border:1px solid #dce7f1;border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:15px 18px;display:grid;box-shadow:0 7px 20px #17324b0a}.admin-context-icon{background:linear-gradient(145deg,#e7f1ff,#eefaf8);width:44px;height:44px;font-size:15px}.admin-context-header h2{color:#183b59;letter-spacing:-.035em;margin:0;font-size:22px}.admin-context-header p:not(.section-label){color:#72899c;margin:5px 0 0;font-size:11px;line-height:1.55}.admin-mobile-track,.admin-mobile-task-select{display:none}.admin-task-content{animation:.18s admin-task-in}.admin-help-card{background:#fff;border:1px solid #dce7f1;border-radius:13px;box-shadow:0 6px 18px #17324b0a}.admin-help-card summary{color:#31516b;cursor:pointer;padding:14px 42px 14px 17px;font-size:12px;font-weight:900;list-style:none;position:relative}.admin-help-card summary::-webkit-details-marker{display:none}.admin-help-card summary:after{content:"＋";color:#2f7cf6;font-size:17px;position:absolute;top:50%;right:17px;transform:translateY(-50%)}.admin-help-card[open] summary{border-bottom:1px solid #e5edf4}.admin-help-card[open] summary:after{content:"−"}.admin-help-card>div{padding:15px 17px}.admin-help-card ul{color:#667f94;margin:0 0 13px;padding-left:18px;font-size:12px;line-height:1.8}@keyframes admin-task-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1120px) and (min-width:761px){.admin-shell{grid-template-columns:184px minmax(0,1fr)}.admin-nav-group button small{display:none}}@media (max-width:1350px) and (min-width:761px){.admin-task-content .user-management-panel>.table-wrap{display:none}.admin-task-content .identity-mobile-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;padding:0 16px 16px;display:grid}}@media (max-width:760px){.view-toggle{justify-content:stretch;width:100%}.view-toggle button{flex:1}.admin-shell{margin:-3px -2px 0;display:block}.admin-secondary-nav{display:none}.admin-workspace{gap:12px}.admin-mobile-track{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbfef5;border-top:1px solid #e6edf4;border-bottom:1px solid #dfe8f0;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 -12px;padding:7px 14px;display:grid;position:sticky;top:48px;box-shadow:0 5px 15px #1a375212}.admin-mobile-track button{color:#72899d;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:42px;font-size:12px;font-weight:900;transition:background .12s,color .12s,transform 80ms;display:flex}.admin-mobile-track button:active{transform:scale(.96)}.admin-mobile-track button i{color:#72899d;background:#edf2f7;border-radius:7px;place-items:center;width:23px;height:23px;font-size:9px;font-style:normal;display:grid}.admin-mobile-track button.active{color:#2568c2;background:#e8f1ff}.admin-mobile-track button.active i{color:#fff;background:#2f7cf6}.admin-mobile-track button:focus-visible{outline-offset:1px;outline:2px solid #76aaf2}.admin-context-header{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px 14px}.admin-context-icon{border-radius:10px;width:38px;height:38px;font-size:13px}.admin-context-header h2{font-size:19px}.admin-context-header p:not(.section-label){display:none}.admin-mobile-task-select{color:#71879a;border-top:1px solid #e7eef4;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding-top:11px;font-size:10px;font-weight:900;display:grid}.admin-mobile-task-select select{color:#254763;background:#f8fbfd;border:1px solid #cfdee9;border-radius:9px;width:100%;min-width:0;padding:9px 10px;font-size:12px;font-weight:800}.admin-task-content{gap:12px}.admin-task-content .admin-intro{padding:17px}.admin-task-content .admin-intro h2{font-size:20px}.admin-task-content .admin-intro .primary-button{width:100%;margin:0}.admin-task-content .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-task-content .admin-kpis>div{padding:12px}.admin-task-content .admin-kpis b{font-size:21px}.admin-task-content .user-management-panel>.panel-head{flex-direction:column;align-items:stretch}.admin-task-content .user-management-panel .panel-head-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.admin-task-content .user-management-panel .panel-head-actions .outline-button{white-space:nowrap;width:100%;min-height:42px;margin:0}.admin-help-card summary{padding:14px 40px 14px 15px}.admin-help-card>div{padding:14px 15px}}.mobile-bottom-nav{display:none}@media (max-width:760px){.mobile-bottom-nav{z-index:15;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e5edf5;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #1f355014}.mobile-bottom-nav button{color:#7a92a8;background:0 0;border:0;flex:1;place-items:center;gap:2px;min-height:48px;padding:0;font-size:11px;font-weight:800;display:grid}.mobile-bottom-nav button span{font-size:18px;line-height:1}.mobile-bottom-nav button.active{color:#2f7cf6}.mobile-bottom-nav .mobile-nav-main{flex:none;width:64px;position:relative}.mobile-nav-main span{color:#fff;background:linear-gradient(135deg,#2f7cf6,#5b7c9e);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-top:-20px;font-size:26px;display:inline-flex;box-shadow:0 8px 18px #2f7cf659}.workspace{padding-bottom:104px}.top-actions .primary-button,.top-actions .plain-button,.top-actions .secondary-button,.top-actions .outline-button,.top-actions .cancel-button{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.record-modal input,.record-modal select,.record-modal textarea{padding:12px}.filter-pills button{align-items:center;min-height:40px;display:inline-flex}}.field-error{font-size:11px;font-weight:700;color:#e05d59!important}.empty-state:before{content:"📋";opacity:.55;margin-bottom:10px;font-size:28px;display:block}.image-empty:before{content:"🖼️";opacity:.55;margin-bottom:8px;font-size:26px;display:block}.operation-empty:before{content:"🗒️";opacity:.55;margin-bottom:8px;font-size:26px;display:block}.ledger-empty-state:before{content:"🗂️";opacity:.55;margin-bottom:10px;font-size:30px;display:block}.image-review-card{flex-direction:column;display:flex;position:relative}.image-review-card.is-pending{border-color:#e6b84c;box-shadow:0 0 0 1px #e6b84c55}.image-review-card.is-rejected{opacity:.88;border-color:#d96a64;box-shadow:0 0 0 1px #d96a6455}.image-review-meta{justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.image-review-meta .image-card-name{flex:1;min-width:0;padding:0;font-weight:700}.image-review-badge{white-space:nowrap;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:900}.image-review-badge.is-pending{color:#9a6a00;background:#fff4d6}.image-review-badge.is-rejected{color:#b23c36;background:#fde8e6}.image-review-badge.is-approved{color:#227a4e;background:#e6f5ec}.image-review-detail{gap:2px;padding:0 8px 6px;display:grid}.image-review-detail small{text-overflow:ellipsis;white-space:nowrap;color:#7890a4;font-size:10px;display:block;overflow:hidden}.image-review-detail .image-review-reason{color:#b23c36;white-space:normal;line-height:1.4}.image-review-detail .image-review-error{color:#c43c35;white-space:normal;line-height:1.4}.image-review-actions{gap:6px;padding:0 8px 8px;display:flex}.image-review-actions button{cursor:pointer;border-radius:7px;flex:1;padding:6px 4px;font-size:11px;font-weight:900}.image-review-actions button:disabled{opacity:.55;cursor:not-allowed}.review-approve{color:#1f7a4c;background:#eaf7ef;border:1px solid #b9dfc9}.review-reject{color:#b83f39;background:#fff5f4;border:1px solid #f0c7c4}.review-delete{color:#8b5e5a;background:#f7fafc;border:1px solid #e2e9f0}.patrol-hero-actions{align-items:center;gap:10px;display:flex}.patrol-hero-actions .primary-button,.patrol-hero-actions .secondary-button{white-space:nowrap}.patrol-image-count{color:#5f7d96;margin-top:4px;font-size:10px;font-weight:700;display:inline-flex}.patrol-mobile-list .patrol-image-count{display:block}@media (max-width:760px){.patrol-hero-actions{flex-direction:column;align-items:stretch;width:100%}.patrol-hero-actions .primary-button,.patrol-hero-actions .secondary-button{width:100%}.bell-wrap{display:none}.chart-box{height:218px}.dashboard-chart{height:224px}.record-modal details[open]{margin-bottom:4px}}.point-mobile-list,.recovery-mobile-list,.backup-mobile-list{display:none}.point-card,.recovery-card,.backup-card{background:#fff;border:1px solid #e0e9f0;border-radius:11px;gap:8px;padding:13px;display:grid}.point-card-head,.recovery-card-head,.backup-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.point-card-head b,.recovery-card-head b,.backup-card-head b{color:#1f4461;font-size:14px}.backup-card-head>div{min-width:0}.backup-card-head b,.backup-card-head small{display:block}.backup-card-head b{overflow-wrap:anywhere}.backup-card-head small,.backup-card>small{color:#71879a;font-size:11px;line-height:1.5}.backup-card p{color:#49677f;overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.6}.backup-card-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.backup-card-actions a,.backup-card-actions button,.backup-card-actions>span{color:#2768c9;background:#f7fbff;border:1px solid #d9e5ef;border-radius:9px;place-items:center;min-height:40px;font-size:11px;font-weight:900;text-decoration:none;display:grid}.backup-card-actions .backup-card-restore{grid-column:1/-1}.backup-card-actions button:disabled{opacity:.48}.system-governance .backup-table{table-layout:fixed;width:100%;min-width:0}.system-governance .backup-table th:first-child{width:25%}.system-governance .backup-table th:nth-child(2){width:15%}.system-governance .backup-table th:nth-child(3){width:13%}.system-governance .backup-table th:nth-child(4){width:24%}.system-governance .backup-table th:nth-child(5){width:23%}.system-governance .backup-table td{overflow-wrap:anywhere}.system-governance .backup-table .row-actions{flex-wrap:wrap;align-content:flex-start}.point-card-title b,.point-card-title small,.point-card-location{display:block}.point-card-title small{color:#71879a;margin-top:3px;font-size:11px}.point-card-location{color:#71879a;font-size:11px}.point-card .image-manage-button,.recovery-card .restore-button{width:100%;min-height:38px}@media (max-width:760px){.point-table,.recovery-table,.backup-desktop-table{display:none}.point-mobile-list,.recovery-mobile-list,.backup-mobile-list{gap:10px;margin-top:6px;display:grid}.backup-table th:nth-child(3),.backup-table td:nth-child(3),.audit-table th:nth-child(5),.audit-table td:nth-child(5){display:none}.backup-table,.audit-table{width:100%;min-width:0}.backup-table .row-actions a,.backup-table .row-actions button{align-items:center;min-height:44px;padding:10px 9px;display:inline-flex}.recovery-badge{white-space:normal}}.scan-workbench{gap:17px;display:grid}.scan-hero{color:#fff;background:linear-gradient(135deg,#123a5e,#1f6f9f);border-radius:15px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.scan-hero .section-label{color:#a8cbe4}.scan-hero h2{color:#fff;letter-spacing:-.04em;margin:0;font-size:25px}.scan-hero p:not(.section-label){color:#d4e6f2;max-width:680px;margin:8px 0 0;font-size:13px;line-height:1.7}.scan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.scan-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dde7ef;border-radius:14px;align-items:start;gap:8px;padding:18px;display:grid;box-shadow:0 6px 16px #17324b08}.scan-card i{border-radius:12px;place-items:center;width:42px;height:42px;font-size:18px;font-style:normal;font-weight:900;display:grid}.scan-card--patrol i{color:#2f7cf6;background:#e8f3ff}.scan-card--device i{color:#1e8a7c;background:#e9f7f4}.scan-card--item i{color:#b07c16;background:#fff4db}.scan-card--chemical i{color:#c14b45;background:#fdeceb}.scan-card b{color:#1f4461;font-size:15px}.scan-card small{color:#6f8497;font-size:12px;line-height:1.6}.scan-card em{color:#2a6bca;font-size:12px;font-style:normal;font-weight:900}.scan-card:hover{border-color:#7fb2ec;transform:translateY(-1px);box-shadow:0 10px 22px #1f548412}.scan-patrol-link{color:#2768c9;cursor:pointer;background:#f4f9ff;border:1px dashed #b9d5ee;border-radius:12px;width:100%;padding:13px;font-size:13px;font-weight:900}.inspection-workbench{gap:17px;display:grid}.inspection-hero{color:#fff;background:linear-gradient(135deg,#1c3a5f,#2d6f9e);border-radius:15px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.inspection-hero .section-label{color:#b3d3ea}.inspection-hero h2{color:#fff;letter-spacing:-.04em;margin:0;font-size:24px}.inspection-hero p:not(.section-label){color:#d5e6f2;max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.7}.inspection-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:300px;display:grid}.inspection-kpis>div{color:#fff;background:#ffffff18;border-radius:11px;padding:12px 13px}.inspection-kpis span{color:#c9e0f0;font-size:11px;font-weight:800;display:block}.inspection-kpis b{letter-spacing:-.04em;margin-top:4px;font-size:23px;display:block}.inspection-kpis small{color:#c9e0f0;margin-top:3px;font-size:10px;display:block}.inspection-kpis .attention{color:#173a58;background:#fff8f7;border-color:#f2d0cc}.inspection-kpis .attention span,.inspection-kpis .attention small{color:#8d6a66}.inspection-quick-actions,.scan-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.inspection-quick-actions .primary-button,.inspection-quick-actions .secondary-button,.scan-quick-actions .primary-button,.scan-quick-actions .secondary-button{min-width:140px}.inspection-panel{padding-bottom:10px}.inspection-source-list{gap:12px;display:grid}.source-link-card{background:#fff;border:1px solid #dde7ef;border-radius:12px;gap:10px;padding:14px;display:grid}.source-link-card--pending{background:#fffdf5;border-color:#e6b84c}.source-link-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.source-link-head b{color:#1f4461;font-size:14px}.source-link-card>small{color:#71879a;font-size:12px}.source-link-rects{gap:8px;display:grid}.rect-link-row{text-align:left;cursor:pointer;background:#f8fbfd;border:1px solid #e7eef4;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.rect-link-row>div{flex:1;min-width:0}.rect-link-row b,.rect-link-row small{display:block}.rect-link-row b{color:#29465e;font-size:13px}.rect-link-row small{color:#768c9f;margin-top:3px;font-size:11px}.rect-link-row em{color:#2a6bca;font-size:12px;font-style:normal;font-weight:900}.orphan-rect-row{background:#fff}.source-link-actions{border-top:1px dashed #e1e9f0;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:10px;display:flex}@media (max-width:900px){.scan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.scan-hero,.inspection-hero{flex-direction:column;align-items:flex-start}.scan-grid{grid-template-columns:1fr 1fr}.scan-card{padding:14px}.inspection-kpis{grid-template-columns:1fr 1fr 1fr;width:100%;min-width:0}.inspection-kpis>div{padding:10px}.inspection-quick-actions,.scan-quick-actions{grid-template-columns:1fr 1fr;display:grid}.inspection-quick-actions .primary-button,.inspection-quick-actions .secondary-button,.scan-quick-actions .primary-button,.scan-quick-actions .secondary-button{width:100%;min-width:0}.source-link-actions{justify-content:stretch}.source-link-actions button{flex:1}}.business-workbench{gap:17px;display:grid}.business-hero{color:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.business-hero--gray{background:linear-gradient(135deg,#33465c,#5b7c9e)}.business-hero--orange{background:linear-gradient(135deg,#7a4a17,#d99a2e)}.business-hero--purple{background:linear-gradient(135deg,#4a3d7a,#6d5bd0)}.business-hero--yellow{background:linear-gradient(135deg,#7a6215,#c9992e)}.business-hero--teal{background:linear-gradient(135deg,#1e5f58,#2fa47c)}.business-hero--red{background:linear-gradient(135deg,#7a2f2a,#c6544e)}.business-hero .section-label{color:#e8f0f7}.business-hero h2{color:#fff;letter-spacing:-.04em;margin:0;font-size:25px}.business-hero p:not(.section-label){color:#e5eef5;max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.7}.business-quick-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.business-quick-actions .primary-button{color:#173a58;box-shadow:none;background:#fff}.business-quick-actions .secondary-button{color:#fff;background:#ffffff1a;border-color:#fff6}.workbench-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.workbench-kpi-card{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:14px 15px}.workbench-kpi-card span{color:#71869a;font-size:11px;font-weight:800;display:block}.workbench-kpi-card b{color:#173a58;letter-spacing:-.04em;margin-top:5px;font-size:23px;display:block}.workbench-kpi-card small{color:#97a8b8;margin-top:4px;font-size:10px;display:block}.workbench-kpi-card.attention{background:#fff8f7;border-color:#f2d0cc}.workbench-kpi-card.attention b{color:#c54a46}.workbench-list-section{padding-bottom:10px}.workbench-list{gap:8px;display:grid}.workbench-list-row{text-align:left;cursor:pointer;background:#f8fbfd;border:1px solid #e7eef4;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.workbench-list-row>div{flex:1;min-width:0}.workbench-list-row b,.workbench-list-row small{display:block}.workbench-list-row b{color:#29465e;font-size:13px}.workbench-list-row small{color:#768c9f;margin-top:3px;font-size:11px;line-height:1.5}.workbench-list-row em{color:#2a6bca;font-size:13px;font-style:normal;font-weight:900}.workbench-status{white-space:nowrap;color:#687e90;background:#eef3f7;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.workbench-status--已超期,.workbench-status--故障,.workbench-status--异常,.workbench-status--库存不足,.workbench-status--已逾期{color:#c34e49;background:#fff0ed}.workbench-status--临期,.workbench-status--预警,.workbench-status--待补训,.workbench-status--待处理{color:#ad781b;background:#fff4db}.workbench-status--整改中,.workbench-status--待验收{color:#2f6dc4;background:#e7f0ff}.workbench-status--已闭环,.workbench-status--已归档,.workbench-status--已完成,.workbench-status--正常,.workbench-status--归还,.workbench-status--进入{color:#227a4e;background:#e8f7ed}.business-workbench-management{border-top:1px dashed #dbe5ec;margin-top:4px;padding-top:16px}@media (max-width:900px){.workbench-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.business-workbench,.inspection-workbench,.scan-workbench{padding-bottom:78px}.business-hero{flex-direction:column;align-items:flex-start}.business-quick-actions{width:100%}.business-quick-actions .primary-button,.business-quick-actions .secondary-button{text-align:center;flex:1;width:100%}.workbench-kpi-grid{grid-template-columns:1fr 1fr}.workbench-kpi-card{padding:11px}.operation-grid-item{transition:transform .12s,box-shadow .12s}.operation-grid-item i{background:var(--de-action-primary);width:42px;height:42px;color:var(--de-surface);box-shadow:none;border-radius:0;font-size:19px}.operation-grid-item span{letter-spacing:.01em;font-size:13px;font-weight:600}.operation-grid-item:active{box-shadow:none;transform:none}.op-扫描 i,.op-巡逻 i,.op-检查 i,.op-车库 i,.op-消防 i,.op-培训 i,.op-物品 i,.op-设施 i,.op-危化 i{background:var(--de-action-primary)}}.profile-console-card{color:#fff;background:linear-gradient(135deg,#1c3f66,#2f7cf6);border-radius:16px;align-items:center;gap:12px;margin:8px 14px 12px;padding:16px;display:flex}.profile-console-avatar{background:#fff2;border:2px solid #fff5;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:22px;font-weight:900;display:grid}.profile-console-id{flex:1;min-width:0}.profile-console-id b{font-size:17px;display:block}.profile-console-id small{color:#c9def5;margin-top:3px;font-size:11px;display:block}.profile-console-card .mobile-profile-role{background:#ffffff1f;border-radius:999px;margin-top:4px;padding:3px 8px;font-size:10px;display:inline-flex}.profile-console-section{justify-content:space-between;align-items:center;padding:2px 14px 8px;display:flex}.profile-console-section p{color:#16344f;font-size:12px;font-weight:900}.profile-console-section span{color:#6e8298;font-size:10px;font-weight:700}.profile-console-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 14px 14px;display:grid}.profile-console-grid button{background:#fff;border:1px solid #e3ecf2;border-radius:13px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;transition:transform .12s;display:flex;box-shadow:0 4px 10px #1f355010}.profile-console-grid button:active{transform:scale(.96)}.profile-console-grid i{color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;font-style:normal;font-weight:900;display:grid}.profile-console-grid b{color:#16344f;font-size:12px;font-weight:900}.profile-console-grid .op-g-blue i{background:linear-gradient(135deg,#4d8df6,#2f7cf6)}.profile-console-grid .op-g-green i{background:linear-gradient(135deg,#4dbb97,#2fa47c)}.profile-console-grid .op-g-cyan i{background:linear-gradient(135deg,#3fc4ce,#22a7b0)}.profile-console-grid .op-g-gray i{background:linear-gradient(135deg,#8ca3b8,#6b8298)}.profile-console-grid .op-g-orange i{background:linear-gradient(135deg,#f0b25b,#e6a23c)}.profile-console-grid .op-g-purple i{background:linear-gradient(135deg,#8a79e8,#6d5bd0)}.profile-console-grid .op-g-yellow i{background:linear-gradient(135deg,#e0b64c,#c9992e)}.profile-console-grid .op-g-red i{background:linear-gradient(135deg,#e87c76,#c6544e)}.profile-console-grid .profile-console-signout{background:#fff7f6;border-color:#f0c4c1}.mobile-profile-console{background:#f2f6fa}.modal-back-button{display:none}.create-page-shell{z-index:15;background:#f2f6fa;padding:12px 14px 24px;position:fixed;inset:0 0 62px;overflow-y:auto}.create-page-shell .record-modal,.create-page-shell .business-picker-modal{width:100%;max-width:none;max-height:none;box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.create-page-shell .modal-head{z-index:3;background:#fff;border-bottom:1px solid #e3ecf2;align-items:center;gap:10px;margin:-12px -14px 12px;padding:10px 14px;display:flex;position:sticky;top:-12px}.create-page-shell .modal-head>div{flex:1;min-width:0}.create-page-shell .modal-back-button{color:#16344f;background:#fff;border:1px solid #e3ecf2;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;font-weight:900;display:inline-flex}.create-page-shell .modal-head .close-button{display:none}.mobile-workflow-pills button{align-items:center;gap:5px;display:inline-flex}.mobile-workflow-pills button span{color:#6b8298;text-align:center;background:#eaf0f6;border-radius:999px;min-width:18px;padding:1px 5px;font-size:10px;font-weight:900}.mobile-workflow-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mobile-workflow-card-head h4{flex:1;min-width:0}.mobile-workflow-card .status--open{color:#fff;background:#e6a23c}.mobile-workflow-card .status--progress{color:#fff;background:#2f7cf6}.mobile-workflow-card .status--review{color:#fff;background:#3fa37a}.mobile-workflow-card .status--done{color:#fff;background:#2fa47c}.workflow-status-callout--danger{color:#7a5b16!important;background:#fff3e0!important;border:1px solid #f2d9a8!important}.notice-pills{gap:7px;padding:2px 0 10px;display:flex;overflow-x:auto}.notice-pills button{color:#62778a;background:#fff;border:1px solid #dce6ee;border-radius:999px;flex:none;align-items:center;gap:5px;padding:7px 11px;font-size:11px;font-weight:900;display:inline-flex}.notice-pills button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.notice-pills button span{color:#6b8298;text-align:center;background:#eaf0f6;border-radius:999px;min-width:18px;padding:1px 5px;font-size:10px}.notice-pills button.active span{color:#fff;background:#ffffff2a}.notice-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3ecf2;border-radius:13px;gap:7px;width:100%;padding:12px;display:grid;box-shadow:0 5px 12px #1f355008}.notice-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.notice-card-head b{color:#1f4461;font-size:13px;line-height:1.45}.notice-tag{color:#fff;white-space:nowrap;border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:900}.notice-tag--整改提醒{background:#2f7cf6}.notice-tag--设备维保{background:#e6a23c}.notice-tag--证书到期{background:#6d5bd0}.notice-card>small{color:#6f8497;font-size:11px;line-height:1.6}.notice-card>time{color:#9aaab9;font-size:10px}.notice-unread{background:#e05d59;border-radius:50%;justify-self:start;width:8px;height:8px}.mobile-notice-row.unread{position:relative}.mobile-message-center .mobile-message-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mobile-message-center .mobile-message-head>div{flex:1;min-width:0}.mobile-message-center .mobile-message-head .recovery-badge{margin-left:0}.mobile-message-center{min-width:0;overflow-x:hidden}.mobile-message-center .panel{min-width:0;max-width:100%}.mobile-message-center .notice-pills{max-width:100%}.qr-zoom-lock{touch-action:none;-webkit-user-select:none;user-select:none}.qr-zoom-lock video{touch-action:none;pointer-events:none}.qr-status{color:#2f7cf6;font-size:12px;font-weight:800}.qr-lock-note{color:#6e8298;text-align:center;margin:8px 0 0;font-size:11px}.stats-hero-actions{align-items:center;gap:10px;display:flex}.photo-library-backdrop{z-index:1200;background:#0a1a2a94;justify-content:center;align-items:flex-start;padding:24px 16px 64px;display:flex;position:fixed;inset:0;overflow-y:auto}.photo-library-shell{background:#f4f8fc;border-radius:16px;flex-direction:column;width:min(1120px,100%);max-height:calc(100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #08182c33}.photo-library-head{background:#fff;border-bottom:1px solid #e3ecf2;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.photo-library-head h2{color:#16344f;margin:2px 0 0;font-size:20px}.photo-library-head small{color:#7890a4;margin-top:5px;font-size:12px;display:block}.photo-library-filters{background:#fff;border-bottom:1px solid #e3ecf2;flex-wrap:wrap;gap:12px 20px;padding:12px 20px;display:flex}.photo-library-pill-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.photo-library-pill-group>span{color:#6b8298;margin-right:2px;font-size:12px;font-weight:900}.photo-library-pill-group button{color:#35648c;background:#fff;border:1px solid #cfdee8;border-radius:999px;min-height:30px;padding:4px 10px;font-size:12px;font-weight:800}.photo-library-pill-group button.active{color:#fff;background:#1d5faf;border-color:#1d5faf}.photo-library-pill-group button em{opacity:.75;margin-left:3px;font-size:10px;font-style:normal}.photo-library-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:18px 20px;display:grid;overflow-y:auto}.photo-library-thumb{aspect-ratio:4/3;text-align:left;background:#eaf2f9;border:1px solid #dce7f0;border-radius:12px;padding:0;position:relative;overflow:hidden}.photo-library-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-library-thumb.is-pending{outline:2px solid #e6a23c}.photo-library-thumb.is-rejected{filter:saturate(.55);outline:2px solid #c6544e}.photo-library-badge{color:#fff;background:#0f263ec7;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:900;position:absolute;top:8px;right:8px}.photo-library-caption{color:#fff;background:linear-gradient(#0000,#09192ad1);padding:18px 9px 7px;position:absolute;bottom:0;left:0;right:0}.photo-library-caption b{font-size:12px;display:block}.photo-library-caption small{color:#cfe3f5;margin-top:2px;font-size:10px;display:block}.photo-library-thumb.is-skeleton{background:linear-gradient(100deg,#e6eef6 30%,#f5f9fc 50%,#e6eef6 70%) 0 0/200% 100%;animation:1.2s infinite photoShimmer}@keyframes photoShimmer{to{background-position:-200% 0}}.photo-library-error{color:#b5443e;padding:12px 20px;font-size:13px;font-weight:800}.photo-library-drawer{z-index:1210;background:#fff;border-radius:16px;width:min(460px,100vw - 28px);max-height:calc(100vh - 40px);padding:16px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 18px 54px #08182c44}.photo-library-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.photo-library-drawer-head h2{color:#16344f;margin:2px 0 0;font-size:17px}.photo-library-meta{background:#f4f8fc;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:14px 0;padding:12px;display:grid}.photo-library-meta div{justify-content:space-between;gap:8px;font-size:12px;display:flex}.photo-library-meta dt{color:#6b8298;white-space:nowrap;font-weight:800}.photo-library-meta dd{color:#16344f;text-align:right;word-break:break-all;margin:0;font-weight:700}.photo-library-tag{color:#1d5faf;background:#e8f2ff;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:900;display:inline-block}.photo-library-open{text-align:center;margin-top:12px;display:block}.user-management-toolbar{background:#fff;border-bottom:1px solid #e3ecf2;flex-wrap:wrap;gap:10px;padding:12px 16px;display:flex}.user-management-toolbar .search-box{flex:1;min-width:220px}.user-management-toolbar select{color:#35648c;background:#fff;border:1px solid #cfdee8;border-radius:9px;min-height:38px;padding:0 10px;font-size:13px;font-weight:800}.identity-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 14px;display:grid}.identity-overview-card{background:#f9fbfd;border:1px solid #dce8f1;border-radius:12px;min-width:0;padding:12px 13px}.identity-overview-card span,.identity-overview-card small{color:#71869a;font-size:10px;font-weight:800;line-height:1.45;display:block}.identity-overview-card b{color:#173b59;letter-spacing:-.04em;margin:3px 0;font-size:24px;display:block}.identity-overview-card--admin{background:linear-gradient(145deg,#edf5ff,#f9fcff);border-color:#a9c9f6}.identity-overview-card--admin span,.identity-overview-card--admin b{color:#1f63b7}.identity-overview-card--attention{background:#fff9ef;border-color:#f0d2a0}.identity-overview-card--attention b{color:#b26b10}.identity-overview-card--grant{background:#f2fbf7;border-color:#b8e0cf}.identity-overview-card--grant span,.identity-overview-card--grant b{color:#167a5c}.identity-protection-note{color:#275f9e;background:#f1f7ff;border:1px solid #bfd7f8;border-radius:11px;align-items:flex-start;gap:10px;margin:0 16px 14px;padding:10px 12px;display:flex}.identity-protection-note>span{color:#fff;background:#2f7cf6;border-radius:8px;flex:0 0 24px;place-items:center;height:24px;font-size:10px;display:grid}.identity-protection-note b,.identity-protection-note small{display:block}.identity-protection-note b{font-size:12px}.identity-protection-note small{color:#65809a;margin-top:2px;font-size:10px;line-height:1.5}.user-management-table th,.user-management-table td{white-space:nowrap}.user-management-table .row-actions{flex-wrap:wrap;gap:6px;display:flex}.identity-protected-row td{background:#f5f9ff}.identity-protected-row td:first-child{box-shadow:inset 3px 0 #2f7cf6}.identity-role-badge{color:#526a7e;background:#eef3f7;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:900;display:inline-flex}.identity-role-badge.is-super{color:#fff;background:linear-gradient(105deg,#246de5,#2f8ef4);box-shadow:0 4px 12px #2f7cf633}.identity-link-state{color:#8a9dad!important}.identity-link-state.is-linked{font-weight:900;color:#287a63!important}.identity-protected-badge{margin-top:4px;font-weight:900;display:block;color:#2f6fb7!important;font-size:9px!important}.identity-warn{color:#c6544e;font-weight:900}.identity-mobile-list{display:none}.permission-matrix-table{border-collapse:collapse;width:100%;min-width:900px}.permission-matrix-table th,.permission-matrix-table td{text-align:center;border:1px solid #e3ecf2;padding:6px 8px;font-size:12px}.permission-matrix-table thead th{color:#35648c;background:#f2f8ff;font-weight:900}.permission-matrix-table tbody th{color:#16344f;text-align:left;white-space:nowrap;background:#f8fbfe}.pm-action-head{color:#6b8298;font-size:11px}.pm-toggle{color:#b9c8d4;background:#fff;border:1px solid #d8e4ee;border-radius:7px;width:34px;height:28px;font-size:12px;font-weight:900}.pm-toggle.is-on{color:#1d5faf;background:#e8f2ff;border-color:#1d5faf}.pm-toggle.is-dirty{box-shadow:0 0 0 2px #ffe9a8}.pm-toggle:disabled{opacity:.45}.pm-role-preview{color:#16344f;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.pm-role-preview:hover{color:#2f7cf6}.permission-matrix-table tbody th small,.pm-data-scope small{color:#8a9dad;white-space:normal;margin-top:3px;font-size:10px;font-weight:500;line-height:1.35;display:block}.pm-data-scope{min-width:92px}.pm-data-scope b{color:#2f7cf6;white-space:nowrap;display:block}.permission-preview{background:linear-gradient(145deg,#f8fbff,#fff);border:1px solid #dbe7f1;border-radius:14px;margin-top:18px;padding:16px}.permission-preview-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.permission-preview-head h3{color:#173b59;margin:2px 0 3px;font-size:20px}.permission-preview-head label{color:#5d7185;gap:5px;font-size:11px;font-weight:800;display:grid}.permission-preview-head select{color:#244b6d;background:#fff;border:1px solid #cfdee8;border-radius:9px;min-width:150px;padding:8px 10px}.permission-preview-scope{color:#54708a;background:#eaf3ff;border-radius:10px;align-items:center;gap:10px;margin:13px 0;padding:10px 12px;font-size:12px;display:flex}.permission-preview-scope b{color:#1f65bb;font-size:14px}.permission-preview-scope small{margin-left:auto}.permission-preview-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.permission-preview-grid article{background:#fff;border:1px solid #e1e9f0;border-radius:10px;min-width:0;padding:10px}.permission-preview-grid article.is-denied{opacity:.72;background:#f7f9fb}.permission-preview-grid article div{justify-content:space-between;align-items:center;gap:5px;display:flex}.permission-preview-grid article b{color:#294b67;font-size:12px}.permission-preview-grid article em{color:#9a6711;white-space:nowrap;background:#fff1d6;border-radius:999px;padding:2px 5px;font-size:9px;font-style:normal}.permission-preview-grid article p{color:#688096;margin:5px 0 0;font-size:11px;line-height:1.45}.pm-admin-row{background:#f8fafc}.pm-override-count{color:#6b8298;font-weight:900}.account-security-modal{width:min(760px,100vw - 32px)}.account-session-section,.account-password-section{background:#f9fbfd;border:1px solid #dce8f1;border-radius:13px;padding:14px}.account-password-section{background:#fff;margin-top:12px}.account-security-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.account-security-section-head h3{color:#1f3f5d;margin:0;font-size:16px}.account-security-section-head p{color:#71869a;margin:4px 0 0;font-size:11px;line-height:1.5}.account-session-list{gap:8px;margin-top:12px;display:grid}.account-session-list article{background:#fff;border:1px solid #e0e9f0;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.account-session-list article.is-current{background:#f1f7ff;border-color:#a9c9f6}.account-session-icon{color:#2466ba;background:#e8f2ff;border-radius:10px;flex:0 0 38px;place-items:center;height:38px;font-size:11px;font-weight:900;display:grid}.account-session-list article>div{min-width:0}.account-session-list article b{color:#274964;align-items:center;gap:7px;display:flex}.account-session-list article em{color:#237548;white-space:nowrap;background:#dff3e7;border-radius:999px;padding:2px 6px;font-size:9px;font-style:normal}.account-session-list article small{color:#74899b;overflow-wrap:anywhere;margin-top:3px;font-size:10px;line-height:1.45;display:block}.account-session-message{color:#2466ba;margin:9px 0 0;font-size:11px;font-weight:800}.account-session-badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.account-session-badges em{color:#2868b4;white-space:nowrap;background:#eaf3ff;border-radius:999px;padding:2px 6px;font-size:9px;font-style:normal}.person-hub-backdrop{z-index:1200;background:#0a1a2a94;justify-content:center;align-items:flex-start;padding:24px 16px 64px;display:flex;position:fixed;inset:0;overflow-y:auto}.person-hub-shell{background:#f4f8fc;border-radius:16px;width:min(980px,100%);padding:0 0 24px;box-shadow:0 18px 50px #08182c33}.person-hub-head{background:#fff;border-bottom:1px solid #e3ecf2;border-radius:16px 16px 0 0;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.person-hub-id{align-items:flex-start;gap:12px;display:flex}.person-hub-id>i{color:#fff;background:linear-gradient(135deg,#4d8df6,#2f7cf6);border-radius:14px;place-items:center;width:46px;height:46px;font-size:20px;font-style:normal;font-weight:900;display:grid}.person-hub-id h2{color:#16344f;margin:2px 0 0;font-size:20px}.person-hub-id small{color:#7890a4;margin-top:5px;font-size:12px;display:block}.person-hub-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-hub-actions input[type=date]{color:#35648c;border:1px solid #cfdee8;border-radius:9px;min-height:34px;padding:0 8px;font-size:12px}.person-hub-error{color:#b5443e;padding:12px 20px;font-size:13px;font-weight:800}.person-hub-section{margin:14px 16px 0}.person-hub-photos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.person-hub-photo{aspect-ratio:4/3;background:#eaf2f9;border:1px solid #dce7f0;border-radius:10px;padding:0;position:relative;overflow:hidden}.person-hub-photo img{object-fit:cover;width:100%;height:100%;display:block}.person-hub-photo.is-pending{outline:2px solid #e6a23c}.person-hub-photo em{color:#fff;background:linear-gradient(#0000,#09192ad1);padding:14px 6px 5px;font-size:10px;font-style:normal;font-weight:900;position:absolute;bottom:0;left:0;right:0}.person-hub-list{gap:8px;display:grid}.person-hub-row{background:#fff;border:1px solid #e3ecf2;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.person-hub-row>div{flex:1;min-width:0}.person-hub-row b{color:#16344f;font-size:13px;display:block}.person-hub-row small{color:#7890a4;margin-top:2px;font-size:11px;display:block}.person-hub-row em{color:#6b8298;font-size:11px;font-style:normal;font-weight:800}.person-hub-points{flex-wrap:wrap;gap:8px;display:flex}.person-hub-points>span{background:#fff;border:1px solid #dce7f0;border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.person-hub-points b{color:#16344f;font-size:12px}.person-hub-points small{color:#7890a4;font-size:10px}.mobile-profile-page{background:#f2f7fc;min-height:calc(100vh - 114px);padding:0 16px 24px}.mobile-profile-user-card{background:#fff;border:1px solid #e8eef5;border-radius:14px;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex;box-shadow:0 6px 16px #1f35500d}.mobile-profile-avatar{color:#1a3a6c;background:#e6f0ff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:22px;font-weight:900;display:grid;box-shadow:0 0 0 3px #fff,0 0 0 5px #bfd9ff}.mobile-profile-user-info{flex:1;min-width:0}.mobile-profile-user-info b{color:#1a3a6c;font-size:16px;display:block}.mobile-profile-user-info em{color:#2f7cf6;margin-top:3px;font-size:11px;font-style:normal;font-weight:800;display:block}.mobile-profile-user-info small{color:#8a9aa9;margin-top:4px;font-size:11px;display:block}.mobile-profile-menu-groups{gap:13px;display:grid}.mobile-profile-menu-groups>section>p{color:#7f91a2;letter-spacing:.08em;margin:0 4px 6px;font-size:11px;font-weight:900}.mobile-profile-menu-groups [data-profile-group=work-mode] .mobile-profile-links{background:linear-gradient(135deg,#f4f8ff,#fff);border-color:#cfe0f7}.mobile-profile-menu-groups [data-profile-group=work-mode] .mobile-profile-links button{background:0 0}.mobile-profile-menu-groups [data-profile-group=account-context] .mobile-profile-links{background:linear-gradient(135deg,#eef5ff,#fff);border-color:#bfd8f7}.mobile-profile-menu-groups [data-profile-group=account-context] button small{color:#72889b;margin-left:auto;font-size:10px;font-weight:700}.mobile-profile-menu-groups [data-profile-group=account-context] button em{color:#2569b7;background:#e4efff;border-radius:999px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:900}.mobile-profile-links{background:#fff;border:1px solid #e8eef5;border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #1f35500d}.mobile-profile-links button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f6;align-items:center;gap:10px;width:100%;padding:15px 16px;display:flex}.login-saved-accounts{z-index:30;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a263de0;border:1px solid #ffffff52;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:900;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 34px #0000003d}.login-card{position:relative}.login-card-close{color:#71889b;cursor:pointer;background:#fff;border:1px solid #dce7ef;border-radius:10px;place-items:center;width:32px;height:32px;font-size:20px;display:grid;position:absolute;top:14px;right:14px}.mobile-profile-links button:last-child{border-bottom:0}.mobile-profile-links button:active{background:#f6faff}.mobile-profile-links b{color:#1a3a6c;flex:1;font-size:15px;font-weight:800}.mobile-profile-links i{color:#c9d6e4;font-size:20px;font-style:normal}.mobile-profile-link-icon{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-style:normal;font-weight:900;display:grid}.mobile-profile-link-icon--perm{color:#2f7cf6;background:#e6f0ff}.mobile-profile-link-icon--msg{color:#2fa47c;background:#e8f5ec}.mobile-profile-link-icon--acc{color:#7e57c2;background:#f0e6ff}.mobile-profile-logout{color:#d94848;text-align:center;cursor:pointer;background:#fff0f0;border:0;border-radius:12px;width:100%;margin:14px 0;padding:14px;font-size:15px;font-weight:900;transition:transform .12s,background .12s}.mobile-profile-logout:active{background:#ffe4e2;transform:scale(.96)}.mobile-profile-footer{color:#9aa9b8;text-align:center;justify-items:center;gap:3px;padding:12px 0 8px;display:grid}.mobile-profile-footer>svg{margin-bottom:3px}.mobile-profile-footer b{color:#7e92a4;font-size:12px}.mobile-profile-footer span{font-size:11px}.mobile-profile-footer small{font-size:11px;line-height:1.5}@media (max-width:760px){.photo-library-backdrop{padding:0}.photo-library-shell{border-radius:0;width:100%;height:100%;max-height:100%}.photo-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.photo-library-drawer{border-radius:16px 16px 0 0;width:100%;max-height:86vh;position:fixed;inset:auto 0 0;transform:none}.stats-hero-actions{width:100%}.stats-hero-actions button{flex:1}.person-hub-backdrop{padding:0}.person-hub-shell{border-radius:0;width:100%;min-height:100%}.person-hub-head{flex-direction:column}.person-hub-actions{width:100%}.person-hub-actions input[type=date]{flex:1}.user-management-toolbar .search-box{min-width:100%}.identity-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 12px}.identity-overview-card{padding:10px}.identity-overview-card b{font-size:21px}.identity-protection-note{margin:0 12px 12px}.user-management-panel>.table-wrap{display:none}.identity-mobile-list{gap:10px;padding:0 12px 14px;display:grid}.identity-mobile-card{background:#fff;border:1px solid #dbe6ee;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px #1f42600f}.identity-mobile-card.is-protected{background:linear-gradient(155deg,#f5f9ff,#fff);border-color:#aacaf5}.identity-mobile-card.is-warning{border-color:#edc996}.identity-mobile-card header{border-bottom:1px solid #e6eef4;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.identity-mobile-card header>div{gap:7px;min-width:0;display:grid}.identity-mobile-card header b{overflow-wrap:anywhere;color:#173b59;font-size:15px}.identity-mobile-card header input{accent-color:#2f7cf6;width:19px;height:19px}.identity-mobile-shield{color:#2366b8;background:#e5f0ff;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:900}.identity-mobile-card dl{gap:0;margin:0;padding:4px 12px;display:grid}.identity-mobile-card dl>div{border-bottom:1px dashed #e7edf2;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.identity-mobile-card dl>div:last-child{border-bottom:0}.identity-mobile-card dt{color:#8394a3;font-size:11px;font-weight:800}.identity-mobile-card dd{overflow-wrap:anywhere;color:#28465f;min-width:0;margin:0;font-size:12px;font-weight:800;line-height:1.45}.identity-mobile-card .identity-mobile-login{letter-spacing:-.01em;font-size:11px}.identity-mobile-card .identity-mobile-login span{display:inline}.identity-mobile-card dd small{color:#2f6fb7;margin-left:6px;font-weight:900}.identity-mobile-warning{color:#a76617;background:#fff5e8;border-radius:8px;margin:0 12px 10px;padding:8px;font-size:11px;font-weight:800}.identity-mobile-card footer{background:#f8fafc;border-top:1px solid #e6eef4;flex-wrap:wrap;gap:7px;padding:10px 12px;display:flex}.identity-mobile-card footer button{color:#31516c;background:#fff;border:1px solid #d6e3ed;border-radius:9px;min-height:34px;padding:7px 10px;font-size:11px;font-weight:900}.identity-mobile-empty{color:#7d91a2;text-align:center;border:1px dashed #cddbe6;border-radius:12px;padding:20px;font-size:12px}.permission-preview-head{display:grid}.permission-preview-head select{width:100%}.permission-preview-scope{flex-wrap:wrap;align-items:flex-start}.permission-preview-scope small{width:100%;margin-left:0}.permission-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-security-modal .modal-head{z-index:3;background:#fff;margin:-4px 0 12px;padding:4px 0 8px;position:sticky;top:-12px}.account-security-modal .modal-head .close-button{flex:0 0 33px;place-items:center;display:grid!important}.account-security-section-head{display:grid}.account-security-section-head .outline-button{width:100%}.account-session-list article{padding:9px}.account-session-list article b{flex-wrap:wrap;align-items:flex-start}.account-session-icon{flex-basis:34px;height:34px}.account-password-section .form-two{grid-template-columns:1fr}.top-actions .topbar-permission,.top-actions .topbar-scan{align-items:center;gap:6px;color:#1d5faf!important;background:#f2f8ff!important;border:1px solid #cfe0f2!important;border-radius:11px!important;min-height:44px!important;padding:10px 12px!important;display:inline-flex!important}.top-actions .topbar-permission:before{content:"👥"}.top-actions .topbar-scan:before{content:"📷"}.top-actions .topbar-add{justify-content:center;align-items:center;color:#fff!important;background:#2f7cf6!important;border-radius:12px!important;width:44px!important;height:44px!important;display:inline-flex!important}.modal-backdrop{-webkit-overflow-scrolling:touch;padding:0!important;display:block!important;overflow-y:auto!important}.record-modal,.clear-modal{overflow-y:visible;border-radius:0!important;width:100%!important;height:auto!important;min-height:100%!important;max-height:none!important;margin:0!important;padding:12px 14px 24px!important}.modal-head{z-index:3;background:#fff;border-bottom:1px solid #e3ecf2;align-items:center;gap:10px;display:flex;top:0;margin:-12px -14px 12px!important;padding:10px 14px!important;position:sticky!important}.modal-head>div{flex:1;min-width:0}.modal-back-button{color:#16344f;background:#fff;border:1px solid #e3ecf2;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;font-weight:900;display:inline-flex!important}.modal-head .close-button{display:none!important}.record-modal details.form-panel-group,.record-modal details.template-standard-section,.record-modal details.special-form-fields{background:#fff;border:1px solid #e3ecf2;border-radius:13px;margin-bottom:10px;overflow:hidden}.record-modal details summary{cursor:pointer;color:#1d59be;padding:12px 30px 12px 13px;font-weight:900;list-style:none;position:relative}.record-modal details summary::-webkit-details-marker{display:none}.record-modal details summary:after{content:"▾";color:#6e8298;transition:transform .2s;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.record-modal details[open] summary:after{transform:translateY(-50%)rotate(180deg)}.record-modal details .form-panel-body{margin:0 13px 13px}}@media (max-width:340px){.identity-mobile-card .identity-mobile-login span{display:block}.local-account-management .panel-head{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.local-account-management .panel-head h2{overflow-wrap:anywhere}.local-account-management .view-toggle{grid-template-columns:1fr 1fr;width:100%;display:grid}.local-account-management .view-toggle .primary-button{grid-column:1/-1;width:100%}}:root{--navy:#1b3a5f;--navy-deep:#16304f;--blue:#2f7cf6;--teal:#5b7c9e;--ink:#1f3550;--muted:#6d8298;--line:#e5edf5;--page:#f4f8fc;--card:#fff;--red:#e05d59;--green:#2fa47c;--amber:#d99a2e;--purple:#6d5bd0;--cyan:#7d95ad;--tech-cyan:#22d3ee;--deep-sea:#06162c;--glass:#ffffffb8;--glass-strong:#ffffffe0;--shadow-soft:0 1px 2px #102d500f,0 12px 32px #102d5014;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-glass:18px;--radius-panel:20px;--shadow-card:0 8px 24px #1f35500f;--shadow-modal:0 24px 60px #1f355024;--shadow-btn:0 8px 18px #2f7cf630;--dur-fast:.12s;--dur-med:.2s;--dur-slow:.3s;--dur-page:.3s;--dur-sheet:.25s;--dur-press:.1s;--status-pending:#d99a2e;--status-fixing:#2f7cf6;--status-review:#22a7b0;--status-done:#1e8176;--status-danger:#c0392b}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.skip-link{z-index:120;color:#fff;background:#174f9b;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:900;text-decoration:none;transition:transform .16s;position:fixed;top:12px;left:14px;transform:translateY(-170%);box-shadow:0 8px 20px #10314e3d}.skip-link:focus{outline-offset:2px;outline:3px solid #2568c96b;transform:translateY(0)}.workspace:focus-visible{outline-offset:-2px;outline:2px solid #2f7cf6}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}}.sidebar{color:#4a6a86;background:#fff;border-right:1px solid #e5edf5;flex-direction:column;height:100vh;min-height:100vh;padding:25px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-lockup{color:#1f3550;align-items:center;gap:11px;padding:0 9px 27px;display:flex}.brand-mark{background:#3977e3;border-radius:11px;place-items:center;width:39px;height:39px;font-size:20px;font-weight:900;display:grid;box-shadow:0 8px 20px #06192c66}.brand-lockup strong,.sidebar-footer strong{font-size:15px;display:block}.brand-lockup span:not(.brand-mark),.sidebar-footer span{color:#8ba2b6;letter-spacing:.12em;margin-top:3px;font-size:10px;display:block}.main-nav{gap:4px;display:grid}.nav-item,.ledger-link{color:#55738f;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;display:flex}.nav-item{padding:11px 12px;font-size:14px}.main-nav>.nav-item>span{text-align:center;flex:none;width:18px}.menu-child>span{text-align:left;white-space:nowrap;flex:1;width:auto}.nav-item:hover,.nav-item.active,.ledger-link:hover,.ledger-link.active{color:#1e62d0;background:#eef5ff}.nav-item.active{box-shadow:inset 3px 0 #2f7cf6}.nav-caption{color:#8ba2b6;letter-spacing:.11em;margin:27px 10px 8px;font-size:11px}.ledger-nav{gap:2px;display:grid}.ledger-link{padding:8px 10px;font-size:12px}.ledger-link span{flex:1}.ledger-link b{color:#8caac0;font-size:11px}.type-dot{color:#fff;border-radius:6px;flex:none;place-items:center;width:21px;height:21px;font-size:10px;font-style:normal;font-weight:900;display:grid}.type-dot--blue{background:#3680e4}.type-dot--teal{background:#1c9a91}.type-dot--violet{background:#7664c8}.type-dot--amber{background:#d99a21}.type-dot--red{background:#d34f52}.type-dot--green{background:#348a70}.type-dot--slate{background:#63778a}.type-dot--orange{background:#d77938}.type-dot--rose{background:#c75873}.type-dot--indigo{background:#5265ba}.type-dot--cyan{background:#2499b8}.sidebar-management{color:#24445f;text-align:left;background:#f7faff;border:1px solid #e2ecf5;border-radius:9px;margin:18px 5px 0;padding:10px;font-size:12px;font-weight:800}.sidebar-management span{float:right;color:#2f7cf6}.sidebar-footer{border-top:1px solid #edf3f8;align-items:center;gap:10px;margin-top:auto;padding:16px 8px 0;display:flex}.avatar{color:#174a75;background:#d9ebff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:900;display:grid}.workspace{width:100%;max-width:1640px;margin:0 auto;padding:31px 38px 50px}.topbar{margin-bottom:25px;display:block}.eyebrow,.section-label{color:#6e8ca5;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:900}.topbar h1,.panel h2,.record-modal h2,.attendance-import h2,.admin-intro h2{color:#122f4b;letter-spacing:-.04em;margin:0;font-size:29px}.top-actions{align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.outline-button,.cancel-button,.plain-button{border-radius:9px;padding:10px 14px;font-size:13px;font-weight:800}.primary-button{background:var(--blue);color:#fff;border:0;box-shadow:0 8px 18px #2768d830}.primary-button:hover{background:#1d59be}.plain-button{border:1px solid var(--line);color:#426079;background:#fff}.outline-button{color:var(--blue);background:#fff;border:1px solid #cad9e5;margin-left:10px;padding:8px 11px}.secondary-button{color:#187578;background:#fff;border:1px solid #b9dce2}.notice{color:#257050;background:#eff9f4;border:1px solid #cdebdc;border-radius:9px;align-items:center;gap:9px;margin:-4px 0 18px;padding:11px 13px;font-size:13px;display:flex}.notice button{color:#257050;background:0 0;border:0;margin-left:auto;font-size:12px}.stats-grid{grid-template-columns:1.2fr repeat(3,1fr);gap:15px;margin-bottom:17px;display:grid}.stat-card,.panel{border:1px solid var(--line);background:var(--card);border-radius:14px;box-shadow:0 7px 20px #17324b08}.stat-card{min-height:135px;padding:19px;position:relative;overflow:hidden}.stat-card>span{color:#718498;font-size:12px;font-weight:800}.stat-card strong{color:#122f4b;letter-spacing:-.05em;margin-top:10px;font-size:31px;display:block}.stat-card small{color:#74879a;margin-top:5px;font-size:11px;display:block}.stat-card--navy{background:linear-gradient(135deg,#123451,#1e5f92);border:0}.stat-card--navy>span,.stat-card--navy strong,.stat-card--navy small{color:#fff}.progress-line{background:#e9eef3;border-radius:9px;width:86px;height:6px;position:absolute;bottom:22px;right:18px;overflow:hidden}.progress-line i{border-radius:inherit;background:#27a28e;height:100%;display:block}.ring{color:#258570;border:5px solid #d7eee9;border-radius:50%;place-items:center;width:49px;height:49px;font-size:11px;display:grid;position:absolute;bottom:16px;right:18px}.ring b{font-size:11px}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.78fr);gap:17px;margin-bottom:17px;display:grid}.panel{padding:20px}.panel-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px;display:flex}.panel h2{font-size:18px}.text-button{color:var(--blue);background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:900}.quick-list{gap:7px;display:grid}.quick-list button{color:#2e4961;text-align:left;background:#f6f9fc;border:0;border-radius:9px;align-items:center;gap:9px;padding:9px;font-size:12px;font-weight:800;display:flex}.quick-list span{flex:1}.quick-list b{color:#a0afbc}.bottom-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.67fr);gap:17px;display:grid}.risk-chart{gap:16px;margin-top:23px;display:grid}.risk-chart div{color:#667d91;grid-template-columns:40px 1fr 25px;align-items:center;gap:10px;font-size:12px;display:grid}.risk-chart i{background:#edf2f6;border-radius:8px;height:8px;overflow:hidden}.risk-chart b{border-radius:inherit;background:linear-gradient(90deg,#d7a22c,#d26453);height:100%;display:block}.focus-panel{background:linear-gradient(135deg,#eaf6f8,#f7fbff);border-color:#d8edf0}.focus-panel>p:not(.section-label){color:#637d92;font-size:13px;line-height:1.7}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#778b9d;white-space:nowrap;padding:0 10px 10px;font-size:11px;font-weight:900}td{color:#52687c;vertical-align:middle;border-top:1px solid #edf2f6;padding:12px 10px;font-size:12px}td b{color:#223d57;font-size:13px;font-weight:900;display:block}td small{color:#8b9cac;margin-top:3px;font-size:11px;display:block}.ledger-name{color:#1d68cc;white-space:nowrap;font-weight:800}.tag,.status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.tag--red,.status--open{color:#c54a46;background:#fff0ed}.tag--amber{color:#b37915;background:#fff6dd}.tag--gray{color:#667b8e;background:#eef3f7}.empty-state{text-align:center;color:#7a90a3;font-size:13px;padding:37px 12px!important}.ledger-page{gap:17px;display:grid}.ledger-toolbar{justify-content:space-between;align-items:center;gap:14px;display:flex}.filter-pills{flex-wrap:wrap;gap:7px;display:flex}.filter-pills button{color:#62778a;background:#fff;border:1px solid #dce6ee;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.filter-pills button.active{border-color:var(--blue);background:var(--blue);color:#fff}.toolbar-meta{color:#728699;white-space:nowrap;font-size:12px}.search-box{color:#203a53;border:1px solid #d9e4ec;border-radius:8px;outline:none;width:225px;padding:9px 11px;font-size:12px}.attendance-page{gap:17px;display:grid}.attendance-import{background:linear-gradient(135deg,#f2f9ff,#fff);border:1px solid #d8e8f2;border-radius:15px;justify-content:space-between;align-items:center;gap:30px;padding:24px;display:flex}.attendance-import h2{font-size:21px}.attendance-import p:not(.section-label){color:#667e92;max-width:680px;margin:9px 0 0;font-size:13px;line-height:1.7}.upload-button{background:var(--blue);color:#fff;white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-width:145px;padding:11px 14px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #2768d830}.attendance-stats,.admin-kpis{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.attendance-stats>div,.admin-kpis>div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px 16px}.attendance-stats span,.admin-kpis span{color:#6e8295;font-size:11px;font-weight:800;display:block}.attendance-stats b,.admin-kpis b{color:#1b3954;letter-spacing:-.04em;margin-top:5px;font-size:24px;display:block}.table-caption{color:#778b9d;font-size:11px;display:block}.attendance-table td,.staff-table td{white-space:nowrap}.admin-page{gap:17px;display:grid}.admin-intro{background:#fff;border:1px solid #dce7ef;border-radius:14px;justify-content:space-between;align-items:center;gap:26px;padding:24px;display:flex;box-shadow:0 7px 20px #17324b08}.admin-intro h2{font-size:22px}.admin-intro p:not(.section-label){color:#667f94;max-width:700px;margin:9px 0 0;font-size:13px;line-height:1.7}.admin-kpis{grid-template-columns:repeat(4,1fr)}.staff-panel{padding-bottom:8px}.row-actions{gap:9px;display:flex}.row-actions button{color:var(--blue);background:0 0;border:0;padding:0;font-size:11px;font-weight:900}.admin-notes{grid-template-columns:1fr 1fr;gap:17px;display:grid}.admin-notes ul{color:#667f94;margin:17px 0;padding-left:19px;font-size:12px;line-height:1.9}.permission-list{gap:0;margin-top:15px;display:grid}.permission-list div{border-bottom:1px dashed #dce6ee;padding:10px 0}.permission-list b,.permission-list span{display:block}.permission-list b{color:#2b465d;font-size:13px}.permission-list span{color:#71879a;margin-top:3px;font-size:11px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102a436b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.record-modal{background:#fff;border-radius:16px;width:min(570px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 22px 70px #071a2f55}.modal-head{justify-content:space-between;gap:15px;margin-bottom:18px;display:flex}.close-button{color:#5f7386;background:#edf2f6;border:0;border-radius:9px;width:33px;height:33px;font-size:22px}.record-modal label{color:#526c82;gap:6px;margin:12px 0;font-size:12px;font-weight:900;display:grid}.record-modal input,.record-modal select,.record-modal textarea{color:#203a53;background:#fff;border:1px solid #d7e3ec;border-radius:8px;width:100%;padding:10px}.record-modal textarea{resize:vertical;line-height:1.55}.form-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.cancel-button{color:#587087;background:#eef3f7;border:0}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:1120px){.app-shell{grid-template-columns:235px minmax(0,1fr)}.workspace{padding:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card--navy{grid-column:span 2}.content-grid,.bottom-grid,.admin-notes{grid-template-columns:1fr}.admin-kpis{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.app-shell.app-shell--admin-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar.sidebar--admin-collapsed{padding:18px 12px 14px;overflow-x:visible}}@media (max-width:760px){.skip-link{display:none}.app-shell{display:block}.sidebar{z-index:5;height:auto;min-height:auto;padding:14px;position:sticky;top:0;overflow:visible}.brand-lockup{padding:0 5px 10px}.nav-caption,.ledger-nav,.sidebar-management,.sidebar-footer{display:none}.main-nav{display:flex;overflow:auto}.nav-item{white-space:nowrap;flex:none;padding:8px 10px}.workspace{padding:22px 14px 35px}.topbar{flex-direction:column;gap:15px}.top-actions{justify-content:space-between;width:100%}.topbar h1{font-size:26px}.stats-grid,.attendance-stats,.admin-kpis{grid-template-columns:1fr}.attendance-page{grid-template-columns:minmax(0,1fr)}.attendance-page>*{min-width:0}.stat-card--navy{grid-column:auto}.content-grid,.bottom-grid,.admin-notes{grid-template-columns:1fr}.panel{padding:16px}.ledger-toolbar{flex-direction:column;align-items:flex-start}.toolbar-meta{white-space:normal}.search-box{width:100%}.attendance-import,.admin-intro{flex-direction:column;align-items:flex-start;gap:15px}.form-two{grid-template-columns:1fr}table{min-width:710px}.attendance-table{min-width:880px}.staff-table{min-width:850px}.record-modal{padding:20px}.upload-button{width:100%}}.ledger-link[draggable=true]{touch-action:pan-y;position:relative}.ledger-link.is-dragging{opacity:.52;outline:1px dashed #8dc8ff;background:#eef5ff!important}.drag-handle{color:#82a6bf;letter-spacing:-3px;cursor:grab;font-size:13px;transform:rotate(90deg)}.ledger-link:hover .drag-handle{color:#2f7cf6}.work-image-panel{gap:16px;display:grid}.image-toolbar{background:#f8fbfd;border:1px solid #e3ecf2;border-radius:10px;justify-content:space-between;align-items:end;gap:15px;padding:13px;display:flex}.image-toolbar label{color:#597187;gap:6px;font-size:12px;font-weight:900;display:grid}.image-toolbar select{color:#233e56;background:#fff;border:1px solid #d7e3ec;border-radius:8px;min-width:260px;padding:9px}.image-actions{align-items:center;gap:9px;display:flex}.image-record-note{color:#72889b;font-size:12px}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.work-image-card{color:#3d5870;background:#fff;border:1px solid #e0e9f0;border-radius:10px;text-decoration:none;overflow:hidden}.work-image-card img{object-fit:cover;background:#edf2f6;width:100%;height:112px;display:block}.work-image-card span{text-overflow:ellipsis;white-space:nowrap;padding:8px;font-size:11px;display:block;overflow:hidden}.image-empty{color:#7890a4;text-align:center;border:1px dashed #cfdee8;border-radius:9px;margin:0;padding:23px;font-size:12px}.image-input small{color:#8396a6;font-weight:400}.outline-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:760px){.image-toolbar{flex-direction:column;align-items:stretch}.image-toolbar select{width:100%;min-width:0}.image-actions{flex-direction:column;align-items:stretch}.image-actions .upload-button,.image-actions .secondary-button{text-align:center;width:100%}.image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.patrol-workspace{gap:17px;display:grid}.patrol-hero{color:#fff;background:linear-gradient(135deg,#10314e,#1d5c8c);border-radius:15px;justify-content:space-between;align-items:center;gap:26px;padding:25px;display:flex}.patrol-hero .section-label{color:#a8cbe4}.patrol-hero h2{letter-spacing:-.04em;margin:0;font-size:25px}.patrol-hero p:not(.section-label){color:#d1e0ee;max-width:680px;margin:8px 0 0;font-size:13px;line-height:1.7}.patrol-hero .primary-button{color:#1b5d92;box-shadow:none;background:#fff}.patrol-summary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.patrol-summary>div{background:#fff;border:1px solid #dfeaf1;border-radius:11px;padding:15px 17px}.patrol-summary span{color:#71869a;font-size:11px;font-weight:800;display:block}.patrol-summary b{color:#173a58;letter-spacing:-.04em;margin-top:5px;font-size:25px;display:block}.patrol-filter-card{background:#fff;border:1px solid #dfeaf1;border-radius:13px;gap:16px;padding:18px 20px;display:grid}.patrol-post-list,.patrol-item-list{flex-wrap:wrap;gap:8px;display:flex}.patrol-post-list button,.patrol-item-list button{color:#526f86;background:#fff;border:1px solid #d8e5ee;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.patrol-post-list button.active{color:#fff;background:#235fc9;border-color:#235fc9}.patrol-item-list button.active{color:#fff;background:#148c85;border-color:#148c85}.patrol-records{padding-bottom:8px}.patrol-table{min-width:940px}.patrol-table tr.selected td{background:#f0f7ff}.post-badge,.patrol-item-badge{white-space:nowrap;border-radius:7px;align-items:center;padding:5px 7px;font-size:11px;font-weight:900;display:inline-flex}.post-badge{color:#2868bb;background:#e9f2ff}.patrol-item-badge{color:#1e8176;background:#e9f7f4}.patrol-notes{white-space:normal;min-width:180px;max-width:290px;line-height:1.6}.image-manage-button{color:#2768c9;background:#edf5ff;border:0;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:900}.patrol-image-panel{gap:16px;display:grid}.patrol-image-toolbar{background:#f8fbfd;border:1px solid #e2ebf2;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.patrol-image-toolbar>div:first-child{color:#687f94;flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.patrol-modal-callout{color:#246f70;background:#edf7f8;border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.6}@media (max-width:760px){.patrol-hero{flex-direction:column;align-items:flex-start}.patrol-hero .primary-button{width:100%}.patrol-summary{grid-template-columns:1fr}.patrol-image-toolbar{flex-direction:column;align-items:stretch}.patrol-image-toolbar>div:first-child{gap:5px;display:grid}.patrol-image-toolbar .image-actions{flex-direction:column;align-items:stretch}.patrol-image-toolbar .upload-button,.patrol-image-toolbar .secondary-button{text-align:center;width:100%}}.ledger-link,.filter-pills button{-webkit-user-select:none;user-select:none;touch-action:manipulation}.ledger-link{cursor:grab}.ledger-link:active,.filter-pills button:active{cursor:grabbing}.ledger-drag-active [data-ledger-name]{cursor:grabbing!important}.ledger-link.is-dragging,.filter-pills button.is-dragging{opacity:.58;outline-offset:2px;outline:2px dashed #75b6ff;transform:scale(.98)}.drag-handle,.filter-drag-handle{color:#82b6d7;touch-action:none;justify-content:center;align-items:center;font-size:14px;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.drag-handle{background:#eef2f7;border-radius:6px;width:22px;height:25px}.filter-pills button{cursor:grab;align-items:center;gap:5px;display:inline-flex}.filter-drag-handle{color:#8ea4b8;margin-left:1px;font-size:11px}.filter-pills button.active .filter-drag-handle{color:#d9e9ff}.generic-ledger-workspace{gap:17px;display:grid}.generic-ledger-workspace tr.selected td{background:#f0f7ff}.ledger-image-panel{gap:16px;display:grid}.ledger-image-toolbar{background:#f8fbfd;border:1px solid #e2ebf2;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.ledger-image-toolbar>div:first-child{color:#687f94;flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.ledger-maintenance{gap:17px;display:grid}.maintenance-intro{background:linear-gradient(135deg,#f2f8ff,#fff);border-color:#d3e5f4;justify-content:space-between;align-items:center;gap:24px;display:flex}.maintenance-intro h2{font-size:22px}.maintenance-intro p:not(.section-label){color:#657e92;max-width:700px;margin:8px 0 0;font-size:13px;line-height:1.7}.recovery-badge{color:#268263;white-space:nowrap;background:#e8f7ed;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900}.ledger-clear-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.ledger-clear-card{background:#fbfdff;border:1px solid #e0e9f0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:13px;display:flex}.ledger-clear-card b,.ledger-clear-card span{display:block}.ledger-clear-card b{color:#29465e;font-size:13px}.ledger-clear-card span{color:#7b91a3;margin-top:4px;font-size:11px}.clear-ledger-button,.restore-button{color:#bf4e49;white-space:nowrap;background:#fff7f6;border:1px solid #f0c7c4;border-radius:7px;padding:7px 8px;font-size:11px;font-weight:900}.restore-button{color:#278367;background:#eff9f4;border-color:#bfe1d4}.clear-ledger-button:disabled,.restore-button:disabled{cursor:not-allowed;opacity:.48}.recovery-panel{padding-bottom:8px}.clear-modal{background:#fff;border-radius:16px;width:min(470px,100%);padding:25px;box-shadow:0 22px 70px #071a2f55}.clear-modal h2{color:#16344f;letter-spacing:-.04em;margin:0;font-size:24px}.clear-modal p:not(.section-label){color:#61798e;margin:13px 0 0;font-size:13px;line-height:1.75}.clear-confirm-button{color:#fff;background:#c6544e;border:0;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:900}.clear-confirm-button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:1000px){.ledger-clear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.ledger-image-toolbar,.maintenance-intro{flex-direction:column;align-items:stretch}.ledger-image-toolbar>div:first-child{gap:5px;display:grid}.ledger-image-toolbar .image-actions{flex-direction:column;align-items:stretch}.ledger-image-toolbar .upload-button,.ledger-image-toolbar .secondary-button{text-align:center;width:100%}.ledger-clear-grid{grid-template-columns:1fr}.ledger-clear-card{flex-direction:column;align-items:flex-start}.clear-ledger-button{width:100%}.filter-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;flex-wrap:nowrap;padding-bottom:3px;padding-right:6px;overflow-x:auto}.filter-pills::-webkit-scrollbar{display:none}.filter-pills button{flex:none}.recovery-table{min-width:660px}}.workflow-center,.alert-report-page{gap:17px;display:grid}.workflow-hero,.report-hero{color:#fff;background:linear-gradient(135deg,#193a58,#2875a8);border-radius:15px;justify-content:space-between;align-items:center;gap:25px;padding:25px;display:flex}.workflow-hero .section-label,.report-hero .section-label{color:#b7d7ee}.workflow-hero h2,.report-hero h2{letter-spacing:-.04em;margin:0;font-size:25px}.workflow-hero p:not(.section-label),.report-hero p:not(.section-label){color:#d7e8f3;max-width:670px;margin:8px 0 0;font-size:13px;line-height:1.7}.workflow-hero>span{color:#edf7ff;white-space:nowrap;background:#ffffff1a;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900}.report-hero{background:linear-gradient(135deg,#243d65,#4b6cc5)}.report-hero .primary-button{color:#315baf;box-shadow:none;background:#fff}.workflow-kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.workflow-kpis>div{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:15px 17px}.workflow-kpis>div.alert{background:#fff8f7;border-color:#f1d1ce}.workflow-kpis span{color:#6f8497;font-size:11px;font-weight:800;display:block}.workflow-kpis b{color:#173852;letter-spacing:-.04em;margin-top:5px;font-size:25px;display:block}.workflow-kpis .alert b{color:#c4514b}.workflow-table{min-width:980px}.workflow-table td{vertical-align:top}.workflow-table td small{white-space:normal;max-width:220px;line-height:1.5}.deadline{color:#687e90;background:#edf3f7;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;display:inline-flex}.deadline--soon{color:#ad781b;background:#fff4db}.deadline--late{color:#c34e49;background:#fff0ed}.alert-report-page .workflow-kpis{grid-template-columns:repeat(4,1fr)}.report-grid{grid-template-columns:1.1fr .9fr;gap:17px;display:grid}.alert-list{gap:7px;display:grid}.alert-list button{color:#33516a;text-align:left;background:#f8fbfd;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.alert-list button>div{flex:1}.alert-list b,.alert-list small{display:block}.alert-list b{color:#24415b;font-size:13px}.alert-list small{color:#768c9f;margin-top:3px;font-size:11px}.alert-list em{color:#2f69c5;font-size:11px;font-style:normal;font-weight:900}.alert-dot{background:#e2aa35;border-radius:50%;flex:none;width:8px;height:8px}.alert-dot.late{background:#db5b54}.insight-card{background:#f7fbff;border:1px solid #dce8f1;border-radius:10px;margin-top:17px;padding:17px}.insight-card b,.insight-card span{display:block}.insight-card b{color:#1f4461;font-size:16px}.insight-card span{color:#b04e47;margin-top:4px;font-size:12px;font-weight:900}.insight-card p,.report-note{color:#70869a;margin:10px 0 0;font-size:12px;line-height:1.7}.report-note{border-top:1px dashed #dbe5ec;margin-top:15px;padding-top:15px}.patrol-point-panel{padding-bottom:8px}.point-description{color:#71879a;margin:-6px 0 16px;font-size:12px;line-height:1.65}.point-table{min-width:790px}.workflow-modal{width:min(690px,100%)}.workflow-location{color:#72899c;margin-top:5px;font-size:12px;display:block}.workflow-status-callout{color:#39708d;background:#eef7fb;border-radius:8px;margin:0 0 13px;padding:10px 12px;font-size:12px;line-height:1.65}.workflow-history{background:#fafcfd;border:1px solid #e1eaf1;border-radius:9px;margin-top:16px;padding:13px}.workflow-history>b{color:#38536a;font-size:12px}.workflow-history>p{color:#7c91a2;margin:8px 0 0;font-size:11px}.workflow-history ol{gap:9px;margin:10px 0 0;padding-left:20px;display:grid}.workflow-history li{color:#526d82;font-size:11px}.workflow-history li span,.workflow-history li strong,.workflow-history li p{display:block}.workflow-history li span{color:#8295a5}.workflow-history li strong{color:#32526b;margin-top:2px}.workflow-history li p{margin:3px 0 0;line-height:1.5}.record-modal small{color:#8396a6;font-weight:400}@media (max-width:1000px){.workflow-kpis,.alert-report-page .workflow-kpis{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}}@media (max-width:760px){.workflow-hero,.report-hero{flex-direction:column;align-items:flex-start}.workflow-hero>span,.report-hero .primary-button{text-align:center;width:100%}.workflow-kpis,.alert-report-page .workflow-kpis{grid-template-columns:1fr}.workflow-table{min-width:900px}}.point-qr-image{background:#fff;border:1px solid #dfe8ef;border-radius:12px;width:min(100%,300px);margin:20px auto 0;padding:10px;display:block}.template-picker{background:#f8fbfd;border:1px solid #dfe8ef;border-radius:10px;margin:-2px 0 14px;padding:12px}.template-picker>span{color:#6b8295;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.template-picker>div{flex-wrap:wrap;gap:7px;display:flex}.template-picker button{color:#35546d;background:#fff;border:1px solid #d6e4ee;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;line-height:1.35}.template-picker button:hover,.template-picker button.selected{color:#1d61c7;background:#edf5ff;border-color:#2d6dd5}.system-governance{gap:17px;display:grid}.backup-table,.audit-table{min-width:850px}.reminder-panel{margin-top:17px}.reminder-list{gap:8px;display:grid}.reminder-row{background:#fbfdff;border:1px solid #e1eaf1;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.reminder-row b,.reminder-row small{display:block}.reminder-row b{color:#29465e;font-size:13px}.reminder-row small{color:#72889a;margin-top:4px;font-size:11px;line-height:1.5}.reminder-row .row-actions{justify-content:flex-end}.reminder-row .row-actions button,.backup-table .row-actions button,.backup-table .row-actions a{color:#2768c9;background:0 0;border:0;padding:0;font-size:11px;font-weight:900;text-decoration:none}.qr-scan-modal{width:min(520px,100%)}.qr-camera{object-fit:cover;background:#102a43;border-radius:12px;width:100%;max-height:360px;margin-top:16px;display:block}.qr-scan-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.qr-scan-actions .upload-button{width:100%;min-width:0}@media (max-width:760px){.modal-backdrop{padding:12px;display:block;overflow:auto}.record-modal,.clear-modal{width:100%;max-height:none;margin:0 auto}.top-actions{flex-wrap:wrap;justify-content:flex-start}.top-actions .primary-button,.top-actions .plain-button{flex:1;min-width:132px}.template-picker>div{max-height:170px;overflow:auto}.reminder-row{grid-template-columns:1fr;align-items:flex-start}.reminder-row .row-actions{justify-content:flex-start}.qr-scan-actions{grid-template-columns:1fr}.backup-table,.audit-table{min-width:760px}}.operations-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 17px;display:grid}.operations-kpis article{background:#fff;border:1px solid #dfe8ef;border-radius:12px;min-height:112px;padding:15px 16px;box-shadow:0 6px 16px #17324b06}.operations-kpis article.attention{background:#fff9f8;border-color:#f1d4cf}.operations-kpis span,.operations-kpis small{color:#72869a;font-size:11px;font-weight:800;display:block}.operations-kpis b{color:#173a58;letter-spacing:-.04em;margin:8px 0 5px;font-size:26px;display:block}.operations-kpis article.attention b{color:#c14f49}.operations-kpis small{font-weight:400;line-height:1.45}.special-form-fields{background:#f8fcfd;border:1px solid #d9e9ef;border-radius:10px;margin:10px 0 14px;padding:13px}.special-form-heading{margin-bottom:8px}.special-form-heading span,.special-form-heading small{display:block}.special-form-heading span{color:#216f75;font-size:12px;font-weight:900}.special-form-heading small{color:#7890a1;margin-top:3px;font-size:11px;line-height:1.5}.special-form-fields .wide-field{grid-column:1/-1}.mobile-record-list{display:none}.import-result-bar{background:#f8fcff;border:1px solid #d8e8f2;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.import-result-bar b,.import-result-bar span{display:block}.import-result-bar b{color:#21425e;font-size:13px}.import-result-bar span{color:#73899b;margin-top:3px;font-size:11px}.import-preview-modal{width:min(760px,100%)}.import-preview-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.import-preview-summary>div{background:#f8fbfd;border:1px solid #dce8ef;border-radius:9px;padding:11px}.import-preview-summary span,.import-preview-summary b{display:block}.import-preview-summary span{color:#74899c;font-size:11px;font-weight:800}.import-preview-summary b{color:#1b3d59;margin-top:4px;font-size:22px}.import-preview-block{background:#fff;border:1px solid #e0e9ef;border-radius:10px;margin-top:15px;padding:13px}.import-preview-block>b{color:#36546c;font-size:12px}.mapping-grid{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.mapping-grid span{color:#597388;background:#f1f6fa;border-radius:999px;padding:5px 8px;font-size:11px}.mapping-grid em{color:#2768c9;margin-right:4px;font-style:normal;font-weight:900}.import-preview-errors{background:#fff9f8;border-color:#f0d2ce}.import-preview-errors ul{color:#9d5550;margin:9px 0 0;padding-left:18px;font-size:11px;line-height:1.75}.import-preview-errors small{color:#99736f;font-size:11px}.health-check-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.health-check{background:#fbfdff;border:1px solid #dce7ee;border-radius:10px;padding:13px}.health-check>span,.health-check b,.health-check small{display:block}.health-check>span{color:#647d91;background:#edf3f7;border-radius:999px;width:max-content;padding:4px 7px;font-size:10px;font-weight:900}.health-check b{color:#29475f;margin-top:9px;font-size:13px}.health-check small{color:#74899b;overflow-wrap:anywhere;margin-top:5px;font-size:11px;line-height:1.5}.health-check--需关注{background:#fffdf7;border-color:#f0ddad}.health-check--需关注>span{color:#a97316;background:#fff4dd}.health-check--需处理{background:#fff9f8;border-color:#efd0cb}.health-check--需处理>span{color:#c34f49;background:#fff0ed}.system-event-list{gap:7px;margin-top:13px;display:grid}.system-event-row{background:#fbfdff;border:1px solid #e2ebf1;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.system-event-row b,.system-event-row small{display:block}.system-event-row b{color:#38546b;font-size:12px}.system-event-row small{color:#7b90a0;margin-top:3px;font-size:11px}.system-event-row button{color:#2768c9;background:0 0;border:0;font-size:11px;font-weight:900}.event-level{color:#60798c;background:#edf3f7;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.event-level--warning{color:#ad781b;background:#fff4dd}.event-level--error{color:#c34f49;background:#fff0ed}.system-event-summary{background:#f7fbff;border:1px solid #dce8f0;border-radius:10px;gap:9px;margin-top:13px;padding:11px 12px;display:grid}.system-event-summary.is-urgent{background:#fff9f8;border-color:#efd1cb}.system-event-summary-stats{flex-wrap:wrap;gap:7px;display:flex}.system-event-summary-stats span{color:#5a748a;background:#eaf3fb;border-radius:999px;align-items:baseline;gap:4px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.system-event-summary-stats b{color:#28516f;font-size:14px}.system-event-summary-stats .system-event-summary-stale{color:#b2514b;background:#fff0ed}.system-event-summary-stale b{color:#bd4b45}.system-event-summary-meta{gap:7px;display:grid}.system-event-summary-meta>small{color:#70889a;font-size:11px;line-height:1.45}.system-event-source-list{flex-wrap:wrap;gap:6px;display:flex}.system-event-source-list span{color:#5e788c;overflow-wrap:anywhere;background:#fff;border:1px solid #d9e6ef;border-radius:999px;align-items:center;gap:5px;min-width:0;max-width:100%;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.system-event-source-list b{color:#28516f;font-size:11px}.system-event-source-list em{color:#c14f49;font-size:10px;font-style:normal;font-weight:900}html[data-theme=dark] .system-event-summary{background:#10293b;border-color:#29495f}html[data-theme=dark] .system-event-summary.is-urgent{background:#302126;border-color:#6d4544}html[data-theme=dark] .system-event-summary-stats span{color:#a8c6d9;background:#193a50}html[data-theme=dark] .system-event-summary-stats b,html[data-theme=dark] .system-event-source-list b{color:#d4e9f7}html[data-theme=dark] .system-event-summary-stats .system-event-summary-stale{color:#f2b5ad;background:#4a2b2d}html[data-theme=dark] .system-event-summary-meta>small{color:#a6bdcc}html[data-theme=dark] .system-event-source-list span{color:#b9d0df;background:#18364a;border-color:#315168}@media (max-width:1120px){.operations-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.health-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.operations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-kpis article:last-child{grid-column:span 2}.desktop-record-table{display:none}.mobile-record-list{gap:9px;display:grid}.mobile-record-card{text-align:left;background:#fff;border:1px solid #dfe8ef;border-radius:10px;justify-content:space-between;gap:10px;width:100%;padding:12px;display:flex}.mobile-record-card.selected{background:#f4f9ff;border-color:#7fb4ee}.mobile-record-card b,.mobile-record-card small{display:block}.mobile-record-card b{color:#27455d;margin-top:5px;font-size:13px}.mobile-record-card small{color:#778e9f;margin-top:4px;font-size:11px}.mobile-record-card>div:last-child{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.mobile-record-card em{color:#718699;font-size:10px;font-style:normal}.patrol-table,.attendance-table{min-width:0}.patrol-table thead,.attendance-table thead{display:none}.patrol-table,.patrol-table tbody,.patrol-table tr,.patrol-table td,.attendance-table,.attendance-table tbody,.attendance-table tr,.attendance-table td{width:100%;display:block}.patrol-table tr,.attendance-table tr{background:#fff;border:1px solid #dfe8ef;border-radius:10px;margin:0 0 10px;padding:8px}.patrol-table td,.attendance-table td{white-space:normal;border:0;padding:5px 7px}.patrol-table td:before,.attendance-table td:before{color:#8194a4;width:82px;font-size:10px;font-weight:900;display:inline-block}.patrol-table td:first-child:before{content:"巡逻日期"}.patrol-table td:nth-child(2):before{content:"巡逻岗位"}.patrol-table td:nth-child(3):before{content:"巡逻事项"}.patrol-table td:nth-child(4):before{content:"区域点位"}.patrol-table td:nth-child(5):before{content:"巡逻人"}.patrol-table td:nth-child(6):before{content:"说明"}.patrol-table td:nth-child(7):before{content:"现场图片"}.attendance-table td:first-child:before{content:"日期"}.attendance-table td:nth-child(2):before{content:"姓名"}.attendance-table td:nth-child(3):before{content:"工号"}.attendance-table td:nth-child(4):before{content:"部门"}.attendance-table td:nth-child(5):before{content:"上班打卡"}.attendance-table td:nth-child(6):before{content:"下班打卡"}.attendance-table td:nth-child(7):before{content:"考勤状态"}.attendance-table td:nth-child(8):before{content:"匹配结果"}.import-result-bar{flex-direction:column;align-items:flex-start}.import-result-bar .outline-button{width:100%;margin-left:0}.import-preview-summary,.health-check-grid{grid-template-columns:1fr}.system-event-row{grid-template-columns:1fr;align-items:flex-start}.system-event-row button{padding:0}.special-form-fields .wide-field{grid-column:auto}}.nav-caption--operations{margin-top:18px}.operation-nav{gap:5px;margin:0 14px 16px;display:grid}.operation-nav button{color:#55738f;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:800;display:flex}.operation-nav button:hover,.operation-nav button.active{color:#1e62d0;background:#eef5ff}.operation-nav i{color:#fff;background:#2e71cf;border-radius:7px;justify-content:center;align-items:center;width:23px;height:23px;font-size:11px;font-style:normal;display:inline-flex}.operation-nav button:nth-child(2) i{background:#178d87}.operation-nav button:nth-child(3) i{background:#63778a}.operation-nav button:nth-child(4) i{background:#ca5551}.operation-nav button:nth-child(5) i{background:#7255d0}.operation-nav button:nth-child(6) i{background:#d77a2e}.operation-nav button:nth-child(7) i{background:#b23a3e}.operation-workbench{gap:17px;max-width:1220px;display:grid}.operation-hero{color:#fff;background:linear-gradient(135deg,#164a7a,#2778b8);border-radius:17px;justify-content:space-between;align-items:flex-end;gap:28px;min-height:196px;padding:28px 30px;display:flex;box-shadow:0 16px 36px #1c4a7920}.operation-hero--teal{background:linear-gradient(135deg,#155d65,#1a9b90)}.operation-hero--violet{background:linear-gradient(135deg,#443380,#7459ca)}.operation-hero--red{background:linear-gradient(135deg,#79323a,#be5b56)}.operation-hero--orange{background:linear-gradient(135deg,#75431f,#c57931)}.operation-hero p{color:#cfe5f5;letter-spacing:.08em;margin:0;font-size:12px;font-weight:900}.operation-hero h2{letter-spacing:-.06em;margin:10px 0 8px;font-size:32px}.operation-hero>div>span{color:#e0eff9;max-width:650px;font-size:13px;line-height:1.75;display:block}.operation-hero-kpis{flex:none;gap:10px;display:flex}.operation-hero-kpis>div{background:#ffffff12;border:1px solid #ffffff2c;border-radius:12px;min-width:108px;padding:12px 15px}.operation-hero-kpis b,.operation-hero-kpis span{display:block}.operation-hero-kpis b{font-size:27px}.operation-hero-kpis span{color:#d7e8f4;margin-top:3px;font-size:11px;font-weight:700}.operation-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.operation-action-card{text-align:left;background:#fff;border:1px solid #dce7ef;border-radius:13px;align-items:center;gap:12px;min-height:94px;padding:15px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 5px 16px #17324b08}.operation-action-card:hover{border-color:#84b8e9;transform:translateY(-1px);box-shadow:0 10px 20px #17324b10}.operation-action-card i,.operation-row>i{color:#2869bf;background:#e9f3ff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-style:normal;font-weight:900;display:inline-flex}.operation-action-card:nth-child(2) i{color:#188078;background:#e6f7f4}.operation-action-card--attendance i{color:#7057d2;background:#f0edff}.operation-action-card span{flex:1;min-width:0}.operation-action-card b,.operation-action-card small{display:block}.operation-action-card b{color:#25435d;font-size:14px}.operation-action-card small{color:#71879a;margin-top:5px;font-size:11px;line-height:1.5}.operation-action-card em{color:#2b6ccb;font-size:19px;font-style:normal}.operation-panel{background:#fff;border:1px solid #dce7ef;border-radius:14px;padding:20px;box-shadow:0 5px 16px #17324b06}.operation-panel-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px;display:flex}.operation-panel-head p{color:#62869a;letter-spacing:.05em;margin:0;font-size:11px;font-weight:900}.operation-panel-head h3{color:#203e58;letter-spacing:-.04em;margin:5px 0 0;font-size:19px}.operation-panel-head small{color:#72899b;max-width:400px;font-size:12px;line-height:1.6}.operation-chip-list{flex-wrap:wrap;gap:9px;display:flex}.operation-chip-list button{color:#3a617c;background:#f8fbfd;border:1px solid #cfe2ee;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}.operation-chip-list button:hover{color:#2769c3;background:#edf6ff;border-color:#4f91d9}.operation-list{gap:7px;display:grid}.operation-row{background:#f8fbfd;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.operation-row>i{color:#2767b9;background:#eaf4fe;border-radius:8px;width:29px;height:29px;font-size:11px}.operation-row b,.operation-row small{text-align:left;display:block}.operation-row b{color:#2a4860;font-size:13px}.operation-row small{color:#788fa1;margin-top:3px;font-size:11px}.operation-row time{color:#7e92a3;white-space:nowrap;font-size:11px}.operation-row--button{cursor:pointer;border:0;width:100%}.operation-row--button:hover{background:#eef7ff}.operation-status{color:#258161;white-space:nowrap;background:#e7f4ec;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.operation-empty{color:#7891a4;text-align:center;border:1px dashed #cddfea;border-radius:10px;padding:28px 15px;font-size:12px}.operation-modal{width:min(720px,100%)}.operation-form-helper{color:#39728d;background:#edf7fb;border-radius:9px;margin:0 0 15px;padding:10px 12px;font-size:12px;line-height:1.65}.conditional-fields{background:#fffaf7;border:1px solid #f0d8ca;border-radius:10px;margin:12px 0;padding:13px}.conditional-fields>p{color:#b45b47;margin:0 0 10px;font-size:12px;font-weight:900}.conditional-fields textarea{margin-top:10px}@media (max-width:1100px){.operation-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-hero{flex-direction:column;align-items:flex-start}.operation-hero-kpis{width:100%}.operation-hero-kpis>div{flex:1}}@media (max-width:760px){.operation-workbench{gap:12px}.operation-hero{border-radius:14px;min-height:0;padding:22px 19px}.operation-hero h2{font-size:26px}.operation-action-grid{grid-template-columns:1fr}.operation-panel{padding:16px}.operation-panel-head{flex-direction:column;gap:6px}.operation-hero-kpis{grid-template-columns:1fr 1fr;display:grid}.operation-hero-kpis>div{min-width:0}.operation-action-card{min-height:82px}.operation-row{grid-template-columns:auto minmax(0,1fr)}.operation-row time,.operation-row .operation-status{grid-column:2;justify-self:start}.operation-modal{width:100%}.operation-nav{grid-template-columns:1fr 1fr;margin-bottom:12px}.operation-nav button{padding:8px}.operation-nav button:last-child{grid-column:span 2}}.login-shell{background:radial-gradient(circle at 20% 0,#e4f2ff 0,#0000 36%),linear-gradient(135deg,#eff5fa,#e6edf5);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce7ef;border-radius:20px;width:min(100%,470px);padding:32px;box-shadow:0 24px 65px #14324d1c}.login-brand{align-items:center;gap:11px;margin-bottom:27px;display:flex}.login-brand .brand-mark{color:#fff;background:#2869cf;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:21px;font-weight:900;display:inline-flex}.login-brand strong,.login-brand small{display:block}.login-brand strong{color:#183d5c;font-size:17px}.login-brand small{color:#7590a4;margin-top:3px;font-size:11px}.login-brand--hero{text-align:center;flex-direction:column;justify-content:center;gap:9px;margin-bottom:26px}.login-brand--hero small{color:#5f7f97;letter-spacing:.02em;margin:0;font-size:12px}.login-card h1{color:#173b59;letter-spacing:-.05em;margin:7px 0 10px;font-size:28px}.login-card label{color:#38566f;gap:7px;font-size:12px;font-weight:900;display:grid}.login-card input{color:#183852;width:100%;font:inherit;background:#fff;border:1px solid #cfdeea;border-radius:10px;outline:none;padding:12px 13px;font-size:14px}.login-card input:focus{border-color:#3e7bd9;box-shadow:0 0 0 3px #3f7cda14}.login-submit{width:100%;margin-top:4px;padding:13px}.login-switch{color:#2d6dcc;background:0 0;border:0;margin:17px auto 0;font-size:12px;font-weight:900;display:block}.login-error{color:#b34d48;background:#fff0ef;border-radius:9px;margin:0;padding:10px 11px;font-size:12px;line-height:1.55}.table-neutral{color:#6e8494;white-space:nowrap;background:#eef4f7;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.risk-control-preview{background:#fffaf7;border:1px solid #f0d8c8;border-radius:10px;margin:14px 0;padding:14px}.risk-control-preview>b{color:#b55343;font-size:13px;display:block}.risk-control-preview>p{color:#89695f;margin:6px 0 0;font-size:12px;line-height:1.65}.risk-control-preview label{margin-bottom:0}.business-picker-modal{background:#fff;border-radius:17px;width:min(880px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 22px 70px #071a2f55}.business-picker-modal .modal-head>div>p:not(.section-label){color:#71889a;max-width:620px;margin:8px 0 0;font-size:13px;line-height:1.65}.business-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.business-entry-card{text-align:left;background:#fff;border:1px solid #dce7ef;border-radius:12px;align-items:center;gap:12px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.business-entry-card:hover{border-color:#6ca7ea;transform:translateY(-1px);box-shadow:0 8px 18px #1f548411}.business-entry-card i{color:#2869c5;background:#e9f2ff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.business-entry-card span{flex:1;min-width:0}.business-entry-card b,.business-entry-card small{display:block}.business-entry-card b{color:#28455d;font-size:14px}.business-entry-card small{color:#71889a;margin-top:4px;font-size:11px;line-height:1.5}.business-entry-card em{color:#2a6bca;font-size:18px;font-style:normal}.form-control-panel{gap:13px;display:grid}.form-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.form-control-card{background:#fff;border:1px solid #dce7ef;border-radius:13px;gap:13px;padding:16px;display:grid;box-shadow:0 5px 16px #17324b06}.form-control-card p{color:#29475f;margin:0 0 10px;font-size:14px;font-weight:900}.form-control-card label{color:#627a8e;gap:6px;font-size:11px;font-weight:900;display:grid}.form-control-card select{color:#29465f;background:#fff;border:1px solid #d6e2eb;border-radius:8px;width:100%;padding:9px}.form-control-switches{border-top:1px dashed #dce7ee;gap:8px;padding-top:12px;display:grid}.form-control-switches label{color:#526d82;cursor:pointer;align-items:center;gap:8px;display:flex}.form-control-switches input{accent-color:#2768d8;width:15px;height:15px}.form-control-switches input:disabled{cursor:not-allowed;opacity:.45}@media (max-width:760px){.business-picker-modal{width:100%;min-height:calc(100vh - 24px);padding:20px}.business-entry-grid,.form-control-grid{grid-template-columns:1fr}.business-entry-card{padding:13px}.form-control-card{padding:14px}}.ledger-context-bar{background:linear-gradient(120deg,#f8fbff,#edf5ff);border:1px solid #dce7f5;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:22px 28px;display:flex}.ledger-context-bar h2{color:#13385e;margin:2px 0 6px}.ledger-context-bar p{color:#607a96;margin:0}.ledger-context-bar small{color:#7d92a8;margin-top:8px;display:block}.ledger-context-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.ledger-empty-state{color:#657e99;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:28px;display:flex}.ledger-empty-state b{color:#173b62;font-size:20px}.ledger-empty-state p{max-width:520px;margin:10px 0 18px;line-height:1.7}.related-ledger-panel{margin-top:18px}.related-link-list{gap:10px;display:grid}.related-link-row{border:1px solid #e0eaf5;border-radius:12px;align-items:stretch;display:flex;overflow:hidden}.related-link-row>button:first-child{text-align:left;cursor:pointer;background:#fff;border:0;flex:1;grid-template-columns:110px 1fr;align-items:center;gap:8px 14px;padding:14px 16px;display:grid}.related-link-row>button:first-child:hover{background:#f7fbff}.related-link-row span{color:#2d67bf;grid-row:span 2;align-self:center;font-weight:700}.related-link-row b{color:#18395d}.related-link-row small{color:#7890a9}.link-remove-button{color:#c43e43;cursor:pointer;background:#fff7f7;border:0;border-left:1px solid #e0eaf5;padding:0 16px}.guide-list{color:#4f6882;margin:18px 0;padding-left:24px;line-height:1.8}@media (max-width:760px){.ledger-context-bar{flex-direction:column;align-items:flex-start;padding:18px}.ledger-context-actions{justify-content:flex-start}.related-link-row>button:first-child{grid-template-columns:1fr;gap:3px}.related-link-row span{grid-row:auto;align-self:auto}.attendance-table td:nth-child(3):before{content:"工号"}.attendance-table td:nth-child(4):before{content:"部门"}.attendance-table td:nth-child(5):before{content:"上班打卡"}.attendance-table td:nth-child(6):before{content:"下班打卡"}.attendance-table td:nth-child(7):before{content:"考勤状态"}.attendance-table td:nth-child(8):before{content:"匹配结果"}}.ledger-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ledger-quick-groups{flex-wrap:wrap;gap:7px;display:flex}.ledger-quick-groups button{color:#5c7488;background:#fff;border:1px solid #d7e3ec;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900}.ledger-quick-groups button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.ledger-filters{align-items:center;gap:8px;display:flex}.ledger-filters select{color:#38546c;background:#fff;border:1px solid #d7e3ec;border-radius:8px;padding:8px 9px;font-size:11px;font-weight:800}.ledger-batch-bar{color:#33639c;background:#f2f8ff;border:1px solid #cfe1f2;border-radius:10px;align-items:center;gap:10px;margin-bottom:13px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.ledger-batch-bar .outline-button{margin-left:auto}.ledger-pagination{color:#71869a;justify-content:center;align-items:center;gap:14px;padding-top:16px;font-size:12px;display:flex}.ledger-pagination .secondary-button{padding:7px 12px;font-size:11px}.ledger-check-col{text-align:center;width:34px}.ledger-check-col input,.ledger-check input{accent-color:#2f7cf6;cursor:pointer;width:15px;height:15px}.ledger-check{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.ledger-card-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px;display:grid}.ledger-card{background:#fff;border:1px solid #dde7ef;border-radius:13px;transition:transform .16s,border-color .16s,box-shadow .16s;overflow:hidden;box-shadow:0 6px 16px #17324b08}.ledger-card:hover{border-color:#7fb2ec;transform:translateY(-1px);box-shadow:0 10px 22px #1f548412}.ledger-card-head{background:#f8fbfd;border-bottom:1px solid #edf2f6;align-items:center;gap:8px;padding:11px 13px;display:flex}.ledger-card-head .ledger-name{flex:1}.ledger-card-body{text-align:left;cursor:pointer;background:0 0;border:0;gap:9px;width:100%;padding:13px;display:grid}.ledger-card-body b{color:#1d3a55;font-size:14px;line-height:1.5}.ledger-card-body p{color:#6d8296;margin:0;font-size:12px;line-height:1.55}.ledger-card-body>div{flex-wrap:wrap;gap:7px;display:flex}.ledger-card-body small{color:#8296a7;font-size:11px}.ledger-card.is-new,.mobile-record-card.is-new{outline-offset:2px;outline:2px solid #6fb1f0}.new-badge{color:#cf4a3f;background:#ffece8;border-radius:999px;align-items:center;margin-left:6px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.ledger-drawer-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#102a4368;position:fixed;inset:0}.ledger-drawer{background:#f5f9fc;width:min(520px,100%);padding:22px;animation:.22s drawer-in;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-18px 0 48px #071a2f33}.ledger-drawer-head{justify-content:space-between;gap:14px;margin-bottom:14px;display:flex}.ledger-drawer-head h2{color:#14375a;letter-spacing:-.03em;margin:4px 0 6px;font-size:21px;line-height:1.4}.ledger-drawer-head p{color:#667f95;margin:0;font-size:12px}.ledger-drawer-meta{background:#fff;border:1px solid #dde7ef;border-radius:11px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:12px;display:flex}.ledger-drawer-meta span{color:#5e768b;font-size:11px;font-weight:900}.ledger-drawer-details{color:#4c667d;background:#fff;border:1px solid #dde7ef;border-radius:11px;margin:0 0 15px;padding:12px;font-size:12px;line-height:1.7}.ledger-drawer .related-ledger-panel{margin-top:0}.ledger-drawer .ledger-image-panel{background:#fff}.ledger-drawer .ledger-image-toolbar{flex-direction:column;align-items:stretch}.ledger-drawer .ledger-image-toolbar>div:first-child{gap:5px;display:grid}.ledger-drawer .image-actions{flex-direction:column;align-items:stretch}.ledger-drawer .upload-button,.ledger-drawer .secondary-button{text-align:center;width:100%}@keyframes drawer-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (max-width:760px){.ledger-toolbar-row{flex-direction:column;align-items:stretch}.ledger-filters{flex-wrap:wrap}.ledger-filters select{flex:1;min-width:0}.ledger-batch-bar{flex-wrap:wrap}.ledger-batch-bar .outline-button{margin-left:0}.ledger-card-grid{grid-template-columns:1fr}.ledger-drawer{width:100%;padding:18px}.ledger-quick-groups{flex-wrap:nowrap;overflow-x:auto}.ledger-quick-groups button{flex:none}.staff-table{min-width:960px}.attendance-table{min-width:1000px}}.top-actions .plain-button,.top-actions .primary-button,.top-actions .secondary-button,.top-actions .outline-button,.top-actions .cancel-button,.mobile-top-actions .plain-button,.mobile-top-actions .primary-button,.mobile-top-actions .secondary-button,.mobile-top-actions .outline-button,.mobile-top-actions .cancel-button{min-height:44px}.health-panel{flex-direction:column;display:flex}.health-panel>.panel-head{order:1}.health-panel>.point-description{order:2}.health-overview{background:linear-gradient(120deg,#f6fbff,#fff);border:1px solid #d9e7f0;border-radius:12px;order:3;grid-template-columns:minmax(210px,1.2fr) minmax(0,1fr);gap:12px 18px;margin:2px 0 13px;padding:14px 15px;display:grid}.health-overview.is-critical{background:linear-gradient(120deg,#fff6f4,#fff);border-color:#e9c5bf}.health-overview.is-attention{background:linear-gradient(120deg,#fffaf0,#fff);border-color:#ecdaaa}.health-overview-copy p,.health-overview-copy h3,.health-overview-copy small{margin:0;display:block}.health-overview-copy p{color:#648399;letter-spacing:.08em;font-size:10px;font-weight:900}.health-overview-copy h3{color:#24475f;letter-spacing:-.03em;margin-top:4px;font-size:18px}.health-overview.is-critical .health-overview-copy h3{color:#b84e47}.health-overview.is-attention .health-overview-copy h3{color:#a7791d}.health-overview-copy small{color:#6f8799;margin-top:4px;font-size:11px;line-height:1.5}.health-overview-stats{flex-wrap:wrap;align-content:flex-start;align-items:center;gap:7px;display:flex}.health-overview-stats span{color:#5c788d;background:#e9f3fb;border-radius:999px;align-items:baseline;gap:4px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex}.health-overview-stats b{color:#2b5573;font-size:15px}.health-overview-stats .health-overview-critical{color:#b9504a;background:#fff0ed}.health-overview-stats .health-overview-critical b{color:#bd4a44}.health-overview-stats .health-overview-attention{color:#a8781d;background:#fff4dd}.health-overview-stats .health-overview-attention b{color:#a36e13}.health-overview>time{color:#7890a2;border-top:1px solid #748fa32e;grid-column:1/-1;padding-top:9px;font-size:10px;font-weight:800}.health-panel>.system-event-summary{order:4;margin-top:0}.health-panel>.health-check-grid{order:5;margin-top:2px}.health-panel>.system-event-list{order:6}.health-panel .health-check--需处理{order:-2;grid-column:span 2}.health-panel .health-check--需关注{order:-1}.health-panel:has(.health-check--需处理) .health-check--正常{background:#fbfdff;border-color:#e5edf2}.health-panel:has(.health-check--需处理) .health-check--正常>span{color:#71889a;background:#f0f4f7}@media (max-width:1120px){.health-overview{grid-template-columns:1fr}.health-overview>time{grid-column:auto}.health-panel .health-check--需处理{grid-column:span 2}}@media (max-width:760px){.health-panel .health-check--需处理{grid-column:auto}.health-overview{padding:13px}.health-overview-copy h3{font-size:17px}}[data-theme=dark] .health-overview{background:linear-gradient(120deg,#102b3f,#102436);border-color:#294a64}[data-theme=dark] .health-overview.is-critical{background:linear-gradient(120deg,#38252b,#102436);border-color:#704849}[data-theme=dark] .health-overview.is-attention{background:linear-gradient(120deg,#382f1f,#102436);border-color:#715c32}[data-theme=dark] .health-overview-copy h3{color:#d8e9f5}[data-theme=dark] .health-overview.is-critical .health-overview-copy h3{color:#ffb7ae}[data-theme=dark] .health-overview.is-attention .health-overview-copy h3{color:#f2cf7d}[data-theme=dark] .health-overview-copy p,[data-theme=dark] .health-overview-copy small,[data-theme=dark] .health-overview>time{color:#a6bdcd}[data-theme=dark] .health-overview-stats span{color:#b9d2e2;background:#193b52}[data-theme=dark] .health-overview-stats b{color:#d5e9f6}[data-theme=dark] .health-overview-stats .health-overview-critical{color:#f0b5ae;background:#4d2d31}[data-theme=dark] .health-overview-stats .health-overview-critical b{color:#ffc1b8}[data-theme=dark] .health-overview-stats .health-overview-attention{color:#eed082;background:#453819}[data-theme=dark] .health-overview-stats .health-overview-attention b{color:#ffd987}[data-theme=dark] .health-panel:has(.health-check--需处理) .health-check--正常{background:#102638;border-color:#294a64}[data-theme=dark] .health-panel:has(.health-check--需处理) .health-check--正常>span{color:#afc4d2;background:#19364a}[data-theme=dark] .system-event-summary-stats .system-event-summary-stale b{color:#ffd0c8}.system-event-list-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.system-event-list-head p,.system-event-list-head b,.system-event-list-head span{display:block}.system-event-list-head p{color:#628095;letter-spacing:.08em;margin:0;font-size:10px;font-weight:900}.system-event-list-head b{color:#35536b;margin-top:4px;font-size:12px}.system-event-list-head>span{color:#5f7b90;white-space:nowrap;background:#edf4f8;border-radius:999px;flex:none;padding:4px 7px;font-size:10px;font-weight:900}.system-event-toolbar{background:#f8fbfd;border:1px solid #dce8ef;border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;display:flex}.system-event-toolbar label{color:#71899c;flex:128px;gap:4px;min-width:112px;font-size:10px;font-weight:900;display:grid}.system-event-toolbar select{color:#38566d;background:#fff;border:1px solid #d2e0e9;border-radius:7px;width:100%;min-width:0;padding:7px 8px;font-size:11px;font-weight:800}.system-event-toolbar button,.system-event-filter-empty button{color:#2768c9;background:#e9f3ff;border:0;border-radius:7px;min-height:32px;padding:7px 9px;font-size:10px;font-weight:900}.system-event-toolbar button:hover,.system-event-filter-empty button:hover{background:#dcecff}.system-event-rows{gap:7px;display:grid}.system-event-filter-empty{color:#71899b;background:#fbfdff;border:1px dashed #cbdce7;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 11px;font-size:11px;line-height:1.5;display:flex}.system-event-filter-empty button{flex:none;min-height:28px;padding-block:5px}@media (max-width:760px){.system-event-list-head{flex-direction:column;align-items:flex-start}.system-event-toolbar{align-items:stretch}.system-event-toolbar label{flex-basis:100%}.system-event-toolbar button{width:100%}.system-event-filter-empty{flex-direction:column;align-items:flex-start}.system-event-filter-empty button{width:100%}}[data-theme=dark] .system-event-list-head b{color:#d6e7f2}[data-theme=dark] .system-event-list-head p{color:#a7c2d2}[data-theme=dark] .system-event-list-head>span{color:#c2d8e6;background:#193a50}[data-theme=dark] .system-event-toolbar{background:#102a3d;border-color:#294b63}[data-theme=dark] .system-event-toolbar label{color:#abc3d2}[data-theme=dark] .system-event-toolbar select{color:#d4e7f3;background:#18364a;border-color:#31546a}[data-theme=dark] .system-event-toolbar button,[data-theme=dark] .system-event-filter-empty button{color:#b9dcfa;background:#1b4261}[data-theme=dark] .system-event-toolbar button:hover,[data-theme=dark] .system-event-filter-empty button:hover{background:#255575}[data-theme=dark] .system-event-filter-empty{color:#b4cbd9;background:#10283a;border-color:#315269}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.login-shell{isolation:isolate;background:radial-gradient(circle at 18% 16%,#1887ff47,#0000 31%),radial-gradient(circle at 84% 82%,#28c9d629,#0000 27%),linear-gradient(135deg,#06162c 0%,#0a2342 47%,#0b3155 100%);place-items:center;min-height:calc(100svh - 39px);padding:clamp(20px,4vw,44px);display:grid;position:relative;overflow:hidden}.login-shell:before{z-index:-3;content:"";background-image:linear-gradient(#63bbff0b 1px,#0000 1px),linear-gradient(90deg,#63bbff0b 1px,#0000 1px);background-size:42px 42px;animation:18s linear infinite login-grid-drift;position:absolute;inset:-40px;-webkit-mask-image:linear-gradient(90deg,#000,#00000047 70%,#0000);mask-image:linear-gradient(90deg,#000,#00000047 70%,#0000)}.login-shell:after{z-index:-2;content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0 52%,#47aaff0f 52.2% 52.5%,#0000 52.7% 100%);position:absolute;inset:0}.login-ambient{z-index:-1;filter:blur(2px);pointer-events:none;border-radius:50%;animation:10s ease-in-out infinite login-ambient-float;position:absolute}.login-ambient--one{background:radial-gradient(circle,#00aeff2e,#0000 68%);width:360px;height:360px;top:-130px;left:-100px}.login-ambient--two{background:radial-gradient(circle,#27d0c71f,#0000 68%);width:430px;height:430px;animation-delay:-4s;bottom:-160px;right:-120px}.login-stage{z-index:1;grid-template-columns:minmax(0,1fr) minmax(400px,440px);align-items:stretch;gap:24px;width:min(1180px,100%);display:grid;position:relative}.login-visual{color:#fff;background:linear-gradient(145deg,#0d345bd1,#061b35b8);border:1px solid #71c2ff2e;border-radius:30px;min-height:650px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 30px 80px #00091847}.login-motion-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-matrix-grid{transform-origin:50% 100%;background-image:linear-gradient(#57b7ff12 1px,#0000 1px),linear-gradient(90deg,#57b7ff12 1px,#0000 1px);background-size:34px 34px;animation:7s ease-in-out infinite login-matrix-breathe;position:absolute;inset:-12%;transform:perspective(700px)rotateX(58deg)translateY(25%);-webkit-mask-image:linear-gradient(#0000 6%,#000 50%,#0000 96%);mask-image:linear-gradient(#0000 6%,#000 50%,#0000 96%)}.login-network{opacity:.8;width:100%;height:100%;position:absolute;inset:0}.login-network-line{fill:none;stroke:#64c4ff36;stroke-width:1.25px;vector-effect:non-scaling-stroke}.login-network-line--soft{stroke:#43ddd32b}.login-flow{fill:none;stroke:#54c8ff;stroke-width:2px;stroke-linecap:round;stroke-dasharray:2 130;stroke-dashoffset:0;filter:drop-shadow(0 0 5px #50cfffe6);vector-effect:non-scaling-stroke;animation:7s linear infinite login-flow}.login-flow--two{stroke:#62e0d5;animation-duration:8.5s;animation-delay:-2.5s}.login-flow--three{animation-duration:9.5s;animation-delay:-4.5s}.login-node{background:#1fc7ff;border:1px solid #96e2ffe6;border-radius:50%;width:8px;height:8px;animation:2.8s ease-in-out infinite login-node-pulse;position:absolute;box-shadow:0 0 0 5px #26b5ff17,0 0 16px #27c3ffbf}.login-node--1{top:15%;left:7%}.login-node--2{animation-delay:-.7s;top:26%;left:25%}.login-node--3{animation-delay:-1.5s;top:14%;left:43%}.login-node--4{animation-delay:-2.1s;top:27%;left:65%}.login-node--5{animation-delay:-.4s;top:15%;right:8%}.login-node--6{animation-delay:-1.1s;top:55%;left:4%}.login-node--7{animation-delay:-2.3s;top:44%;left:23%}.login-node--8{animation-delay:-.3s;top:58%;left:46%}.login-node--9{animation-delay:-1.8s;top:44%;right:25%}.login-node--10{animation-delay:-2.5s;top:57%;right:4%}.login-radar{filter:drop-shadow(0 18px 35px #000c1e3d);border-radius:50%;width:330px;height:330px;animation:7s ease-in-out infinite login-radar-hover;position:absolute;top:54px;right:48px}.login-radar:before{content:"";background:radial-gradient(circle,#36c4ff26,#0f518114 48%,#0000 69%);border-radius:50%;position:absolute;inset:7%}.login-radar-ring{border:1px solid #6dd5ff5e;border-radius:50%;position:absolute}.login-radar-ring--outer{border-style:dashed;animation:12s linear infinite login-radar-rotate;inset:2%}.login-radar-ring--middle{border-color:#4ae2da57;animation:16s linear infinite login-radar-rotate-reverse;inset:17%}.login-radar-ring--inner{border-color:#88e0ff52;inset:33%}.login-radar-cross{background:linear-gradient(90deg,#0000,#60c8ff45,#0000);width:86%;height:1px;position:absolute;top:50%;left:7%}.login-radar-cross--y{transform:rotate(90deg)}.login-radar-sweep{background:conic-gradient(from 4deg,transparent 0 78%,#3dd0ff0f 84%,#46d9ff78 99.5%,transparent 100%);border-radius:50%;animation:5s linear infinite login-radar-rotate;position:absolute;inset:8%}.login-radar-ping{background:#77f2e9;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite login-node-pulse;position:absolute;box-shadow:0 0 0 6px #4ee2d917,0 0 17px #4ee2d9}.login-radar-ping--one{top:27%;left:24%}.login-radar-ping--two{animation-delay:-1.2s;bottom:31%;right:22%}.login-radar-core-light{background:radial-gradient(circle,#b9fbff 0%,#22d3ee 24%,#22d3ee00 72%);border-radius:50%;animation:3.2s ease-in-out infinite login-core-breathe;position:absolute;inset:42%;box-shadow:0 0 16px #4fe7ffe6,0 0 42px #22d3ee80}.login-live-signal{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(115deg,#082749b8,#154c7157);border:1px solid #7ed3ff33;border-radius:14px;align-items:center;gap:12px;padding:9px 13px 9px 9px;display:flex;position:absolute;top:50px;left:48px;box-shadow:inset 0 1px #ffffff0f,0 10px 28px #00081b2e}.login-live-signal-orbit{border:1px solid #57d9ef6b;border-radius:50%;width:48px;height:48px;position:relative;box-shadow:inset 0 0 12px #32cad917}.login-live-signal-orbit:before,.login-live-signal-orbit:after{content:"";border:1px solid #69d5ff3d;border-radius:50%;position:absolute;inset:9px}.login-live-signal-orbit:after{border-style:dashed;animation:5s linear infinite login-live-orbit;inset:-5px}.login-live-signal-core{background:#65e6e0;border-radius:50%;width:8px;height:8px;animation:2.4s ease-in-out infinite login-core-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #65e6e0}.login-live-signal-node{transform-origin:0 0;background:#55c7ff;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;box-shadow:0 0 9px #55c7ff}.login-live-signal-node--one{animation:3.6s linear infinite login-live-node-one}.login-live-signal-node--two{background:#77f2e9;animation:4.8s linear infinite login-live-node-two;box-shadow:0 0 9px #77f2e9}.login-live-signal-node--three{width:4px;height:4px;animation:5.7s linear infinite login-live-node-three}.login-live-signal small,.login-live-signal b{display:block}.login-live-signal small{color:#75c5e7;letter-spacing:.12em;font-size:8px;font-weight:900}.login-live-signal b{color:#d7effb;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:900}.login-visual-copy{z-index:2;position:absolute;bottom:48px;left:48px;right:48px}.login-visual-kicker{color:#92c9e9;letter-spacing:.14em;align-items:center;gap:8px;margin:0 0 12px;font-size:11px;font-weight:900;display:flex}.login-visual-kicker span{background:#50ded4;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite login-node-pulse;box-shadow:0 0 0 5px #50ded41a,0 0 12px #50ded4b3}.login-visual-copy h2{color:#f5fbff;letter-spacing:-.055em;margin:0;font-size:clamp(32px,3.4vw,46px);line-height:1.18}.login-visual-copy h2 em{color:#7ed8ff;font-style:normal}.login-visual-note{color:#a8c8df;max-width:520px;margin:17px 0 21px;font-size:13px;line-height:1.75}.login-capabilities{flex-wrap:wrap;gap:10px;display:flex}.login-capabilities span{color:#c3dded;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#6fbef512;border:1px solid #80cdff2e;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.login-capabilities i{background:#55d9cf;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #55d9cfbf}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff6;border:1px solid #d5eaf8d1;border-radius:24px;align-self:center;width:100%;padding:34px 36px;animation:.44s cubic-bezier(.2,0,.38,.9) both login-card-enter;position:relative;box-shadow:0 34px 90px #000d1f59,inset 0 1px #fff}.login-card:before{content:"";opacity:.75;background:linear-gradient(90deg,#0000,#2f9cff 28%,#51d8cf 72%,#0000);border-radius:0 0 10px 10px;height:2px;position:absolute;top:0;left:32px;right:32px}.login-card-brand{color:#316689;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;font-size:11px;font-weight:900;display:flex}.login-card-brand>div{align-items:center;gap:8px;display:flex}.login-card-brand small{color:#86a0b2;font-size:10px;font-weight:800}.login-secure-dot{background:#27b996;border-radius:50%;width:8px;height:8px;position:relative;box-shadow:0 0 0 5px #27b9961a}.login-secure-dot:after{content:"";border:1px solid #27b99652;border-radius:50%;animation:2.4s ease-out infinite login-secure-pulse;position:absolute;inset:-5px}.login-card .section-label{color:#4c83a9;letter-spacing:.13em;margin-bottom:8px}.login-card h1{color:#102f4c;letter-spacing:-.055em;white-space:nowrap;margin:0 0 10px;font-size:clamp(25px,2.4vw,30px);line-height:1.35}.login-note{color:#6c8496;margin:0 0 24px;font-size:13px;line-height:1.7}.login-card form{gap:14px;display:grid}.login-card .login-field{color:#34536c;gap:7px;font-size:12px;font-weight:900;display:grid;position:relative}.login-card .login-field>span{display:block}.login-card .login-field:after{content:"";transform-origin:0;background:linear-gradient(90deg,#2f7cf6,#36c9c0);border-radius:0 0 12px 12px;height:2px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.login-card .login-field:focus-within:after{transform:scaleX(1)}.login-card input{color:#183852;width:100%;height:50px;font:inherit;background:#fbfdff;border:1px solid #cedce7;border-radius:11px;outline:none;padding:0 14px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.login-card input:hover{background:#fff;border-color:#acc8dc}.login-card input:focus{background:#fff;border-color:#5b9fe5;box-shadow:0 0 0 4px #2f7cf617}.login-card input::placeholder{color:#9badba}.login-card input:-webkit-autofill{-webkit-text-fill-color:#183852;caret-color:#183852;-webkit-box-shadow:inset 0 0 0 1000px #f4f9ff}.login-card input:-webkit-autofill:hover{-webkit-text-fill-color:#183852;caret-color:#183852;-webkit-box-shadow:inset 0 0 0 1000px #f4f9ff}.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#183852;caret-color:#183852;-webkit-box-shadow:inset 0 0 0 1000px #f4f9ff}.login-slide-confirm{color:#42667e;transform-origin:50% 0;background:linear-gradient(145deg,#fbfdff,#f3faff);border:1px solid #cfe1ed;border-radius:13px;gap:8px;padding:10px;animation:.3s cubic-bezier(.2,.8,.25,1) both login-slide-reveal;display:grid;overflow:hidden;box-shadow:0 10px 24px #1d537e17,inset 0 1px #ffffffeb}.login-slide-confirm-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.login-slide-confirm-head p{margin:0;font-size:11px;font-weight:900}.login-slide-confirm-head span{color:#3980ab;letter-spacing:.04em;background:#e6f5ff;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900}.login-slide-confirm-track{--slide-position:0%;--slide-offset:0%;cursor:default;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-linear-gradient(135deg,#edf6fa 0 8px,#f9fcfe 8px 16px);border:1px solid #d2e4ef;border-radius:10px;outline:none;height:40px;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.login-slide-confirm-track:before{z-index:0;content:"";background:linear-gradient(100deg,#0000 18%,#4abcf433 48%,#0000 76%);animation:3.6s ease-in-out .5s infinite login-slide-hint;position:absolute;inset:0;transform:translate(-125%)}.login-slide-confirm-track:focus-visible{border-color:#3796e8;box-shadow:0 0 0 3px #2f7cf62b}.login-slide-confirm-fill{z-index:1;width:var(--slide-position);background:linear-gradient(90deg,#2f7cf62e,#32cac259);transition:width 80ms linear;position:absolute;top:0;bottom:0;left:0;box-shadow:inset 0 -2px #20b1a96b}.login-slide-confirm-particle{z-index:2;top:50%;left:var(--slide-position);opacity:0;pointer-events:none;background:#52d9d0;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 10px #3fcbcdad}.login-slide-confirm .particle-one{margin-left:-14px}.login-slide-confirm .particle-two{width:5px;height:5px;margin-left:-26px}.login-slide-confirm .particle-three{width:4px;height:4px;margin-left:-37px}.login-slide-confirm.is-dragging .particle-one,.login-slide-confirm-track.is-near-end .particle-one{opacity:.5}.login-slide-confirm.is-dragging .particle-two,.login-slide-confirm-track.is-near-end .particle-two{opacity:.25}.login-slide-confirm.is-dragging .particle-three,.login-slide-confirm-track.is-near-end .particle-three{opacity:.12}.login-slide-confirm.is-dragging .login-slide-confirm-particle{animation:.72s ease-in-out infinite alternate login-slide-trail-pulse}.login-slide-confirm.is-dragging .particle-two{animation-delay:-.22s}.login-slide-confirm.is-dragging .particle-three{animation-delay:-.44s}.login-slide-confirm-thumb{z-index:3;top:3px;left:var(--slide-position);color:#fff;pointer-events:none;width:32px;height:32px;transform:translateX(var(--slide-offset));background:linear-gradient(135deg,#2f7cf6,#35c8c0);border-radius:9px;place-items:center;font-size:18px;line-height:1;transition:left 80ms linear,transform 80ms linear,background .2s;display:grid;position:absolute;box-shadow:0 4px 12px #1966c64d,0 0 0 3px #ffffffa3}.login-slide-confirm-end{z-index:2;color:#50ad9f;pointer-events:none;background:#ffffff8f;border:1px solid #25ae9d57;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:900;display:grid;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.login-slide-confirm-track.is-near-end{border-color:#7acfc5;box-shadow:0 0 0 2px #4acdc01a}.login-slide-confirm.is-verifying .login-slide-confirm-thumb{animation:.75s ease-in-out infinite login-slide-working}.login-slide-confirm.is-verified{color:#197456;background:linear-gradient(145deg,#f6fdf9,#edf9f4);border-color:#9cdfca}.login-slide-confirm.is-verified .login-slide-confirm-fill{background:linear-gradient(90deg,#20a77a2e,#52d2a66b);width:100%;box-shadow:inset 0 -2px #19966973}.login-slide-confirm.is-verified .login-slide-confirm-track:before{display:none}.login-slide-confirm.is-verified .login-slide-confirm-track{cursor:default;border-color:#85cfb4}.login-slide-confirm.is-verified .login-slide-confirm-thumb{background:#21a77a;left:100%;transform:translate(-100%)}.login-slide-confirm-alternative{color:#3478aa;justify-self:start;margin:0;font-size:10px;font-weight:800;line-height:1.45}.login-submit{background:linear-gradient(105deg,#246de5,#2f8ef4 58%,#28afa8);border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;height:50px;margin-top:2px;padding:0 17px;transition:transform .15s,box-shadow .2s,filter .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 26px #236ee045}.login-submit:before{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff47 47%,#0000 72%);transition:transform .52s;position:absolute;inset:0;transform:translate(-110%)}.login-submit:hover{filter:saturate(1.06);background:linear-gradient(105deg,#1e61ce,#247fdc 58%,#229b96);transform:translateY(-1px);box-shadow:0 16px 30px #236ee052}.login-submit:hover:before{transform:translate(110%)}.login-submit:active{transform:scale(.98)}.login-submit:disabled{cursor:wait;filter:saturate(.7);opacity:.78;transform:none}.login-submit span,.login-submit i{z-index:1;position:relative}.login-submit i{font-size:17px;font-style:normal;transition:transform .18s}.login-submit:hover i{transform:translate(3px)}.login-switch{color:#2b70c9;background:0 0;border:0;margin:17px auto 0;padding:4px;font-size:12px;font-weight:900;transition:color .16s,transform .16s;display:block}.login-switch:hover{color:#1556ac;transform:translateY(-1px)}.login-submit:focus-visible{outline-offset:3px;outline:3px solid #91dcff}.login-switch:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #2f7cf6}.login-error{color:#ae4540;background:#fff3f1;border:1px solid #f1d5d1;border-radius:10px;margin:0;padding:10px 11px;font-size:12px;line-height:1.55;animation:.2s both login-error-enter}.login-footnote{color:#7e92a2;border-top:1px solid #e2ebf2;margin:17px 0 0;padding-top:15px;font-size:11px;line-height:1.65}.login-footnote span{display:inline-block}.login-verification-backdrop{z-index:200;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#03122594;place-items:center;padding:20px;display:grid}.login-verification-modal{background:linear-gradient(145deg,#fff,#f5faff);border:1px solid #d0e6f5eb;border-radius:20px;width:min(460px,100%);padding:26px;animation:.28s cubic-bezier(.2,.8,.25,1) both login-verification-enter;box-shadow:0 28px 76px #000b1d5c,inset 0 1px #fff}.login-verification-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.login-verification-head .section-label{margin-bottom:5px}.login-verification-head h2{color:#123552;letter-spacing:-.04em;margin:0;font-size:24px}.login-verification-head p:last-child{color:#6b879b;margin:7px 0 0;font-size:12px;line-height:1.6}.login-verification-captcha{gap:11px;display:grid}.login-verification-captcha>label{color:#34536c;font-size:12px;font-weight:900}.login-verification-modal .login-captcha-row{margin:0}.login-verification-modal .login-captcha-box{border:1px solid #d4e4ef}.login-verification-modal .login-captcha-box:disabled{cursor:wait;opacity:.65}.login-verification-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.login-verification-actions button{min-height:42px}.login-verification-slide{gap:11px;display:grid}.login-verification-slide .login-slide-confirm{margin:0}.login-verification-reload{color:#3478aa;text-underline-offset:3px;background:0 0;border:0;justify-self:center;padding:3px;font-size:11px;font-weight:800;text-decoration:underline}.login-verification-reload:disabled{opacity:.55}.login-verification-reload:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #2f7cf6}.login-shell[data-motion-active=false] .login-motion-layer *,.login-shell[data-motion-active=false] .login-live-signal *,.login-shell[data-motion-active=false] .login-ambient,.login-shell[data-motion-active=false] .login-visual-kicker span,.login-shell[data-motion-active=false] .login-secure-dot:after,.login-shell[data-motion-active=false] .login-brand-slogan{animation-play-state:paused!important}.login-brand-slogan{z-index:0;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.1em;color:#0000;background:linear-gradient(100deg,#00aeff29,#27d0c712 55%,#00aeff21);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(18px,5vw,30px);font-weight:900;animation:30s ease-in-out infinite alternate login-brand-slogan-drift;position:absolute;bottom:1.2%;left:50%;transform:translate(-50%)}.login-brand-slogan small{text-align:center;letter-spacing:.22em;margin-top:.32em;font-size:.34em;font-weight:700;display:block}@keyframes login-brand-slogan-drift{0%{opacity:.55;transform:translate(-52%)}50%{opacity:.9;transform:translate(-48%)}to{opacity:.62;transform:translate(-51%)}}@media (min-width:761px){.login-brand-slogan{letter-spacing:.13em;font-size:clamp(26px,3.6vw,58px);bottom:1%}.login-brand-slogan small{letter-spacing:.3em;font-size:.3em}}@media (prefers-reduced-motion:reduce){.login-brand-slogan{opacity:.6;animation:none;transform:translate(-50%)}}:is(body:has(.login-shell) .site-beian-footer,body:has(.web-auth-shell) .site-beian-footer){color:#91aec2;background:#071a31;border-top-color:#16466f}:is(body:has(.login-shell) .site-beian-footer a,body:has(.web-auth-shell) .site-beian-footer a){color:#9bbbd0}:is(body:has(.login-shell) .site-beian-footer a:hover,body:has(.web-auth-shell) .site-beian-footer a:hover){color:#8fdcff}@keyframes login-grid-drift{to{transform:translate(42px,42px)}}@keyframes login-ambient-float{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(20px,-14px)scale(1.05)}}@keyframes login-matrix-breathe{0%,to{opacity:.62;transform:perspective(700px)rotateX(58deg)translateY(25%)scale(1)}50%{opacity:.9;transform:perspective(700px)rotateX(58deg)translateY(23%)scale(1.025)}}@keyframes login-flow{to{stroke-dashoffset:-264px}}@keyframes login-node-pulse{0%,to{opacity:.42;transform:scale(.72)}50%{opacity:1;transform:scale(1.16)}}@keyframes login-radar-rotate{to{transform:rotate(360deg)}}@keyframes login-radar-rotate-reverse{to{transform:rotate(-360deg)}}@keyframes login-radar-hover{0%,to{transform:translate(0,0)}50%{transform:translateY(-8px)}}@keyframes login-core-breathe{0%,to{opacity:.75;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}@keyframes login-live-orbit{to{transform:rotate(360deg)}}@keyframes login-live-node-one{0%{transform:rotate(0)translate(22px)rotate(0)}to{transform:rotate(360deg)translate(22px)rotate(-360deg)}}@keyframes login-live-node-two{0%{transform:rotate(120deg)translate(17px)rotate(-120deg)}to{transform:rotate(480deg)translate(17px)rotate(-480deg)}}@keyframes login-live-node-three{0%{transform:rotate(250deg)translate(25px)rotate(-250deg)}to{transform:rotate(610deg)translate(25px)rotate(-610deg)}}@keyframes login-secure-pulse{0%{opacity:.8;transform:scale(.6)}80%,to{opacity:0;transform:scale(1.45)}}@keyframes login-live-node-one-mobile{0%{transform:rotate(0)translate(16px)rotate(0)}to{transform:rotate(360deg)translate(16px)rotate(-360deg)}}@keyframes login-live-node-two-mobile{0%{transform:rotate(120deg)translate(12px)rotate(-120deg)}to{transform:rotate(480deg)translate(12px)rotate(-480deg)}}@keyframes login-live-node-three-mobile{0%{transform:rotate(250deg)translate(17px)rotate(-250deg)}to{transform:rotate(610deg)translate(17px)rotate(-610deg)}}@keyframes login-slide-reveal{0%{opacity:0;transform:translateY(-8px)scaleY(.84)}70%{opacity:1;transform:translateY(1px)scaleY(1.015)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes login-slide-hint{0%,16%{opacity:0;transform:translate(-125%)}34%,62%{opacity:1}82%,to{opacity:0;transform:translate(125%)}}@keyframes login-slide-working{0%,to{filter:saturate();transform:translateX(var(--slide-offset)) scale(1)}50%{filter:saturate(1.18);transform:translateX(var(--slide-offset)) scale(.91)}}@keyframes login-slide-trail-pulse{0%{filter:brightness(.9);transform:translate(-50%,-50%)scale(.78)}to{filter:brightness(1.25);transform:translate(-50%,-50%)scale(1.18)}}@keyframes login-card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes login-verification-enter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes login-error-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.login-shell{padding:16px}.login-shell:before{-webkit-mask-image:linear-gradient(#000,#0003 72%,#0000);mask-image:linear-gradient(#000,#0003 72%,#0000)}.login-stage{grid-template-columns:1fr;gap:12px;width:min(560px,100%)}.login-visual{border-radius:22px;min-height:142px}.login-matrix-grid{opacity:.45;inset:-70% -10% -35%;transform:perspective(600px)rotateX(62deg)translateY(32%)}.login-network{opacity:.38}.login-node--1,.login-node--3,.login-node--5,.login-node--6,.login-node--8,.login-node--10{display:none}.login-radar{width:138px;height:138px;animation:none;top:2px;right:12px}.login-live-signal{border-radius:11px;gap:8px;padding:7px 9px 7px 7px;top:18px;left:20px}.login-live-signal-orbit{width:36px;height:36px}.login-live-signal-orbit:before{inset:7px}.login-live-signal-orbit:after{inset:-4px}.login-live-signal-core{width:6px;height:6px}.login-live-signal-node--one{animation-name:login-live-node-one-mobile}.login-live-signal-node--two{animation-name:login-live-node-two-mobile}.login-live-signal-node--three{animation-name:login-live-node-three-mobile}.login-live-signal small{font-size:7px}.login-live-signal b{font-size:9px}.login-visual-copy{inset:50% 148px auto 24px;transform:translateY(-50%)}.login-visual-copy h2{font-size:24px;line-height:1.25}.login-visual-note,.login-capabilities{display:none}.login-visual-kicker{margin-bottom:7px;font-size:10px}.login-card{width:100%;padding:28px 30px}.login-verification-backdrop{padding:16px}.login-verification-modal{border-radius:18px;padding:22px}}@media (max-width:520px){.login-shell{min-height:calc(100dvh - 39px);padding:12px}.login-stage{gap:10px}.login-visual{border-radius:18px;min-height:96px}.login-radar{width:88px;height:88px;top:4px;right:7px}.login-live-signal{display:none}.login-radar-ping{width:5px;height:5px}.login-node{width:6px;height:6px}.login-visual-copy{left:16px;right:94px}.login-visual-copy h2{letter-spacing:-.035em;font-size:17px;line-height:1.26}.login-visual-kicker{letter-spacing:.1em;margin-bottom:5px;font-size:9px}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:22px 21px}.login-verification-backdrop{align-items:end;padding:10px}.login-verification-modal{border-radius:18px;max-height:calc(100dvh - 20px);padding:20px;overflow-y:auto}.login-verification-head{margin-bottom:15px}.login-verification-head h2{font-size:21px}.login-verification-head p:last-child{font-size:11px}.login-card:before{left:20px;right:20px}.login-card-brand{margin-bottom:16px}.login-card-brand small{font-size:9px}.login-card .section-label{margin-bottom:5px;font-size:10px}.login-card h1{margin-bottom:7px;font-size:clamp(22px,7vw,26px);line-height:1.3}.login-note{margin-bottom:16px;font-size:12px;line-height:1.55}.login-card form{gap:12px}.login-slide-confirm{gap:7px;padding:9px}.login-slide-confirm-track{border-radius:11px;height:46px}.login-slide-confirm-thumb{border-radius:10px;width:38px;height:38px;top:3px}.login-slide-confirm-end{right:12px}.login-card .login-field{gap:5px;font-size:11px}.login-card input{border-radius:10px;height:47px;padding:0 12px;font-size:13px}.login-submit{border-radius:10px;height:47px}.login-switch{margin-top:13px;font-size:11px}.login-footnote{margin-top:13px;padding-top:12px;font-size:10px;line-height:1.5}}@media (max-width:340px){.login-shell{padding:10px 12px}.login-visual{min-height:88px}.login-radar{width:78px;height:78px;top:5px}.login-visual-copy{left:14px;right:82px}.login-visual-copy h2{font-size:15px}.login-visual-kicker{font-size:8px}.login-card{padding:18px}.login-card-brand{margin-bottom:13px}.login-card h1{font-size:22px}.login-note{margin-bottom:13px;font-size:11px}.login-card form{gap:10px}.login-card input{height:44px}.login-submit{height:45px}.login-switch{margin-top:11px}.login-footnote{margin-top:11px;padding-top:10px}}@media (prefers-reduced-motion:reduce){.login-shell:before,.login-ambient,.login-motion-layer *,.login-live-signal *,.login-visual-kicker span,.login-secure-dot:after,.login-card,.login-error,.login-slide-confirm,.login-slide-confirm *,.login-verification-modal{animation:none!important}.login-submit,.login-submit:before,.login-submit i,.login-switch,.login-card input,.login-card .login-field:after{transition-duration:.01ms!important}}.nav-item.active,.ledger-link.active{color:#fff!important;background:#2196f3!important;box-shadow:0 4px 10px #2196f347!important}.nav-item:hover:not(.active),.ledger-link:hover:not(.active),.menu-group-toggle:hover{color:#1e62d0;background:#eef5ff}.operation-nav button.active{color:#fff;background:#2196f3;box-shadow:0 4px 10px #2196f347}.panel-head-actions{align-items:center;gap:10px;display:flex}.staff-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.staff-card{transition:box-shadow var(--dur-med),border-color var(--dur-med),transform var(--dur-med);background:#fbfdff;border:1px solid #e0e9f0;border-radius:12px;gap:11px;padding:14px;display:grid}.staff-card:hover{border-color:#9fc0ea;box-shadow:0 8px 18px #1f355012}.staff-card--disabled{opacity:.72}.staff-card-head{align-items:center;gap:10px;display:flex}.staff-card-avatar{color:#1f5bb5;background:#e8f1fd;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:16px;font-weight:900;display:grid}.staff-card-id{flex:1;min-width:0}.staff-card-id b{color:#1f3550;font-size:14px;display:block}.staff-card-id small{text-overflow:ellipsis;white-space:nowrap;color:#7d92a6;margin-top:2px;font-size:11px;display:block;overflow:hidden}.staff-card-tags{flex-wrap:wrap;gap:6px;display:flex}.staff-card-tags span{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.staff-type-tag{color:#667b8e;background:#eef3f7}.staff-role-tag{color:#2868bb;background:#e9f2ff}.staff-scope-tag{color:#1e8176;background:#e8f7f4}.staff-card-actions{border-top:1px solid #edf2f6;justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.staff-card-actions button{color:#2f7cf6;background:#fff;border:1px solid #d7e3ec;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:900}.staff-card-actions button:last-child{color:#8a5a3c;border-color:#eadfd4}.staff-delete-button{color:#c0392b!important;border-color:#efd3cf!important}.modal-backdrop{animation:.18s ui-backdrop-in}.record-modal,.clear-modal,.business-picker-modal{animation:.22s cubic-bezier(.22,1,.36,1) ui-modal-in}@keyframes ui-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.progress-line i,.risk-chart b{transition:width .5s cubic-bezier(.22,1,.36,1)}.primary-button:disabled,.secondary-button:disabled,.outline-button:disabled,.plain-button:disabled{opacity:.3}button:active{transform:scale(.96)}button:disabled:active{transform:none}input:focus,select:focus,textarea:focus{border-color:#2f7cf6;outline:none;box-shadow:0 0 0 3px #2f7cf61f}@media (max-width:760px){.mobile-bottom-nav button{transition:color var(--dur-fast),transform var(--dur-fast)}.mobile-bottom-nav button.active{color:#2f7cf6;transform:translateY(-2px)scale(1.08)}.mobile-bottom-nav .mobile-nav-main.active{transform:none}.mobile-nav-main span{transition:box-shadow var(--dur-med),transform var(--dur-med)}.mobile-nav-main:active span{transform:scale(.96)}.staff-card-grid{grid-template-columns:1fr}.eyebrow,.top-actions .primary-button{display:none}.operation-nav{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.operation-grid-item{color:#33475c;background:#fff;border:1px solid #e2e9f2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;padding:10px 4px;display:flex;box-shadow:0 2px 6px #1f35500d}.operation-grid-item i{color:#2f7cf6;background:#eef4fb;border-radius:10px;place-items:center;width:34px;height:34px;font-size:16px;font-style:normal;font-weight:900;display:grid}.operation-grid-item span{white-space:nowrap;font-size:12px;font-weight:800;line-height:1}.operation-grid-item.active{color:#fff;background:#2196f3;border-color:#2196f3;box-shadow:0 4px 10px #2196f347}.operation-grid-item.active i{color:#fff;background:#fff3}.operation-grid-more{background:#f6f9fc;border-style:dashed}.operation-grid-more i{color:#5d6f83;background:#e8eef5}.topbar-back-button{flex:none;padding:8px 12px;font-weight:900}.mobile-profile-backdrop{justify-content:center;align-items:flex-end}.mobile-profile-sheet{background:#fff;border-radius:18px 18px 0 0;gap:14px;width:100%;max-width:480px;max-height:74vh;padding:18px 16px 24px;animation:.22s cubic-bezier(.22,1,.36,1) ui-modal-in;display:grid;overflow:auto}.mobile-profile-head{align-items:center;gap:12px;display:flex}.mobile-profile-avatar{color:#1f5bb5;background:#e8f1fd;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:20px;font-weight:900;display:grid}.mobile-profile-id{flex:1;gap:2px;min-width:0;display:grid}.mobile-profile-id b{color:#1f3550;font-size:15px}.mobile-profile-id small{color:#7d92a6;font-size:12px}.mobile-profile-actions{gap:8px;display:grid}.mobile-profile-actions button{color:#2f7cf6;background:#fff;border:1px solid #d7e3ec;border-radius:10px;padding:12px;font-size:14px;font-weight:900}.mobile-profile-actions .mobile-profile-signout{color:#c0392b;background:#fff7f6;border-color:#efd3cf}.mobile-profile-brand{text-align:center;border-top:1px solid #edf2f6;gap:2px;padding-top:12px;display:grid}.mobile-profile-brand b{color:#1f3550;font-size:13px}.mobile-profile-brand span{color:#5d6f83;font-size:12px}.mobile-profile-brand small{color:#9aabba;font-size:10px}}.workflow-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.workflow-tabs button{color:#5c7488;background:#fff;border:1px solid #d7e3ec;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:900}.workflow-tabs button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.workflow-tabs button span{color:#2f7cf6;background:#2f7cf61f;border-radius:999px;place-items:center;min-width:18px;height:18px;margin-left:4px;font-size:10px;display:inline-grid}.workflow-tabs button.active span{color:#fff;background:#ffffff38}.workflow-tab-export{margin-left:auto}.workflow-owner-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding:4px 0;display:grid}.workflow-owner-row{background:#fbfdff;border:1px solid #e4ebf2;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.workflow-owner-row b{color:#1f3550;font-size:14px}.workflow-owner-row span{color:#6b8095;font-size:12px}.workflow-closed-list{gap:8px;padding:4px 0;display:grid}.workflow-closed-row{background:#f8fcf9;border:1px solid #e3ede6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.workflow-closed-row b{color:#1f3550;font-size:14px}.workflow-closed-row small{color:#7b8fa2;margin-top:3px;font-size:12px;display:block}.workflow-closed-row em{color:#1e8176;white-space:nowrap;font-size:12px;font-style:normal;font-weight:900}@media (max-width:760px){.workflow-tab-export{margin-left:0}.workflow-tabs button{flex:auto}}.hazard-top-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hazard-top-list li{background:#fbfdff;border:1px solid #e4ebf2;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.hazard-top-list em{color:#1f5bb5;background:#e8f1fd;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;font-weight:900;display:grid}.hazard-top-list li:nth-child(-n+3) em{color:#c2571a;background:#fff0e6}.hazard-top-list b{text-overflow:ellipsis;white-space:nowrap;color:#1f3550;flex:1;min-width:0;font-size:13px;overflow:hidden}.hazard-top-list span{color:#7d92a6;white-space:nowrap;font-size:11px}.closure-delta-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.closure-delta-grid div{text-align:center;background:#fbfdff;border:1px solid #e4ebf2;border-radius:12px;gap:4px;padding:14px;display:grid}.closure-delta-grid span{color:#7d92a6;font-size:11px;font-weight:800}.closure-delta-grid b{color:#1f3550;font-size:24px}.closure-delta-grid .delta-up b{color:#1e8176}.closure-delta-grid .delta-down b{color:#c0392b}.unified-identity-panel{margin-top:14px}.identity-mismatch{background:#fff8f0}.identity-mismatch td{color:#8a5a3c}.identity-warn{color:#c2571a;margin-top:2px;font-size:10px;font-weight:900;display:block}.stats-center{gap:17px;display:grid}.stats-hero{color:#fff;background:linear-gradient(135deg,#2f7cf6,#5b7c9e);border-radius:12px;justify-content:space-between;align-items:center;gap:26px;padding:24px 26px;display:flex}.stats-hero .section-label{color:#d9ecff}.stats-hero h2{letter-spacing:-.04em;margin:0;font-size:25px}.stats-hero p:not(.section-label){color:#eaf5ff;max-width:680px;margin:8px 0 0;font-size:13px;line-height:1.7}.stats-hero .primary-button{color:#1b5d92;box-shadow:none;background:#fff}.stats-kpis{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.stats-kpis>div{background:#fff;border:1px solid #dfe8ef;border-radius:11px;padding:14px 15px}.stats-kpis span{color:#71869a;font-size:11px;font-weight:800;display:block}.stats-kpis b{color:#173a58;letter-spacing:-.04em;margin-top:5px;font-size:23px;display:block}.stats-kpis small{color:#97a8b8;margin-top:4px;font-size:10px;display:block}.stats-kpis .attention{background:#fff8f7;border-color:#f2d0cc}.stats-kpis .attention b{color:#c54a46}.stats-filterbar{background:#fff;border:1px solid #dfe8ef;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.stats-range-pills{gap:7px;display:flex}.stats-range-pills button{color:#5c7488;background:#fff;border:1px solid #d7e3ec;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900}.stats-range-pills button.active{color:#fff;background:#2f7cf6;border-color:#2f7cf6}.stats-filterbar select{color:#38546c;background:#fff;border:1px solid #d7e3ec;border-radius:8px;padding:8px 9px;font-size:11px;font-weight:800}.stats-charts-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.stats-chart-wide{grid-column:1/-1}@media (max-width:1120px){.stats-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.stats-charts-grid{grid-template-columns:1fr}.stats-chart-wide{grid-column:auto}}@media (max-width:760px){.stats-hero{flex-direction:column;align-items:flex-start}.stats-hero .primary-button{width:100%}.stats-kpis{grid-template-columns:1fr 1fr}.stats-filterbar{flex-direction:column;align-items:stretch}.stats-filterbar select{width:100%}}.ledger-quick-groups button{align-items:center;gap:5px;display:inline-flex}.ledger-quick-groups button em{opacity:.78;font-size:10px;font-style:normal}.ledger-quick-groups button.active em{opacity:.95}.ledger-reset-button{margin-left:2px;padding:7px 10px;font-size:11px}.due-hint{color:#8b7b58;font-weight:800}.due-hint--overdue{color:#d34b46}.due-hint--today{color:#d99a2e}.ledger-drawer-actions{gap:9px;margin-bottom:14px;display:flex}.ledger-drawer-actions .primary-button{flex:1}.menu-group-caption{color:#8ba2b6;letter-spacing:.08em;padding:8px 10px 3px;font-size:10px;font-weight:900;display:block}.business-entry-group{margin-top:14px}.business-entry-group-title{color:#7a92a8;letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:900}.ledger-clear-group{margin-bottom:12px}.ledger-type-setting-list{gap:9px;display:grid}.ledger-type-setting-row{background:#fbfdff;border:1px solid #e0e9f0;border-radius:10px;grid-template-columns:76px 120px minmax(120px,1fr) 130px 130px auto auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.ledger-type-setting-row.is-hidden{opacity:.78;background:#f7f9fb}.ledger-type-toggle{color:#4d6a86;cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:900;display:inline-flex}.ledger-type-toggle input{accent-color:#2f7cf6;width:15px;height:15px}.ledger-type-name b{color:#1f3550;font-size:13px;display:block}.ledger-type-name small{color:#8ba2b6;margin-top:2px;font-size:10px;display:block}.ledger-type-field{color:#6c8295;gap:4px;font-size:10px;font-weight:900;display:grid}.ledger-type-field input,.ledger-type-field select{color:#2a4860;background:#fff;border:1px solid #d7e3ec;border-radius:7px;width:100%;padding:7px 8px;font-size:11px}.ledger-type-description{grid-column:1/-1}.ledger-type-switches{gap:5px;display:grid}.ledger-type-switches label{color:#5c7488;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.ledger-type-switches input{accent-color:#2f7cf6;width:14px;height:14px}.ledger-type-move{gap:5px;display:grid}.ledger-type-move button{color:#2f7cf6;background:#fff;border:1px solid #d7e3ec;border-radius:7px;width:30px;height:30px;font-size:14px;font-weight:900}.ledger-type-move button:disabled{opacity:.35;cursor:not-allowed}@media (max-width:1280px){.ledger-type-setting-row{grid-template-columns:70px 110px 1fr 120px 120px auto}}@media (max-width:1000px){.ledger-type-setting-row{grid-template-columns:70px 1fr 1fr auto}.ledger-type-switches{grid-column:1/-1}}@media (max-width:760px){.ledger-type-setting-row{grid-template-columns:1fr 1fr}.ledger-type-name,.ledger-type-description,.ledger-type-switches,.ledger-type-move{grid-column:1/-1}}.desktop-record-table{max-height:70vh;overflow:auto}.desktop-record-table thead th{z-index:2;background:#fff;position:sticky;top:0;box-shadow:0 1px #edf2f6}.ledger-page-size{color:#38546c;background:#fff;border:1px solid #d7e3ec;border-radius:7px;padding:7px 8px;font-size:11px;font-weight:800}.special-ledger-workspace{gap:17px;display:grid}.special-ledger-hero{background:linear-gradient(120deg,#f8fbff,#edf5ff);border:1px solid #dce7f5;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;display:flex}.special-ledger-hero h2{color:#13385e;margin:2px 0 6px}.special-ledger-hero p:not(.section-label){color:#607a96;margin:0}.special-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.special-kpis article{background:#fff;border:1px solid #e0e9f0;border-radius:12px;padding:14px 16px}.special-kpis article.attention{background:#fff7f6;border-color:#f3c9c6}.special-kpis span{color:#607a96;font-size:11px;font-weight:800}.special-kpis b{color:#173b62;letter-spacing:-.04em;margin:5px 0 2px;font-size:23px;display:block}.special-kpis small{color:#7b91a3;font-size:11px}.special-ledger-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:17px;display:grid}.special-ledger-side{gap:17px;display:grid}.special-quick-panel p{color:#607a96;margin:0 0 12px;font-size:12px;line-height:1.7}.special-quick-panel .primary-button,.special-quick-panel .secondary-button{justify-content:center;width:100%}.special-checklist-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.special-checklist-panel li{color:#47637d;align-items:flex-start;gap:8px;font-size:12px;line-height:1.55;display:flex}.special-checklist-panel li span{color:#2fa47c;background:#e8f5ef;border-radius:6px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:900;display:inline-flex}.special-records .search-box{max-width:260px}.special-table td small{color:#7b91a3;margin-top:3px;display:block}.special-result{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900;display:inline-flex}.special-result--good{color:#268263;background:#e8f7ed}.special-result--bad{color:#bf4e49;background:#fdeaea}.special-tag{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900;display:inline-flex}.special-tag--bad{color:#bf4e49;background:#fdeaea}.special-tag--warn{color:#b26a1d;background:#fff4e0}.special-tag--blue{color:#2d67bf;background:#eaf2ff}.cell-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.attention-toggle{color:#5c7488;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.attention-toggle input{accent-color:#2f7cf6;width:14px;height:14px}.attention-badge{color:#bf4e49;background:#fdeaea;border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.special-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.special-record-card{background:#fff;border:1px solid #e0e9f0;border-radius:12px;overflow:hidden}.special-record-card.has-attention{border-color:#f0c7c4;box-shadow:0 0 0 1px #f0c7c4}.special-record-card.is-new{border-color:#75b6ff;box-shadow:0 0 0 1px #75b6ff}.special-record-card-main{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:14px;display:block}.special-record-card-head{align-items:center;gap:6px;margin-bottom:8px;display:flex}.special-record-card b{color:#173b62;font-size:14px}.special-record-card p{color:#6b8195;margin:5px 0 0;font-size:11px}.special-record-card-fields,.special-mobile-fields{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.special-mobile-fields{gap:8px;margin-top:8px}.form-data-panel{margin-top:16px}.form-data-grid{border:1px solid #e2ebf2;border-radius:12px;grid-template-columns:1fr 1fr;margin:0;display:grid;overflow:hidden}.form-data-grid>div{background:#fff;border-bottom:1px solid #eef3f7;grid-template-columns:130px 1fr;gap:10px;padding:11px 14px;display:grid}.form-data-grid>div:nth-child(odd){background:#fbfdff}.form-data-grid dt{color:#7b91a3;font-size:11px;font-weight:800}.form-data-grid dd{color:#29465e;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.drill-timeline-panel{margin-top:16px}.drill-timeline{grid-template-columns:repeat(5,minmax(0,1fr));margin:14px 0 0;padding:0;list-style:none;display:grid}.drill-timeline li{text-align:center;padding:0 14px;position:relative}.drill-timeline li:not(:last-child):after{content:"";border-top:2px dashed #cfe0ee;position:absolute;top:17px;left:calc(50% + 18px);right:calc(18px - 50%)}.drill-timeline i{z-index:1;color:#2d67bf;background:#eaf2ff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-style:normal;font-weight:900;display:inline-flex;position:relative}.drill-timeline b{color:#29465e;margin-top:7px;font-size:12px;display:block}.drill-timeline span{color:#7b91a3;margin-top:3px;font-size:10px;line-height:1.5;display:block}@media (max-width:1280px){.special-ledger-layout{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:1000px){.special-ledger-layout{grid-template-columns:1fr}.special-ledger-side{grid-template-columns:1fr 1fr}}@media (max-width:760px){.special-ledger-hero{flex-direction:column;align-items:flex-start;padding:18px}.special-kpis{grid-template-columns:1fr 1fr}.special-ledger-side{grid-template-columns:1fr}.special-records .search-box{max-width:100%}.form-data-grid{grid-template-columns:1fr}.form-data-grid>div{grid-template-columns:1fr;gap:3px}.drill-timeline{grid-template-columns:1fr;gap:14px}.drill-timeline li:not(:last-child):after{display:none}}.special-ledger-workspace{gap:13px}.special-ledger-hero{padding:16px 22px}.special-ledger-hero h2{font-size:21px}.special-ledger-hero p:not(.section-label){font-size:12px}.special-kpis{gap:10px}.special-kpis article{padding:10px 14px}.special-kpis b{margin:3px 0 1px;font-size:20px}.special-ledger-layout,.special-ledger-side{gap:13px}.special-ledger-workspace .panel{padding:15px}.special-records .panel-head{margin-bottom:12px}.special-table td{padding:9px 10px}.special-table th{padding-bottom:7px}.special-quick-panel p{margin-bottom:9px;font-size:11px}.special-checklist-panel li{font-size:11px}.special-record-card-main{padding:12px}@media (max-width:760px){.menu-sub>div{display:contents}.menu-group-caption{display:none}.topbar{gap:10px;margin-bottom:14px}.topbar-head{gap:10px}.topbar h1{font-size:22px}.top-actions{flex-wrap:wrap;gap:7px}.top-actions .primary-button,.top-actions .plain-button{padding:8px 11px;font-size:12px}.topbar-status{gap:8px;margin-top:10px;padding:8px 10px}.status-block b{font-size:14px}.main-nav{align-items:center;gap:6px;padding:4px 0}.main-nav .nav-item,.menu-group-toggle{padding:7px 10px;font-size:12px}.menu-group-toggle{white-space:nowrap}}.window-tag{color:#2f6fce;white-space:nowrap;vertical-align:middle;background:#eef4ff;border:1px solid #d7e5fb;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10px;line-height:16px;display:inline-block}.ledger-drawer-meta .window-tag,.risk-control-modal .window-tag{margin-left:0}.quality-window-tabs{margin:14px 0 4px}.quality-window-tabs button em,.rectification-window-tabs button em,.good-deed-window-tabs button em{color:#1976d2;background:#e6f2ff;border-radius:10px;margin-left:6px;padding:0 7px;font-size:12px;font-style:normal;line-height:18px}.quality-window-hint{color:#64748b;margin:0 0 12px;font-size:13px}.quality-detail-grid label span{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:400;display:block}.quality-detail-grid label b{font-weight:600;line-height:1.5}.quality-empty-card-view{text-align:center;background:#fbfdff;border:1px dashed #cddfea;border-radius:14px;place-items:center;min-height:240px;display:grid}.quality-card-skeleton{background:#fff;border:1px solid #e0e9f0;border-radius:12px;min-height:150px;padding:16px 14px}.workflow-history-panel{background:#fbfdff;border:1px solid #dce8f0;border-radius:10px;margin-top:12px;padding:13px}.workflow-history-list{gap:8px;margin-top:10px;display:grid}.workflow-history-item{background:#fff;border:1px solid #e2ebf2;border-radius:9px;gap:4px;padding:10px 12px;display:grid}.workflow-history-item b{color:#2c4a63;font-size:12px}.workflow-history-item small{color:#74899b;font-size:11px;line-height:1.5}.workflow-history-item time{color:#8ba0b2;font-size:10px}.quality-dashboard{gap:16px;max-width:1220px;display:grid}.dashboard-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dashboard-chart{height:250px}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}}.operation-hero-link{color:#fff;cursor:pointer;background:#ffffff1c;border:1px solid #fff5;border-radius:8px;flex:none;padding:9px 13px;font-size:12px;font-weight:800}.operation-hero-link:hover{background:#fff3}.template-standard-section{background:#f7f9fc;border:1px solid #dfe7f0;border-radius:12px;padding:12px 14px}.template-standard-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.template-standard-head>span{color:#1f3550;font-size:13px;font-weight:800}.template-standard-head>small{color:#77879b;font-size:12px}.template-check-list{gap:8px;margin:10px 0 6px;padding:0;list-style:none;display:grid}.template-check-list>li{background:#fff;border:1px solid #e4eaf2;border-radius:10px;padding:9px 11px}.template-check-list>li.has-abnormal{background:#fff7f6;border-color:#e9b0ac}.template-item-title{align-items:center;gap:8px;display:flex}.template-item-title b{color:#1f3550;font-size:13px}.template-risk{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:800}.template-risk--red{color:#c24540;background:#fde8e7}.template-risk--amber{color:#b07618;background:#fdf1dd}.template-risk--gray{color:#66788d;background:#eef2f6}.template-check-list p{color:#5d6f83;margin:5px 0 8px;font-size:12px;line-height:1.5}.template-item-actions{gap:8px;display:flex}.template-item-actions select{flex:none;min-width:110px}.template-item-actions input{flex:1}.template-summary{color:#5d6f83;margin:6px 0 0;font-size:12px}.template-summary.has-abnormal{color:#c24540;font-weight:700}.template-empty{color:#77879b;margin:0;font-size:12px}.inspection-plan-panel{background:#fff;border:1px solid #e2e9f2;border-radius:14px;gap:10px;padding:14px 16px;display:grid}.inspection-plan-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inspection-plan-head h3{color:#1f3550;margin:2px 0 0;font-size:16px}.inspection-plan-actions{gap:8px;display:flex}.inspection-coverage{background:#f8fafc;border:1px solid #e7edf4;border-radius:10px;gap:8px;padding:10px 12px;display:grid}.inspection-coverage-nums{flex-wrap:wrap;gap:8px 18px;display:flex}.inspection-coverage-nums span{color:#5d6f83;font-size:12px}.inspection-coverage-nums b{color:#1f3550;margin-left:3px;font-size:15px}.inspection-coverage-nums span.attention b{color:#c24540}.inspection-progress{background:#e6edf5;border-radius:99px;height:7px;overflow:hidden}.inspection-progress i{background:linear-gradient(90deg,#2fa47c,#47b98e);border-radius:99px;height:100%;transition:width .3s;display:block}.inspection-coverage small{color:#77879b;font-size:11px}.inspection-plan-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.inspection-plan-list>li{border:1px solid #e8edf4;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.inspection-plan-list>li.is-done{background:#f2faf6;border-color:#d5ecdf}.inspection-plan-list>li.is-delayed{background:#fdf6ea;border-color:#f0dfc0}.inspection-plan-list>li>div:first-child{gap:2px;min-width:0;display:grid}.inspection-plan-list b{color:#1f3550;font-size:13px}.inspection-plan-list span{color:#5d6f83;font-size:12px}.inspection-plan-list-actions{flex:none;align-items:center;gap:8px;display:flex}.inspection-plan-status{border-radius:99px;padding:3px 9px;font-size:11px;font-weight:800}.inspection-plan-status--待执行{color:#5d6f83;background:#eef2f6}.inspection-plan-status--已完成{color:#1f8a5f;background:#dff3e9}.inspection-plan-status--已延期{color:#b07618;background:#fbead2}.check-item-grid{gap:6px;margin-top:10px;display:grid}.check-item-row{background:#fafbfd;border:1px solid #e8edf4;border-radius:8px;grid-template-columns:minmax(130px,1fr) auto;gap:2px 10px;padding:7px 10px;display:grid}.check-item-row.is-abnormal{background:#fff7f6;border-color:#e9b0ac}.check-item-row b{color:#1f3550;font-size:12px}.check-item-row span{color:#2fa47c;font-size:12px;font-weight:800}.check-item-row.is-abnormal span{color:#c24540}.check-item-row small{color:#77879b;grid-column:1/-1;font-size:11px;line-height:1.45}@media (max-width:760px){.inspection-plan-head{flex-direction:column}.inspection-plan-list>li{flex-direction:column;align-items:flex-start}.template-standard-head{flex-direction:column}}.inventory-panel{background:#fff;border:1px solid #e2e9f2;border-radius:14px;gap:10px;padding:14px 16px;display:grid}.inventory-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inventory-panel-head h3{color:#1f3550;margin:2px 0 0;font-size:16px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.inventory-card{border:1px solid #e8edf4;border-radius:10px;gap:6px;padding:9px 11px;display:grid}.inventory-card.is-empty{background:#fff7f6;border-color:#e9b0ac}.inventory-card>div:first-child{gap:2px;display:grid}.inventory-card b{color:#1f3550;font-size:13px}.inventory-card span{color:#77879b;font-size:11px}.inventory-card>div:last-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.inventory-card>div:last-child>span{color:#5d6f83;font-size:12px}.inventory-card>div:last-child b{color:#1f3550;font-size:14px}.inventory-status{border-radius:99px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:800}.inventory-status--ok{color:#298268;background:#e9f6ef}.inventory-status--out{color:#2a69bd;background:#edf5ff}.inventory-status--empty{color:#c24540;background:#fde8e7}.device-picker{background:#f7f9fc;border:1px solid #e4eaf2;border-radius:10px;margin-bottom:10px;padding:10px 12px}.device-picker select{width:100%}.device-picker small{color:#77879b;margin-top:5px;font-size:11px;display:block}.asset-stock-hint{color:#2a69bd;margin:2px 0 0;font-size:12px;font-weight:700}@media (max-width:760px){.inventory-grid{grid-template-columns:1fr 1fr}}.garage-zone-panel{background:#fff;border:1px solid #e2e9f2;border-radius:14px;gap:10px;margin-bottom:12px;padding:12px 14px;display:grid}.garage-zone-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.garage-zone-head h3{color:#1f3550;margin:2px 0 0;font-size:15px}.garage-zone-head>span{color:#5d6f83;font-size:12px}.garage-zone-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.garage-zone-card{background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;gap:4px;padding:9px 11px;display:grid}.garage-zone-card.has-overdue{background:#fff7f6;border-color:#e9b0ac}.garage-zone-card b{color:#1f3550;font-size:14px}.garage-zone-card span{color:#5d6f83;font-size:12px}.garage-zone-card em{color:#c24540;font-size:11px;font-style:normal;font-weight:800}.garage-expiry-panel{background:#fdf8ec;border:1px solid #f0dfc0;border-radius:12px;gap:8px;margin-bottom:10px;padding:10px 12px;display:grid}.garage-expiry-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.garage-expiry-head span{color:#b07618;font-size:11px}.garage-expiry-row{background:#fff;border:1px solid #f0e3c6;border-radius:9px;align-items:center;gap:10px;padding:7px 10px;display:flex}.garage-expiry-row.is-expired{background:#fff7f6;border-color:#e9b0ac}.garage-expiry-row>i{color:#b07618;background:#fbead2;border-radius:8px;flex:none;padding:3px 7px;font-size:12px;font-style:normal;font-weight:900}.garage-expiry-row.is-expired>i{color:#c24540;background:#fde8e7}.garage-expiry-row>div:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.garage-expiry-row b{color:#1f3550;font-size:13px}.garage-expiry-row small{color:#77879b;font-size:11px}@media (max-width:760px){.garage-zone-grid{grid-template-columns:1fr 1fr}}.chemical-stock-panel,.chemical-zone-panel{background:#fff;border:1px solid #e2e9f2;border-radius:14px;gap:10px;padding:14px 16px;display:grid}.chemical-stock-head,.chemical-zone-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.chemical-stock-head h3,.chemical-zone-head h3{color:#1f3550;margin:2px 0 0;font-size:15px}.chemical-stock-head>span,.chemical-zone-head>span{color:#5d6f83;font-size:12px}.chemical-stock-form{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.chemical-balance-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.chemical-balance-card{background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;gap:3px;padding:9px 11px;display:grid}.chemical-balance-card.is-empty{background:#fff7f6;border-color:#e9b0ac}.chemical-balance-card b{color:#1f3550;font-size:13px}.chemical-balance-card span{color:#5d6f83;font-size:12px}.chemical-balance-card em{color:#2a69bd;font-size:15px;font-style:normal;font-weight:900}.chemical-zone-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.chemical-zone-card{background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;gap:3px;padding:9px 11px;display:grid}.chemical-zone-card.has-issue{background:#fff7f6;border-color:#e9b0ac}.chemical-zone-card b{color:#1f3550;font-size:13px}.chemical-zone-card span{color:#5d6f83;font-size:12px}.chemical-zone-card em{color:#c24540;font-size:11px;font-style:normal;font-weight:800}.quality-score-panel{background:#fff;border:1px solid #e2e9f2;border-radius:14px;gap:10px;padding:14px 16px;display:grid}.quality-score-head h3{color:#1f3550;margin:2px 0 0;font-size:15px}.quality-score-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.quality-score-card{background:#f8fafc;border:1px solid #e8edf4;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.quality-score-panel{background:linear-gradient(120deg,#06162c,#0a2a4d 62%,#0c3a5c);border:1px solid #50beff2e;box-shadow:0 14px 34px #06162c2e}.quality-score-head .section-label{color:#8ed8ff}.quality-score-head h3{color:#eaf6ff}.quality-score-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border-color:#7dc4ff29}.quality-score-card span,.quality-score-card small{color:#a9c6dc}.quality-score-card b{color:#f2fbff}.quality-score-card.is-active{background:#22d3ee14;border-color:#49e6d859}.quality-score-card.is-active b{color:#8ff6ff}.report-hero{background:linear-gradient(120deg,#06162c,#0c3558 62%,#0d4264);position:relative;overflow:hidden;box-shadow:0 16px 36px #06162c2e}.report-hero:after{content:"";background:radial-gradient(circle,#22d3ee33,#0000 68%);border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:-40px}.report-hero>*{z-index:1;position:relative}.report-hero .section-label{color:#8ed8ff}.tech-panel{background:linear-gradient(145deg,#06162c,#0a2a4d 55%,#0c3558);border:1px solid #50beff2e;box-shadow:0 14px 34px #06162c2e}.tech-panel .panel-head .section-label{color:#8ed8ff}.tech-panel .panel-head h2{color:#eaf6ff}.tech-panel .table-caption{color:#9fb9cf}.tech-panel .text-button,.tech-panel .plain-button{color:#7ed8ff;border-color:#7dc4ff3d}.tech-panel .chart-empty{color:#a9c6dc;background:#ffffff0a;border-color:#7dc4ff38}.device-hero{background:linear-gradient(120deg,#06162c,#0c3558 62%,#0d4264);position:relative;overflow:hidden;box-shadow:0 16px 36px #06162c2e}.device-hero:after{content:"";background:radial-gradient(circle,#22d3ee33,#0000 68%);border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:-40px}.device-hero>*{z-index:1;position:relative}.device-hero .section-label{color:#8ed8ff}.device-hero h2{color:#eaf6ff}.device-hero p:not(.section-label){color:#c3d9ea}.admin-context-header{background:linear-gradient(120deg,#06162c,#0a2a4d 60%,#0c3558);border:1px solid #50beff2e;box-shadow:0 12px 30px #06162c26}.admin-context-header h2{color:#eaf6ff}.admin-context-header .section-label{color:#8ed8ff}.admin-context-header p:not(.section-label){color:#a9c6dc}.admin-context-icon{color:#7ed8ff;background:#ffffff14;border:1px solid #7dc4ff38}.admin-intro{background:linear-gradient(120deg,#06162c,#0a2a4d 62%,#0c3558);border:1px solid #50beff2e;box-shadow:0 14px 34px #06162c29}.admin-intro .section-label{color:#8ed8ff}.admin-intro h2{color:#eaf6ff}.admin-intro p:not(.section-label){color:#a9c6dc}.admin-intro .recovery-badge{color:#8ff6ff;background:#22d3ee14;border:1px solid #49e6d859}.admin-kpis>div{background:linear-gradient(145deg,#fbfdff,#f4fbff);border-color:#d8eaf3}.admin-kpis>div span{color:#6f8ba2}.sidebar{-webkit-backdrop-filter:blur(16px);background:linear-gradient(#ffffffdb,#f7fbffd1)}.brand-lockup strong{color:#12324f}.brand-lockup span:not(.brand-mark){color:#6f8ca2}.nav-item:hover,.nav-item.active,.ledger-link:hover,.ledger-link.active{background:linear-gradient(90deg,#eef7ff,#f7fbff)}.sidebar-management{background:#ffffffb3;border-color:#d8eaf3}.image-empty,.ledger-empty-state{color:#6f8ba2;background-image:linear-gradient(#50a0dc12 1px,#0000 1px),linear-gradient(90deg,#50a0dc12 1px,#0000 1px),linear-gradient(135deg,#f8fbfe,#f2f9fc);background-size:22px 22px,22px 22px,auto;border-color:#5baadc4d}@media (max-width:760px){.topbar-head .eyebrow{color:#2f7cf6;letter-spacing:.12em}}.safety-heat{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:17px;display:grid}.safety-heat-zone{width:100%;color:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #50beff2e;border-radius:16px;gap:10px;padding:14px 16px;display:grid}.safety-heat-zone .section-label{color:#6e8ca5}.safety-heat-cells{flex-wrap:wrap;gap:8px;display:flex}.heat-cell{color:#fff;border-radius:12px;min-width:76px;padding:10px 12px;display:grid}.heat-cell b{letter-spacing:-.04em;font-size:22px}.heat-cell small{opacity:.9;font-size:10px;font-weight:800}.heat-red{background:linear-gradient(135deg,#e05d59,#f28b7d)}.heat-orange{background:linear-gradient(135deg,#d99a2e,#f2b16a)}.heat-general{background:linear-gradient(135deg,#22a7b0,#5b7c9e)}.heat-normal{background:linear-gradient(135deg,#2fa47c,#3dbb95)}.heat-warning{background:linear-gradient(135deg,#d99a2e,#f2b16a)}.heat-fault{background:linear-gradient(135deg,#c0392b,#e05d59)}.risk-summary{color:#fff;cursor:pointer;background:linear-gradient(120deg,#06162c,#0a2a4d 60%,#0c3558);border:1px solid #22d3ee40;border-radius:14px;align-items:center;gap:10px;margin-bottom:17px;padding:13px 15px;display:flex}.risk-summary span{background:linear-gradient(135deg,#2f7cf6,#22d3ee);border-radius:9px;place-items:center;width:32px;height:32px;font-size:11px;font-weight:900;display:grid}.risk-summary p{color:#c3d9ea;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.risk-summary b{color:#8ff6ff}.risk-summary em{color:#7ed8ff;margin-left:auto;font-size:11px;font-style:normal;font-weight:900}.theme-toggle{cursor:pointer;background:#ffffffa6;border:1px solid #7dc4ff40;border-radius:9px;padding:6px 9px;font-size:13px}.heat-dot{background:#ccc;border-radius:50%;width:8px;height:8px;margin-left:4px}.heat-dot--red{background:#e05d59}.heat-dot--orange{background:#d99a2e}.heat-dot--general{background:#22a7b0}:root[data-theme=dark]{--page:#0a1826;--card:#102436;--ink:#dbe7f3;--line:#1e3a55;--muted:#8ea9c0}[data-theme=dark] body{background:radial-gradient(circle at 12% 0,#2f7cf624,#0000 34%),radial-gradient(circle at 88% 88%,#22d3ee1a,#0000 30%),linear-gradient(#08131f,#0c1b2b)}[data-theme=dark] .sidebar{color:#9fb8cc;background:linear-gradient(#0c1b2bf0,#081420f5);border-color:#1e3a55}[data-theme=dark] .panel,[data-theme=dark] .stat-card,[data-theme=dark] .device-kpis>div,[data-theme=dark] .workflow-kpis>div,[data-theme=dark] .admin-kpis>div{color:#dbe7f3;background:#102436;border-color:#1e3a55;box-shadow:0 10px 28px #00000038}[data-theme=dark] .panel h2,[data-theme=dark] .stat-card strong,[data-theme=dark] .admin-kpis b,[data-theme=dark] .device-kpis b,[data-theme=dark] .workflow-kpis b,[data-theme=dark] .topbar h1{color:#eaf4ff}[data-theme=dark] .panel-head .section-label,[data-theme=dark] .panel-head .table-caption,[data-theme=dark] .stat-card span,[data-theme=dark] .admin-kpis span,[data-theme=dark] .device-kpis span,[data-theme=dark] .workflow-kpis span{color:#8ea9c0}[data-theme=dark] .topbar-status{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#102436c7;border-color:#7dc4ff2e}[data-theme=dark] .nav-item,[data-theme=dark] .ledger-link{color:#9fb8cc}[data-theme=dark] .nav-item:hover,[data-theme=dark] .nav-item.active,[data-theme=dark] .ledger-link:hover,[data-theme=dark] .ledger-link.active{color:#7ed8ff;background:#2f7cf624}[data-theme=dark] .quick-list button,[data-theme=dark] .alert-list button{color:#dbe7f3;background:#0f2436;border-color:#1e3a55}[data-theme=dark] .safety-heat-zone{background:#102436d1;border-color:#50beff2e}[data-theme=dark] .sidebar-footer{color:#9fb8cc;background:0 0;border-top-color:#1e3a55}[data-theme=dark] .sidebar-footer strong{color:#dbe7f3}[data-theme=dark] .sidebar-footer span,[data-theme=dark] .nav-caption,[data-theme=dark] .panel-head .table-caption{color:#8ea9c0}[data-theme=dark] .theme-toggle{color:#dbe7f3;background:#ffffff14;border-color:#7dc4ff47}[data-theme=dark] .table-wrap{background:#0f2436}[data-theme=dark] .table-wrap table{background:0 0}[data-theme=dark] table th,[data-theme=dark] table td{color:#dbe7f3;border-color:#1e3a55}[data-theme=dark] .quick-list button b,[data-theme=dark] .alert-list small,[data-theme=dark] .alert-list b{color:#8ea9c0}[data-theme=dark] .operations-kpis>article,[data-theme=dark] .operations-kpis article{color:#dbe7f3;background:#102436;border-color:#1e3a55}[data-theme=dark] .operations-kpis span,[data-theme=dark] .operations-kpis small{color:#8ea9c0}[data-theme=dark] .operations-kpis b{color:#eaf4ff}[data-theme=dark] .topbar-search{color:#dbe7f3;background:#0f2436;border-color:#1e3a55}[data-theme=dark] .focus-panel{color:#dbe7f3;background:linear-gradient(135deg,#0f2436,#102c42);border-color:#1e3a55}[data-theme=dark] .focus-panel p:not(.section-label){color:#8ea9c0}[data-theme=dark] .plain-button,[data-theme=dark] .secondary-button,[data-theme=dark] .outline-button{color:#dbe7f3;background:#0f2436;border-color:#1e3a55}[data-theme=dark] .primary-button{box-shadow:0 8px 18px #22d3ee2e}[data-theme=dark] .status-block--bell{color:#dbe7f3;background:#ffffff14}[data-theme=dark] .status-block--bell:hover{background:#7dc4ff29}[data-theme=dark] .bell-dot{border-color:#102436}[data-theme=dark] .notification-pop{color:#dbe7f3;background:linear-gradient(155deg,#132d43,#0c1e2f);border-color:#7dc4ff47;box-shadow:0 22px 60px #0000007a}[data-theme=dark] .notification-pop-head{background:#10283c;border-bottom-color:#1e3a55}[data-theme=dark] .notification-pop-head b{color:#eaf4ff}[data-theme=dark] .notification-pop-head span{color:#8ea9c0}[data-theme=dark] .notification-pop-head button{color:#7ed8ff}[data-theme=dark] .notification-item{background:#102436;border-bottom-color:#1e3a55}[data-theme=dark] .notification-item:hover{background:#153149}[data-theme=dark] .notification-item.unread{background:#2f7cf629}[data-theme=dark] .notification-item b{color:#eaf4ff}[data-theme=dark] .notification-item small{color:#9fb8cc}[data-theme=dark] .notification-item time,[data-theme=dark] .notification-empty{color:#7898b1}[data-theme=dark] .notification-level--info{color:#8fc8ff;background:#2f7cf633}[data-theme=dark] .notification-level--warning{color:#ffd17c;background:#d99a2e2e}[data-theme=dark] .notification-level--error{color:#ff9b95;background:#e05d592e}.safety-heat-zone,.risk-summary{transition:transform var(--dur-fast),box-shadow var(--dur-fast)}.safety-heat-zone:hover,.risk-summary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #06162c24}@media (max-width:760px){.sidebar{-webkit-backdrop-filter:blur(14px);background:linear-gradient(#ffffffeb,#f7fbffe0);box-shadow:0 4px 14px #1f35500f}.mobile-top-search,.mobile-menu-toggle{color:#2f7cf6;background:#ffffffb8;border:1px solid #2f7cf62e;border-radius:11px;width:38px;height:38px;box-shadow:0 2px 8px #1f35500a}}[data-theme=dark] .mobile-top-search,[data-theme=dark] .mobile-menu-toggle{color:#dbe7f3;background:#ffffff14;border-color:#7dc4ff38}.quality-score-card span{color:#5d6f83;font-size:12px;font-weight:800}.quality-score-card b{color:#1f3550;font-size:26px}.quality-score-card small{color:#8b9cac;font-size:11px}.quality-drill-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.quality-drill-card{text-align:left;cursor:pointer;background:#fff7f6;border:1px solid #f0c9c6;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.quality-drill-card b{color:#c24540;font-size:14px}.quality-drill-card span{color:#5d6f83;font-size:12px}.quality-drill-card em{color:#2a69bd;font-size:11px;font-style:normal;font-weight:800}.coverage-summary-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.coverage-summary-card{background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;gap:3px;padding:9px 11px;display:grid}.coverage-summary-card.has-pending{background:#fdf8ec;border-color:#f0dfc0}.coverage-summary-card b{color:#1f3550;font-size:13px}.coverage-summary-card span{color:#5d6f83;font-size:12px}.coverage-summary-card em{color:#b07618;font-size:11px;font-style:normal;font-weight:800}.training-cert-panel{background:#fdf8ec;border:1px solid #f0dfc0;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.training-cert-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.training-cert-head h3{color:#1f3550;margin:2px 0 0;font-size:15px}.training-cert-head>span{color:#b07618;font-size:12px}.training-cert-list{gap:8px;display:grid}.training-cert-row{background:#fff;border:1px solid #f0e3c6;border-radius:9px;align-items:center;gap:10px;padding:7px 10px;display:flex}.training-cert-row.is-expired{background:#fff7f6;border-color:#e9b0ac}.training-cert-row>i{color:#b07618;background:#fbead2;border-radius:8px;flex:none;padding:3px 7px;font-size:12px;font-style:normal;font-weight:900}.training-cert-row.is-expired>i{color:#c24540;background:#fde8e7}.training-cert-row>div{flex:1;gap:2px;min-width:0;display:grid}.training-cert-row b{color:#1f3550;font-size:13px}.training-cert-row small{color:#77879b;font-size:11px}.site-beian-footer{color:#8b9cac;background:#fff;border-top:1px solid #edf2f6;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex}.site-beian-footer a{color:#8b9cac;text-decoration:none}.site-beian-footer a:hover{color:#2a69bd}.police-beian-link{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.police-beian-link img{object-fit:contain;width:18px;height:20px}.mobile-profile-footer small{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;display:flex}.mobile-profile-footer small>a{color:inherit;text-decoration:none}.mobile-profile-footer .police-beian-link img{object-fit:contain;flex:none;width:15px;height:17px}.mobile-menu-toggle,.mobile-menu-close{display:none}@media (max-width:760px){.mobile-menu-toggle{color:#2f5f94;background:#f4f8fc;border:1px solid #d7e3ec;border-radius:9px;justify-content:center;align-items:center;gap:6px;width:100%;margin:2px 0 8px;padding:9px 10px;font-size:12px;font-weight:900;display:flex}.mobile-menu-close{color:#5c7488;text-align:center;background:#f4f7fa;border:1px solid #e3eaf1;border-radius:9px;width:100%;margin-bottom:10px;padding:9px;font-size:12px;font-weight:900;display:block}.sidebar-section--system{display:none}.sidebar-section--system.mobile-open{z-index:45;padding:14px 14px calc(96px + env(safe-area-inset-bottom));background:#fff;display:block;position:fixed;inset:0;overflow:auto;box-shadow:0 18px 60px #071a2f47}.sidebar-section--system .nav-caption{margin-top:8px}.workspace{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.top-actions{gap:8px}.top-actions .primary-button{flex:auto;min-width:0}.top-actions .plain-button{flex:none;min-width:0;padding:9px 11px}}.status--open{color:var(--status-pending);background:#fdf1dd}.status--progress{color:var(--status-fixing);background:#eaf2ff}.status--review{color:var(--status-review);background:#e2f3f5}.status--done{color:var(--status-done);background:#e6f4f0}.tag--red{color:var(--status-danger);background:#fdecea}.operation-status--待处理{color:var(--status-pending);background:#fdf1dd}.operation-status--整改中{color:var(--status-fixing);background:#eaf2ff}.operation-status--待验收{color:var(--status-review);background:#e2f3f5}.operation-status--已闭环,.operation-status--已归档{color:var(--status-done);background:#e6f4f0}.operation-status--overdue,.operation-status--danger{color:var(--status-danger);background:#fdecea}.sla{font-weight:900}.sla--soon{color:var(--status-pending)}.sla--overdue{color:var(--status-danger);animation:1.6s ease-in-out infinite sla-pulse}@keyframes sla-pulse{0%,to{opacity:1}50%{opacity:.55}}.notice{z-index:120;background:var(--status-done);color:#fff;width:max-content;max-width:calc(100vw - 24px);animation:toast-in var(--dur-sheet) cubic-bezier(.22,1,.36,1);border:0;border-radius:999px;align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:13px;font-weight:700;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #102a4338}.notice--error{background:var(--status-danger)}.notice span{font-weight:900}.notice button{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:0;margin-left:6px;font-size:14px;line-height:1}.notice button:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:760px){.notice{text-align:center;justify-content:center;width:auto;animation-name:toast-in-mobile;left:12px;right:12px;transform:none}.notice button{position:absolute;right:10px}}@keyframes toast-in-mobile{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.ledger-drawer{animation:drawer-in var(--dur-sheet) ease}.mobile-profile-sheet{animation:ui-modal-in var(--dur-sheet) cubic-bezier(.22,1,.36,1)}.operation-grid-item{transition:transform var(--dur-press) ease,background var(--dur-press) ease,border-color var(--dur-press) ease,box-shadow var(--dur-press) ease}.operation-grid-item:active{transform:scale(.96)}@media (max-width:360px){.operation-nav{grid-template-columns:repeat(4,1fr);gap:8px}.operation-grid-item{padding:9px 4px}.operation-grid-more{grid-column:auto}}.mobile-today-progress{background:#f8fafc;border:1px solid #e4ebf2;border-radius:12px;gap:7px;margin-top:2px;padding:10px 12px;display:grid}.mobile-today-progress-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.mobile-today-progress-head span{color:#5d6f83;font-size:12px;font-weight:800}.mobile-today-progress-head b{color:var(--status-fixing);font-size:15px}.mobile-today-progress .inspection-progress{height:8px}.mobile-today-progress small{color:#8b9cac;font-size:11px}.ledger-card-grid{gap:12px}.ledger-card{border-color:#e2e9f2;border-radius:10px}.ledger-card-head{gap:8px}.ledger-card-head .status{flex:none}.ledger-card-body b{font-size:16px;line-height:1.45}.ledger-card-body p{font-size:14px;line-height:1.5}.ledger-card-actions{background:#fbfdff;border-top:1px solid #edf2f6;justify-content:flex-end;gap:8px;padding:10px 13px;display:flex}.ledger-card-actions .image-manage-button{padding:7px 12px;font-size:12px}@media (max-width:760px){.ledger-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.ledger-filters::-webkit-scrollbar{display:none}.ledger-filters select{flex:none;width:auto;min-width:118px}}.status-timeline{margin:0 0 14px;padding:0;list-style:none;display:flex}.status-timeline li{color:#9aabba;flex:1;justify-items:center;gap:5px;font-size:11px;font-weight:800;display:grid;position:relative}.status-timeline li:not(:last-child):after{content:"";background:#e3ebf3;height:2px;position:absolute;top:13px;left:calc(50% + 14px);right:calc(14px - 50%)}.status-timeline i{z-index:1;color:#8ba2b6;background:#eef3f7;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex;position:relative}.status-timeline li.is-active i{background:var(--status-fixing);color:#fff;box-shadow:0 0 0 4px #2f7cf626}.status-timeline li.is-active span{color:var(--status-fixing)}.status-timeline li.is-done i{color:var(--status-done);background:#e6f4f0}.status-timeline li.is-done:after{background:#b9e0d3}@media (max-width:760px){.status-timeline li{font-size:10px}.ledger-drawer-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ledger-drawer-meta>span{min-width:0}.ledger-drawer-actions{z-index:5;background:#fff;border-top:1px solid #edf2f6;margin-bottom:14px;padding:10px 0 12px;position:sticky;bottom:0}}.reminder-row .row-actions button{white-space:nowrap}.workflow-stepper button{color:#7a92a8;cursor:pointer;background:#fff;border:1px solid #d7e3ec;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:11px;font-weight:900;display:flex}.workflow-stepper button i{color:#8ba2b6;background:#eef3f7;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-style:normal;display:inline-flex}.workflow-stepper button.is-active{border-color:var(--status-fixing);color:var(--status-fixing);background:#eaf2ff}.workflow-stepper button.is-active i{background:var(--status-fixing);color:#fff}.workflow-stepper button.is-done{color:var(--status-done);background:#f2faf6;border-color:#b9e0d3}.workflow-stepper button.is-done i{color:var(--status-done);background:#e6f4f0}.workflow-step-error{margin:-6px 0 10px}@media (max-width:760px){.workflow-stepper button{padding:7px 3px;font-size:10px}}.template-standard-section summary,.special-form-fields summary,.workflow-history summary{cursor:pointer;list-style:none}.template-standard-section summary::-webkit-details-marker{display:none}.special-form-fields summary::-webkit-details-marker{display:none}.workflow-history summary::-webkit-details-marker{display:none}.template-standard-section summary:hover,.special-form-fields summary:hover,.workflow-history summary:hover{opacity:.85}.workflow-history summary b{color:#38536a;font-size:12px}.workflow-history summary:after{content:"收起 ▴";float:right;color:#8ba2b6;font-size:10px;font-weight:900}.workflow-history:not([open]) summary:after{content:"展开 ▾"}.ledger-drawer{overscroll-behavior:contain;touch-action:pan-y}.empty-state:before,.image-empty:before,.operation-empty:before,.ledger-empty-state:before{content:"";opacity:.9;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2096%2064'%20fill='none'%20stroke='%232F7CF6'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='28'%20y='12'%20width='40'%20height='44'%20rx='7'/%3E%3Cpath%20d='M36%2024h24M36%2033h24M36%2042h14'/%3E%3Cpath%20d='M40%206h16v8H40z'%20stroke='%2322A7B0'/%3E%3C/svg%3E") 50%/contain no-repeat;width:78px;height:60px;margin:0 auto 10px;display:block}.mobile-pull-refresh{z-index:60;pointer-events:none;background:linear-gradient(#2f7cf614,#2f7cf600);justify-content:center;align-items:flex-end;padding-bottom:8px;transition:height .2s;display:flex;position:fixed;top:0;left:0;right:0}.mobile-pull-refresh span{color:var(--status-fixing);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 6px 16px #1f35501f}.mobile-pull-refresh.is-refreshing span{color:#fff;background:var(--status-fixing)}@media (min-width:761px){.mobile-pull-refresh{display:none}}.mobile-home-actions{gap:8px;display:flex}.mobile-home-actions .secondary-button{flex:1;justify-content:center;padding:10px 8px;font-size:12px}.reminder-group{gap:8px;margin-top:14px;display:grid}.reminder-group-head{align-items:baseline;gap:8px;display:flex}.reminder-group-head b{color:#1f3550;font-size:13px}.reminder-group-head span{color:#7d92a6;font-size:11px;font-weight:800}.reminder-group-head .reminder-group-link{color:#2768c9;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:11px;font-weight:800}.reminder-row--handover{border-left-color:#1e8176}.handover-badge{color:#1e8176;white-space:nowrap;background:#e6f4f2;border-radius:4px;align-self:start;padding:4px 8px;font-size:11px;font-weight:800}tr.item-focus-row td{box-shadow:inset 3px 0 #d99a2e;background:#fff8e6!important}.mobile-message-center{gap:14px;padding:2px 0;display:grid}.mobile-message-head{align-items:center;gap:10px;display:flex}.mobile-message-head .section-label{margin:0}.mobile-message-head h2{color:#1f3550;margin:2px 0 0;font-size:18px}.mobile-message-head .recovery-badge{margin-left:auto}.mobile-message-head .text-button{color:#2768c9;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.mobile-notice-list{gap:8px;display:grid}.mobile-notice-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;padding:12px;display:grid}.mobile-notice-row.unread{background:#f0f7ff;border-color:#bbd6f5}.mobile-notice-row b,.mobile-notice-row small{display:block}.mobile-notice-row b{color:#1f3550;font-size:13px;line-height:1.45}.mobile-notice-row small{color:#7d92a6;margin-top:4px;font-size:11px;line-height:1.5}.mobile-notice-row time{color:#9aacbd;margin-top:4px;font-size:10px;display:block}.mobile-notice-row i{background:#e63946;border-radius:50%;width:8px;height:8px;margin-top:4px}.mobile-nav-badge{color:#fff;background:#e63946;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-style:normal;font-weight:800;display:grid;position:absolute;top:-2px;right:8px}.mobile-nav-dot{background:#e63946;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:14px}.mobile-bottom-nav button{position:relative}.patrol-mobile-list{display:none}.patrol-mobile-list .patrol-mobile-notes{color:#8b9cac;margin-top:6px;font-size:10px;font-style:normal;line-height:1.5;display:block}.mobile-profile-stats{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px 0;display:grid}.mobile-profile-stats button{text-align:center;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 8px}.mobile-profile-stats b{color:#1f3550;font-size:18px;display:block}.mobile-profile-stats span{color:#8b9cac;margin-top:2px;font-size:10px;font-weight:800;display:block}.mobile-search-backdrop{justify-content:center;align-items:flex-end;display:flex}.mobile-search-sheet{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:520px;max-height:82vh;padding:16px;overflow:auto}.mobile-search-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-search-head .section-label{margin:0}.mobile-search-head h2{color:#1f3550;margin:2px 0 0;font-size:18px}.mobile-search-input{border:1px solid #d7e3ec;border-radius:10px;width:100%;margin:12px 0;padding:11px 12px;font-size:14px}.mobile-search-group{gap:8px;margin-top:12px;display:grid}.mobile-search-group-head{align-items:baseline;gap:8px;display:flex}.mobile-search-group-head b{color:#1f3550;font-size:13px}.mobile-search-group-head span{color:#8b9cac;font-size:11px;font-weight:800}.mobile-search-results{gap:8px;display:grid}.mobile-search-results button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px;display:grid}.mobile-search-results b,.mobile-search-results small{display:block}.mobile-search-results b{color:#1f3550;font-size:13px}.mobile-search-results small{color:#8b9cac;margin-top:3px;font-size:11px}.mobile-search-results em{color:#2f7cf6;font-style:normal;font-weight:800}.module-loading{gap:10px;padding:18px 0;display:grid}.module-loading p{color:#8b9cac;margin:0;font-size:12px;font-weight:800}.module-loading .module-loading-slow{color:#b7791b;font-size:11px}@media (max-width:1600px){.ledger-page,.special-ledger-workspace,.workflow-center,.operation-workbench,.alert-report-page,.patrol-workspace,.system-governance,.form-control-panel,.ledger-maintenance{grid-template-columns:minmax(0,1fr)}.ledger-page>*,.special-ledger-workspace>*,.workflow-center>*,.operation-workbench>*,.alert-report-page>*,.patrol-workspace>*,.system-governance>*,.form-control-panel>*,.ledger-maintenance>*{min-width:0}.ledger-toolbar,.operation-hero-kpis{flex-wrap:wrap}.operation-hero-kpis>div{flex:110px;min-width:0}}.admin-page{grid-template-columns:minmax(0,1fr)}.admin-page>*{min-width:0}.system-governance,.form-control-panel,.ledger-maintenance{grid-template-columns:minmax(0,1fr)}.system-governance>*,.form-control-panel>*,.ledger-maintenance>*{min-width:0}@media (max-width:760px){.patrol-records .table-wrap{display:none}.patrol-mobile-list{gap:10px;display:grid}.device-page{grid-template-columns:minmax(0,1fr);min-width:0}.device-layout{grid-template-columns:minmax(0,1fr)}.device-tree-panel,.device-list-panel,.device-detail-panel{min-width:0}.device-filterbar{flex-direction:column;align-items:flex-start}.device-filterbar .filter-pills{flex-wrap:nowrap;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.device-detail-actions{grid-template-columns:1fr 1fr;align-items:end;display:grid}.device-detail-actions label{grid-column:1/-1}.device-log-form{flex-direction:column}.device-log-form input{width:100%}.device-table{min-width:720px}.topbar-head{flex-wrap:wrap}.topbar-head .top-actions{row-gap:6px}.filter-pills{flex-wrap:nowrap;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.ledger-page{grid-template-columns:minmax(0,1fr)}.ledger-page>*{min-width:0}.special-ledger-workspace,.workflow-center,.operation-workbench,.alert-report-page{grid-template-columns:minmax(0,1fr)}.special-ledger-workspace>*,.workflow-center>*,.operation-workbench>*,.alert-report-page>*{min-width:0}.special-ledger-workspace .special-dimension-pills,.special-ledger-workspace .filter-pills,.workflow-center .filter-pills,.special-ledger-workspace [class$=-tabs]{flex-wrap:nowrap;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.special-ledger-hero{flex-wrap:wrap}.ledger-toolbar-row,.panel.special-records{min-width:0}.ledger-filters{flex-wrap:wrap!important}.ledger-filters select,.ledger-filters .plain-button{flex:140px;min-width:0;max-width:100%}.admin-page{grid-template-columns:minmax(0,1fr)}.admin-page>*{min-width:0}.system-governance,.form-control-panel,.ledger-maintenance{grid-template-columns:minmax(0,1fr)}.system-governance>*,.form-control-panel>*,.ledger-maintenance>*{min-width:0}.topbar-signout,.topbar-permission,.topbar-search,.topbar-status .device-gauge,.topbar-status .motion-toggle,.topbar-status .status-block--pending{display:none!important}.topbar-back-button{color:#2768c9;background:#fff;border:1px solid #d7e3ec;border-radius:8px;align-items:center;gap:4px;padding:7px 10px;font-size:12px;display:inline-flex}.topbar-status,.topbar-head>div:first-child .eyebrow{display:none}.topbar-scan{display:inline-flex}.sidebar-section--operations{display:none}.mobile-workbench-menu{display:block}}@media (min-width:761px){.mobile-workbench-menu{display:none}}.mobile-menu-actions{display:none}@media (max-width:760px){.mobile-menu-actions{display:block}}.mobile-workbench-menu{padding:2px 4px 4px}.mobile-workflow-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.mobile-workflow-pills::-webkit-scrollbar{display:none}.mobile-workflow-cards{gap:12px;padding:4px 0;display:grid}.mobile-workflow-card{background:#fff;border:1px solid #e2e9f2;border-radius:10px;padding:12px 12px 10px;position:relative;box-shadow:0 4px 12px #1f35500d}.mobile-workflow-card .status{position:absolute;top:10px;right:10px}.mobile-workflow-card h4{color:#1f3550;margin:2px 86px 4px 0;font-size:16px;line-height:1.45}.mobile-workflow-card .sub{color:#5d6f83;font-size:14px;line-height:1.5}.mobile-workflow-card .sub small{color:#8b9cac;margin-top:2px;font-size:12px;display:block}.mobile-workflow-card .sla{margin-top:8px;font-size:12px;font-weight:800}.mobile-workflow-card .ops{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.modal-head-save{flex:none;padding:9px 14px;font-size:13px}.reminder-row{border-left:4px solid #d99a2e;min-height:80px}.reminder-row--红线{border-left-color:#c0392b}.reminder-row--重点{border-left-color:#d99a2e}.reminder-row--一般{border-left-color:#2f7cf6}.mobile-profile-backdrop{align-items:stretch}.mobile-profile-sheet{width:100%;max-width:none;max-height:calc(100% - 64px - env(safe-area-inset-bottom));border-radius:0 0 18px 18px;flex-direction:column;gap:12px;height:auto;display:flex}.mobile-profile-brand{margin-top:auto}@media (max-width:760px){.topbar{background:#fff;border-bottom:1px solid #e2e9f2}.mobile-bottom-nav{background:#fff;border-top:1px solid #e0e0e0;height:56px}.mobile-bottom-nav button{color:#999;text-decoration:none}.mobile-bottom-nav button.active{color:#2f7cf6;transform:none}.mobile-bottom-nav .mobile-nav-main span{background:#2f7cf6;box-shadow:0 2px 8px #0000001f}.mobile-nav-main span{width:50px;height:50px;margin-top:-20px;font-size:24px}.mobile-bottom-nav button:not(.mobile-nav-main) span{border-radius:999px;justify-content:center;align-items:center;width:46px;height:30px;display:inline-flex}.mobile-bottom-nav button:not(.mobile-nav-main).active span{background:#e8f1ff}.mobile-bottom-nav button:not(.mobile-nav-main):active{transform:scale(.96)}.mobile-nav-badge{right:12px}}.mobile-workflow-pills button{color:#1a5ecc;background:#fff;border:1px solid #1a5ecc;border-radius:8px}.mobile-workflow-pills button.active{color:#fff;background:#1a5ecc;border-color:#1a5ecc}.mobile-workflow-pills button span{color:#1a5ecc;background:#1a5ecc1a}.mobile-workflow-pills button.active span{color:#fff;background:#ffffff40}.mobile-workflow-card{border-color:#e0e0e0;border-radius:8px}.mobile-workflow-card h4{color:#1a5ecc;font-weight:700}.mobile-workflow-card .sub{color:#666}.mobile-workflow-card .sub small{color:#999}.mobile-workflow-card .status{color:#fff;border:0;border-radius:4px;padding:4px 8px;font-size:12px}.mobile-workflow-card .status--open{background:#f90}.mobile-workflow-card .status--progress{background:#1a5ecc}.mobile-workflow-card .status--review{background:#22a7b0}.mobile-workflow-card .status--done{background:#1e8176}.mobile-workflow-card .ops .secondary-button{color:#1a5ecc;background:#fff;border:1px solid #1a5ecc;border-radius:4px}.mobile-workflow-card .ops .primary-button{color:#fff;background:#1a5ecc;border-radius:4px}.topbar-add{color:#1a5ecc;padding:4px 10px;font-size:22px;font-weight:700}@media (max-width:760px){.topbar h1{color:#1a5ecc}}.mobile-work-segments{gap:8px;padding:0 0 4px;display:grid}.mobile-work-segment{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.mobile-work-segment b,.mobile-work-segment small{display:block}.mobile-work-segment b{color:#333;font-size:15px;font-weight:700}.mobile-work-segment small{color:#999;margin-top:3px;font-size:11px;font-weight:700}.mobile-work-segment em{color:#2f7cf6;font-size:14px;font-style:normal;font-weight:700}.seg-icon{border-radius:10px;place-items:center;width:38px;height:38px;font-size:17px;font-style:normal;font-weight:700;display:grid}.seg-icon--blue{color:#2f7cf6;background:#e6f0ff}.seg-icon--green{color:#4caf50;background:#e8f5ec}.seg-icon--gray{color:#999;background:#f0f0f0}.seg-icon--orange{color:#ff9800;background:#fff3e6}.seg-icon--purple{color:#7e57c2;background:#f0e6ff}.seg-icon--yellow{color:#ffc107;background:#fff8e1}.seg-icon--teal{color:#13c2c2;background:#e6f7f0}.seg-icon--red{color:#f44336;background:#ffebee}.seg-icon--cyan{color:#00acc1;background:#e0f7fa}.operation-hero.mobile-hidden{display:none}.operation-panel-head .secondary-button{flex:none}.workflow-stepper{gap:0;margin:0 0 12px;display:flex}.workflow-stepper button{color:#999;cursor:pointer;background:0 0;border:0;flex:1;justify-items:center;gap:5px;padding:0;font-size:12px;font-weight:400;display:grid;position:relative}.workflow-stepper button:not(:last-child):after{content:"";background:#e0e0e0;height:2px;position:absolute;top:13px;left:calc(50% + 16px);right:calc(16px - 50%)}.workflow-stepper button i{color:#999;background:#fff;border:2px solid #e0e0e0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.workflow-stepper button.is-active i{color:#fff;box-shadow:none;background:#007aff;border-color:#007aff}.workflow-stepper button.is-active span{color:#007aff;font-weight:700}.workflow-stepper button.is-done i{color:#fff;background:#4caf50;border-color:#4caf50}.workflow-stepper button.is-done:after{background:#4caf50}.risk-callout{color:#e65100;background:#fff3e0;border:1px solid #ffc107;border-radius:8px}.workflow-modal .modal-actions .cancel-button{color:#007aff;background:#fff;border:1px solid #d7dde3}.workflow-modal .modal-actions .primary-button{color:#fff;background:#007aff}.record-modal input.error,.record-modal textarea.error{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b1f}.field-error{margin-top:6px}.form-panel-group{background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:12px}.form-panel-group>summary{color:#333;cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:700;list-style:none;display:flex}.form-panel-group>summary::-webkit-details-marker{display:none}.form-panel-group>summary:after{content:"▲";color:#999;font-size:10px}.form-panel-group:not([open])>summary:after{content:"▼"}.form-panel-group .form-panel-body{padding:0 14px 14px}.template-standard-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:12px}.template-standard-section>summary:after,.special-form-fields>summary:after{content:"▲";color:#999;margin-left:auto;font-size:10px}.template-standard-section:not([open])>summary:after,.special-form-fields:not([open])>summary:after{content:"▼"}.special-form-fields{background:#fff;border:1px solid #e8e8e8;border-radius:8px}.modal-head-save{background:#2f7cf6;border-radius:8px}.record-modal input,.record-modal select,.record-modal textarea{border-radius:6px}.mobile-profile-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex;position:relative}.mobile-profile-avatar{color:#fff;background:#2f7cf6;border-radius:50%;place-items:center;width:56px;height:56px;font-size:24px;font-weight:700;display:grid}.mobile-profile-id b{color:#2f7cf6;font-size:18px;font-weight:700;display:block}.mobile-profile-role{color:#2f7cf6;background:#e6f7ff;border-radius:999px;margin-top:5px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.mobile-profile-id small{color:#999;margin-top:5px;font-size:12px;display:block}.mobile-profile-card .close-button{position:absolute;top:12px;right:12px}.mobile-profile-list{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden}.mobile-profile-list button{color:#333;text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #e0e0e0;align-items:center;gap:10px;width:100%;padding:14px 16px;font-size:16px;font-weight:700;display:flex}.mobile-profile-list button:first-child{border-top:0}.mobile-profile-list button em{color:#ccc;margin-left:auto;font-size:16px;font-style:normal}.mobile-profile-signout{color:#d94848;background:#fff0f0;border:0;border-radius:8px;width:85%;height:48px;margin:0 auto;font-size:16px;font-weight:700}.mobile-profile-brand{text-align:center;color:#666;padding:10px 0 6px;font-size:12px;line-height:1.7}.mobile-profile-brand b{color:#333;font-size:13px;display:block}.mobile-profile-brand i{font-style:normal;display:block}@media (max-width:760px){.sidebar{background:#fff;border-bottom:1px solid #e0e0e0;grid-template-columns:1fr auto;align-items:center;gap:10px;height:50px;padding:0 12px;display:grid}.brand-lockup{grid-column:1;min-width:0;padding:0}.brand-lockup span:not(.brand-mark){display:none}.brand-lockup svg{width:24px;height:24px}.brand-lockup strong{color:#1f1f1f;font-size:18px}.mobile-menu-toggle{color:#666;background:#f5f5f5;border:0;border-radius:4px;grid-column:2;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:0;font-size:16px;display:inline-flex}.mobile-menu-toggle-label{display:none}.mobile-top-actions{grid-column:2;align-items:center;gap:8px;display:flex}.mobile-top-search{color:#666;cursor:pointer;background:#f5f5f5;border:0;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:inline-flex}.mobile-top-search:active,.mobile-menu-toggle:active{background:#e8f0fa;transform:scale(.96)}.sidebar-section--recent,.sidebar-management,.sidebar-footer,.topbar-title--home{display:none}.topbar-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.topbar-head>div:first-child{flex:1;min-width:0}.ledger-pagination{flex-wrap:wrap;gap:8px;padding-top:14px}.ledger-pagination>span{text-align:center;flex:100%;order:-1}.ledger-pagination .secondary-button{padding:8px 12px;font-size:12px}.ledger-pagination .ledger-page-size{padding:7px 8px;font-size:12px}.mobile-nav-badge{top:0;right:calc(50% - 23px)}.mobile-nav-dot{top:2px;right:calc(50% - 25px)}.mobile-record-card>div:first-child{flex:1;min-width:0}.mobile-record-card>div:last-child{flex-wrap:wrap;flex:none;align-items:flex-end;gap:4px;max-width:48%}.mobile-record-card>div:last-child .status,.mobile-record-card>div:last-child .table-neutral{white-space:nowrap}.inspection-plan-list-actions{flex-wrap:wrap;gap:6px 8px}.inspection-plan-list-actions button{white-space:nowrap}.inspection-coverage-nums{gap:6px 12px}.site-beian-footer span,.mobile-profile-brand small{overflow-wrap:anywhere;word-break:break-all}.topbar-title-wrap{flex:1;min-width:0}.topbar-title-row{align-items:center;gap:10px;min-width:0;display:flex}.topbar-title-row .topbar-title{flex:1;min-width:0}.topbar-title-row .topbar-add{color:#fff;background:#2f7cf6;border:1px solid #2f7cf6;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 4px 10px #2f7cf64d}.topbar-title-row .topbar-add:active{transform:scale(.94)}[data-theme=dark] .topbar-title-row .topbar-add{background:#2f7cf6;border-color:#2f7cf6}.sidebar.mobile-menu-open{-webkit-backdrop-filter:none;filter:none;z-index:70;transform:none}.sidebar-section--system.mobile-open{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ledger-view-toggle button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:40px}}.login-verify{background:#f4f9ff;border:1px solid #d7e5fb;border-radius:12px;gap:7px;margin:14px 0 4px;padding:13px 14px;display:grid}.login-verify-step{color:#7a92a8;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.login-verify-step i{color:#8ba2b6;background:#e8eef5;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;font-weight:900;display:inline-grid}.login-verify-step.is-active{color:#1d5faf}.login-verify-step.is-active i{color:#fff;background:#2f7cf6;animation:1s linear infinite verify-spin}.login-verify-step.is-done{color:#298268}.login-verify-step.is-done i{color:#2fa47c;background:#e6f4f0}@keyframes verify-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .login-verify{background:#2f7cf61a;border-color:#7dc4ff38}[data-theme=dark] .login-verify-step{color:#9fb6cb}[data-theme=dark] .login-verify-step.is-active{color:#8fbdf2}[data-theme=dark] .login-verify-step.is-done{color:#6fd3ae}.login-captcha-row{align-items:center;gap:8px;margin:2px 0;display:flex}.login-captcha-box{cursor:pointer;background:#f6faff;border:1px solid #d7e5fb;border-radius:8px;flex:none;place-items:center;width:140px;height:44px;display:grid;overflow:hidden}.login-captcha-box>span,.login-captcha-box svg{width:100%;height:100%;display:block}.login-captcha-box:active{transform:scale(.97)}.login-captcha-placeholder{color:#7a92a8;font-size:11px;font-weight:700}.login-captcha-input{color:#1f3550;letter-spacing:.14em;text-transform:uppercase;background:#fff;border:1px solid #d7e5fb;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:0 10px;font-size:14px}.login-captcha-input::placeholder{letter-spacing:0;font-size:12px}.login-captcha-input:focus{border-color:#2f7cf6;outline:none;box-shadow:0 0 0 3px #2f7cf614}.login-captcha-input:disabled{color:#8ba2b6;background:#f1f5f9}.login-captcha-refresh{color:#2f7cf6;cursor:pointer;background:#fff;border:1px solid #d7e5fb;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;font-size:19px;font-weight:900;display:grid}.login-captcha-refresh:active{background:#e8f1ff}.login-captcha-refresh:disabled{opacity:.45;cursor:default}[data-theme=dark] .login-captcha-box{background:#2f7cf61a;border-color:#7dc4ff38}[data-theme=dark] .login-captcha-input{color:#dbe7f3;background:#ffffff0f;border-color:#7dc4ff38}[data-theme=dark] .login-captcha-refresh{color:#8fbdf2;background:#ffffff0f;border-color:#7dc4ff38}@media (max-width:380px){.login-captcha-row{gap:6px}.login-captcha-box{width:112px;height:40px}.login-captcha-input{min-height:40px;padding:0 8px;font-size:13px}.login-captcha-refresh{width:38px;height:40px}}.mobile-home-section-head{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.mobile-home-section-title,.mobile-today-head .section-label{color:var(--de-text-primary);margin:0;padding-left:11px;font-size:14px;font-weight:600;position:relative}.mobile-home-section-title:before,.mobile-today-head .section-label:before{content:"";background:var(--de-action-primary);border-radius:0;width:3px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mobile-home-more{color:var(--de-action-primary);background:0 0;border:0;padding:4px 2px;font-size:12px;font-weight:600}.mobile-home-more:active{color:var(--de-action-pressed)}.mobile-today-panel{background:0 0;border:0;gap:8px;padding:0;display:grid}.mobile-today-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.mobile-today-date{border:1px solid var(--de-border-subtle);background:var(--de-surface-subtle);color:var(--de-text-secondary);border-radius:0;padding:3px 8px;font-size:11px;font-weight:600}.mobile-today-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mobile-today-card{border:1px solid var(--de-border-subtle);background:var(--de-surface);text-align:left;min-height:96px;box-shadow:none;color:var(--de-text-primary);cursor:pointer;border-radius:0;gap:4px;padding:12px;transition:background .12s,border-color .12s;display:grid;position:relative;overflow:hidden}.mobile-today-card:before,.mobile-today-card:after{display:none}.mobile-today-card:active{border-color:var(--de-action-primary);background:var(--de-surface-selected);transform:none}.mobile-today-card.is-attention{border-color:var(--de-danger);background:var(--de-danger-soft)}.mobile-today-card.is-attention:active{background:var(--de-danger-soft)}.mobile-today-icon{background:var(--de-action-primary);width:26px;height:26px;color:var(--de-surface);box-shadow:none;border-radius:0;place-items:center;font-size:12px;font-style:normal;font-weight:600;display:grid;position:absolute;top:10px;right:10px}.mobile-today-card:first-child .mobile-today-icon{background:var(--de-action-primary)}.mobile-today-card:nth-child(2) .mobile-today-icon{background:var(--de-danger)}.mobile-today-card:nth-child(3) .mobile-today-icon{background:var(--de-warning-text)}.mobile-today-card:nth-child(4) .mobile-today-icon{background:var(--de-success)}.mobile-today-card span{color:var(--de-text-secondary);padding-right:34px;font-size:11px;font-weight:600}.mobile-today-card b,.mobile-today-card:last-child b{color:var(--de-text-primary);letter-spacing:0;font-size:26px;font-weight:400;line-height:1.15}.mobile-today-card small{color:var(--de-text-secondary);font-size:11px;font-weight:600}.mobile-today-card.is-attention b,.mobile-today-card.is-attention small{color:var(--de-danger)}.mobile-today-card .progress{background:var(--de-surface-subtle);height:4px;box-shadow:inset 0 0 0 1px var(--de-border-subtle);border-radius:0;margin-top:6px;overflow:hidden}.mobile-today-card .progress i{background:var(--de-action-primary);border-radius:0;height:100%;display:block}.mobile-risk-summary{border:1px solid var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface);width:100%;color:var(--de-text-primary);text-align:left;box-shadow:none;border-radius:0;align-items:center;gap:10px;margin-top:12px;padding:12px;transition:border-color .12s,background .12s;display:flex}.mobile-risk-summary:active{border-color:var(--de-action-primary);background:var(--de-surface-selected);transform:none}.mobile-risk-summary span{background:var(--de-surface-selected);width:32px;height:32px;color:var(--de-action-primary);box-shadow:none;border-radius:0;flex:none;place-items:center;font-size:10px;font-weight:600;animation:none;display:grid}.mobile-risk-summary p{color:var(--de-text-secondary);flex:1;margin:0;font-size:12px;font-weight:600;line-height:1.5}.mobile-risk-summary em{color:var(--de-action-primary);font-size:12px;font-weight:600}.mobile-heat-strip{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.mobile-heat-card{border:1px solid var(--de-border-subtle);background:var(--de-surface);text-align:left;box-shadow:none;color:var(--de-text-primary);cursor:pointer;border-radius:0;gap:8px;padding:12px;transition:border-color .12s,background .12s;display:grid}.mobile-heat-card--tenant,.mobile-heat-card--device{background:var(--de-surface)}.mobile-heat-card:active{border-color:var(--de-action-primary);background:var(--de-surface-selected);transform:none}.mobile-heat-kicker{color:var(--de-text-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.heat-icon{background:var(--de-action-primary);width:22px;height:22px;color:var(--de-surface);border-radius:0;place-items:center;font-size:11px;font-style:normal;font-weight:600;display:grid}.heat-icon--tenant{background:var(--de-danger)}.heat-icon--device{background:var(--de-action-primary)}.mobile-heat-counts{flex-wrap:wrap;gap:6px;display:flex}.heat-count{border:1px solid var(--de-border-subtle);background:var(--de-surface-subtle);color:var(--de-text-secondary);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-style:normal;font-weight:600;display:inline-flex}.heat-count i{background:var(--de-text-tertiary);width:7px;height:7px;box-shadow:none;border-radius:50%}.heat-count--red i,.heat-count--fault i{background:var(--de-danger)}.heat-count--red,.heat-count--fault{color:var(--de-danger)}.heat-count--orange i,.heat-count--warn i{background:var(--de-warning-text)}.heat-count--orange,.heat-count--warn{color:var(--de-warning-text)}.heat-count--general i{background:var(--de-text-tertiary)}.heat-count--general{color:var(--de-text-secondary)}.heat-count--normal i{background:var(--de-success)}.heat-count--normal{color:var(--de-success)}.mobile-heat-card>small{color:var(--de-text-secondary);font-size:11px;font-weight:600}.mobile-home-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin:0;display:grid}.mobile-home-grid .operation-grid-item{border:1px solid var(--de-border-subtle);background:var(--de-surface);min-width:0;color:var(--de-text-primary);cursor:pointer;box-shadow:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 2px;transition:border-color .12s,background .12s;display:flex}.mobile-home-grid .operation-grid-item i{background:var(--de-action-primary);width:36px;height:36px;color:var(--de-surface);box-shadow:none;border-radius:0;font-size:15px;font-weight:600}.mobile-home-grid .operation-grid-item span{color:var(--de-text-primary);font-size:10px;font-weight:600}.mobile-home-grid .operation-grid-item:first-child i,.mobile-home-grid .operation-grid-item:nth-child(2) i,.mobile-home-grid .operation-grid-item:nth-child(3) i,.mobile-home-grid .operation-grid-item:nth-child(4) i,.mobile-home-grid .operation-grid-item:nth-child(5) i,.mobile-home-grid .operation-grid-item:nth-child(6) i,.mobile-home-grid .operation-grid-item:nth-child(7) i,.mobile-home-grid .operation-grid-item:nth-child(8) i,.mobile-home-grid .operation-grid-item:nth-child(9) i{background:var(--de-action-primary);color:var(--de-surface)}.mobile-home-grid .operation-grid-item.operation-grid-more{background:var(--de-surface-subtle);border-style:solid;grid-column:auto}.mobile-home-grid .operation-grid-item.operation-grid-more i{background:var(--de-surface);color:var(--de-action-primary);box-shadow:inset 0 0 0 1px var(--de-border-subtle)}.mobile-home-grid .operation-grid-item:active{border-color:var(--de-action-primary);background:var(--de-surface-selected);transform:none}.mobile-home-grid .operation-grid-item.active{background:var(--de-action-primary);border-color:var(--de-action-primary);color:var(--de-surface)}.mobile-home-grid .operation-grid-item.active i{background:var(--de-surface);color:var(--de-action-primary)}.mobile-home-grid .operation-grid-item.active span{color:var(--de-surface)}.mobile-home-todo{border:1px solid var(--de-border-subtle);background:var(--de-surface);box-shadow:none;border-radius:0;gap:10px;display:grid}.mobile-home-todo .panel-head{margin-bottom:0}.mobile-closed-loop{margin:0 0 14px}.mobile-todo-list{gap:10px;display:grid}.mobile-todo-row{border:1px solid var(--de-border-subtle);background:var(--de-surface-subtle);text-align:left;width:100%;box-shadow:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 13px;display:grid}.mobile-todo-row:active{border-color:var(--de-action-primary);background:var(--de-surface-selected);transform:none}.mobile-todo-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0;display:grid}.mobile-todo-main b,.mobile-todo-main small{display:block}.mobile-todo-main b{color:var(--de-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.mobile-todo-main small{color:var(--de-text-secondary);margin-top:3px;font-size:11px}.mobile-todo-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.mobile-todo-dot{background:var(--de-action-primary);width:8px;height:8px;box-shadow:none;border-radius:50%;flex:none}.mobile-todo-dot.is-late,.mobile-todo-dot.is-danger{background:var(--de-danger);box-shadow:none}.mobile-todo-dot.is-soon{background:var(--de-warning-text);box-shadow:none}.mobile-todo-tag{background:var(--de-action-primary);color:var(--de-surface);white-space:nowrap;border-radius:2px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:600}.mobile-todo-tag.is-late,.mobile-todo-tag.is-danger{background:var(--de-danger)}.mobile-todo-tag.is-soon{background:var(--de-warning-text)}.mobile-todo-ledger{border:1px solid var(--de-border-subtle);background:var(--de-surface-selected);color:var(--de-action-primary);cursor:pointer;border-radius:0;padding:4px 8px;font-size:11px;font-weight:600}.module-switcher{background:#f4f8fc;border:1px solid #dce7ef;border-radius:12px;align-items:center;gap:6px;margin-top:10px;padding:4px;display:inline-flex}.module-switcher button{color:#5c7488;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.module-switcher button i{color:#5d6f83;background:#e8eef5;border-radius:6px;place-items:center;width:20px;height:20px;font-size:11px;font-style:normal;font-weight:900;display:grid}.module-switcher button.active{color:#fff;background:#2f7cf6;box-shadow:0 4px 10px #2f7cf64d}.module-switcher button.active i{color:#fff;background:#ffffff38}[data-theme=dark] .module-switcher{background:#0d2033;border-color:#1e3a55}[data-theme=dark] .module-switcher button{color:#9fb6cb}[data-theme=dark] .module-switcher button i{color:#9fb6cb;background:#16304a}[data-theme=dark] .module-switcher button.active{color:#fff;background:#2f7cf6}.module-center{gap:16px;max-width:1220px;display:grid}.module-hero{color:#dbe9ff;background:linear-gradient(120deg,#0a2140,#0d3468 60%,#0c4a86);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:26px 28px;display:flex;box-shadow:0 10px 26px #0d346840}.module-hero-copy .section-label{color:#7fd7ff;margin:0}.module-hero-copy h2{color:#fff;margin:6px 0 8px;font-size:26px}.module-hero-copy>p:last-child{color:#b9d4ef;margin:0;font-size:13px}.module-hero-badge{background:#ffffff1a;border:1px solid #7dc4ff40;border-radius:20px;flex:none;place-items:center;gap:6px;width:88px;height:88px;display:grid}.module-hero-badge i{color:#fff;background:linear-gradient(135deg,#2f7cf6,#22d3ee);border-radius:12px;place-items:center;width:40px;height:40px;font-size:20px;font-style:normal;font-weight:900;display:grid}.module-hero-badge span{color:#cfe6ff;font-size:12px;font-weight:900}.module-switch-hint{color:#7d92a6;margin:0;font-size:12px}.module-entry-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.module-entry-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e9f2;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;transition:transform .14s,box-shadow .14s;display:flex;box-shadow:0 4px 12px #1f35500d}.module-entry-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1f355017}.module-entry-card:active{transform:scale(.98)}.module-entry-card>i{color:#fff;background:linear-gradient(135deg,#2f7cf6,#22d3ee);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:17px;font-style:normal;font-weight:900;display:grid}.module-entry-card:nth-child(2)>i{background:linear-gradient(135deg,#10b981,#34d399)}.module-entry-card:nth-child(3)>i{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.module-entry-card:nth-child(4)>i{background:linear-gradient(135deg,#f97316,#fb923c)}.module-entry-card:nth-child(5)>i{background:linear-gradient(135deg,#0891b2,#22d3ee)}.module-entry-card>div{flex:1;min-width:0}.module-entry-card b{color:#17324b;font-size:14px;display:block}.module-entry-card small{color:#7d92a6;margin-top:3px;font-size:11px;display:block}.module-entry-card em{color:#2f7cf6;flex:none;font-size:11px;font-style:normal;font-weight:800}.module-entry-card.is-pending{opacity:.72;cursor:default;border-style:dashed}.module-entry-card.is-pending>i{color:#8ba2b6;background:#e8eef5!important}.module-center--service .module-hero{background:linear-gradient(120deg,#4b1d63,#773c88 58%,#a64f82)}.module-center--service .module-hero-copy .section-label{color:#ffd5ed}.module-center--service .module-hero-badge{border-color:#ffd3ec4d}.module-center--service .module-hero-badge i,.module-center--service .module-entry-card>i{background:linear-gradient(135deg,#a3438b,#e76da5)}.module-center--service .module-entry-card{border-color:#f0dbe9}.module-center--service .module-entry-card em{color:#a3438b}.module-center--engineering .module-hero{background:linear-gradient(120deg,#063e43,#08726d 58%,#149b85)}.module-center--engineering .module-hero-copy .section-label{color:#abfff0}.module-center--engineering .module-hero-badge{border-color:#abfff04d}.module-center--engineering .module-hero-badge i,.module-center--engineering .module-entry-card>i{background:linear-gradient(135deg,#0b8c7b,#20b99d)}.module-center--engineering .module-entry-card{border-color:#d3eee7}.module-center--engineering .module-entry-card em{color:#08726d}.module-center--admin .module-hero{background:linear-gradient(120deg,#643b0b,#966018 58%,#c48b2b)}.module-center--admin .module-hero-copy .section-label{color:#ffebba}.module-center--admin .module-hero-badge{border-color:#ffebba4d}.module-center--admin .module-hero-badge i,.module-center--admin .module-entry-card>i{background:linear-gradient(135deg,#b77817,#e2a33c)}.module-center--admin .module-entry-card{border-color:#f1e2c6}.module-center--admin .module-entry-card em{color:#a6660b}.module-page--service .module-window{border-top:3px solid #c65b9b}.module-page--engineering .module-window{border-top:3px solid #0f9884}.module-page--admin .module-window{border-top:3px solid #d0932f}.module-window-head-actions{flex-wrap:wrap;gap:8px;display:flex}.filter-inline{color:#4a6480;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.filter-inline input{color:#1f3550;background:#fff;border:1px solid #d7e5fb;border-radius:8px;height:34px;padding:0 8px;font-size:13px}.satisfaction-summary{background:linear-gradient(135deg,#f3f9ff,#f7fbfe);border:1px solid #e2ebf2;border-radius:14px;gap:10px;padding:14px;display:grid}.satisfaction-kpis{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.satisfaction-kpi{text-align:center;background:#fff;border-radius:12px;padding:12px 10px;box-shadow:0 3px 10px #1f35500f}.satisfaction-kpi b{color:#17324b;letter-spacing:-.02em;font-size:22px;display:block}.satisfaction-kpi span{color:#7d92a6;margin-top:4px;font-size:11px;font-weight:800;display:block}@media (max-width:520px){.satisfaction-kpis{grid-template-columns:repeat(3,1fr)}.satisfaction-kpi:nth-child(4),.satisfaction-kpi:nth-child(5){grid-column:span 1}}.risk-legend{flex-wrap:wrap;gap:14px;margin:10px 0 12px;display:flex}.risk-legend-item{color:#4a6480;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.risk-legend-item i{border-radius:4px;flex:none;width:12px;height:12px}.risk-legend-item b{color:#17324b;font-size:14px}.risk-color--red{background:var(--de-danger);color:#fff}.risk-color--orange{background:var(--de-warning-text);color:#fff}.risk-color--yellow{background:var(--de-warning);color:#161616}.risk-color--blue{background:var(--de-action-primary);color:#fff}.risk-map-grid{gap:12px;display:grid}.risk-building{background:#fff;border:1px solid #e2ebf2;border-radius:14px;padding:12px 14px}.risk-building-head{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.risk-building-head b{color:#17324b;font-size:14px}.risk-building-head span{color:#7d92a6;font-size:11px;font-weight:800}.risk-floors{gap:6px;display:grid}.risk-floor-row{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;display:grid}.risk-floor-label{color:#7d92a6;padding-top:4px;font-size:11px;font-weight:900}.risk-tenant-chips{flex-wrap:wrap;gap:6px;display:flex}.risk-tenant-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;max-width:100%;padding:5px 9px;font-size:11px;font-weight:900;overflow:hidden}.patrol-week-chart{background:#fff;border:1px solid #e2ebf2;border-radius:14px;align-items:flex-end;gap:6px;height:96px;margin:12px 0;padding:10px;display:flex}.patrol-week-col{flex:1;align-content:end;justify-items:center;gap:4px;height:100%;display:grid}.patrol-week-bar{background:linear-gradient(#2f7cf6,#22d3ee);border-radius:6px 6px 2px 2px;width:70%;max-width:26px;min-height:6px;display:block}.patrol-week-col small{color:#7d92a6;font-size:9px;font-weight:800}.patrol-week-col em{color:#bf4e49;font-size:9px;font-style:normal;font-weight:900}.patrol-shift-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0;display:grid}.patrol-shift-card{background:#fff;border:1px solid #e2ebf2;border-radius:12px;padding:12px}.patrol-shift-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.patrol-shift-card-head b{color:#17324b;font-size:14px}.patrol-shift-card>small{color:#7d92a6;margin-top:6px;font-size:11px;font-weight:800;display:block}.patrol-shift-missed{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.patrol-shift-missed span{color:#bf4e49;text-overflow:ellipsis;white-space:nowrap;background:#fdeaea;border-radius:6px;max-width:100%;padding:3px 7px;font-size:10px;font-weight:900;overflow:hidden}.shift-check-row{gap:8px;display:grid!important}.shift-check-row>span:first-child{color:#526c82;font-size:12px;font-weight:900}.shift-checks{flex-wrap:wrap;gap:10px;display:flex}.shift-check{color:#34536c;align-items:center;gap:6px;font-size:12px;font-weight:800;margin:0!important;display:inline-flex!important}.shift-check input{accent-color:#2f7cf6;width:16px;height:16px}@media (max-width:520px){.patrol-shift-grid{grid-template-columns:1fr}.patrol-week-col small{font-size:8px}}.kpi-alert{color:var(--de-danger)}.report-done{gap:12px;padding:10px 2px;display:grid}.report-done b{color:#258161;font-size:18px}.report-done p{color:#4a6480;font-size:13px;line-height:1.7}.login-report-entry{color:#2b70c9!important}@media (min-width:761px){.sidebar{overflow:hidden}.sidebar-scroll{scrollbar-width:none;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{display:none}.brand-lockup{padding-bottom:18px}.nav-caption{margin:20px 10px 8px}.nav-caption--operations{margin-top:14px}.nav-item{padding:9px 12px}.operation-nav{margin:0 14px 10px}.operation-nav button{padding:7px 12px}.sidebar-management{margin:12px 5px 0}.sidebar-footer{flex-direction:column;align-items:stretch;gap:10px;padding:14px 6px 4px}.sidebar-footer-brand{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-footer-brand>div:last-child{flex:1;min-width:0}.sidebar-footer-brand strong{color:#1f3550;font-size:14px;display:block}.sidebar-footer-brand span{color:#8ba2b6;letter-spacing:.12em;margin-top:3px;font-size:10px;display:block}.sidebar-account-security{color:#24445f;text-align:left;cursor:pointer;background:#f7faff;border:1px solid #e2ecf5;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.sidebar-account-security:hover{background:#eef5ff}.sidebar-account-security span{color:#2f7cf6;font-weight:900}[data-theme=dark] .sidebar-account-security{color:#cfe3f5;background:#2f7cf61a;border-color:#7dc4ff33}[data-theme=dark] .sidebar-footer-brand strong{color:#dbe7f3}}@media (max-width:520px){.risk-floor-row{grid-template-columns:52px minmax(0,1fr)}}.alert-dashboard{gap:14px;display:grid}.alert-hero{color:#fff;background:linear-gradient(120deg,#0e2a44,#14507c 60%,#0f6f66);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.alert-hero .section-label{color:#8fd4ff}.alert-hero h2{color:#fff;letter-spacing:-.03em;margin:2px 0 6px;font-size:22px}.alert-hero p:not(.section-label){color:#c9e2f2;margin:0;font-size:12px}.alert-hero-total{text-align:center;min-width:140px}.alert-hero-total b{letter-spacing:-.03em;font-size:34px;display:block}.alert-hero-total span{color:#bfe0f5;margin-top:2px;font-size:11px;font-weight:800;display:block}.alert-hero-total .plain-button{color:#9fdcff;margin-top:8px}.alert-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.alert-kpi{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2ebf2;border-radius:14px;padding:14px 12px;transition:transform .14s,box-shadow .14s;box-shadow:0 3px 10px #1f35500d}.alert-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1f35501a}.alert-kpi b{letter-spacing:-.03em;font-size:26px;display:block}.alert-kpi span{color:#17324b;margin-top:2px;font-size:12px;font-weight:900;display:block}.alert-kpi small{color:#7d92a6;margin-top:5px;font-size:10px;font-weight:800;display:block}.alert-kpi.is-red b{color:#d64541}.alert-kpi.is-orange b{color:#e07b2b}.alert-kpi.is-yellow b{color:#b28a1d}.alert-kpi.is-cyan b{color:#0e8ea6}.alert-kpi.is-purple b{color:#7c3aed}.alert-kpi.is-blue b{color:#2f7cf6}.alert-kpi.is-teal b{color:#148f80}.alert-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.alert-section{background:#fff;border:1px solid #e2ebf2;border-radius:14px;padding:14px 16px}.alert-section-head{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.alert-section-head b{color:#17324b;font-size:14px}.alert-section-head span{color:#2f7cf6;font-size:11px;font-weight:900}.alert-section ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.alert-section li button{text-align:left;color:#34536c;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 6px;font-size:12px;font-weight:800;display:flex}.alert-section li button:hover{background:#f2f7fc}.alert-section li button em{color:#8ba2b6;white-space:nowrap;margin-left:auto;font-size:10px;font-style:normal;font-weight:800}.risk-dot{border-radius:50%;flex:none;width:8px;height:8px}.risk-dot--红线{background:#ef4444}.risk-dot--重点{background:#f97316}.risk-dot--一般{background:#eab308}.risk-dot--设备{background:#8b5cf6}.alert-generated{color:#8ba2b6;text-align:right;font-size:11px}@media (max-width:900px){.alert-sections{grid-template-columns:1fr}.alert-hero{padding:16px}.alert-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.alert-hero-total{text-align:left;align-items:center;gap:12px;min-width:100%;display:flex}.alert-hero-total .plain-button{margin:0 0 0 auto}}.module-entry-card.is-pending em{color:#8ba2b6}[data-theme=dark] .module-entry-card{background:#102436;border-color:#1e3a55}[data-theme=dark] .module-entry-card b{color:#dbe7f3}[data-theme=dark] .module-entry-card small{color:#8ea9c0}@media (max-width:760px){.module-hero{border-radius:14px;padding:20px 18px}.module-hero-copy h2{font-size:22px}.module-hero-badge{border-radius:16px;width:64px;height:64px}.module-hero-badge i{width:32px;height:32px;font-size:16px}.module-entry-grid{grid-template-columns:1fr 1fr;gap:10px}.module-entry-card{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.module-entry-card>i{border-radius:10px;width:36px;height:36px;font-size:15px}.module-switcher{flex-wrap:wrap;justify-content:stretch;width:100%}.module-switcher button{flex:1;justify-content:center}}.module-page{gap:16px;max-width:1220px;display:grid}.module-window{background:#fff;border:1px solid #e2e9f2;border-radius:16px;padding:16px 18px;box-shadow:0 6px 16px #1f35500d}.module-window-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.module-window-head h2{color:#17324b;margin:2px 0 4px;font-size:18px}.ticket-list{gap:10px;margin-top:12px;display:grid}.ticket-row{background:#fff;border:1px solid #e6edf5;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.ticket-row-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ticket-row-head b{color:#17324b;font-size:14px}.ticket-row small{color:#7d92a6;font-size:11px}.ticket-row p{color:#5d6f83;margin:0;font-size:12px;line-height:1.55}.ticket-feedback{color:#1f8a5f;font-size:11px;font-style:normal;font-weight:800}.ticket-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}[data-theme=dark] .module-window{background:#102436;border-color:#1e3a55}[data-theme=dark] .ticket-row{border-color:#1e3a55}[data-theme=dark] .ticket-row-head b,[data-theme=dark] .module-window-head h2{color:#dbe7f3}[data-theme=dark] .ticket-row p{color:#9fb6cb}@media (max-width:760px){.workspace{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.module-window{padding:14px;scroll-margin-top:76px}.module-window-head .primary-button{width:100%}#service-ticket-window .filter-pills,.module-page--admin .filter-pills{flex-wrap:wrap;padding-right:0;overflow:visible}}.module-page{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.module-window{min-width:0}.module-window .table-wrap{max-width:100%}.ticket-list{min-width:0}.mobile-entry-tip{color:#4f7192;background:#eef6ff;border-radius:9px;margin:-5px 0 12px;padding:8px 10px;font-size:11px;line-height:1.55}.dispatch-source-card{background:#f7fbff;border:1px solid #d8e7f5;border-radius:12px;gap:4px;margin:4px 0 14px;padding:12px;display:grid}.dispatch-source-card span{color:#3971aa;font-size:10px;font-weight:900}.dispatch-source-card b{color:#173b62;font-size:14px;line-height:1.45}.dispatch-source-card small{color:#6e879e;font-size:11px;line-height:1.5}.repair-material-history{background:#f7fbff;border:1px solid #d8e7f5;border-radius:10px;gap:6px;margin-top:14px;padding:11px;display:grid}.repair-material-history b{color:#285278;font-size:12px}.repair-material-history small{color:#668198;font-size:11px}.mobile-record-card-kickers{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.mobile-record-card-main{min-width:0}.mobile-record-card-state em.is-overdue{color:#c8423c;font-weight:900}.mobile-record-card-state em.is-due{color:#a86b16;font-weight:900}@media (max-width:760px){.mobile-entry-backdrop{background:#102a4380;align-items:flex-end;padding:0;display:flex;overflow:hidden}.mobile-entry-modal{width:100%;max-width:520px;max-height:min(86dvh,760px);padding:16px 16px calc(16px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:20px 20px 0 0;margin:0 auto;animation:.24s cubic-bezier(.22,1,.36,1) mobile-entry-sheet-in;box-shadow:0 -16px 48px #071a2f38}.mobile-entry-modal:before{content:"";background:#c9d8e5;border-radius:999px;width:38px;height:4px;margin:0 auto 12px;display:block}.mobile-entry-modal .modal-head{z-index:2;background:#fff;margin:0 -16px 6px;padding:0 16px 10px;position:sticky;top:-16px;box-shadow:0 8px 12px -14px #18355059}.record-modal--mobile-entry{padding:14px;scroll-padding-top:54px}.mobile-entry-stepper{z-index:3;background:#fffffff5;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 -14px 12px;padding:9px 14px;display:grid;position:sticky;top:-14px;box-shadow:0 8px 12px -14px #18355059}.mobile-entry-stepper button{color:#6b8397;white-space:nowrap;background:#f1f5f8;border:0;border-radius:9px;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 3px;font-size:10px;font-weight:900;display:flex}.mobile-entry-stepper i{color:#658096;background:#d9e5ee;border-radius:999px;place-items:center;width:17px;height:17px;font-size:10px;font-style:normal;display:grid}.mobile-entry-stepper button.active{color:#246aca;background:#eaf3ff}.mobile-entry-stepper button.active i{color:#fff;background:#2f7cf6}.mobile-entry-stepper button.done{color:#23826d}.mobile-entry-stepper button.done i{color:#23826d;background:#dff4ec}.mobile-entry-modal .modal-head h2{font-size:20px;line-height:1.35}.mobile-entry-modal .modal-head .close-button{flex:none}.mobile-entry-modal label{margin:14px 0;font-size:13px}.mobile-entry-modal input,.mobile-entry-modal select,.mobile-entry-modal textarea{min-height:44px;font-size:16px}.mobile-entry-modal textarea{min-height:86px}.mobile-entry-modal .modal-actions{bottom:calc(-16px - env(safe-area-inset-bottom));z-index:2;margin:16px -16px calc(-16px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffffff5;position:sticky;box-shadow:0 -8px 18px -16px #1835506b}.mobile-entry-modal .modal-actions button{flex:1;min-height:46px}.module-window-head .primary-button{min-height:44px}.mobile-record-card{border-radius:13px;align-items:stretch;gap:8px;padding:13px 12px;position:relative;box-shadow:0 3px 10px #1f35500b}.mobile-record-card.is-attention{background:linear-gradient(100deg,#fffaf9,#fff);border-color:#edc8c3}.mobile-record-card-main b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.mobile-record-card-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-record-card-state{justify-content:space-between;min-width:64px;max-width:40%}.mobile-record-card-state .status,.mobile-record-card-state .table-neutral,.mobile-record-card-state .risk{justify-content:center}.mobile-record-card-state em{white-space:nowrap;margin-top:auto}}@keyframes mobile-entry-sheet-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .mobile-entry-tip{color:#b7d5ec;background:#163752}[data-theme=dark] .dispatch-source-card{background:#102c43;border-color:#28506e}[data-theme=dark] .dispatch-source-card b{color:#dbe7f3}[data-theme=dark] .dispatch-source-card small{color:#a9c0d1}[data-theme=dark] .repair-material-history{background:#102c43;border-color:#28506e}[data-theme=dark] .repair-material-history b{color:#c8e0f1}[data-theme=dark] .repair-material-history small{color:#a9c0d1}@media (max-width:760px){[data-theme=dark] .mobile-entry-modal,[data-theme=dark] .mobile-entry-modal .modal-head,[data-theme=dark] .mobile-entry-modal .modal-actions,[data-theme=dark] .mobile-entry-stepper{background:#102436}[data-theme=dark] .mobile-entry-stepper button{color:#a8c0d4;background:#173249}[data-theme=dark] .mobile-entry-stepper button.active{color:#cae5ff;background:#163f67}[data-theme=dark] .mobile-entry-modal:before{background:#41647e}[data-theme=dark] .mobile-record-card.is-attention{background:linear-gradient(100deg,#2a1f24,#102436);border-color:#754443}}.de-state{border:1px dashed color-mix(in srgb,var(--blue) 30%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 6%,var(--card)),var(--card));min-height:150px;color:var(--ink);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px;display:grid}.de-state-icon{border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 12%,var(--card));width:46px;height:46px;color:var(--blue);border-radius:14px;place-items:center;font-size:18px;font-weight:900;display:grid}.de-state--loading .de-state-icon{animation:1.2s linear infinite de-state-spin}.de-state-copy{min-width:0}.de-state-copy h3{color:var(--ink);margin:4px 0;font-size:16px}.de-state-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.de-state-action{border:1px solid color-mix(in srgb,var(--blue) 40%,var(--line));background:color-mix(in srgb,var(--blue) 12%,var(--card));min-height:40px;color:var(--blue);border-radius:10px;padding:0 14px;font-weight:900}.de-skeleton-list{gap:8px;margin-top:10px;display:grid}.de-skeleton-row{border:1px solid var(--line);background:var(--card);border-radius:12px;gap:16px;padding:16px;display:grid}.de-skeleton-row span{background:linear-gradient(90deg,color-mix(in srgb,var(--muted) 10%,transparent),color-mix(in srgb,var(--blue) 20%,transparent),color-mix(in srgb,var(--muted) 10%,transparent));background-size:220% 100%;border-radius:999px;height:10px;animation:1.4s infinite de-skeleton;display:block}@keyframes de-state-spin{to{transform:rotate(360deg)}}@keyframes de-skeleton{to{background-position:-220% 0}}.de-dialog-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020a14b8}.de-dialog{background:linear-gradient(150deg,color-mix(in srgb,var(--blue) 8%,var(--card)),var(--card));border:1px solid #67beff38;width:min(520px,100vw - 32px);box-shadow:0 30px 90px #0000006b}.de-dialog-description{border:1px solid color-mix(in srgb,#d99a2e 25%,var(--line));background:color-mix(in srgb,#d99a2e 8%,var(--card));color:var(--muted);border-radius:12px;margin:12px 0 0;padding:13px 14px;font-size:12px;line-height:1.7}.de-danger-button,.de-danger-outline{border-radius:10px;min-height:42px;padding:0 15px;font-weight:900}.de-danger-button{color:#fff;background:linear-gradient(120deg,#c84444,#e5665f);border:1px solid #d95757}.de-danger-outline{border:1px solid color-mix(in srgb,#e05d59 55%,var(--line));background:color-mix(in srgb,#e05d59 8%,var(--card));color:#e05d59}.de-danger-button:disabled,.de-danger-outline:disabled{cursor:not-allowed;opacity:.48}.security-admin-scope,.security-control-panel{--security-cyan:#57d9ef;--security-blue:#5d9cff}.security-admin-scope{min-width:0}.security-control-panel{gap:16px;display:grid}.security-panel-hero{border:1px solid color-mix(in srgb,var(--security-cyan) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--security-blue) 10%,var(--card)),var(--card));border-radius:18px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.security-panel-hero h2{color:var(--ink);margin:4px 0;font-size:22px}.security-panel-hero p{max-width:760px;color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.7}.de-readonly-badge{border:1px solid color-mix(in srgb,var(--security-cyan) 40%,var(--line));background:color-mix(in srgb,var(--security-cyan) 10%,var(--card));color:var(--security-cyan);border-radius:999px;flex:none;padding:6px 10px;font-size:10px;font-weight:900}.security-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.security-kpi-grid article{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:15px}.security-kpi-grid article.is-attention{border-color:color-mix(in srgb,#e05d59 42%,var(--line));background:color-mix(in srgb,#e05d59 5%,var(--card))}.security-kpi-grid span,.security-kpi-grid small{color:var(--muted);font-size:10px;display:block}.security-kpi-grid b{color:var(--ink);margin:4px 0;font-size:26px;display:block}.security-table{border-collapse:collapse;width:100%;min-width:820px}.security-table th,.security-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px;font-size:12px}.security-table th{z-index:1;background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--muted);font-size:10px;position:sticky;top:0}.security-table td b,.security-table td small{display:block}.security-table td small{max-width:320px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.de-status{background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex}.de-status--current{background:color-mix(in srgb,#2fa47c 14%,var(--card));color:#2fa47c}.security-mobile-cards{display:none}.security-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.security-policy-grid article{border:1px solid var(--line);background:var(--card);border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;display:grid}.security-policy-grid i{background:color-mix(in srgb,var(--security-blue) 13%,var(--card));width:34px;height:34px;color:var(--security-blue);border-radius:10px;place-items:center;font-size:10px;font-style:normal;font-weight:900;display:grid}.security-policy-grid b{color:var(--ink);font-size:13px}.security-policy-grid p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.security-policy-grid>article>span{background:color-mix(in srgb,#2fa47c 12%,var(--card));color:#2fa47c;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.security-policy-form{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:18px}.security-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.security-policy-form label{color:var(--muted);gap:6px;font-size:11px;font-weight:900;display:grid}.security-policy-form input,.security-policy-form textarea{border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 6%,var(--card));width:100%;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink);border-radius:10px;padding:11px 12px}.security-policy-form>label{margin-top:14px}.security-policy-note{border:1px solid color-mix(in srgb,var(--security-cyan) 28%,var(--line));background:color-mix(in srgb,var(--security-cyan) 7%,var(--card));border-radius:14px;align-items:flex-start;gap:11px;padding:14px;display:flex}.security-policy-note>span{background:var(--security-blue);color:#fff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:10px;font-weight:900;display:grid}.security-policy-note b{color:var(--ink);font-size:12px}.security-policy-note p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.6}.identity-session-count{background:color-mix(in srgb,var(--muted) 10%,var(--card));color:var(--muted);border-radius:999px;margin-top:7px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-flex}.identity-session-count.is-online{background:color-mix(in srgb,#2fa47c 12%,var(--card));color:#2fa47c}.security-admin-scope .user-management-toolbar{z-index:3;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;padding:10px;position:sticky;top:0}.security-admin-scope .user-management-panel>.table-wrap{overscroll-behavior:contain;max-height:62vh;overflow:auto}.security-admin-scope .user-management-table thead{z-index:3;position:sticky;top:0}.permission-matrix-toolbar{border:1px solid var(--line);background:var(--card);border-radius:13px;align-items:end;gap:12px;margin:12px 0;padding:10px;display:flex}.permission-matrix-toolbar label{color:var(--muted);flex:1;gap:5px;font-size:10px;font-weight:900;display:grid}.permission-matrix-toolbar input{border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 5%,var(--card));min-height:40px;color:var(--ink);border-radius:9px;padding:0 11px}.permission-matrix-toolbar>span{color:var(--muted);font-size:10px}.permission-matrix-scroll{overscroll-behavior:contain;max-height:62vh;overflow:auto}.permission-matrix-scroll .permission-matrix-table thead{z-index:3;position:sticky;top:0}.permission-mobile-tree{display:none}.pm-mobile-toggle{border:1px solid var(--line);background:var(--card);min-height:42px;color:var(--muted);border-radius:9px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.pm-mobile-toggle.is-on{border-color:color-mix(in srgb,var(--blue) 40%,var(--line));background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue)}.pm-mobile-toggle.is-dirty{box-shadow:inset 0 0 0 1px #d99a2e}.pm-mobile-toggle span{font-size:10px}.pm-mobile-toggle b{font-size:11px}.security-audit-toolbar{grid-template-columns:minmax(220px,1fr) minmax(170px,.42fr) auto;align-items:end;gap:10px;margin:12px 0;display:grid}.security-audit-toolbar label{color:var(--muted);gap:5px;font-size:10px;font-weight:900;display:grid}.security-audit-toolbar input,.security-audit-toolbar select{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);border-radius:10px;padding:0 11px}.security-audit-toolbar>em{color:var(--muted);padding:11px 0;font-size:10px;font-style:normal}.security-audit-panel>.security-desktop-table{overscroll-behavior:contain;max-height:62vh;overflow:auto}.security-audit-panel>.security-desktop-table thead{z-index:3;position:sticky;top:0}.audit-summary{text-overflow:ellipsis;white-space:nowrap;max-width:360px;display:block;overflow:hidden}.de-table-action{border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 8%,var(--card));min-height:34px;color:var(--blue);border-radius:8px;padding:0 10px;font-size:10px;font-weight:900}.audit-detail-modal{width:min(720px,100vw - 32px);max-height:min(82vh,760px);overflow:auto}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.audit-detail-grid>div,.audit-detail-block{border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 5%,var(--card));border-radius:11px;padding:11px}.audit-detail-grid span,.audit-detail-block>span{color:var(--muted);font-size:9px;font-weight:900;display:block}.audit-detail-grid b{overflow-wrap:anywhere;color:var(--ink);margin-top:4px;font-size:12px;display:block}.audit-detail-block{margin-top:10px}.audit-detail-block p{color:var(--ink);margin:5px 0 0;font-size:12px;line-height:1.6}.audit-detail-block pre{color:#a9d9f0;white-space:pre-wrap;overflow-wrap:anywhere;background:#061522;border-radius:8px;max-height:220px;margin:7px 0 0;padding:10px;font-size:10px;line-height:1.55;overflow:auto}[data-theme=dark] .workspace,[data-theme=dark] .module-page,[data-theme=dark] .admin-workspace{color:#dbe7f3}[data-theme=dark] .record-modal,[data-theme=dark] .clear-modal,[data-theme=dark] .business-picker-modal{color:#dbe7f3;background:linear-gradient(150deg,#10283c,#0b1d2d);border:1px solid #57b5ff33;box-shadow:0 28px 90px #00000080}[data-theme=dark] .record-modal h2,[data-theme=dark] .record-modal label,[data-theme=dark] .security-control-panel h2{color:#e8f5ff}[data-theme=dark] .record-modal input,[data-theme=dark] .record-modal select,[data-theme=dark] .record-modal textarea,[data-theme=dark] .security-admin-scope input,[data-theme=dark] .security-admin-scope select,[data-theme=dark] .security-admin-scope textarea{color:#dbe7f3;background:#0a1d2d;border-color:#26445f}[data-theme=dark] .record-modal input:focus,[data-theme=dark] .record-modal select:focus,[data-theme=dark] .record-modal textarea:focus,[data-theme=dark] .security-admin-scope input:focus,[data-theme=dark] .security-admin-scope select:focus{border-color:#57d9ef;outline:2px solid #57d9ef1f}[data-theme=dark] .admin-secondary-nav,[data-theme=dark] .admin-context-header,[data-theme=dark] .admin-intro,[data-theme=dark] .identity-overview-card,[data-theme=dark] .identity-mobile-card,[data-theme=dark] .permission-preview,[data-theme=dark] .permission-preview-grid article,[data-theme=dark] .security-kpi-grid article,[data-theme=dark] .security-policy-grid article,[data-theme=dark] .security-policy-form,[data-theme=dark] .de-skeleton-row{color:#dbe7f3;background:#102436;border-color:#1e3a55}[data-theme=dark] .admin-nav-group button{color:#a9c2d6}[data-theme=dark] .admin-nav-group button:hover{background:#132d43;border-color:#2b4d68}[data-theme=dark] .admin-nav-group button.active{color:#7ed8ff;background:#2f7cf626;border-color:#3978ba}[data-theme=dark] .user-management-table th,[data-theme=dark] .permission-matrix-table thead th,[data-theme=dark] .audit-table th,[data-theme=dark] .security-table th{color:#8fb0c8;background:#102c43}[data-theme=dark] .user-management-table td,[data-theme=dark] .permission-matrix-table td,[data-theme=dark] .audit-table td{color:#d4e4f1;border-color:#1e3a55}[data-theme=dark] .identity-protected-row td{background:#2f7cf614}[data-theme=dark] .identity-protection-note,[data-theme=dark] .workflow-status-callout{color:#a9cbe3;background:#102d45;border-color:#284d6d}[data-theme=dark] .permission-mobile-tree details,[data-theme=dark] .audit-mobile-card,[data-theme=dark] .security-session-card{color:#dbe7f3;background:#102436;border-color:#1e3a55}[data-theme=dark] .module-page--service .module-window,[data-theme=dark] .module-page--engineering .module-window,[data-theme=dark] .module-page--admin .module-window{color:#dbe7f3;background:#102436;border-color:#1e3a55;box-shadow:0 14px 36px #0000003d}[data-theme=dark] .cancel-button,[data-theme=dark] .outline-button,[data-theme=dark] .secondary-button{color:#b9d4e7;background:#10283c;border-color:#2a4b67}[data-theme=dark] .brand-lockup strong,[data-theme=dark] .security-table td b{color:#dbe7f3}[data-theme=dark] .brand-lockup span:not(.brand-mark){color:#7898b1}[data-theme=dark] .security-admin-scope .identity-mobile-card header b,[data-theme=dark] .security-admin-scope .identity-mobile-card dd{color:#dbe7f3}[data-theme=dark] .security-admin-scope .identity-mobile-card header,[data-theme=dark] .security-admin-scope .identity-mobile-card dl>div,[data-theme=dark] .security-admin-scope .identity-mobile-card footer{border-color:#1e3a55}[data-theme=dark] .security-admin-scope .identity-mobile-card footer{background:#0d2031}[data-theme=dark] .security-admin-scope .identity-mobile-card footer button{color:#b9d4e7;background:#10283c;border-color:#2a4b67}@media (min-width:761px){.security-admin-scope .user-management-panel>.security-desktop-table{display:block!important}.security-admin-scope .user-management-panel>.identity-mobile-list{display:none!important}}.mobile-drawer-scrim{display:none}@media (max-width:760px){[data-theme=dark] .topbar{background:0 0;border-color:#1e3a55}[data-theme=dark] .topbar-head{background:#102436;border:1px solid #1e3a55;border-radius:13px;padding:11px 12px}[data-theme=dark] .mobile-top-search,[data-theme=dark] .mobile-menu-toggle{color:#b9d4e7;background:#10283c;border:1px solid #23445f}[data-theme=dark] .admin-mobile-track{background:#081927f5;border-color:#1e3a55;box-shadow:0 6px 18px #0000003d}[data-theme=dark] .admin-mobile-track button{color:#8ea9c0}[data-theme=dark] .admin-mobile-track button i{color:#8ea9c0;background:#153047}[data-theme=dark] .admin-mobile-track button.active{color:#7ed8ff;background:#2f7cf62e}[data-theme=dark] .admin-mobile-track button.active i{color:#fff;background:#2f7cf6}[data-theme=dark] .admin-mobile-task-select{color:#8ea9c0;border-color:#1e3a55}[data-theme=dark] .mobile-bottom-nav{background:#081a29;border-color:#1e3a55;box-shadow:0 -8px 24px #00000047}[data-theme=dark] .mobile-bottom-nav button{color:#7892a7}[data-theme=dark] .mobile-bottom-nav button:not(.mobile-nav-main).active span{background:#2f7cf62e}[data-theme=dark] .record-modal .modal-head,[data-theme=dark] .clear-modal .modal-head,[data-theme=dark] .de-dialog .modal-head{background:#102436;border-color:#27465f}[data-theme=dark] .de-dialog .close-button{color:#dbe7f3!important;background:#0b1d2d!important;border-color:#2a4b67!important;display:grid!important}.mobile-drawer-scrim{z-index:69;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#010810ad;border:0;animation:.18s de-scrim-in;display:block;position:fixed;inset:0}.mobile-drawer-scrim.is-closing{animation:.18s forwards de-scrim-out}.sidebar-section--system.mobile-open{z-index:70;width:min(88vw,360px);height:100dvh;padding:14px 12px calc(96px + env(safe-area-inset-bottom));background:linear-gradient(#0b2032,#071725);border-right:1px solid #57d9ef2e;animation:.24s cubic-bezier(.22,1,.36,1) de-drawer-in;display:block;position:fixed;inset:0 auto 0 0;overflow:auto;box-shadow:22px 0 70px #00000080}.sidebar-section--system.mobile-open.mobile-closing{animation:.18s forwards de-drawer-out}.sidebar-section--system.mobile-open .mobile-menu-close{color:#c9dfed;background:#102b40;border-color:#294960;min-height:48px}.mobile-dual-nav{min-height:calc(100dvh - 80px)}.mobile-dual-left{background:#081a29}.mobile-dual-right{background:#0c2234}.mobile-dual-left-item,.mobile-dual-item{min-height:48px!important}.mobile-dual-left-item.active{color:#7ed8ff!important;background:#2f7cf638!important;border-color:#3288d0!important}.mobile-dual-item{color:#c8deed!important;background:#10283b!important;border-color:#19384f!important}.mobile-dual-item.active{color:#7ed8ff!important;background:#2f7cf633!important;border-color:#3288d0!important}.security-admin-scope .panel-head,.security-panel-hero{grid-template-columns:1fr;gap:12px;padding:16px;display:grid}.security-panel-hero>button,.security-panel-hero>.de-readonly-badge{justify-self:start}.security-kpi-grid,.security-policy-grid,.security-form-grid{grid-template-columns:1fr}.security-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.security-kpi-grid article{padding:11px}.security-kpi-grid b{font-size:21px}.security-kpi-grid small{display:none}.security-desktop-table{display:none!important}.security-mobile-cards{gap:10px;display:grid}.security-session-card,.audit-mobile-card{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:14px;width:100%;padding:0;overflow:hidden}.security-session-card>header,.audit-mobile-card>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px;display:flex}.security-session-card>header>span,.audit-mobile-card>header>span{background:color-mix(in srgb,var(--blue) 14%,var(--card));width:38px;height:38px;color:var(--blue);border-radius:11px;flex:none;place-items:center;font-size:10px;font-weight:900;display:grid}.security-session-card header div,.audit-mobile-card header div{flex:1;min-width:0}.security-session-card header b,.security-session-card header small,.audit-mobile-card header b,.audit-mobile-card header small{display:block}.security-session-card header b,.audit-mobile-card header b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.security-session-card header small,.audit-mobile-card header small{color:var(--muted);margin-top:3px;font-size:9px}.security-session-card header em,.audit-mobile-card header em{color:var(--blue);font-size:10px;font-style:normal;font-weight:900}.security-session-card dl,.audit-mobile-card dl{gap:0;margin:0;padding:4px 12px;display:grid}.security-session-card dl>div,.audit-mobile-card dl>div{border-bottom:1px dashed var(--line);grid-template-columns:76px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.security-session-card dt,.audit-mobile-card dt{color:var(--muted);font-size:10px}.security-session-card dd,.audit-mobile-card dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:11px;font-weight:800}.security-session-card>p,.audit-mobile-card>p{color:var(--muted);margin:0;padding:9px 12px;font-size:10px;line-height:1.55}.permission-matrix-scroll{display:none}.permission-mobile-tree{overscroll-behavior:contain;gap:8px;max-height:65vh;display:grid;overflow:auto}.permission-mobile-tree details{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden}.permission-mobile-tree summary{justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:10px 12px;list-style:none;display:flex}.permission-mobile-tree summary::-webkit-details-marker{display:none}.permission-mobile-tree summary span b,.permission-mobile-tree summary span small{display:block}.permission-mobile-tree summary b{color:var(--ink);font-size:13px}.permission-mobile-tree summary small{color:var(--muted);margin-top:3px;font-size:9px}.permission-mobile-tree summary em{color:var(--blue);font-size:9px;font-style:normal}.permission-mobile-modules{border-top:1px solid var(--line);gap:8px;padding:10px;display:grid}.permission-mobile-modules section{border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 4%,var(--card));border-radius:11px;padding:9px}.permission-mobile-modules header b,.permission-mobile-modules header small{display:block}.permission-mobile-modules header b{color:var(--ink);font-size:11px}.permission-mobile-modules header small{color:var(--muted);margin:3px 0 8px;font-size:9px}.permission-mobile-modules section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.permission-preview{display:none}.security-audit-toolbar{grid-template-columns:1fr}.security-audit-toolbar>em{padding:0}.audit-detail-grid{grid-template-columns:1fr}.audit-detail-modal{width:90vw!important;max-height:84dvh!important}.de-state{grid-template-columns:auto minmax(0,1fr);min-height:120px;padding:16px}.de-state-action{grid-column:1/-1;min-height:48px}.de-skeleton-row{grid-template-columns:1fr!important}.de-skeleton-row span:not(:first-child){display:none}.record-modal,.clear-modal,.business-picker-modal,.de-dialog{margin:0 auto;width:90vw!important;max-width:90vw!important;height:auto!important;min-height:0!important;max-height:84dvh!important;overflow-y:auto!important}.modal-backdrop{place-items:center;padding:0!important;display:grid!important}.record-modal .modal-actions{z-index:3;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:16px;padding-top:10px;position:sticky;bottom:-1px}.security-admin-scope button,.security-control-panel button,.security-admin-scope .row-actions button,.record-modal .modal-actions button{min-height:48px}.close-button{width:48px!important;height:48px!important;min-height:48px!important}.user-management-toolbar{grid-template-columns:1fr!important;position:static!important}.identity-mobile-card footer button{min-height:48px!important}.identity-mobile-card dl>div{grid-template-columns:82px minmax(0,1fr)}}@keyframes de-drawer-in{0%{opacity:.65;transform:translate(-100%)}to{opacity:1;transform:none}}@keyframes de-drawer-out{to{opacity:0;transform:translate(-100%)}}@keyframes de-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes de-scrim-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.de-state--loading .de-state-icon,.de-skeleton-row span,.mobile-drawer-scrim,.sidebar-section--system.mobile-open{animation:none!important}}.mobile-role-tabbar{padding-bottom:max(env(safe-area-inset-bottom),0px);height:calc(64px + env(safe-area-inset-bottom))!important}.mobile-role-tabbar .mobile-nav-main:disabled{opacity:.42;cursor:not-allowed}.mobile-role-tabbar button:focus-visible{outline-offset:-3px;outline:2px solid #57d9ef}.role-action-backdrop{z-index:95;pointer-events:none;align-items:end;display:grid;position:fixed;inset:0}.role-action-scrim{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#010810b8;border:0;width:100%;height:100%;animation:.18s de-scrim-in;position:absolute;inset:0}.role-action-sheet{color:#dbe7f3;width:min(620px,100%);max-height:min(84dvh,760px);padding:18px 18px calc(16px + env(safe-area-inset-bottom));pointer-events:auto;background:linear-gradient(155deg,#10283c,#081a29);border:1px solid #284b65;border-bottom:0;border-radius:22px 22px 0 0;justify-self:center;animation:.24s cubic-bezier(.22,1,.36,1) role-action-up;position:relative;overflow:auto;box-shadow:0 -20px 65px #00000075}.role-action-sheet>header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.role-action-sheet h2{color:#e8f5ff;margin:5px 0 0;font-size:20px}.role-action-close{color:#dbe7f3;background:#0b1d2d;border:1px solid #2a4b67;border-radius:11px;flex:none;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.role-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.role-action-grid>button{color:#c7dbe9;text-align:left;background:#102436;border:1px solid #1e3a55;border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:86px;padding:12px;display:grid}:is(.role-action-grid>button:hover,.role-action-grid>button:focus-visible){background:#14304a;border-color:#3978ba;outline:none}.role-action-grid>button>i{color:#7ed8ff;background:#2f7cf62e;border-radius:11px;place-items:center;width:38px;height:38px;font-size:12px;font-style:normal;font-weight:900;display:grid}.role-action-grid span{min-width:0}.role-action-grid b,.role-action-grid small{display:block}.role-action-grid b{color:#dbe7f3;font-size:12px}.role-action-grid small{color:#7898b1;margin-top:4px;font-size:9px;line-height:1.45}.role-action-grid em{color:#7ed8ff;font-size:14px;font-style:normal;font-weight:900}.role-action-sheet>footer{color:#66869c;border-top:1px solid #1e3a55;margin-top:13px;padding-top:11px;font-size:9px;line-height:1.5}.role-action-empty{text-align:center;border:1px dashed #2a4b67;border-radius:14px;place-items:center;min-height:180px;padding:20px;display:grid}.role-action-empty i{color:#7ed8ff;background:#2f7cf629;border-radius:50%;place-items:center;width:44px;height:44px;font-size:23px;font-style:normal;display:grid}.role-action-empty b{color:#dbe7f3;font-size:13px}.role-action-empty span{color:#7898b1;font-size:10px}.portal-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.portal-picker-grid>button{color:#c7dbe9;text-align:left;background:#102436;border:1px solid #1e3a55;border-radius:13px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.portal-picker-grid>button:hover:not(:disabled){background:#14304a;border-color:#3978ba}.portal-picker-grid>button:disabled{opacity:.68}.portal-picker-grid>button>i{color:#7ed8ff;background:#2f7cf62e;border-radius:12px;place-items:center;width:42px;height:42px;font-size:12px;font-style:normal;font-weight:900;display:grid}.portal-picker-grid b,.portal-picker-grid small{display:block}.portal-picker-grid b{color:#dbe7f3;font-size:12px}.portal-picker-grid small{color:#7898b1;margin-top:4px;font-size:9px;line-height:1.45}.portal-picker-grid em{color:#7ed8ff;grid-column:2;font-size:9px;font-style:normal;font-weight:900}.portal-picker-grid .is-current{background:#0d2132;border-color:#2a4b67}.mobile-profile-summary{background:#fff;border:1px solid #e8eef5;border-radius:14px;margin:0 0 13px;padding:13px;box-shadow:0 6px 16px #1f35500d}.mobile-profile-summary>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.mobile-profile-summary>header p{color:#2f7cf6;margin:0;font-size:11px;font-weight:900}.mobile-profile-summary>header span{color:#8a9aa9;font-size:8px}.mobile-profile-summary>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-profile-summary article{background:#f7faff;border:1px solid #e8eef5;border-radius:10px;min-width:0;padding:10px}.mobile-profile-summary article.is-attention{background:#fff7f6;border-color:#efd3ce}.mobile-profile-summary article span,.mobile-profile-summary article small{color:#7f91a2;font-size:9px;display:block}.mobile-profile-summary article b{color:#1a3a6c;margin:5px 0 2px;font-size:21px;display:block}.mobile-profile-summary article.is-attention b{color:#c5524c}[data-theme=dark] .mobile-profile-summary{background:#102436;border-color:#1e3a55;box-shadow:0 8px 22px #00000038}[data-theme=dark] .mobile-profile-summary article{background:#0d2132;border-color:#25445c}[data-theme=dark] .mobile-profile-summary article b{color:#dbe7f3}[data-theme=dark] .mobile-profile-summary article.is-attention{background:#e05d5914;border-color:#714747}@keyframes role-action-up{0%{opacity:.72;transform:translateY(100%)}to{opacity:1;transform:none}}.admin-mobile-dashboard{gap:12px;width:100%;padding:0 2px 10px;display:grid}.admin-mobile-dashboard>header{color:#fff;background:linear-gradient(135deg,#173a58,#285d9f);border:1px solid #284b65;border-radius:16px;padding:19px;position:relative;overflow:hidden}.admin-mobile-dashboard[data-admin-mobile-dashboard=platform_admin]>header{background:linear-gradient(135deg,#243f55,#55738d)}.admin-mobile-dashboard>header:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:120px;height:120px;position:absolute;top:-55px;right:-38px}.admin-mobile-dashboard>header p{color:#bcd8e8;letter-spacing:.08em;margin:0;font-size:10px;font-weight:900}.admin-mobile-dashboard>header h1{color:#fff;margin:7px 0 6px;font-size:22px}.admin-mobile-dashboard>header span{color:#d9e9f2;max-width:88%;font-size:10px;line-height:1.55;display:block}.admin-mobile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-mobile-metrics button{color:#dbe7f3;text-align:left;background:#102436;border:1px solid #1e3a55;border-radius:13px;min-width:0;padding:12px}.admin-mobile-metrics button.is-attention{background:#e05d5914;border-color:#714747}.admin-mobile-metrics span,.admin-mobile-metrics small{color:#7898b1;font-size:9px;display:block}.admin-mobile-metrics b{color:#7ed8ff;margin:5px 0 2px;font-size:22px;display:block}.admin-mobile-metrics .is-attention b{color:#ff9b96}.admin-mobile-tools{background:#0d2132;border:1px solid #1e3a55;border-radius:15px;gap:8px;padding:13px;display:grid}.admin-mobile-tools>div p{color:#7ed8ff;margin:0;font-size:9px;font-weight:900}.admin-mobile-tools>div h2{color:#dbe7f3;margin:4px 0;font-size:16px}.admin-mobile-tools>button{color:#c7dbe9;text-align:left;background:#10283c;border:1px solid #25445c;border-radius:11px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:10px;display:grid}.admin-mobile-tools>button.is-portals{background:#2f7cf61f;border-color:#3978ba}.admin-mobile-tools>button i{color:#7ed8ff;background:#2f7cf62e;border-radius:10px;place-items:center;width:36px;height:36px;font-size:11px;font-style:normal;font-weight:900;display:grid}.admin-mobile-tools b,.admin-mobile-tools small{display:block}.admin-mobile-tools b{color:#dbe7f3;font-size:12px}.admin-mobile-tools small{color:#7898b1;margin-top:3px;font-size:9px}.admin-mobile-tools em{color:#7ed8ff;font-size:13px;font-style:normal;font-weight:900}.admin-mobile-dashboard>aside{background:#2f7cf614;border:1px solid #284b65;border-radius:12px;gap:9px;padding:11px;display:flex}.admin-mobile-dashboard>aside>i{color:#fff;background:#2f7cf6;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:10px;font-style:normal;font-weight:900;display:grid}.admin-mobile-dashboard>aside b,.admin-mobile-dashboard>aside span{display:block}.admin-mobile-dashboard>aside b{color:#cfe0ec;font-size:11px}.admin-mobile-dashboard>aside span{color:#7898b1;margin-top:3px;font-size:9px;line-height:1.5}.project-mobile-dashboard{gap:12px;width:100%;padding:0 2px 10px;display:grid}.project-mobile-dashboard>header{color:#fff;background:linear-gradient(135deg,#173a58,#245f91);border:1px solid #284b65;border-radius:16px;padding:19px;position:relative;overflow:hidden}.project-mobile-dashboard>header:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:120px;height:120px;position:absolute;top:-55px;right:-38px}.project-mobile-dashboard>header p{color:#bcd8e8;letter-spacing:.08em;margin:0;font-size:10px;font-weight:900}.project-mobile-dashboard>header h1{color:#fff;margin:7px 0 6px;font-size:22px}.project-mobile-dashboard>header span{color:#d9e9f2;max-width:85%;font-size:10px;line-height:1.55;display:block}.project-mobile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-mobile-metrics button{color:#dbe7f3;text-align:left;background:#102436;border:1px solid #1e3a55;border-radius:13px;min-width:0;padding:12px}.project-mobile-metrics button.is-attention{background:#e05d5914;border-color:#714747}.project-mobile-metrics span,.project-mobile-metrics small{color:#7898b1;font-size:9px;display:block}.project-mobile-metrics b{color:#7ed8ff;margin:5px 0 2px;font-size:22px;display:block}.project-mobile-metrics .is-attention b{color:#ff9b96}.project-mobile-portals{background:#0d2132;border:1px solid #1e3a55;border-radius:15px;gap:8px;padding:13px;display:grid}.project-mobile-portals>div p{color:#7ed8ff;margin:0;font-size:9px;font-weight:900}.project-mobile-portals>div h2{color:#dbe7f3;margin:4px 0;font-size:16px}.project-mobile-portals>button{color:#c7dbe9;text-align:left;background:#10283c;border:1px solid #25445c;border-radius:11px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:10px;display:grid}.project-mobile-portals>button i{color:#7ed8ff;background:#2f7cf62e;border-radius:10px;place-items:center;width:36px;height:36px;font-size:11px;font-style:normal;font-weight:900;display:grid}.project-mobile-portals b,.project-mobile-portals small{display:block}.project-mobile-portals b{color:#dbe7f3;font-size:12px}.project-mobile-portals small{color:#7898b1;margin-top:3px;font-size:9px}.project-mobile-portals em{color:#7ed8ff;white-space:nowrap;font-size:9px;font-style:normal;font-weight:900}.project-mobile-dashboard>aside{background:#2f7cf614;border:1px solid #284b65;border-radius:12px;gap:9px;padding:11px;display:flex}.project-mobile-dashboard>aside>i{color:#fff;background:#2f7cf6;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:10px;font-style:normal;font-weight:900;display:grid}.project-mobile-dashboard>aside b,.project-mobile-dashboard>aside span{display:block}.project-mobile-dashboard>aside b{color:#cfe0ec;font-size:11px}.project-mobile-dashboard>aside span{color:#7898b1;margin-top:3px;font-size:9px;line-height:1.5}.project-mobile-drawer .mobile-dual-item em{color:#7ed8ff;margin-left:auto;font-style:normal}@media (max-width:340px){.role-action-sheet{padding-inline:12px}.role-action-grid{gap:7px}.role-action-grid>button{grid-template-columns:34px minmax(0,1fr);min-height:88px;padding:10px}.role-action-grid>button>i{width:34px;height:34px}.role-action-grid em{display:none}.portal-picker-grid{grid-template-columns:1fr}.mobile-profile-summary>header span{display:none}.project-mobile-portals>button{grid-template-columns:34px minmax(0,1fr)}.project-mobile-portals>button em{display:none}}@media (prefers-reduced-motion:reduce){.role-action-scrim,.role-action-sheet{animation:none}}body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable=true],[contenteditable=""],[role=textbox]{-webkit-user-select:text;user-select:text}label,button,.nav-item,.operation-grid-item,.ledger-link{-webkit-user-select:none;user-select:none}@media (max-width:760px){.admin-mobile-dashboard,.project-mobile-dashboard,.security-admin-scope,.security-control-panel{--de-action-primary:var(--de-light-action-primary);--de-action-hover:var(--de-light-action-hover);--de-action-pressed:var(--de-light-action-pressed);--de-focus:var(--de-light-action-primary);--de-text-primary:var(--de-light-text-primary);--de-text-secondary:var(--de-light-text-secondary);--de-text-tertiary:var(--de-light-text-tertiary);--de-page:var(--de-light-canvas);--de-surface:var(--de-light-surface);--de-surface-subtle:var(--de-light-surface-subtle);--de-surface-hover:var(--de-light-surface-hover);--de-surface-selected:var(--de-light-surface-selected);--de-border-subtle:var(--de-light-border-subtle);--de-border-strong:var(--de-light-border-strong);--ink:var(--de-light-text-primary);--muted:var(--de-light-text-secondary);--line:var(--de-light-border-subtle);--card:var(--de-light-surface)}.admin-mobile-dashboard,.project-mobile-dashboard{gap:12px;padding:0 0 12px}.admin-mobile-dashboard>header,.project-mobile-dashboard>header{border:1px solid var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface);color:var(--de-text-primary);border-radius:0;padding:16px;overflow:visible}.admin-mobile-dashboard>header:after,.project-mobile-dashboard>header:after{display:none}.admin-mobile-dashboard>header p,.project-mobile-dashboard>header p{color:var(--de-text-secondary);letter-spacing:.04em;font-size:11px;font-weight:600}.admin-mobile-dashboard>header h1,.project-mobile-dashboard>header h1{color:var(--de-text-primary);letter-spacing:0;margin:5px 0;font-size:22px;font-weight:400}.admin-mobile-dashboard>header span,.project-mobile-dashboard>header span{max-width:none;color:var(--de-text-secondary);font-size:12px;line-height:1.55}.admin-mobile-metrics,.project-mobile-metrics{gap:8px}.admin-mobile-metrics button,.project-mobile-metrics button{border:1px solid var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface);min-height:96px;color:var(--de-text-primary);box-shadow:none;border-radius:0;padding:12px}.admin-mobile-metrics button.is-attention,.project-mobile-metrics button.is-attention{border-color:var(--de-border-subtle);border-left-color:var(--de-danger);background:var(--de-danger-soft)}.admin-mobile-metrics span,.admin-mobile-metrics small,.project-mobile-metrics span,.project-mobile-metrics small{color:var(--de-text-secondary);font-size:11px;line-height:1.45}.admin-mobile-metrics b,.project-mobile-metrics b{color:var(--de-text-primary);letter-spacing:0;margin:5px 0 2px;font-size:26px;font-weight:400}.admin-mobile-metrics .is-attention b,.project-mobile-metrics .is-attention b{color:var(--de-danger)}.admin-mobile-tools,.project-mobile-portals{border:1px solid var(--de-border-subtle);background:var(--de-surface);border-radius:0;gap:8px;padding:12px}.admin-mobile-tools>div p,.project-mobile-portals>div p{color:var(--de-text-secondary);letter-spacing:.04em;font-size:11px;font-weight:600}.admin-mobile-tools>div h2,.project-mobile-portals>div h2{color:var(--de-text-primary);font-size:18px;font-weight:400}.admin-mobile-tools>button,.project-mobile-portals>button{border:1px solid var(--de-border-subtle);background:var(--de-surface);min-height:64px;color:var(--de-text-primary);border-radius:0;padding:10px}.admin-mobile-tools>button.is-portals{border-color:var(--de-action-primary);background:var(--de-surface-selected)}.admin-mobile-tools>button i,.project-mobile-portals>button i{border:1px solid var(--de-action-primary);background:var(--de-surface-selected);color:var(--de-action-primary);border-radius:0}.admin-mobile-tools b,.project-mobile-portals b{color:var(--de-text-primary);font-size:13px;font-weight:600}.admin-mobile-tools small,.project-mobile-portals small{color:var(--de-text-secondary);font-size:11px;line-height:1.45}.admin-mobile-tools em,.project-mobile-portals em{color:var(--de-action-primary);font-size:12px}.admin-mobile-dashboard>aside,.project-mobile-dashboard>aside{border:1px solid var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface-subtle);border-radius:0;padding:12px}.admin-mobile-dashboard>aside>i,.project-mobile-dashboard>aside>i{background:var(--de-action-primary);border-radius:0}.admin-mobile-dashboard>aside b,.project-mobile-dashboard>aside b{color:var(--de-text-primary);font-size:12px}.admin-mobile-dashboard>aside span,.project-mobile-dashboard>aside span{color:var(--de-text-secondary);font-size:11px;line-height:1.5}.admin-mobile-dashboard :is(button,aside),.project-mobile-dashboard :is(button,aside){box-shadow:none}.admin-mobile-dashboard button:active,.project-mobile-dashboard button:active{background:var(--de-surface-selected);transform:none}:is(.admin-mobile-dashboard button:focus-visible,.project-mobile-dashboard button:focus-visible){outline:2px solid var(--de-focus);outline-offset:2px}.mobile-profile-page{background:var(--de-light-canvas);min-height:calc(100vh - 120px);padding:0 12px 20px}.mobile-profile-user-card{border:1px solid var(--de-light-border-subtle);border-left:3px solid var(--de-light-action-primary);background:var(--de-light-surface);box-shadow:none;border-radius:0;margin:12px 0;padding:14px}.mobile-profile-avatar{background:var(--de-light-surface-selected);box-shadow:none;color:var(--de-light-action-primary);border-radius:0}.mobile-profile-user-info b{color:var(--de-light-text-primary);font-size:17px;font-weight:600}.mobile-profile-user-info em{color:var(--de-light-action-primary);font-size:12px}.mobile-profile-user-info small{color:var(--de-light-text-secondary);font-size:11px}.mobile-profile-summary{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:none;border-radius:0;margin-bottom:12px;padding:12px}.mobile-profile-summary>header p{color:var(--de-light-text-primary);font-size:13px;font-weight:600}.mobile-profile-summary>header span{color:var(--de-light-text-secondary);font-size:10px}.mobile-profile-summary article{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);border-radius:0;padding:10px}.mobile-profile-summary article.is-attention{background:var(--de-danger-soft);border-color:#edbbb5}.mobile-profile-summary article span,.mobile-profile-summary article small{color:var(--de-light-text-secondary);font-size:10px}.mobile-profile-summary article b{color:var(--de-light-text-primary);font-size:22px;font-weight:400}.mobile-profile-summary article.is-attention b{color:var(--de-danger)}.mobile-profile-menu-groups{gap:12px}.mobile-profile-menu-groups>section>p{color:var(--de-light-text-secondary);letter-spacing:.04em;font-size:11px;font-weight:600}.mobile-profile-menu-groups [data-profile-group=work-mode] .mobile-profile-links,.mobile-profile-menu-groups [data-profile-group=account-context] .mobile-profile-links{border-color:var(--de-light-border-subtle);background:var(--de-light-surface)}.mobile-profile-menu-groups [data-profile-group=work-mode] .mobile-profile-links button,.mobile-profile-menu-groups [data-profile-group=account-context] .mobile-profile-links button{background:var(--de-light-surface)}.mobile-profile-links{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:none;border-radius:0}.mobile-profile-links button{background:var(--de-light-surface);border-bottom-color:var(--de-light-border-subtle);min-height:56px;padding:12px}.mobile-profile-links button:active{background:var(--de-light-surface-selected)}.mobile-profile-links b{color:var(--de-light-text-primary);font-size:14px;font-weight:600}.mobile-profile-links i{color:var(--de-light-action-primary);font-size:18px}.mobile-profile-link-icon{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface-subtle);border-radius:0}.mobile-profile-link-icon--perm,.mobile-profile-link-icon--msg,.mobile-profile-link-icon--acc{background:var(--de-light-surface-selected);color:var(--de-light-action-primary)}.mobile-profile-menu-groups [data-profile-group=account-context] button small{color:var(--de-light-text-secondary);font-size:10px}.mobile-profile-menu-groups [data-profile-group=account-context] button em{border:1px solid var(--de-light-action-primary);background:var(--de-light-surface-selected);color:var(--de-light-action-primary);border-radius:2px}.mobile-profile-logout{background:var(--de-danger-soft);min-height:48px;color:var(--de-danger);box-shadow:none;border:1px solid #edbbb5;border-radius:0;margin:12px 0}.mobile-profile-logout:active{background:var(--de-danger-soft);transform:none}.mobile-profile-footer{border-top:1px solid var(--de-light-border-subtle);color:var(--de-light-text-secondary);padding-top:12px}.mobile-profile-footer b{color:var(--de-light-text-primary)}.mobile-message-center{--de-text-primary:var(--de-light-text-primary);--de-text-secondary:var(--de-light-text-secondary);--de-surface:var(--de-light-surface);--de-surface-subtle:var(--de-light-surface-subtle);--de-border-subtle:var(--de-light-border-subtle);--de-action-primary:var(--de-light-action-primary);gap:12px;padding:0}.mobile-message-head{border-bottom:1px solid var(--de-light-border-subtle);padding-bottom:10px}.mobile-message-head h2{color:var(--de-light-text-primary);font-size:19px;font-weight:400}.mobile-message-head .recovery-badge{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface-subtle);color:var(--de-light-text-secondary);border-radius:2px}.mobile-message-head .text-button{color:var(--de-light-action-primary);font-weight:600}.mobile-message-center .panel{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:none;border-radius:0;padding:12px}.mobile-message-center .panel-head{border-bottom:1px solid var(--de-light-border-subtle);margin-bottom:10px;padding-bottom:10px}.mobile-message-center .panel-head h2{color:var(--de-light-text-primary);font-size:18px;font-weight:400}.notice-pills{gap:6px;padding-bottom:8px}.notice-pills button{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);min-height:36px;color:var(--de-light-text-secondary);border-radius:0;font-weight:600}.notice-pills button.active{border-color:var(--de-light-action-primary);background:var(--de-light-action-primary);color:#fff}.notice-pills button span{background:var(--de-light-surface-subtle);color:var(--de-light-text-secondary);border-radius:2px}.notice-pills button.active span{color:#fff;background:#fff3}.mobile-notice-list{gap:8px}.notice-card,.mobile-notice-row{border:1px solid var(--de-light-border-subtle);border-left:3px solid var(--de-light-action-primary);background:var(--de-light-surface);box-shadow:none;border-radius:0;padding:10px}.mobile-notice-row.unread{border-color:var(--de-light-border-subtle);border-left-color:var(--de-light-action-primary);background:var(--de-light-surface-selected)}.notice-card-head b,.mobile-notice-row b{color:var(--de-light-text-primary);font-size:13px;font-weight:600}.notice-card>small,.mobile-notice-row small{color:var(--de-light-text-secondary);font-size:11px}.notice-card>time,.mobile-notice-row time{color:var(--de-light-text-secondary);font-size:10px}.notice-tag{border-radius:2px}.mobile-message-center .reminder-row{border:1px solid var(--de-light-border-subtle);border-left:3px solid var(--de-warning);background:var(--de-light-surface);box-shadow:none;border-radius:0}.mobile-message-center .reminder-row--红线{border-left-color:var(--de-danger)}.mobile-message-center .reminder-row--一般{border-left-color:var(--de-light-action-primary)}.security-panel-hero,.security-admin-scope .panel-head{border:1px solid var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface);box-shadow:none;border-radius:0;padding:14px}.security-panel-hero h2{color:var(--de-text-primary);font-size:20px;font-weight:400}.security-panel-hero p{color:var(--de-text-secondary);font-size:12px;line-height:1.55}.de-readonly-badge{border-color:var(--de-border-subtle);background:var(--de-surface-subtle);color:var(--de-text-secondary);border-radius:2px}.security-kpi-grid article,.security-policy-grid article,.security-policy-form{border:1px solid var(--de-border-subtle);background:var(--de-surface);box-shadow:none;border-radius:0}.security-kpi-grid article.is-attention{background:var(--de-danger-soft);border-color:#edbbb5}.security-kpi-grid span,.security-kpi-grid small{color:var(--de-text-secondary)}.security-kpi-grid b{color:var(--de-text-primary);font-weight:400}.security-policy-grid i,.security-policy-note>span{background:var(--de-surface-selected);color:var(--de-action-primary);border-radius:0}.security-policy-grid b,.security-policy-note b{color:var(--de-text-primary)}.security-policy-grid p,.security-policy-note p{color:var(--de-text-secondary)}.security-policy-grid>article>span{background:var(--de-success-soft);color:#176b52;border-radius:2px}.security-policy-note{border-color:var(--de-border-subtle);border-left:3px solid var(--de-action-primary);background:var(--de-surface-subtle);border-radius:0}.security-policy-form input,.security-policy-form textarea{border-color:var(--de-border-subtle);background:var(--de-surface);color:var(--de-text-primary);border-radius:0}.security-session-card,.audit-mobile-card,.security-admin-scope .identity-mobile-card{border:1px solid var(--de-border-subtle);background:var(--de-surface);box-shadow:none;border-radius:0}.security-session-card>header,.audit-mobile-card>header,.security-admin-scope .identity-mobile-card header{border-bottom-color:var(--de-border-subtle)}.security-session-card>header>span,.audit-mobile-card>header>span{background:var(--de-surface-selected);color:var(--de-action-primary);border-radius:0}.security-session-card header b,.audit-mobile-card header b,.security-admin-scope .identity-mobile-card header b,.security-admin-scope .identity-mobile-card dd{color:var(--de-text-primary)}.security-session-card header small,.audit-mobile-card header small,.security-admin-scope .identity-mobile-card dt{color:var(--de-text-secondary)}.security-session-card dl>div,.audit-mobile-card dl>div,.security-admin-scope .identity-mobile-card dl>div,.security-admin-scope .identity-mobile-card footer{border-color:var(--de-border-subtle)}.security-admin-scope .identity-mobile-card.is-protected{border-color:var(--de-action-primary);background:var(--de-surface-selected)}.security-admin-scope .identity-mobile-card.is-warning{background:var(--de-warning-soft);border-color:#ead18f}.security-admin-scope .identity-mobile-card footer{background:var(--de-surface-subtle)}.security-admin-scope .identity-mobile-card footer button{border-color:var(--de-border-strong);background:var(--de-surface);color:var(--de-action-primary);border-radius:0}.permission-mobile-tree details,.permission-mobile-modules section{border-color:var(--de-border-subtle);background:var(--de-surface);border-radius:0}.permission-mobile-tree summary b,.permission-mobile-modules header b{color:var(--de-text-primary)}.permission-mobile-tree summary small,.permission-mobile-modules header small{color:var(--de-text-secondary)}.pm-mobile-toggle{border-color:var(--de-border-subtle);background:var(--de-surface);color:var(--de-text-secondary);border-radius:0}.pm-mobile-toggle.is-on{border-color:var(--de-action-primary);background:var(--de-surface-selected);color:var(--de-action-primary)}.security-admin-scope .record-modal{border-color:var(--de-border-subtle);background:var(--de-surface);box-shadow:none;color:var(--de-text-primary);border-radius:0}.security-admin-scope .record-modal .modal-head{border-bottom-color:var(--de-border-subtle);background:var(--de-surface)}.security-admin-scope .record-modal h2,.security-admin-scope .record-modal label{color:var(--de-text-primary)}.security-admin-scope .record-modal input,.security-admin-scope .record-modal select,.security-admin-scope .record-modal textarea{border-color:var(--de-border-subtle);background:var(--de-surface);color:var(--de-text-primary);border-radius:0}.security-admin-scope .record-modal .modal-actions{border-top:1px solid var(--de-border-subtle);background:var(--de-surface);box-shadow:none}.security-admin-scope .record-modal .cancel-button{border:1px solid var(--de-border-strong);background:var(--de-surface);color:var(--de-action-primary);border-radius:0}.security-admin-scope .record-modal .primary-button{border:1px solid var(--de-action-primary);background:var(--de-action-primary);box-shadow:none;color:#fff;border-radius:0}}@media (max-width:340px){.admin-mobile-dashboard>header,.project-mobile-dashboard>header{padding:12px}.admin-mobile-metrics button,.project-mobile-metrics button{min-height:90px;padding:10px}.admin-mobile-tools>button,.project-mobile-portals>button{grid-template-columns:34px minmax(0,1fr);min-height:60px}.admin-mobile-tools>button em,.project-mobile-portals>button em{display:none}.mobile-profile-page{padding-inline:8px}.mobile-profile-links button{padding-inline:10px}.mobile-profile-summary>header span{display:none}}@media (max-width:760px){.app-shell:not([data-standard-business-surface]){background:var(--de-light-canvas);color:var(--de-light-text-primary)}.app-shell:not([data-standard-business-surface]) .sidebar{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);height:56px;min-height:56px;box-shadow:none;color:var(--de-light-text-primary);padding:4px 8px}.app-shell:not([data-standard-business-surface]) .brand-lockup strong{color:var(--de-light-text-primary);font-size:16px;font-weight:600}.app-shell:not([data-standard-business-surface]) .brand-lockup span{color:var(--de-light-text-secondary)}.app-shell:not([data-standard-business-surface]) .mobile-top-search,.app-shell:not([data-standard-business-surface]) .mobile-menu-toggle{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface-subtle);width:48px;height:48px;min-height:48px;box-shadow:none;color:var(--de-light-action-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .mobile-top-search:active,.app-shell:not([data-standard-business-surface]) .mobile-menu-toggle:active{background:var(--de-light-surface-selected);transform:none}.app-shell:not([data-standard-business-surface]) .workspace{background:var(--de-light-canvas);padding-inline:12px}.app-shell:not([data-standard-business-surface]) .workspace>.topbar{border:1px solid var(--de-light-border-subtle);border-left:3px solid var(--de-light-action-primary);background:var(--de-light-surface);box-shadow:none;border-radius:0;margin-bottom:12px;padding:12px}.app-shell:not([data-standard-business-surface]) .workspace>.topbar .topbar-head{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.app-shell:not([data-standard-business-surface]) .workspace>.topbar .topbar-back-button{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface-subtle);min-height:40px;box-shadow:none;color:var(--de-light-action-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .workspace>.topbar .eyebrow,.app-shell:not([data-standard-business-surface]) .workspace>.topbar .topbar-status span{color:var(--de-light-text-secondary);font-size:11px}.app-shell:not([data-standard-business-surface]) .workspace>.topbar .topbar-title{color:var(--de-light-text-primary);letter-spacing:0;font-size:20px;font-weight:400}.app-shell:not([data-standard-business-surface]) .workspace>.topbar .top-actions,.app-shell:not([data-standard-business-surface]) .workspace>.topbar .topbar-status{display:none}.app-shell:not([data-standard-business-surface]) .mobile-role-tabbar{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:none}.app-shell:not([data-standard-business-surface]) .mobile-role-tabbar button{color:var(--de-light-text-secondary);font-size:12px;font-weight:600}.app-shell:not([data-standard-business-surface]) .mobile-role-tabbar button.active{color:var(--de-light-action-primary);transform:none}.app-shell:not([data-standard-business-surface]) .mobile-role-tabbar .mobile-nav-main span{background:var(--de-light-action-primary);box-shadow:none;border-radius:0}.app-shell:not([data-standard-business-surface]) .sidebar-section--system.mobile-open{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:var(--shadow-modal);color:var(--de-light-text-primary)}.app-shell:not([data-standard-business-surface]) .sidebar-section--system.mobile-open .mobile-menu-close{border-color:var(--de-light-border-subtle);background:var(--de-light-surface-subtle);color:var(--de-light-text-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .role-action-scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1616165c}.app-shell:not([data-standard-business-surface]) .role-action-sheet{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:var(--shadow-modal);color:var(--de-light-text-primary);border-bottom:0;border-radius:16px 16px 0 0}.app-shell:not([data-standard-business-surface]) .role-action-sheet h2{color:var(--de-light-text-primary);font-weight:400}.app-shell:not([data-standard-business-surface]) .role-action-close{border-color:var(--de-light-border-subtle);background:var(--de-light-surface-subtle);color:var(--de-light-text-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .role-action-grid,.app-shell:not([data-standard-business-surface]) .portal-picker-grid{grid-template-columns:minmax(0,1fr);gap:8px}.app-shell:not([data-standard-business-surface]) .role-action-grid>button,.app-shell:not([data-standard-business-surface]) .portal-picker-grid>button{border-color:var(--de-light-border-subtle);background:var(--de-light-surface);min-height:72px;box-shadow:none;color:var(--de-light-text-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .role-action-grid>button:hover,.app-shell:not([data-standard-business-surface]) .portal-picker-grid>button:hover:not(:disabled){border-color:var(--de-light-action-primary);background:var(--de-light-surface-selected)}.app-shell:not([data-standard-business-surface]) .role-action-grid>button>i,.app-shell:not([data-standard-business-surface]) .portal-picker-grid>button>i{border:1px solid var(--de-light-action-primary);background:var(--de-light-surface-selected);color:var(--de-light-action-primary);border-radius:0}.app-shell:not([data-standard-business-surface]) .role-action-grid b,.app-shell:not([data-standard-business-surface]) .portal-picker-grid b{color:var(--de-light-text-primary)}.app-shell:not([data-standard-business-surface]) .role-action-grid small,.app-shell:not([data-standard-business-surface]) .portal-picker-grid small,.app-shell:not([data-standard-business-surface]) .role-action-sheet>footer{color:var(--de-light-text-secondary)}}@media (max-width:340px){.app-shell:not([data-standard-business-surface]) .workspace{padding-inline:8px}.app-shell:not([data-standard-business-surface]) .workspace>.topbar{padding:10px}.app-shell:not([data-standard-business-surface]) .mobile-role-tabbar button{font-size:11px}}@media (max-width:760px){html[data-theme=dark]:has(.app-shell) body{background:var(--de-light-canvas);color:var(--de-light-text-primary)}:is(.app-shell:not([data-standard-business-surface]) .workspace:has(.mobile-profile-page)>.topbar,.app-shell:not([data-standard-business-surface]) .workspace:has(.mobile-message-center)>.topbar){display:none}html[data-theme] .mobile-profile-page .mobile-profile-summary{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);box-shadow:none;border-radius:0;padding:12px}html[data-theme] .mobile-profile-page .mobile-profile-summary>header{border-bottom:1px solid var(--de-light-border-subtle);margin-bottom:9px;padding-bottom:9px}html[data-theme] .mobile-profile-page .mobile-profile-summary>header p{color:var(--de-light-text-primary);font-size:13px;font-weight:600}.mobile-profile-page .mobile-profile-summary>header span{color:var(--de-light-text-secondary);font-size:10px}html[data-theme] .mobile-profile-page .mobile-profile-summary article{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface);color:var(--de-light-text-primary);border-radius:0;padding:10px}html[data-theme] .mobile-profile-page .mobile-profile-summary article.is-attention{background:var(--de-danger-soft);border-color:#edbbb5}html[data-theme] .mobile-profile-page .mobile-profile-summary article span,html[data-theme] .mobile-profile-page .mobile-profile-summary article small{color:var(--de-light-text-secondary);font-size:10px}html[data-theme] .mobile-profile-page .mobile-profile-summary article b{color:var(--de-light-text-primary);font-size:22px;font-weight:400}html[data-theme] .mobile-profile-page .mobile-profile-summary article.is-attention b{color:var(--de-danger)}html[data-theme] .mobile-home-todo.mobile-closed-loop{border:1px solid var(--de-light-border-subtle);border-left:3px solid var(--de-light-action-primary);background:var(--de-light-surface);box-shadow:none;color:var(--de-light-text-primary);border-radius:0;padding:12px}html[data-theme] .mobile-home-todo.mobile-closed-loop .panel-head{border-bottom:1px solid var(--de-light-border-subtle);margin-bottom:10px;padding-bottom:10px}html[data-theme] .mobile-home-todo.mobile-closed-loop .section-label{color:var(--de-light-text-secondary);letter-spacing:.04em;font-size:11px;font-weight:600}html[data-theme] .mobile-home-todo.mobile-closed-loop h2{color:var(--de-light-text-primary);font-size:18px;font-weight:400}html[data-theme] .mobile-home-todo.mobile-closed-loop .text-button{color:var(--de-light-action-primary);font-size:12px;font-weight:600}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-list{gap:0}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-row{border:0;border-bottom:1px solid var(--de-light-border-subtle);box-shadow:none;background:0 0;border-radius:0;padding:10px 0}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-row:last-child{border-bottom:0}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-main{color:var(--de-light-text-primary)}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-main b{color:var(--de-light-text-primary);font-size:13px;font-weight:600}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-main small{color:var(--de-light-text-secondary);font-size:11px;line-height:1.45}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-dot{background:var(--de-light-action-primary)}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-dot.is-late,html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-dot.is-danger{background:var(--de-danger)}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-dot.is-soon{background:var(--de-warning)}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-ledger{border:1px solid var(--de-light-action-primary);background:var(--de-light-surface-selected);min-height:32px;color:var(--de-light-action-primary);border-radius:0;font-size:11px;font-weight:600}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-tag{border:1px solid var(--de-light-border-subtle);background:var(--de-light-surface-subtle);color:var(--de-light-text-secondary);border-radius:2px;font-size:10px;font-style:normal}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-tag.is-late,html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-tag.is-danger{background:var(--de-danger-soft);color:var(--de-danger);border-color:#edbbb5}html[data-theme] .mobile-home-todo.mobile-closed-loop .mobile-todo-tag.is-soon{background:var(--de-warning-soft);color:var(--de-warning-text);border-color:#ead18f}html[data-theme] .mobile-home-todo.mobile-closed-loop .image-empty{border-color:var(--de-light-border-subtle);background:var(--de-light-surface-subtle);color:var(--de-light-text-secondary);border-radius:0}}.shiftCalendarPage,.patrolDutyPage{color:#dbe7f3}.shiftPeriodSwitch{grid-template-columns:auto auto auto;justify-content:end;gap:8px;display:grid}.shiftPeriodSwitch button{min-height:44px}.shiftStaffFilter{gap:6px;margin-bottom:12px;display:grid}.shiftStaffFilter label{color:#8fb0c8;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.shiftStaffFilter select{color:#dbe7f3;background:#0a1d2d;border:1px solid #26445f;border-radius:10px;flex:1;max-width:360px;min-height:44px;padding:0 12px}.shiftCalendar{gap:10px;display:grid}.shiftCalendarWeek{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.shiftCalendarWeek div{text-align:center;color:#7898b1;font-size:11px;font-weight:900}.shiftCalendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.shiftDay{color:#dbe7f3;text-align:left;background:#102436;border:1px solid #1e3a55;border-radius:10px;align-content:start;gap:5px;min-height:68px;padding:8px 6px;transition:border-color .16s,background .16s,transform .12s;display:grid;position:relative}.shiftDay:hover:not(:disabled){background:#132d43;border-color:#3978ba;transform:translateY(-1px)}.shiftDay.is-today{border-color:#3978ba;box-shadow:inset 0 0 0 1px #2f7cf659}.shiftDay.is-disabled{color:#6d8598;cursor:default}.shiftDay time{color:#9fc4dc;font-size:12px;font-weight:900}.shiftDay.is-today time{color:#7ed8ff}.shiftTag{border-radius:6px;place-items:center;min-height:22px;padding:0 6px;font-size:10px;font-style:normal;font-weight:900;display:inline-grid}.shiftTag--早,.shiftTag--中,.shiftTag--白{color:#7ed8ff;background:#2f7cf629}.shiftTag--晚{color:#c4b0ff;background:#7a5cd833}.shiftTag--夜{color:#aab8ff;background:#5678d833}.shiftTag--行{color:#7de0bc;background:#2fa47c24}.shiftTag--休{color:#7de0bc;background:#2fa47c29}.shiftMark{border-radius:999px;place-items:center;min-height:20px;padding:0 7px;font-size:10px;font-style:normal;font-weight:900;display:inline-grid}.shiftMark--active{color:#ffc96c;background:#d99a2e29}.shiftMark--rejected{color:#ff9b96;background:#e05d5929}.shiftMark--done{color:#7de0bc;background:#2fa47c24}.shiftLegend{color:#7898b1;flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.shiftLegend>span{align-items:center;gap:6px;display:inline-flex}.shiftLegend i{border-radius:6px}.shiftLegend .shift-mark{border-radius:999px}.shiftCalendarSkeleton{background:linear-gradient(110deg,#0c2031 30%,#10283c 50%,#0c2031 70%) 0 0/200% 100%;border:1px solid #1e3a55;border-radius:12px;min-height:340px;animation:1.4s linear infinite shiftSkeleton}@keyframes shiftSkeleton{to{background-position:-200% 0}}.shiftRequestList{gap:10px;display:grid}.shiftRequestRow{background:#0f2233;border:1px solid #1e3a55;border-radius:12px;gap:8px;padding:13px;display:grid}.shiftRequestRow header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shiftRequestRow header b{color:#e8f5ff;font-size:14px}.shiftRequestRow header span{color:#8fb0c8;font-size:12px}.shiftRequestRow dl{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 14px;margin:0;display:grid}.shiftRequestRow dl>div{gap:2px;display:grid}.shiftRequestRow dt{color:#7898b1;font-size:10px;font-weight:800}.shiftRequestRow dd{color:#c6dcec;margin:0;font-size:12px}.shiftRequestReason{color:#c6dcec;font-size:12px}.shiftReviewNote{color:#8fb0c8;margin:0;font-size:11px}.ticketRowActions{flex-wrap:wrap;gap:8px;display:flex}.formLabelInline{color:#9cb6c6;gap:6px;margin:10px 0 0;font-size:11px;font-weight:800;display:grid}.formLabelInline textarea{color:#dbe7f3;font:inherit;resize:vertical;background:#0a1d2d;border:1px solid #26445f;border-radius:10px;padding:10px 12px}.shiftCardPage{color:#dbe7f3}.shiftCardStats{margin:0 0 14px}.shiftCardFilters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.shiftCardFilters label{color:#8fb0c8;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.shiftCardFilters select,.shiftCardFilters input{color:#dbe7f3;background:#0a1d2d;border:1px solid #26445f;border-radius:10px;min-width:180px;min-height:44px;padding:0 12px}.shiftCardVirtualViewport{overscroll-behavior:contain;contain:strict;background:#0c2031;border:1px solid #1e3a55;border-radius:12px;min-height:360px;max-height:62vh;margin-bottom:13px;position:relative;overflow:auto}.shiftCardVirtualHeader{z-index:8;background:#0d2436;width:max-content;min-width:100%;height:48px;display:grid;position:sticky;top:0}.shiftCardVirtualHeader>div{color:#7898b1;text-align:center;border-bottom:1px solid #1a344c;border-right:1px solid #1a344c;place-content:center;min-width:44px;display:grid}.shiftCardVirtualHeader>div b,.shiftCardVirtualHeader>div small{white-space:nowrap;font-size:9px;display:block}.shiftCardVirtualHeader>div b{color:#9fc4dc}.shiftCardVirtualHeader>div.isToday{background:#12314a}.shiftCardVirtualHeader .shiftCardPersonHead{z-index:9;color:#9fc4dc;text-align:left;background:#0d2436;place-content:center start;min-width:176px;padding:0 8px;position:sticky;left:0}.shiftCardVirtualBody{min-width:100%;position:relative}.shiftCardVirtualRow{background:#0c2031;width:max-content;min-width:100%;height:56px;display:grid;position:absolute;left:0}.shiftCardVirtualCell{border-bottom:1px solid #1a344c;border-right:1px solid #1a344c;place-items:center;min-width:44px;padding:5px 4px;display:grid}.shiftCardVirtualRow .shiftCardPerson{z-index:4;text-align:left;background:#102436;border-bottom:1px solid #1a344c;border-right:1px solid #1a344c;min-width:176px;max-width:176px;height:56px;padding:7px 8px;position:sticky;left:0}.shiftCardVirtualLoading{color:#7898b1;background:linear-gradient(90deg,#0c2031,#10283c,#0c2031);border-bottom:1px solid #1a344c;place-items:center start;height:56px;padding-left:18px;font-size:11px;display:grid;position:absolute;left:0;right:0}.shiftCardDesktop{overscroll-behavior:contain;background:#0c2031;border:1px solid #1e3a55;border-radius:12px;max-height:62vh;margin-bottom:13px}.shiftCardTable{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.shiftCardTable th,.shiftCardTable td{text-align:center;border-top:0;border-bottom:1px solid #1a344c;border-right:1px solid #1a344c;min-width:44px;padding:5px 4px}.shiftCardTable thead th{z-index:3;color:#7898b1;background:#0d2436;height:48px;position:sticky;top:0}.shiftCardTable thead th b,.shiftCardTable thead th small{white-space:nowrap;font-size:9px;display:block}.shiftCardTable thead th b{color:#9fc4dc}.shiftCardTable thead th.isToday{background:#12314a}.shiftCardTable .shiftCardPersonHead,.shiftCardTable .shiftCardPerson{z-index:4;text-align:left;background:#102436;min-width:176px;max-width:176px;position:sticky;left:0}.shiftCardTable .shiftCardPersonHead{z-index:5;background:#0d2436}.shiftCardPerson b,.shiftCardPerson small,.shiftCardPerson em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shiftCardPerson b{color:#e8f5ff;font-size:12px}.shiftCardPerson small{color:#8fb0c8;margin-top:3px;font-size:10px}.shiftCardPerson em{color:#6f8da4;margin-top:3px;font-size:9px;font-style:normal}.shiftCardCell{color:#dbe7f3;cursor:pointer;background:#102436;border:1px solid #0000;border-radius:7px;place-items:center;gap:2px;width:100%;min-width:34px;min-height:34px;padding:0;display:grid}:is(.shiftCardCell:hover,.shiftCardCell:focus-visible){background:#132d43;border-color:#3978ba;outline:none}.shiftCardCell.isToday{background:#132d43;box-shadow:inset 0 0 0 1px #3978ba}.shiftCardCell.isReadonly{opacity:.58}.shiftCardCell.isSelected{background:#2fa47c33;border-color:#56d8ce;box-shadow:inset 0 0 0 1px #56d8ce61}.shiftCardCell.isDraggable{cursor:copy}.shiftCardPage .ledger-batch-bar{color:#9fc4dc;background:#10283c;border-color:#29516d;justify-content:space-between}.shiftScheduleBatchBar{z-index:12;position:sticky;top:8px;box-shadow:0 8px 20px #020f1a3d}.shiftScheduleBatchBar b{color:#e6fbff}.shiftCardMobileStaffSelect{color:#9fc4dc;gap:6px;margin:0 0 10px;font-size:12px;font-weight:800;display:grid}.shiftCardMobileStaffSelect select{color:#dbe7f3;width:100%;min-height:44px;font:inherit;background:#0a1d2d;border:1px solid #26445f;border-radius:10px;padding:0 12px}.shiftCardMobileLoadMore{width:100%;min-height:48px;margin-top:12px}.shiftCardPage .ledger-batch-bar>div{flex-wrap:wrap;gap:8px;display:flex}.shiftCardActionModal{width:min(620px,90vw);max-height:90vh;overflow:auto}.shiftCardActionModal>label,.shiftCardActionModal .form-two label{color:#9cb6c6;gap:7px;font-size:12px;font-weight:800;display:grid}.shiftCardActionModal textarea,.shiftCardActionModal input,.shiftCardActionModal select{color:#dbe7f3;font:inherit;background:#0a1d2d;border:1px solid #26445f;border-radius:10px;padding:10px 12px}.shiftCardActionModal>label>select{min-height:44px}.shiftCardSelectedDates{flex-wrap:wrap;gap:7px;max-height:132px;margin-bottom:12px;display:flex;overflow:auto}.shiftCardSelectedDates span{color:#9fcfe8;background:#10283c;border:1px solid #28536f;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.shiftCardCell .shiftTag{min-width:24px;min-height:20px;padding:0 4px}.shiftCardCell .shiftMark{min-height:16px;padding:0 5px;font-size:8px}.shiftCardEmpty{color:#45627a;font-size:10px}.shiftCardMobile{display:none}.shiftCardMobilePerson{margin-bottom:12px}.shiftCardWeeks{gap:5px;display:grid}.shiftCardBlank{background:#10243659;border-radius:10px;min-height:56px}.shiftDutyTabs{gap:8px;margin-bottom:14px;display:flex}.shiftDutyTabs button{color:#b9d4e7;background:#10283c;border:1px solid #2a4b67;border-radius:10px;min-height:44px;padding:0 20px;font-weight:900}.shiftDutyTabs button.active{color:#7ed8ff;background:#2f7cf62e;border-color:#3978ba}.shiftDutyGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.shiftDutyCard{background:#102436;border:1px solid #1e3a55;border-radius:14px;gap:10px;padding:15px;display:grid}.shiftDutyCard.is-covered{border-color:#2fa47c57}.shiftDutyCard header{justify-content:space-between;align-items:center;gap:10px;display:flex}.shiftDutyCard header b{color:#e8f5ff;font-size:14px}.shiftDutyChips{flex-wrap:wrap;gap:7px;display:flex}.shiftDutyChips>span{color:#c6dcec;background:#0d2436;border:1px solid #26506b;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;display:inline-flex}.shiftDutyChips>span i{color:#7ed8ff;background:#2f7cf633;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;font-weight:900;display:grid}.shiftDutyChips>span small{color:#7898b1}.shiftDutyEmpty{color:#6d8598;margin:0;font-size:12px}.shiftDutyConfirm{justify-self:start;min-height:44px}.shiftDutyFoot{color:#7898b1;align-items:center;gap:8px;margin-top:14px;font-size:11px;display:flex}.shiftDutyFoot i{background:#56d8ce;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #56d8ceb3}.shiftDutySkeleton{background:linear-gradient(110deg,#0c2031 30%,#10283c 50%,#0c2031 70%) 0 0/200% 100%;border:1px solid #1e3a55;border-radius:12px;min-height:200px;animation:1.4s linear infinite shiftSkeleton}@media (max-width:760px){.shiftCardStats{grid-template-columns:1fr}.shiftCardFilters{flex-direction:column;align-items:stretch}.shiftCardFilters label{gap:6px;display:grid}.shiftCardFilters select,.shiftCardFilters input{width:100%;min-width:0;min-height:48px}.shiftCardDesktop{display:none}.shiftCardMobile{display:block}.shiftCardCell.isCompact{align-content:start;min-width:0;min-height:56px;padding:6px 4px}.shiftCardPage .ledger-batch-bar{align-items:stretch}.shiftCardPage .ledger-batch-bar>div,.shiftCardPage .ledger-batch-bar button{min-height:48px}.shiftCardPage .ledger-batch-bar button{flex:1}.shiftScheduleBatchBar{position:static}.shiftCardMobileStaffSelect select{min-height:48px}.shiftCardActionModal{width:min(90vw,620px);max-height:90vh}.shiftCardCell.isCompact time{color:#9fc4dc;justify-self:start;font-size:11px;font-weight:900}.shiftCardBlank{min-height:56px}.shiftPeriodSwitch{grid-template-columns:1fr 1fr}.shiftPeriodSwitch .plain-button{grid-column:1/-1}.shiftCalendarWeek,.shiftCalendarGrid{gap:4px}.shiftDay{min-height:56px;padding:6px 4px}.shiftDay time{font-size:11px}.shiftDay .shiftMark{min-height:18px;padding:0 5px;font-size:9px}.shiftDutyGrid,.shiftRequestRow dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.shiftCalendarSkeleton,.shiftDutySkeleton{animation:none}.shiftDay{transition:none}}:root{--de-light-action-primary:#0f62fe;--de-light-action-hover:#0050e6;--de-light-action-pressed:#002d9c;--de-light-text-primary:#161616;--de-light-text-secondary:#525252;--de-light-text-tertiary:#6f6f6f;--de-light-text-disabled:#8d8d8d;--de-light-canvas:#f4f4f4;--de-light-surface:#fff;--de-light-surface-subtle:#f4f4f4;--de-light-surface-hover:#e8e8e8;--de-light-surface-selected:#edf5ff;--de-light-border-subtle:#e0e0e0;--de-light-border-strong:#8d8d8d;--de-action-primary:var(--de-light-action-primary);--de-action-hover:var(--de-light-action-hover);--de-action-pressed:var(--de-light-action-pressed);--de-focus:var(--de-light-action-primary);--de-text-primary:var(--de-light-text-primary);--de-text-secondary:var(--de-light-text-secondary);--de-text-tertiary:var(--de-light-text-tertiary);--de-text-disabled:var(--de-light-text-disabled);--de-page:var(--de-light-canvas);--de-surface:var(--de-light-surface);--de-surface-subtle:var(--de-light-surface-subtle);--de-surface-hover:var(--de-light-surface-hover);--de-surface-selected:var(--de-light-surface-selected);--de-border-subtle:var(--de-light-border-subtle);--de-border-strong:var(--de-light-border-strong);--de-success:#24a148;--de-success-soft:#defbe6;--de-warning:#f1c21b;--de-warning-text:#8a3800;--de-warning-soft:#fff8d5;--de-danger:#da1e28;--de-danger-soft:#fff1f1;--de-info:var(--de-light-action-primary);--navy:var(--de-text-primary);--navy-deep:var(--de-text-primary);--blue:var(--de-action-primary);--teal:var(--de-text-secondary);--ink:var(--de-text-primary);--muted:var(--de-text-secondary);--line:var(--de-border-subtle);--page:var(--de-page);--card:var(--de-surface);--red:var(--de-danger);--green:var(--de-success);--amber:var(--de-warning-text);--purple:var(--de-action-primary);--cyan:var(--de-text-tertiary);--glass:var(--de-surface);--glass-strong:var(--de-surface);--shadow-soft:none;--shadow-card:none;--shadow-modal:0 12px 32px #16161638;--shadow-btn:none;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-glass:0px;--radius-panel:0px;--status-pending:var(--de-warning-text);--status-fixing:var(--de-info);--status-review:#007d79;--status-done:var(--de-success);--status-danger:var(--de-danger)}html[data-theme=dark]{--de-action-primary:#0f62fe;--de-action-hover:#0050e6;--de-action-pressed:#002d9c;--de-focus:#a6c8ff;--de-text-primary:#f4f4f4;--de-text-secondary:#c6c6c6;--de-text-tertiary:#a8a8a8;--de-text-disabled:#8d8d8d;--de-page:#161616;--de-surface:#262626;--de-surface-subtle:#262626;--de-surface-hover:#393939;--de-surface-selected:#0f3d78;--de-border-subtle:#393939;--de-border-strong:#6f6f6f;--blue:var(--de-action-primary);--ink:var(--de-text-primary);--muted:var(--de-text-secondary);--line:var(--de-border-subtle);--page:var(--de-page);--card:var(--de-surface);--glass:var(--de-surface);--glass-strong:var(--de-surface)}[data-standard-business-surface=true]{--de-action-primary:var(--de-light-action-primary);--de-action-hover:var(--de-light-action-hover);--de-action-pressed:var(--de-light-action-pressed);--de-focus:var(--de-light-action-primary);--de-text-primary:var(--de-light-text-primary);--de-text-secondary:var(--de-light-text-secondary);--de-text-tertiary:var(--de-light-text-tertiary);--de-text-disabled:var(--de-light-text-disabled);--de-page:var(--de-light-canvas);--de-surface:var(--de-light-surface);--de-surface-subtle:var(--de-light-surface-subtle);--de-surface-hover:var(--de-light-surface-hover);--de-surface-selected:var(--de-light-surface-selected);--de-border-subtle:var(--de-light-border-subtle);--de-border-strong:var(--de-light-border-strong);--blue:var(--de-action-primary);--ink:var(--de-text-primary);--muted:var(--de-text-secondary);--line:var(--de-border-subtle);--page:var(--de-page);--card:var(--de-surface)}body{font-family:IBM Plex Sans,PingFang SC,Microsoft YaHei,Noto Sans SC,Arial,sans-serif}html[data-theme=dark] body{background:var(--de-page);color:var(--de-text-primary)}.de-state{border:1px solid var(--de-border-subtle);background:var(--de-surface);min-height:144px;box-shadow:none;color:var(--de-text-primary);border-radius:0;gap:16px}.de-state--compact{min-height:96px;padding:16px}.de-state-icon{border-color:var(--de-border-subtle);background:var(--de-surface-subtle);width:40px;height:40px;color:var(--de-action-primary);border-radius:0}.de-state--forbidden .de-state-icon,.de-state--session .de-state-icon{color:var(--de-warning-text)}.de-state--error .de-state-icon{color:var(--de-danger)}.de-state-copy small{color:var(--de-text-secondary);letter-spacing:.04em;font-size:12px;font-weight:600}.de-state-copy h3{color:var(--de-text-primary);font-size:18px;font-weight:400}.de-state-copy p{color:var(--de-text-secondary);font-size:14px;line-height:1.5}.de-state-action{border-color:var(--de-action-primary);background:var(--de-action-primary);color:#fff;border-radius:0;min-height:40px;font-size:14px;font-weight:600}.de-state-action:hover{border-color:var(--de-action-hover);background:var(--de-action-hover)}.de-skeleton-row{border-color:var(--de-border-subtle);background:var(--de-surface);border-radius:0}.de-skeleton-row span{border-radius:0}.de-dialog{box-shadow:var(--shadow-modal);border-radius:0}:is(.app-shell :where(button,a,input,select,textarea):focus-visible,.env-portal :where(button,a,input,select,textarea):focus-visible){outline:2px solid var(--de-focus);outline-offset:2px}@media (max-width:760px){.de-state{grid-template-columns:auto minmax(0,1fr);min-height:120px;padding:16px}.de-state-action{grid-column:1/-1;min-height:48px}}@media (prefers-reduced-motion:reduce){.de-state--loading .de-state-icon,.de-skeleton-row span{animation:none}}
