@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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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,::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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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]){appearance:button}::file-selector-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}.fixed{position:fixed}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:var(--spacing)}.block{display:block}.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}.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,)}.\!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!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.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))}}:root{--ink:#17202a;--muted:#66717d;--line:#dfe3e7;--line-soft:#edf0f2;--canvas:#f2f4f5;--paper:#fff;--sidebar:#1c252c;--sidebar-soft:#27323a;--blue:#1769aa;--blue-soft:#e8f2fa;--orange:#c45b18;--orange-soft:#fff0e6;--green:#237a4b;--green-soft:#e8f5ed;--red:#b53636;--red-soft:#fcecec}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);letter-spacing:0;margin:0;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,sans-serif}button,input{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{z-index:30;background:var(--sidebar);color:#e7ecef;border-right:1px solid #10171b;flex-direction:column;width:244px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;height:76px;padding:0 20px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#3b8cff,#145f9e);border-radius:9px;place-items:center;width:36px;height:36px;font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:13px;font-weight:700;display:grid;box-shadow:0 4px 14px #2b7fff66}.brand div,.sidebar-footer div{flex-direction:column;min-width:0;display:flex}.brand strong{font-size:15px;font-weight:650}.brand span:last-child{color:#84939d;margin-top:2px;font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:9px}.nav-groups{flex:1;padding:18px 12px;overflow-y:auto}.nav-group+.nav-group{margin-top:24px}.nav-group p{color:#7f8d96;margin:0 10px 8px;font-size:11px;font-weight:600}.nav-item{color:#b8c2c8;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:11px;width:100%;min-height:40px;padding:0 11px;font-size:13px;transition:background .14s,color .14s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item:disabled{cursor:not-allowed;opacity:.72}.nav-item.active{background:var(--sidebar-soft);color:#fff;font-weight:600}.nav-indicator{border:1px solid #73828c;border-radius:2px;width:13px;height:13px}.nav-item.active .nav-indicator{box-shadow:inset 0 0 0 3px var(--sidebar-soft);background:#4ca0df;border-color:#4ca0df}.nav-item em{color:#fff;background:#a54328;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-style:normal}.sidebar-footer{border-top:1px solid #ffffff17;grid-template-columns:32px 1fr 28px;align-items:center;gap:10px;min-height:68px;padding:12px 16px;display:grid;position:relative}.account-gear{color:#8b98a3;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.account-gear:hover{background:var(--sidebar-soft);color:#fff}.avatar{color:#285a78;background:#d6e8f4;border-radius:50%;place-items:center;width:32px;height:32px;font-family:Bahnschrift,sans-serif;font-size:11px;font-weight:700;display:grid}.sidebar-footer strong{font-size:12px}.sidebar-footer div span{color:#83929b;margin-top:2px;font-size:10px}.sidebar-footer button,.sidebar-footer a{color:#9ba7ae;background:0 0;border:0;place-items:center;width:28px;height:28px;text-decoration:none;display:grid}.workspace{min-height:100vh;margin-left:244px}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:24px;height:76px;padding:0 32px;display:flex;position:sticky;top:0}.global-search{border:1px solid var(--line);background:#f8f9fa;border-radius:4px;align-items:center;gap:10px;width:min(520px,50vw);height:38px;padding:0 11px;transition:border-color .14s,box-shadow .14s;display:flex}.global-search:focus-within{border-color:#75a9cf;box-shadow:0 0 0 3px #1769aa1a}.global-search>span{color:#76838c;font-size:22px;line-height:1;transform:rotate(-20deg)}.global-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.global-search input::placeholder{color:#8a949b}.global-search kbd{color:#7a858d;background:#fff;border:1px solid #d9dee2;border-radius:3px;place-items:center;width:22px;height:22px;font-family:Bahnschrift,sans-serif;font-size:11px;display:grid;box-shadow:0 1px #d9dee2}.topbar-actions{align-items:center;gap:12px;display:flex}.environment{color:#78838b;font-size:11px}.notification{border:1px solid var(--line);color:#596873;background:#fff;border-radius:4px;flex:none;place-items:center;width:36px;height:36px;text-decoration:none;display:grid;position:relative}.notification:before{display:none}.notification span{z-index:1;background:var(--red);color:#fff;border-radius:50%;place-items:center;min-width:17px;height:17px;padding:0 3px;font-size:9px;display:grid;position:absolute;top:-5px;right:-5px}.primary-button{background:var(--blue);color:#fff;border:1px solid #125a92;border-radius:4px;align-items:center;gap:6px;height:38px;padding:0 15px;font-size:13px;font-weight:600;display:flex;box-shadow:0 1px 2px #0c375626}.primary-button:hover{background:#125f99}.primary-button span{font-size:18px;font-weight:400}.primary-button svg{color:#fff;flex:none}.primary-button-label{display:inline}.mobile-menu,.mobile-nav{display:none}.mobile-nav a,.mobile-nav button{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:flex}main{width:min(1420px,100%);margin:0 auto;padding:30px 32px 48px}.page-heading{justify-content:space-between;align-items:flex-end;min-height:86px;margin-bottom:24px;display:flex}.eyebrow{color:#78838b;margin:0 0 7px;font-size:11px;font-weight:600}.page-heading h1{color:#14212a;margin:0;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:30px;font-weight:650;line-height:1.25}.page-heading>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.lab-status{border-left:2px solid var(--green);color:#2e4738;background:#fff;grid-template-columns:8px auto;align-items:center;column-gap:8px;padding:10px 13px;font-size:12px;font-weight:600;display:grid}.lab-status small{color:#77817b;grid-column:2;margin-top:2px;font-size:10px;font-weight:400}.status-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%}.metrics{border:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(4,1fr);margin-bottom:26px;display:grid}.metric{min-width:0;min-height:106px;padding:20px 22px}.metric+.metric{border-left:1px solid var(--line)}.metric>span{color:var(--muted);font-size:11px;font-weight:600;display:block}.metric strong{margin-top:6px;font-family:Bahnschrift,sans-serif;font-size:30px;font-weight:600;line-height:1;display:inline-block}.metric small{color:#7a858d;margin-left:10px;font-size:10px}.metric small.critical{color:var(--red)}.metric small.warning{color:var(--orange)}.dashboard-notice{border:1px solid #cddbe4;border-left:3px solid var(--blue);color:#526570;background:#f5f9fb;border-radius:4px;align-items:center;gap:9px;min-height:42px;margin:-10px 0 20px;padding:9px 13px;font-size:10px;line-height:1.5;display:flex}.dashboard-notice.error{border-color:#e7c9c6;border-left-color:var(--red);color:#8f443d;background:#fff7f6}.dashboard-notice>span{flex:1;min-width:0}.dashboard-notice a,.dashboard-notice button{min-height:28px;color:var(--blue);white-space:nowrap;background:0 0;border:1px solid;border-radius:3px;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.dashboard-notice.error button{color:var(--red)}.dashboard-grid{grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:24px;display:grid}.main-column,.context-column{gap:24px;min-width:0;display:grid}.work-section{border:1px solid var(--line);background:var(--paper);border-radius:5px;overflow:hidden}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:14px 18px;display:flex}.section-header h2{margin:0;font-size:15px;font-weight:650}.section-header p{color:#849098;margin:4px 0 0;font-size:10px}.section-header>button,.dashboard-link,.text-link{color:var(--blue);background:0 0;border:0;font-size:11px;font-weight:600;text-decoration:none}.section-actions{align-items:center;gap:12px;display:flex}.section-total{color:#8b959c;white-space:nowrap;font-family:Bahnschrift,sans-serif;font-size:9px}.dashboard-link,.text-link{justify-content:center;align-items:center;display:inline-flex}.filter-row{border-bottom:1px solid var(--line-soft);align-items:end;gap:18px;min-height:45px;padding:0 18px;display:flex}.filter-row button{color:#717c84;background:0 0;border:0;height:45px;padding:0 2px;font-size:11px;position:relative}.filter-row button.selected{color:var(--blue);font-weight:650}.filter-row button.selected:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.todo-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:72px;color:inherit;text-align:left;background:#fff;grid-template-columns:48px minmax(220px,1fr) 132px 88px 12px;align-items:center;gap:14px;padding:11px 18px;text-decoration:none;transition:background .12s;display:grid}.todo-row:last-child,.project-row:last-child{border-bottom:0}.todo-row:hover,.project-row:hover,.alert-row:hover,.timeline-item:hover{background:#f8fafb}.todo-row:focus-visible,.project-row:focus-visible,.alert-row:focus-visible,.timeline-item:focus-visible,.action-list a:focus-visible,.dashboard-link:focus-visible,.text-link:focus-visible{z-index:2;outline:2px solid var(--blue);outline-offset:-2px;position:relative}.type-chip{color:#58666f;background:#eef1f3;border-radius:3px;place-items:center;width:42px;height:24px;font-size:10px;font-weight:650;display:grid}.type-chip.审批,.type-chip.验收{background:var(--blue-soft);color:var(--blue)}.type-chip.任务{background:var(--green-soft);color:var(--green)}.type-chip.归还{background:var(--orange-soft);color:var(--orange)}.type-chip.付款{color:#76518f;background:#f2edf8}.todo-content{flex-direction:column;min-width:0;display:flex}.todo-content strong,.todo-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.todo-content strong{font-size:12px;font-weight:650}.todo-content small{color:#7d8991;margin-top:5px;font-size:10px}.todo-code{color:#8a949b;font-family:Bahnschrift,Consolas,monospace;font-size:9px}.due{color:#67737b;justify-self:end;font-size:10px}.due.urgent{color:var(--red);font-weight:650}.due.warning{color:var(--orange)}.row-arrow{color:#99a2a8;font-size:19px}.empty-state{color:#748089;flex-direction:column;justify-content:center;align-items:center;min-height:210px;display:flex}.empty-state strong{font-size:13px}.empty-state span{margin-top:7px;font-size:10px}.project-head,.project-row{grid-template-columns:minmax(150px,1.35fr) .85fr .65fr 1fr .7fr;align-items:center;gap:14px;padding:0 18px;display:grid}.project-head{border-bottom:1px solid var(--line-soft);color:#7a858d;background:#f7f8f9;min-height:38px;font-size:9px;font-weight:600}.project-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:58px;color:inherit;text-align:left;background:#fff;text-decoration:none}.project-row>strong,.project-row>span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.project-row>strong{font-size:11px;font-weight:650}.progress-cell{align-items:center;gap:8px;font-family:Bahnschrift,sans-serif;display:flex}.progress-cell i{background:#e6e9eb;width:62px;height:4px;display:block;overflow:hidden}.progress-cell b{background:var(--blue);height:100%;display:block}.project-row em{white-space:nowrap;border-radius:3px;justify-self:start;padding:4px 7px;font-size:9px;font-style:normal}.project-row em.risk{background:var(--red-soft);color:var(--red)}.project-row em.ok{background:var(--green-soft);color:var(--green)}.project-row em.pending{background:var(--orange-soft);color:var(--orange)}.section-header.compact{min-height:66px}.count-badge{background:var(--orange-soft);width:23px;height:23px;color:var(--orange);border-radius:50%;place-items:center;font-family:Bahnschrift,sans-serif;font-size:10px;font-weight:700;display:grid}.alert-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:67px;color:inherit;text-align:left;background:#fff;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;display:grid}.alert-mark{border-radius:50%;place-items:center;width:26px;height:26px;font-family:Georgia,serif;font-size:12px;font-weight:700;display:grid}.alert-mark.danger{background:var(--red-soft);color:var(--red)}.alert-mark.warning{background:var(--orange-soft);color:var(--orange)}.alert-mark.neutral{background:var(--blue-soft);color:var(--blue)}.alert-row>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.alert-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.alert-row small{color:#7f8a91;margin-top:4px;font-size:9px}.alert-row em{color:#8b959b;font-size:9px;font-style:normal}.alerts-section .text-link,.activity-section .text-link{width:100%;min-height:42px}.compact-empty{color:#829099;text-align:center;place-items:center;min-height:78px;padding:16px;font-size:10px;display:grid}.timeline{padding:12px 16px 4px}.timeline-item{color:inherit;grid-template-columns:8px 32px 1fr;gap:9px;padding:7px 0 17px;text-decoration:none;transition:background .12s;display:grid;position:relative}.timeline-item:not(:last-child):after{content:"";background:#d9dfe2;width:1px;position:absolute;top:18px;bottom:-5px;left:3px}.timeline-dot{z-index:1;background:#6f8390;border:2px solid #fff;border-radius:50%;width:7px;height:7px;margin-top:4px;position:relative;box-shadow:0 0 0 1px #9eabb3}.timeline time{color:#849098;font-family:Bahnschrift,sans-serif;font-size:9px}.timeline-item div{min-width:0}.timeline-item strong{font-size:10px;font-weight:650;display:block}.timeline-item p{color:#727e86;margin:4px 0 0;font-size:9px;line-height:1.65}.dialog-backdrop{z-index:100;background:#0e161c75;place-items:center;padding:20px;animation:.13s ease-out fade-in;display:grid;position:fixed;inset:0}.action-dialog{background:#fff;border:1px solid #cfd5d9;border-radius:6px;width:min(430px,100%);animation:.18s ease-out dialog-in;overflow:hidden;box-shadow:0 18px 60px #0f1c243b}.dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.dialog-heading p{color:#7c878e;margin:0 0 5px;font-size:10px}.dialog-heading h2{margin:0;font-size:17px}.dialog-heading button{border:1px solid var(--line);color:#6b777f;background:#fff;border-radius:3px;width:30px;height:30px;font-size:20px;line-height:1}.action-list{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.action-list a{min-height:94px;color:inherit;text-align:left;background:#fff;border:0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:15px;text-decoration:none;display:grid}.action-list a:hover{background:#f6f9fb}.action-list span{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:4px;place-items:center;display:grid}.action-list div{flex-direction:column;min-width:0;display:flex}.action-list strong{font-size:12px}.action-list small{color:#7f8b93;margin-top:4px;font-size:9px}.action-list>a>svg{color:var(--blue)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1080px){.environment{display:none}.dashboard-grid{grid-template-columns:1fr}.context-column{grid-template-columns:1fr 1fr}}@media (max-width:820px){.sidebar{display:none}.workspace{margin-left:0}.topbar{gap:12px;height:64px;padding:0 16px}.mobile-menu{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;display:flex}.mobile-menu span{background:#43515b;width:14px;height:1px}.mobile-nav{z-index:19;border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;padding:1px;display:grid;position:fixed;top:64px;left:0;right:0;box-shadow:0 12px 25px #1c28301f}.mobile-nav button{text-align:left;background:#fff;border:0;min-height:44px;padding:0 16px;font-size:11px}.global-search{flex:1;width:auto}.global-search kbd,.notification{display:none}main{padding:22px 16px 36px}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line)}.todo-row{grid-template-columns:46px 1fr auto}.todo-code,.row-arrow{display:none}}@media (max-width:600px){.global-search{height:36px}.global-search input::placeholder{color:#0000}.primary-button{color:#0000;justify-content:center;gap:0;width:36px;padding:0;overflow:hidden}.primary-button span{color:#fff}.primary-button-label{display:none}.page-heading{align-items:flex-start;min-height:0}.page-heading h1{font-size:26px}.lab-status{padding:8px 9px;font-size:10px}.lab-status small{display:none}.metrics{margin-bottom:18px}.dashboard-notice{align-items:flex-start;margin-top:-5px}.dashboard-notice a,.dashboard-notice button{flex:none}.metric{min-height:92px;padding:16px}.metric strong{font-size:27px}.metric small{margin:6px 0 0;display:block}.dashboard-grid,.main-column,.context-column{gap:16px}.context-column{grid-template-columns:1fr}.section-header{min-height:65px;padding:12px 14px}.section-total{display:none}.filter-row{gap:14px;padding:0 14px;overflow-x:auto}.todo-row{grid-template-columns:43px minmax(0,1fr);gap:10px;min-height:78px;padding:12px 14px}.todo-row .due{grid-column:2;justify-self:start;margin-top:-2px}.project-table{overflow-x:auto}.project-head,.project-row{min-width:700px}.action-list{grid-template-columns:1fr}}.assets-page{gap:22px;display:grid}.assets-heading{margin-bottom:0}.asset-summary{border-left:2px solid var(--blue);color:#75818a;background:#fff;align-items:center;gap:20px;padding:11px 14px;font-size:10px;display:flex}.asset-summary span{align-items:baseline;gap:7px;display:flex}.asset-summary strong{color:var(--ink);font-family:Bahnschrift,sans-serif;font-size:18px;font-weight:600}.asset-summary strong.critical{color:var(--red)}.asset-toolbar{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:57px;padding:0 15px;display:flex}.asset-tabs{align-items:stretch;gap:22px;height:57px;display:flex}.asset-tabs button{color:#7b878f;background:0 0;border:0;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex;position:relative}.asset-tabs button.active{color:var(--blue)}.asset-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.asset-tabs button span{color:#7a858c;background:#eff2f4;border-radius:10px;place-items:center;min-width:19px;height:18px;font-family:Bahnschrift,sans-serif;font-size:9px;display:grid}.asset-tabs button.active span{background:var(--blue-soft);color:var(--blue)}.toolbar-actions{align-items:center;gap:8px;display:flex}.secondary-button{border:1px solid var(--line);color:#53616a;background:#fff;border-radius:4px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.secondary-button:hover{background:#f8fafb;border-color:#afc0cb}.resource-panel{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden}.resource-panel-head h2{margin:0;font-size:15px;font-weight:650}.asset-filter-row{border:0;align-items:center;gap:12px;min-height:34px;padding:0}.asset-filter-row button{height:34px;font-size:10px}.asset-filter-row button.selected:after{bottom:0}.table-wrap{overflow-x:auto}.resource-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:980px}.resource-table th,.resource-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;height:64px;padding:0 13px}.resource-table th{color:#7b878f;background:#f7f8f9;height:39px;font-size:9px;font-weight:600}.resource-table td{color:#53616a;font-size:10px}.resource-table tbody tr{transition:background .12s}.resource-table tbody tr:hover{background:#fafcfd}.fixed-asset-table th:first-child,.fixed-asset-table td:first-child{width:42px}.fixed-asset-table th:nth-child(2),.fixed-asset-table td:nth-child(2){width:24%}.fixed-asset-table th:nth-child(3),.fixed-asset-table td:nth-child(3){width:17%}.fixed-asset-table th:nth-child(4),.fixed-asset-table td:nth-child(4){width:12%}.fixed-asset-table th:nth-child(5),.fixed-asset-table td:nth-child(5){width:17%}.fixed-asset-table th:nth-child(6),.fixed-asset-table td:nth-child(6){width:9%}.fixed-asset-table th:nth-child(7),.fixed-asset-table td:nth-child(7){width:10%}.fixed-asset-table th:nth-child(8),.fixed-asset-table td:nth-child(8){width:42px}.inventory-table th:first-child,.inventory-table td:first-child{width:27%}.inventory-table th:nth-child(2),.inventory-table td:nth-child(2){width:16%}.inventory-table th:nth-child(3),.inventory-table td:nth-child(3),.inventory-table th:nth-child(4),.inventory-table td:nth-child(4){width:12%}.inventory-table th:nth-child(5),.inventory-table td:nth-child(5){width:19%}.inventory-table th:nth-child(6),.inventory-table td:nth-child(6){width:12%}.inventory-table th:nth-child(7),.inventory-table td:nth-child(7){width:42px}.check-cell{padding-left:14px!important;padding-right:0!important}.check-cell input,.asset-form-grid input[type=checkbox]{accent-color:var(--blue)}.resource-name{align-items:center;gap:10px;min-width:0;display:flex}.resource-icon{width:30px;height:30px;color:var(--blue);background:#f1f8fc;border:1px solid #d9e9f3;border-radius:4px;flex:none;place-items:center;display:grid}.resource-icon.low{background:var(--orange-soft);color:var(--orange);border-color:#f7dbca}.resource-name>span:last-child,.holder{flex-direction:column;min-width:0;display:flex}.resource-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.resource-name small,.holder small{color:#87929a;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.holder small.critical{color:var(--red);font-weight:650}.resource-table code{color:#718089;font-family:Bahnschrift,Consolas,monospace;font-size:9px}.ownership{color:#56646d;font-size:10px}.status-pill{border-radius:3px;justify-content:center;min-width:42px;padding:4px 7px;font-size:9px;font-weight:650;display:inline-flex}.status-ok{background:var(--green-soft);color:var(--green)}.status-danger{background:var(--red-soft);color:var(--red)}.status-warn{background:var(--orange-soft);color:var(--orange)}.status-blue{background:var(--blue-soft);color:var(--blue)}.updated{color:#849098;font-size:9px}.icon-button{color:#869198;background:0 0;border:0;border-radius:3px;place-items:center;width:28px;height:28px;display:grid}.icon-button:hover{background:var(--blue-soft);color:var(--blue)}.panel-footer{color:#8a949b;justify-content:space-between;align-items:center;min-height:45px;padding:0 18px;font-size:9px;display:flex}.panel-footer button,.inventory-actions button{color:var(--blue);background:0 0;border:0;align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.table-empty{color:#7b878f;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:190px;display:flex}.table-empty strong{color:var(--ink);font-size:12px}.table-empty span{font-size:10px}.inventory-legend{color:#7b878f;align-items:center;gap:14px;font-size:10px;display:flex}.inventory-legend span{align-items:center;gap:5px;display:flex}.legend-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.legend-dot.danger{background:var(--orange)}.quantity{color:var(--green);font-family:Bahnschrift,sans-serif;font-size:14px;font-weight:600}.quantity.low{color:var(--orange)}.quantity small{color:#7d8991;font-family:inherit;font-size:9px;font-weight:400}.threshold{color:#7d8991;font-family:Bahnschrift,sans-serif;font-size:11px}.inventory-actions{align-items:center;gap:18px;min-height:51px;padding:0 18px;display:flex}.inventory-actions button{border:1px solid var(--line);background:#fff;border-radius:4px;height:32px;padding:0 10px}.inventory-actions button:hover{background:var(--blue-soft)}.asset-guidance{background:#f4f9fc;border:1px solid #d5e4ee;align-items:center;gap:13px;min-height:72px;padding:13px 16px;display:flex}.guidance-mark{width:32px;height:32px;color:var(--blue);background:#fff;border:1px solid #c7dfea;border-radius:4px;flex:none;place-items:center;display:grid}.asset-guidance>div:nth-child(2){min-width:0}.asset-guidance strong{color:#25516e;font-size:11px}.asset-guidance p{color:#6c818e;margin:4px 0 0;font-size:9px;line-height:1.5}.label-spec{color:var(--blue);white-space:nowrap;border:1px solid #c7dfea;border-radius:3px;margin-left:auto;padding:5px 8px;font-family:Bahnschrift,sans-serif;font-size:10px}.asset-dialog-backdrop{background:#0e161c91}.asset-detail-dialog{background:#fff;border:1px solid #cfd5d9;border-radius:6px;width:min(650px,100%);animation:.18s ease-out dialog-in;overflow:hidden;box-shadow:0 18px 60px #0f1c243b}.label-dialog-body{grid-template-columns:minmax(250px,1fr) 180px;align-items:center;gap:25px;padding:22px;display:grid}.asset-label{color:#17202a;background:#fff;border:1px dashed #9eabb3;width:40mm;min-width:151px;height:30mm;min-height:113px;padding:7px}.asset-label-top,.asset-label-code{justify-content:space-between;align-items:center;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;display:flex}.asset-label-top{border-bottom:1px solid #dfe3e7;padding-bottom:4px;font-size:8px}.asset-label-top strong{color:var(--blue);font-size:8px}.asset-label-body{justify-content:space-between;align-items:center;gap:6px;min-height:62px;padding:4px 0;display:flex}.asset-label-body>div{flex-direction:column;min-width:0;display:flex}.asset-label-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.asset-label-body span,.asset-label-body small{color:#596973;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7px;overflow:hidden}.asset-label-body small{color:#78858d}.asset-label-code{border-top:1px solid #dfe3e7;padding-top:4px;font-family:Bahnschrift,Consolas,monospace}.asset-label-code strong{font-size:8px}.asset-label-code span{color:#697780;font-size:7px}.label-meta{gap:13px;display:grid}.label-meta div{flex-direction:column;gap:4px;display:flex}.label-meta span{color:#87929a;font-size:9px}.label-meta strong{font-size:11px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}.dialog-actions .primary-button{height:34px}.form-dialog{width:min(650px,100%)}.form-dialog form{gap:20px;display:grid}.asset-form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:22px 20px 0;display:grid}.asset-form-grid label{color:#66737b;flex-direction:column;gap:6px;font-size:10px;font-weight:600;display:flex}.asset-form-grid input,.asset-form-grid select,.asset-form-grid textarea{border:1px solid var(--line);width:100%;height:36px;color:var(--ink);background:#fff;border-radius:4px;outline:0;padding:0 9px;font-size:11px;font-weight:400}.asset-form-grid textarea{resize:vertical;min-height:74px;padding:9px;line-height:1.5}.asset-form-grid.single-column{grid-template-columns:1fr}.asset-form-grid .full-field{grid-column:1/-1}.asset-form-grid input:focus,.asset-form-grid select:focus,.asset-form-grid textarea:focus{border-color:#75a9cf;box-shadow:0 0 0 3px #1769aa1a}.form-message{border-left:3px solid var(--red);background:var(--red-soft);color:var(--red);margin:0 20px;padding:9px 10px;font-size:10px}.dialog-actions button:disabled{cursor:wait;opacity:.62}.toast{z-index:120;min-height:40px;color:var(--green);background:#f3fbf5;border:1px solid #bbd9c7;border-radius:4px;align-items:center;gap:10px;padding:0 12px 0 14px;font-size:11px;animation:.18s ease-out dialog-in;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 28px #1a482b24}.asset-record-page{gap:17px;max-width:1180px;margin:0 auto;padding:24px 28px 40px;display:grid}.back-link{color:#60717c;align-items:center;gap:6px;width:fit-content;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--blue)}.asset-record-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:20px;display:flex}.asset-record-heading h1{letter-spacing:0;margin:6px 0 5px;font-size:26px}.asset-record-heading>div>p:last-child{color:#77848c;margin:0;font-size:11px}.record-heading-actions{align-items:center;gap:9px;display:flex}.record-status{align-items:center;min-width:54px;min-height:28px}.asset-record-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr);align-items:start;gap:17px;display:grid}.record-side-column{gap:17px;display:grid}.record-information .resource-panel-head,.label-panel .resource-panel-head,.record-history .resource-panel-head{min-height:68px}.record-fields{grid-template-columns:1fr 1fr;margin:0;display:grid}.record-fields div{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-height:82px;padding:16px 18px}.record-fields div:nth-child(2n){border-right:0}.record-fields dt{color:#849098;align-items:center;gap:6px;font-size:9px;display:flex}.record-fields dd{color:var(--ink);margin:9px 0 0;font-size:12px;font-weight:650}.record-label-wrap{background:#f7f8f9;place-items:center;min-height:162px;padding:20px;display:grid}.record-history ol{margin:0;padding:13px 18px 5px;list-style:none}.record-history li{grid-template-columns:8px 1fr;gap:10px;padding:7px 0 18px;display:grid;position:relative}.record-history li:not(:last-child):after{content:"";background:#d9dfe2;width:1px;position:absolute;top:18px;bottom:-5px;left:3px}.record-history li>div{min-width:0}.record-history li strong{font-size:10px}.record-history li p{color:#66757e;margin:4px 0;font-size:9px;line-height:1.5}.record-history li time{color:#909ba2;font-size:8px}.record-empty,.record-state{color:#7e8b93;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;font-size:10px;display:flex}.record-state{border:1px solid var(--line);background:#fff;min-height:360px}.record-state strong{color:var(--ink);font-size:13px}@media (max-width:820px){.asset-toolbar,.resource-panel-head{flex-direction:column;align-items:flex-start}.asset-toolbar{padding:0 14px 12px}.asset-tabs,.toolbar-actions{width:100%}.toolbar-actions .secondary-button{flex:1;justify-content:center}.resource-panel-head{gap:12px}.asset-filter-row{flex-direction:row;width:100%;overflow-x:auto}.asset-summary{justify-content:space-between;align-self:stretch}.label-dialog-body{grid-template-columns:1fr}.label-meta{grid-template-columns:1fr 1fr}.asset-record-page{padding:20px 16px 32px}.asset-record-grid{grid-template-columns:1fr}}@media (max-width:600px){.assets-heading{flex-direction:column;align-items:stretch}.asset-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:9px 10px;display:grid}.asset-summary span{white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:3px}.asset-summary strong{font-size:16px}.asset-guidance{align-items:flex-start}.label-spec{display:none}.asset-form-grid,.label-meta{grid-template-columns:1fr}.asset-form-grid .full-field{grid-column:auto}.asset-record-heading{flex-direction:column;align-items:flex-start}.record-heading-actions{justify-content:space-between;width:100%}.record-fields{grid-template-columns:1fr}.record-fields div,.record-fields div:nth-child(2n){border-right:0}.toast{justify-content:space-between;bottom:12px;left:12px;right:12px}}.auth-page{grid-template-columns:minmax(0,1fr) minmax(360px,470px);align-items:center;gap:clamp(36px,7vw,110px);max-width:1080px;min-height:calc(100vh - 154px);margin:0 auto;padding:48px 32px 72px;display:grid}.auth-intro{border-left:3px solid var(--blue);max-width:520px;padding-left:22px}.auth-intro h1{color:var(--ink);margin:0;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:34px;font-weight:650;line-height:1.2}.auth-intro>p:last-child{color:#6f7d86;max-width:440px;margin:14px 0 0;font-size:13px;line-height:1.8}.auth-panel{border:1px solid var(--line);border-top:3px solid var(--ink);background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 14px 36px #1c2b3414}.auth-panel-heading{border-bottom:1px solid var(--line-soft);align-items:center;gap:13px;padding:22px 22px 18px;display:flex}.auth-symbol{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border:1px solid #cfe0ea;border-radius:4px;flex:none;place-items:center;display:grid}.auth-panel-heading h2{color:var(--ink);margin:0;font-size:15px;font-weight:650}.auth-panel-heading p{color:#829099;margin:5px 0 0;font-size:10px}.auth-panel form{gap:16px;padding:22px;display:grid}.auth-panel form label{color:#65737c;gap:7px;font-size:10px;font-weight:600;display:grid}.auth-panel form input{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);background:#fafbfc;border-radius:4px;outline:0;padding:0 11px;font-size:12px}.auth-panel form input:focus{background:#fff;border-color:#75a9cf;box-shadow:0 0 0 3px #1769aa1a}.auth-panel .form-message{margin:18px 22px 0}.auth-panel form .form-message{margin:0}.auth-panel .primary-button{justify-content:center;width:100%}.auth-panel button:disabled{cursor:not-allowed;opacity:.58}.signed-in-panel{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:24px 22px;display:grid}.signed-in-panel>div{flex-direction:column;min-width:0;display:flex}.signed-in-panel>div span,.signed-in-panel small{color:#839099;font-size:9px}.signed-in-panel strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 4px;font-size:14px;overflow:hidden}.management-page{gap:22px;display:grid}.management-heading{min-height:94px;margin-bottom:0}.audit-filter{border:1px solid var(--line);color:#718089;background:#fff;border-radius:4px;align-items:center;gap:7px;height:36px;padding:0 10px;display:flex}.audit-filter select,.table-select{color:#53616a;background:0 0;border:0;outline:0;font-size:10px}.resource-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:13px 18px;display:flex}.resource-panel-head h2{color:var(--ink);margin:0;font-size:14px;font-weight:650}.resource-panel-head p{color:#829099;margin:5px 0 0;font-size:9px}.member-legend{color:#7b878f;align-items:center;gap:13px;font-size:9px;display:flex}.member-legend span{align-items:center;gap:5px;display:flex}.legend-dot.ok{background:var(--green)}.legend-dot.neutral{background:#a2abb1}.status-neutral{color:#68757d;background:#eef1f3}.member-table{min-width:1020px}.member-table th,.member-table td{white-space:nowrap}.member-table th:first-child,.member-table td:first-child{width:17%}.member-table th:nth-child(2),.member-table td:nth-child(2){width:10%}.member-table th:nth-child(3),.member-table td:nth-child(3){width:15%}.member-table th:nth-child(4),.member-table td:nth-child(4){width:12%}.member-table th:nth-child(5),.member-table td:nth-child(5){width:10%}.member-table th:nth-child(6),.member-table td:nth-child(6){width:8%}.member-table th:nth-child(7),.member-table td:nth-child(7){width:10%}.member-table th:nth-child(8),.member-table td:nth-child(8){width:14%}.member-ops{flex-wrap:nowrap}.member-avatar{color:#35647f;background:#f1f7fa;border:1px solid #d4e3ec;border-radius:4px;flex:none;place-items:center;width:30px;height:30px;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:11px;font-weight:700;display:grid}.table-select{border:1px solid var(--line);background:#fff;border-radius:3px;width:100%;height:30px;padding:0 7px}.table-select:focus{border-color:#75a9cf;box-shadow:0 0 0 2px #1769aa1a}.table-select:disabled{cursor:not-allowed;color:#8b969d;background:#f3f5f6}.member-action{border:1px solid var(--line);color:#5c6972;background:#fff;border-radius:3px;align-items:center;gap:5px;height:28px;padding:0 8px;font-size:9px;font-weight:600;display:inline-flex}.member-action:hover:not(:disabled){background:var(--red-soft);color:var(--red);border-color:#edc9c9}.member-action:disabled{cursor:not-allowed;opacity:.45}.management-message{margin-top:12px;margin-bottom:12px}.management-state{border-radius:5px;gap:11px}.state-link{color:#fff;width:auto;height:34px;margin-top:5px;text-decoration:none}.audit-table{min-width:940px}.audit-table th:first-child,.audit-table td:first-child{width:15%}.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:16%}.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:13%}.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:22%}.audit-table th:nth-child(5),.audit-table td:nth-child(5){width:34%}.audit-time{flex-direction:column;gap:4px;display:flex}.audit-time strong{color:#53616a;font-family:Bahnschrift,sans-serif;font-size:10px;font-weight:600}.audit-time small{color:#8a959c;font-family:Bahnschrift,sans-serif;font-size:9px}.audit-action{border-left:2px solid var(--blue);background:var(--blue-soft);color:var(--blue);padding:4px 7px;font-size:9px;font-weight:650;display:inline-flex}.audit-note{color:#5f6d75;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.55;display:block;overflow:hidden}@media (max-width:820px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:30px;min-height:calc(100vh - 108px);padding:34px 12px 54px}.management-heading{flex-direction:column;align-items:flex-start;gap:16px}.management-heading .asset-summary,.audit-filter{align-self:stretch}.audit-filter select{flex:1}}@media (max-width:600px){.auth-page{grid-template-columns:1fr;gap:26px;min-height:0;padding:22px 0 36px}.auth-intro{padding-left:15px}.auth-intro h1{font-size:27px}.auth-panel-heading,.signed-in-panel{padding-left:16px;padding-right:16px}.auth-panel form{padding:18px 16px}.auth-panel .form-message{margin-left:16px;margin-right:16px}.auth-panel form .form-message{margin:0}.auth-panel .primary-button,.state-link{color:#fff;width:100%}.signed-in-panel{grid-template-columns:40px minmax(0,1fr)}.signed-in-panel .secondary-button{grid-column:1/-1;justify-content:center}.management-heading .asset-summary{width:100%}.resource-panel-head{align-items:flex-start}.member-legend{padding-top:2px}.panel-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:10px 14px}}.project-page{gap:22px;display:grid}.project-heading{min-height:94px;margin-bottom:0}.project-toolbar{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:stretch;gap:20px;min-height:58px;padding:0 15px;display:flex}.project-tabs{align-items:stretch;gap:22px;display:flex}.project-tabs button{color:#748189;background:0 0;border:0;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex;position:relative}.project-tabs button.active{color:var(--blue)}.project-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.project-tabs button span{color:#718089;background:#eff2f4;border-radius:9px;place-items:center;min-width:19px;height:18px;font-family:Bahnschrift,sans-serif;font-size:9px;display:grid}.project-tabs button.active span{background:var(--blue-soft);color:var(--blue)}.project-filters{align-items:center;gap:8px;display:flex}.project-filters select,.task-transition select{border:1px solid var(--line);color:#596871;background:#fff;border-radius:3px;outline:0;height:32px;padding:0 28px 0 9px;font-size:10px}.project-filters select:focus,.task-transition select:focus{border-color:#75a9cf;box-shadow:0 0 0 2px #1769aa1a}.project-ledger-table{min-width:1080px}.project-ledger-table th,.project-ledger-table td{white-space:nowrap}.project-ledger-table th:last-child,.project-ledger-table td:last-child{text-align:right;width:120px}.project-ledger-table th:first-child,.project-ledger-table td:first-child{width:19%}.project-ledger-table th:nth-child(2),.project-ledger-table td:nth-child(2){width:14%}.project-ledger-table th:nth-child(3),.project-ledger-table td:nth-child(3){width:13%}.project-ledger-table th:nth-child(4),.project-ledger-table td:nth-child(4){width:15%}.project-ledger-table th:nth-child(5),.project-ledger-table td:nth-child(5){width:13%}.project-ledger-table th:nth-child(6),.project-ledger-table td:nth-child(6){width:17%}.project-ledger-table th:nth-child(7),.project-ledger-table td:nth-child(7){width:11%}.project-task-table{min-width:1180px}.project-task-table th,.project-task-table td{white-space:nowrap}.project-task-table th:last-child,.project-task-table td:last-child{width:150px}.project-task-table th:first-child,.project-task-table td:first-child{width:18%}.project-task-table th:nth-child(2),.project-task-table td:nth-child(2){width:14%}.project-task-table th:nth-child(3),.project-task-table td:nth-child(3){width:11%}.project-task-table th:nth-child(4),.project-task-table td:nth-child(4){width:12%}.project-task-table th:nth-child(5),.project-task-table td:nth-child(5){width:8%}.project-task-table th:nth-child(6),.project-task-table td:nth-child(6){width:20%}.project-task-table th:nth-child(7),.project-task-table td:nth-child(7){width:17%}.project-identity{flex-direction:column;gap:5px;min-width:0;display:flex}.project-identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.project-identity code{color:#86929a;font-family:Bahnschrift,Consolas,monospace;font-size:9px}.project-period,.task-due{color:#5e6d76;align-items:flex-start;gap:6px;font-size:9px;display:flex}.project-period svg,.task-due svg{color:#8b979e;flex:none;margin-top:1px}.project-period>span,.task-due>span{flex-direction:column;gap:4px;display:flex}.project-period small,.task-due small{color:#8b969d;font-size:8px}.task-due.overdue,.task-due.overdue small{color:var(--red);font-weight:650}.project-budget{color:#45545e;font-family:Bahnschrift,sans-serif;font-size:11px;font-weight:600}.project-progress{grid-template-columns:minmax(62px,1fr) auto;align-items:center;gap:5px 7px;display:grid}.project-progress>span{background:#e5e9eb;height:4px;overflow:hidden}.project-progress i{background:var(--green);height:100%;display:block}.project-progress strong{color:#475660;font-family:Bahnschrift,sans-serif;font-size:10px}.project-progress small{color:#8a959c;grid-column:1/-1;font-size:8px}.project-status-planning{background:var(--blue-soft);color:var(--blue)}.project-status-active{background:var(--green-soft);color:var(--green)}.project-status-paused{background:var(--orange-soft);color:var(--orange)}.project-status-completed{color:#346846;background:#eaf4ed}.project-status-archived{color:#67757e;background:#eef1f3}.blocked-signal{color:var(--red);margin-top:5px;font-size:8px;display:block}.task-priority{color:#66747d;background:#eef1f3;border-radius:3px;justify-content:center;min-width:34px;padding:4px 6px;font-size:9px;font-weight:650;display:inline-flex}.priority-high{background:var(--orange-soft);color:var(--orange)}.priority-urgent{background:var(--red-soft);color:var(--red)}.task-criteria{color:#607079;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.55;display:-webkit-box;overflow:hidden}.task-criteria.blocked{color:var(--red)}.task-transition{align-items:center;gap:6px;display:flex}.task-transition .status-pill{flex:none}.task-transition select{width:76px;height:28px;padding-left:7px}.task-ops{justify-content:flex-end;align-items:center;gap:5px;display:flex}.task-ops .secondary-button{white-space:nowrap;padding:4px 9px;font-size:11px}.task-ops .task-delete{color:var(--red)}.task-status-todo{color:#66757d;background:#eef1f3}.task-status-in_progress{background:var(--blue-soft);color:var(--blue)}.task-status-blocked{background:var(--red-soft);color:var(--red)}.task-status-submitted{background:var(--orange-soft);color:var(--orange)}.task-status-technical_approved{color:#5b752c;background:#eef3e7}.task-status-stability_approved{background:var(--green-soft);color:var(--green)}.project-form-dialog{width:min(760px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.project-member-field select{height:auto;min-height:88px;padding:5px}.transition-dialog{width:min(480px,100%)}.transition-route{color:#718089;background:#f5f9fb;border:1px solid #d9e5ec;justify-content:center;align-items:center;gap:12px;margin:20px 20px 0;padding:14px;font-size:10px;display:flex}.transition-route strong{color:var(--blue);font-size:11px}@media (max-width:820px){.project-heading{flex-direction:column;align-items:flex-start;gap:16px}.project-heading .asset-summary{align-self:stretch}}@media (max-width:600px){.project-toolbar{flex-direction:column;align-items:stretch;gap:0;padding:0 12px 12px}.project-tabs{height:54px}.project-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-filters select{width:100%;min-width:0}.project-filters select:only-child{grid-column:1/-1}.project-form-dialog{max-height:calc(100vh - 24px)}}.finance-page{gap:22px;display:grid}.finance-heading{min-height:94px;margin-bottom:0}.finance-tabs,.approval-toolbar{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:stretch;gap:20px;min-height:58px;padding:0 15px;display:flex}.finance-tabs{justify-content:flex-start;gap:24px}.finance-tabs button,.approval-tabs button{color:#748189;background:0 0;border:0;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex;position:relative}.finance-tabs button.active,.approval-tabs button.active{color:var(--blue)}.finance-tabs button.active:after,.approval-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.finance-tabs button span{color:#718089;background:#eff2f4;border-radius:9px;place-items:center;min-width:19px;height:18px;font-family:Bahnschrift,sans-serif;font-size:9px;display:grid}.finance-tabs button.active span{background:var(--blue-soft);color:var(--blue)}.finance-table{min-width:1040px}.purchase-table th:first-child,.purchase-table td:first-child{width:19%}.purchase-table th:nth-child(2),.purchase-table td:nth-child(2){width:15%}.purchase-table th:nth-child(3),.purchase-table td:nth-child(3){width:11%}.purchase-table th:nth-child(4),.purchase-table td:nth-child(4){width:18%}.purchase-table th:nth-child(5),.purchase-table td:nth-child(5){width:15%}.purchase-table th:nth-child(6),.purchase-table td:nth-child(6){width:10%}.purchase-table th:nth-child(7),.purchase-table td:nth-child(7){width:12%}.advance-table{min-width:960px}.advance-table th:first-child,.advance-table td:first-child{width:21%}.advance-table th:nth-child(2),.advance-table td:nth-child(2){width:16%}.advance-table th:nth-child(3),.advance-table td:nth-child(3),.advance-table th:nth-child(4),.advance-table td:nth-child(4){width:13%}.advance-table th:nth-child(5),.advance-table td:nth-child(5){width:14%}.advance-table th:nth-child(6),.advance-table td:nth-child(6){width:12%}.advance-table th:nth-child(7),.advance-table td:nth-child(7){width:11%}.reimbursement-table{min-width:1040px}.reimbursement-table th:first-child,.reimbursement-table td:first-child{width:16%}.reimbursement-table th:nth-child(2),.reimbursement-table td:nth-child(2){width:15%}.reimbursement-table th:nth-child(3),.reimbursement-table td:nth-child(3){width:13%}.reimbursement-table th:nth-child(4),.reimbursement-table td:nth-child(4){width:14%}.reimbursement-table th:nth-child(5),.reimbursement-table td:nth-child(5){width:17%}.reimbursement-table th:nth-child(6),.reimbursement-table td:nth-child(6){width:11%}.reimbursement-table th:nth-child(7),.reimbursement-table td:nth-child(7){width:14%}.finance-identity{flex-direction:column;gap:5px;min-width:0;display:flex}.finance-identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.finance-identity code{color:#86929a;font-family:Bahnschrift,Consolas,monospace;font-size:9px}.finance-money{color:#465760;font-family:Bahnschrift,sans-serif;font-size:12px;font-weight:600}.settlement-progress{flex-direction:column;gap:4px;display:flex}.settlement-progress strong{color:var(--green);font-family:Bahnschrift,sans-serif;font-size:11px}.settlement-progress small{color:#89949b;font-size:8px}.finance-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finance-actions button,.finance-command,.approval-actions button{border:1px solid var(--line);height:28px;color:var(--blue);background:#fff;border-radius:3px;align-items:center;gap:5px;padding:0 8px;font-size:9px;font-weight:600;display:inline-flex}.finance-actions button:hover,.finance-command:hover,.approval-actions button:hover{background:var(--blue-soft)}.finance-actions button.danger,.approval-actions button.danger{color:var(--red)}.finance-actions button.danger:hover,.approval-actions button.danger:hover{background:var(--red-soft);border-color:#edc9c9}.finance-command{background:#f3f9fc;border-color:#c8dce8}.finance-status-ok{background:var(--green-soft);color:var(--green)}.finance-status-warn{background:var(--orange-soft);color:var(--orange)}.finance-status-danger{background:var(--red-soft);color:var(--red)}.finance-status-neutral{color:#66757d;background:#eef1f3}.finance-dialog{width:min(760px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.check-field{align-items:flex-start;padding:7px 0;line-height:1.45;color:#66747d!important;flex-direction:row!important;gap:8px!important;display:flex!important}.check-field input{accent-color:var(--blue);margin-top:2px;width:auto!important;height:auto!important}.dialog-hint{border-left:2px solid var(--orange);background:var(--orange-soft);color:#95602f;grid-column:1/-1;margin:0;padding:10px;font-size:9px}.approval-tabs{align-items:stretch;gap:22px;display:flex}.approval-hint{color:#849098;align-items:center;gap:6px;font-size:9px;display:flex}.approval-table{min-width:1020px}.approval-table th:first-child,.approval-table td:first-child{width:15%}.approval-table th:nth-child(2),.approval-table td:nth-child(2){width:22%}.approval-table th:nth-child(3),.approval-table td:nth-child(3){width:14%}.approval-table th:nth-child(4),.approval-table td:nth-child(4){width:11%}.approval-table th:nth-child(5),.approval-table td:nth-child(5){width:13%}.approval-table th:nth-child(6),.approval-table td:nth-child(6){width:11%}.approval-table th:nth-child(7),.approval-table td:nth-child(7){width:14%}.approval-actions{flex-wrap:wrap;gap:5px;display:flex}.approval-note{color:#6b7982;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.notification-list{display:grid}.notification-row{border-bottom:1px solid var(--line-soft);background:#fff;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:13px 18px;display:grid}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:#f8fbfd}.notification-mark{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border:1px solid #d5e4ed;border-radius:4px;place-items:center;display:grid}.notification-row>div:nth-child(2){min-width:0}.notification-row strong{color:var(--ink);font-size:11px;font-weight:650}.notification-row p{color:#6c7a82;text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:9px;line-height:1.5;overflow:hidden}.notification-row small{color:#929da4;font-size:8px}.notification-row.read .notification-mark{color:#97a1a7;background:#f2f4f5;border-color:#e1e5e7}.notification-actions{align-items:center;gap:7px;display:flex}.notification-actions a,.notification-actions button{border:1px solid var(--line);min-width:28px;height:28px;color:var(--blue);background:#fff;border-radius:3px;place-items:center;padding:0 7px;font-size:9px;text-decoration:none;display:inline-grid}.notification-actions a:hover,.notification-actions button:hover{background:var(--blue-soft)}@media (max-width:820px){.finance-heading,.management-heading{flex-direction:column;align-items:flex-start;gap:16px}.finance-heading .asset-summary,.management-heading .asset-summary{align-self:stretch}.approval-toolbar{flex-direction:column;align-items:flex-start;gap:0;padding-bottom:12px}.approval-hint{padding-top:8px}}@media (max-width:600px){.finance-tabs{gap:15px;padding:0 12px;overflow-x:auto}.finance-tabs button{flex:none;font-size:10px}.approval-toolbar{min-height:54px;padding-left:12px;padding-right:12px}.approval-tabs{width:100%;height:50px}.approval-hint{display:none}.finance-dialog{max-height:calc(100vh - 24px)}.notification-row{grid-template-columns:30px minmax(0,1fr);padding:12px 14px}.notification-actions{grid-column:2}}@media print{@page{size:40mm 30mm;margin:0}html,body{background:#fff;margin:0;padding:0}body>:not(.print-root){display:none!important}.print-root{display:block!important}.print-root .asset-label{width:40mm;min-width:0;height:30mm;min-height:0;box-shadow:none;color:#000;background:#fff;border:0;border-radius:0;flex-direction:column;justify-content:space-between;margin:0;padding:2mm 2.5mm;display:flex}.print-root .asset-label *{box-shadow:none}.print-root .asset-label-top,.print-root .asset-label-code{justify-content:space-between;align-items:center;font-size:6.5pt;line-height:1.3;display:flex}.print-root .asset-label-top{border-bottom:.3mm solid #000;padding-bottom:1mm}.print-root .asset-label-top span{text-overflow:ellipsis;white-space:nowrap;max-width:24mm;font-weight:600;overflow:hidden}.print-root .asset-label-owner{border-bottom:.3mm solid #000;margin-top:.5mm;padding:0;font-size:7pt;font-weight:700}.print-root .asset-label-body{flex:1;justify-content:space-between;align-items:center;gap:1.5mm;min-height:0;padding:1mm 0;display:flex}.print-root .asset-label-body>div{flex-direction:column;flex:1;gap:.6mm;min-width:0;display:flex}.print-root .asset-label-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:8.5pt;font-weight:700;overflow:hidden}.print-root .asset-label-body span,.print-root .asset-label-body small{white-space:nowrap;font-size:6pt;overflow:hidden}.print-root .asset-label-body svg{flex:none;width:11mm;height:11mm}.print-root .asset-label-code{border-top:.3mm solid #000;padding-top:1mm;font-size:6pt}.print-root .asset-label-code strong{font-size:6.5pt}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.attachment-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.attachment-list li{border:1px solid var(--line);color:var(--blue);border-radius:3px;align-items:center;gap:8px;padding:8px 10px;display:flex}.attachment-meta{color:#33454f;flex-direction:column;flex:1;gap:2px;min-width:0;font-size:10px;display:flex}.attachment-meta strong{color:#1f2d35;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attachment-meta small{color:#849098;font-size:9px}.attachment-actions{align-items:center;gap:4px;display:flex}.attachment-actions button{border:1px solid var(--line);width:26px;height:26px;color:var(--blue);background:#fff;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.attachment-actions button:hover{background:var(--blue-soft)}.attachment-actions button:last-child{color:var(--red)}.attachment-actions button:last-child:hover{background:var(--red-soft);border-color:#edc9c9}.attachment-upload{border:1px dashed var(--line);border-radius:3px;align-items:center;margin-top:10px;padding:10px;font-size:10px;color:#66747d!important;flex-direction:row!important;gap:8px!important;display:flex!important}.attachment-upload input{flex:1}.attachment-upload svg{color:var(--blue)}.approval-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calibration-state{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.knowledge-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.knowledge-card{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;display:flex}.knowledge-card-main{text-align:left;flex-direction:column;flex:1;gap:6px;padding:12px;display:flex}.knowledge-category{background:var(--blue-soft);color:var(--blue);border-radius:2px;align-self:flex-start;padding:2px 6px;font-size:9px;font-weight:600}.knowledge-card h3{color:#1f2d35;font-size:12px}.knowledge-card p{color:#66747d;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:10px;line-height:1.6;display:-webkit-box;overflow:hidden}.knowledge-card-foot{border-top:1px solid var(--line);color:#849098;justify-content:space-between;align-items:center;gap:6px;padding:8px 12px;font-size:9px;display:flex}.knowledge-actions{align-items:center;gap:4px;display:flex}.knowledge-actions button{border:1px solid var(--line);width:24px;height:24px;color:var(--blue);background:#fff;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.knowledge-actions button:last-child{color:var(--red)}.knowledge-content{color:#33454f;white-space:pre-wrap;padding:4px 0 10px;font-size:11px;line-height:1.8}.org-table{min-width:900px}.club-summary{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.club-summary>span{border:1px solid var(--line);color:#66747d;background:#fff;border-radius:4px;align-items:center;gap:6px;padding:9px 14px;font-size:10px;display:inline-flex}.club-summary strong{color:#1f2d35;font-size:13px}.club-home-grid{gap:12px;display:grid}.club-member-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.club-member-card{border:1px solid var(--line);background:#fff;border-radius:3px;align-items:center;gap:8px;padding:8px 10px;display:flex}.club-activity-table{min-width:1000px}.checkin-layout{grid-template-columns:320px 1fr;align-items:start;gap:12px;display:grid}.checkin-hero{text-align:center;border:1px solid var(--line);color:#fff;background:linear-gradient(135deg,#1d4e70,#2b6a94);border-radius:4px;padding:22px 16px}.checkin-time{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.checkin-date{opacity:.82;margin-top:4px;font-size:10px}.checkin-btn{color:#1d4e70;cursor:pointer;background:#fff;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:116px;height:116px;margin:16px auto 0;font-size:16px;font-weight:700;transition:transform .15s;display:flex}.checkin-btn:hover:not(:disabled){transform:scale(1.04)}.checkin-btn:disabled{opacity:.72;cursor:default}.checkin-btn .sub{opacity:.78;font-size:9px;font-weight:400}.checkin-location{justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:10px;display:flex}.checkin-location input{color:#fff;background:#ffffff1f;border:1px solid #ffffff59;border-radius:3px;outline:none;width:170px;padding:4px 8px;font-size:10px}.checkin-today{border-left:2px solid var(--blue);background:var(--blue-soft);color:#33586e;margin-top:10px;padding:8px 10px;font-size:10px}@media (max-width:960px){.checkin-layout{grid-template-columns:1fr}}.duty-week-nav{align-items:center;gap:8px;display:flex}.duty-week-nav button{border:1px solid var(--line);color:var(--blue);background:#fff;border-radius:3px;padding:5px 10px;font-size:10px;font-weight:600}.duty-week-nav strong{color:#33454f;font-size:11px}.duty-table{min-width:980px}.duty-slot{color:#33454f;white-space:nowrap;background:#f4f8fa;font-size:10px;font-weight:600}.duty-cell{vertical-align:top;min-width:96px}.duty-person{background:var(--blue-soft);color:var(--blue);border-radius:3px;align-items:center;gap:4px;margin:2px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.duty-person button{color:var(--red);align-items:center;display:inline-flex}.duty-add{border:1px dashed var(--line);color:#849098;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;margin:2px;display:inline-flex}.duty-add:hover{border-color:var(--blue);color:var(--blue)}.member-heading-tools{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.member-sub{color:#849098;font-size:9px;display:block}.import-result{border-left:2px solid var(--green,#10b981);color:#1f6f4f;background:#ecfdf5;flex-direction:column;gap:4px;padding:10px;font-size:10px;display:flex}.import-result ul{margin:4px 0 0;padding-left:16px}.import-result li{font-size:9px}.path-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.path-card{flex-direction:column;gap:8px;display:flex}.path-goal{color:#66747d;margin:0;font-size:10px;line-height:1.6}.path-stages{counter-reset:stage;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.path-stages li{border:1px solid var(--line);color:#849098;border-radius:3px;align-items:center;gap:7px;padding:5px 8px;font-size:10px;display:flex}.path-stages li:before{counter-increment:stage;content:counter(stage);background:#eef2f5;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:inline-flex}.path-stages li.current{background:var(--blue-soft);color:#1f2d35;border-color:#c8dce8}.path-stages li.current:before{background:var(--blue);color:#fff}.path-stages li.done{color:#1f7a55}.path-stages li.done:before{color:#fff;content:"✓";background:#10b981}.path-progress{background:#eef2f5;border-radius:3px;height:5px;overflow:hidden}.path-progress .progress-bar{background:var(--blue);border-radius:3px;height:100%;transition:width .3s}.mentor-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.mentor-actions{align-items:center;gap:5px;display:flex}.mentor-actions .primary-button,.mentor-actions .secondary-button{padding:4px 9px;font-size:9px}@media (max-width:960px){.mentor-grid{grid-template-columns:1fr}}.login-screen{background:#0d1b26;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{z-index:0;background:url(/login-bg.jpg) 50%/cover no-repeat;animation:24s ease-in-out infinite alternate lp-bg-zoom;position:absolute;inset:0}@keyframes lp-bg-zoom{0%{transform:scale(1)}to{transform:scale(1.07)}}.login-screen:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(120deg,#060e14d1 20%,#060e144d 58%,#08141e99);animation:1s both lp-fade;position:absolute;inset:0}.login-screen.lp-right{justify-content:flex-end;padding-right:clamp(24px,8vw,130px)}.lp-brand{z-index:2;color:#fff;align-items:center;gap:12px;animation:.7s both lp-down;display:flex;position:absolute;top:32px;left:clamp(24px,6vw,72px)}.lp-mark{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#3b8cff,#145f9e);border-radius:12px;place-items:center;width:46px;height:46px;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:16px;font-weight:700;display:grid;box-shadow:0 6px 20px #2b7fff73}.lp-brand strong{letter-spacing:1px;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:17px;font-weight:650;display:block}.lp-brand span{color:#fff9;letter-spacing:3px;margin-top:2px;font-size:10px;display:block}.lp-statement{z-index:2;color:#fff;letter-spacing:3px;text-shadow:0 2px 20px #00000080;pointer-events:none;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:clamp(30px,3.6vw,46px);font-weight:650;line-height:1.4;animation:.9s .15s both lp-up;position:absolute;top:44%;left:clamp(24px,6vw,72px);transform:translateY(-50%)}.lp-statement small{color:#ffffff8c;letter-spacing:5px;margin-top:16px;font-size:11px;font-weight:400;display:block}.lp-card{z-index:2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#09141e99;border:1px solid #ffffff24;border-radius:16px;width:min(400px,100vw - 48px);padding:30px 28px 26px;animation:.85s .25s both lp-up;position:relative;box-shadow:0 30px 80px #00000080}.lp-card h1{color:#fff;margin:0;font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:23px;font-weight:650}.lp-sub{color:#ffffff8c;margin:6px 0 0;font-size:12px}.lp-seg{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 16px;display:grid}.lp-seg button{color:#ffffffad;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:9px;padding:11px 12px;transition:border-color .15s,background .15s,color .15s;display:flex}.lp-seg button.selected{border-color:var(--blue);color:#fff;background:#1769aa47}.lp-seg button svg{flex:none}.lp-seg strong{color:inherit;font-size:13px;font-weight:600;display:block}.lp-seg small{opacity:.65;margin-top:2px;font-size:10px;display:block}form{margin:0}.lp-field{gap:6px;margin-bottom:14px;display:grid}.lp-field>span{color:#ffffffb8;font-size:12px}.lp-field input{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:9px;height:44px;padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.lp-field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1769aa47}.lp-field input::placeholder{color:#ffffff52}.lp-captcha{align-items:stretch;gap:8px;display:flex}.lp-captcha input{flex:1;min-width:0}.lp-captcha-img{cursor:pointer;background:#eef2f5;border:1px solid #ffffff29;border-radius:9px;width:116px;padding:0;line-height:0;transition:border-color .15s;overflow:hidden}.lp-captcha-img:hover{border-color:var(--blue)}.lp-captcha-img svg{width:100%;height:42px;display:block}.lp-error{color:#ffb4b4;background:#b5363633;border:1px solid #b5363673;border-radius:8px;margin:0 0 12px;padding:9px 12px;font-size:12px}.lp-submit{color:#fff;letter-spacing:1px;cursor:pointer;background:linear-gradient(135deg,#2b7fff,#145f9e);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:46px;font-size:14px;font-weight:600;transition:box-shadow .15s,transform .15s,opacity .15s;display:flex}.lp-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 28px #2b7fff73}.lp-submit:disabled{opacity:.55;cursor:not-allowed}.lp-alt{justify-content:flex-end;margin-top:14px;display:flex}.lp-alt button{color:#fff9;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.lp-alt button:hover{color:#fff}.lp-footer{z-index:2;color:#ffffff73;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;font-size:11px;animation:1s .45s both lp-fade;display:flex;position:absolute;bottom:20px;left:clamp(24px,6vw,72px);right:clamp(24px,6vw,72px)}.login-screen .auth-panel{z-index:2;background:#fffffff0;border-top:0;width:min(430px,100vw - 48px);position:relative;box-shadow:0 24px 60px #00000073}.login-screen .login-fields{gap:14px;padding:22px;display:grid}.login-screen .login-session{gap:12px;padding:22px;display:grid}.login-screen .identity-tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.login-screen .identity-tabs button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:9px;padding:11px 12px;display:flex}.login-screen .identity-tabs button.selected{border-color:var(--blue);background:var(--blue-soft)}.login-screen .identity-tabs strong{color:var(--ink);font-size:13px;display:block}.login-screen .identity-tabs small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.login-screen .auth-panel .login-fields .primary-button{justify-content:center}@keyframes lp-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes lp-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.login-bg,.lp-brand,.lp-statement,.lp-card,.lp-footer,.login-screen:before{animation:none}}.auth-gate{background:var(--canvas);min-height:100vh;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:10px;font-size:13px;display:grid}.auth-gate strong{color:var(--ink);font-family:Bahnschrift,Microsoft YaHei UI,sans-serif;font-size:18px}.member-ops{align-items:center;gap:6px;display:inline-flex}.perm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.perm-item{border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.perm-item:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.perm-item input{accent-color:var(--blue)}@media (max-width:720px){.perm-grid{grid-template-columns:1fr 1fr}}.account-dialog{border:1px solid var(--line);border-top:3px solid var(--ink);background:#fff;border-radius:5px;width:min(420px,100vw - 40px);box-shadow:0 18px 44px #1c2b3438}.account-dialog-body{gap:8px;padding:18px 22px 22px;display:grid}.account-dialog-meta{color:var(--muted);margin-bottom:4px;font-size:12px}.account-dialog-body a,.account-dialog-body button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.account-dialog-body a:hover{border-color:var(--blue);background:var(--blue-soft)}.account-dialog-body button{color:var(--red)}.account-dialog-body button:hover{border-color:var(--red);background:var(--red-soft)}.account-dialog-section{border-top:1px solid var(--line-soft);gap:6px;padding-top:12px;display:grid}.account-dialog-label{color:var(--muted);margin:0;font-size:11px}.module-toggle{border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.module-toggle:hover{border-color:var(--blue)}.module-toggle input{display:none}.module-switch{background:#c6cfd5;border-radius:9px;flex:none;width:30px;height:17px;transition:background .15s;position:relative}.module-switch:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.module-toggle input:checked+.module-switch{background:var(--blue)}.module-toggle input:checked+.module-switch:after{left:15px}.invite-dialog{width:min(640px,100vw - 40px)}.invite-dialog .single-field{gap:6px;display:grid}.invite-candidates{gap:6px;max-height:300px;padding:2px;display:grid;overflow-y:auto}.invite-candidate{border:1px solid var(--line);cursor:pointer;border-radius:5px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.invite-candidate:hover{border-color:var(--blue)}.invite-candidate.selected{border-color:var(--blue);background:var(--blue-soft)}.invite-candidate input{accent-color:var(--blue)}.invite-candidate-name{color:var(--ink);flex:none;font-size:13px;font-weight:550}.invite-candidate small{color:var(--muted);font-size:11px}.checkin-locate{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:10px auto 0;padding:6px 14px;font-size:11px;transition:background .15s;display:flex}.checkin-locate:hover:not(:disabled){background:#ffffff38}.checkin-locate:disabled{opacity:.7;cursor:wait}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.batch-bar{border:1px solid var(--blue);background:var(--blue-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;font-size:12px;display:flex}.batch-bar strong{color:var(--blue)}.batch-bar label{color:var(--ink);align-items:center;gap:5px;display:inline-flex}.batch-bar select{height:28px}.batch-workspaces{align-items:center;gap:8px;display:inline-flex}.workspace-checks{align-items:center;gap:10px;display:inline-flex}.workspace-check{color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.workspace-check input{accent-color:var(--blue)}.check-cell{width:34px}.member-delete{color:var(--red)}.member-delete:hover{border-color:var(--red)}.asset-label-owner{color:#17202a;border-bottom:1px solid #d7dee3;padding:2px 0 1px;font-size:8px;font-weight:600}.hall-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.hall-card .hall-detail{color:#5c6972;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.hall-task-meta{align-items:center;gap:12px;margin-bottom:10px;display:flex}.hall-points strong{color:var(--orange);font-size:15px}.login-particles{z-index:2;pointer-events:none;position:absolute;inset:0}.workspace-denied{min-height:40vh;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}@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-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}
