/*! tailwindcss v4.3.3 | 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,::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-outline-style:solid;--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}}}@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;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.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}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}:root{--bg:#f5f7fb;--surface:#ffffffe6;--surface-solid:#fff;--surface-soft:#f8fafc;--surface-hover:#f1f5f9;--line:#e6eaf0;--line-strong:#d8dee9;--text:#18202a;--muted:#687386;--subtle:#8b96a8;--brand:#4f5ed7;--brand-strong:#4352c8;--brand-2:#6b78e8;--brand-soft:#eef0ff;--calendar-week:#2563eb;--calendar-week-fill-strong:#2563eb2e;--teal:#0f8d84;--teal-soft:#e8f7f4;--amber:#c67a10;--amber-soft:#fff7e8;--rose:#d64d6a;--rose-soft:#fff0f3;--shadow-sm:0 1px 2px #141f320a;--shadow-md:0 12px 30px #141f3214;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scrollbar-gutter:stable;background:var(--bg);min-width:320px;min-height:100%;overflow-y:scroll}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,a{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:inherit;touch-action:manipulation;text-decoration:none}svg{display:block}.app-initializing{background:var(--bg);place-items:center;min-height:100vh;display:grid;overflow:hidden}.app-initializing__indicator{opacity:0;place-items:center;width:54px;height:54px;animation:.18s .12s forwards app-initializing-reveal;display:grid;position:relative}.app-initializing__mark{z-index:1;color:#fff;background:linear-gradient(145deg,#3f4fc5,#7582ed);border-radius:11px;place-items:center;width:42px;height:42px;display:grid;position:relative;box-shadow:0 8px 20px #4f5ed733}.app-initializing__pulse{border:1px solid #4f5ed747;border-radius:14px;animation:1.2s ease-out .3s both app-initializing-pulse;position:absolute;inset:0}@keyframes app-initializing-reveal{to{opacity:1}}@keyframes app-initializing-pulse{0%{opacity:.7;transform:scale(.82)}75%,to{opacity:0;transform:scale(1.18)}}.app-shell{background:var(--bg);min-height:100vh}.sidebar{z-index:30;width:250px;color:var(--text);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;flex-direction:column;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:3px 8px 17px;display:flex}.brand__mark{color:#fff;background:linear-gradient(145deg,#3f4fc5,#7582ed);border-radius:11px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 8px 20px #4f5ed73d}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{color:var(--subtle);margin-top:3px;font-size:12px}.navigation{gap:3px;padding:8px 0;display:grid}.navigation__item{min-height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:0 11px;transition:color .16s,background .16s,transform .16s;display:flex}.navigation__item:hover{color:var(--text);background:var(--surface-hover);transform:translate(1px)}.navigation__item.router-link-exact-active,.navigation__item--active{color:var(--brand);background:var(--brand-soft);font-weight:650}.sidebar__footer{color:var(--subtle);border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding:14px 9px 4px;font-size:11px;display:flex}.status-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #0f8d841f}.workspace{min-height:100vh;margin-left:250px}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5f7fbdb;border-bottom:1px solid #e6eaf0c7;align-items:center;gap:14px;min-height:68px;padding:0 26px;display:flex;position:sticky;top:0}.topbar__title h1,.topbar__title p{margin:0}.topbar__title h1{color:var(--text);font-size:19px;font-weight:700}.topbar__title p{color:var(--muted);margin-top:4px;font-size:12px}.topbar__account-actions{justify-content:flex-end;align-items:center;gap:10px;width:230px;min-width:230px;margin-left:auto;display:flex}.current-user{min-width:0;color:var(--muted);align-items:center;gap:9px;display:flex}.current-user span,.current-user strong,.current-user small{display:block}.current-user strong{max-width:140px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.current-user small{color:var(--subtle);margin-top:3px;font-size:12px}.icon-button{width:44px;height:44px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:10px;flex:0 0 44px;place-items:center;padding:0;transition:color .16s,background .16s,border-color .16s,transform .16s;display:grid}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover);border-color:var(--line-strong);transform:translateY(-1px)}.logout-button:hover:not(:disabled){color:var(--rose);background:var(--rose-soft);border-color:#d64d6a38}.topbar__menu,.sidebar__close{display:none}.page-content{width:min(1540px,100%);margin:0 auto;padding:26px}.workspace-view-frame{min-width:0;min-height:calc(100vh - 120px)}.page-loading-skeleton{gap:14px;min-height:520px;animation:.16s ease-out .1s both page-loading-reveal;display:grid}.page-loading-skeleton__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.page-loading-skeleton__toolbar,.page-loading-skeleton__body{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.page-loading-skeleton__toolbar{grid-template-columns:minmax(260px,1.8fr) repeat(2,minmax(130px,.7fr));align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.page-loading-skeleton__toolbar span,.page-loading-skeleton__row span{background:#edf1f6;border-radius:5px;display:block;position:relative;overflow:hidden}.page-loading-skeleton__toolbar span{height:36px}.page-loading-skeleton__body{align-self:stretch;min-height:440px}.page-loading-skeleton__row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr .7fr;align-items:center;gap:28px;min-height:58px;padding:0 18px;display:grid}.page-loading-skeleton__row:last-child{border-bottom:0}.page-loading-skeleton__row span{height:11px}.page-loading-skeleton__toolbar span:after,.page-loading-skeleton__row span:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.35s ease-in-out infinite page-loading-shimmer;position:absolute;inset:0;transform:translate(-100%)}.page-loading-skeleton--cards .page-loading-skeleton__body{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;display:grid}.page-loading-skeleton--cards .page-loading-skeleton__row{background:var(--surface-solid);border:1px solid var(--line);min-height:220px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:56px minmax(0,1fr);align-content:start;gap:16px;padding:20px}.page-loading-skeleton--cards .page-loading-skeleton__row span:first-child{border-radius:50%;height:56px}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar{grid-template-columns:minmax(0,1fr) 250px;min-height:160px;padding:24px 30px}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar span:first-child{height:74px}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar span:nth-child(2){height:48px}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar span:last-child{display:none}.page-loading-skeleton--dashboard .page-loading-skeleton__body{min-height:430px;box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:14px;display:grid}.page-loading-skeleton--dashboard .page-loading-skeleton__row{background:var(--surface-solid);border:1px solid var(--line);min-height:430px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:1fr;align-content:start;gap:18px;padding:24px}.page-loading-skeleton--dashboard .page-loading-skeleton__row:nth-child(n+3){display:none}@keyframes page-loading-reveal{0%{opacity:0}to{opacity:1}}@keyframes page-loading-shimmer{to{transform:translate(100%)}}.workspace-view-enter-active{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.workspace-view-leave-active{transition:opacity 90ms ease-in}.workspace-view-enter-from{opacity:0;transform:translateY(4px)}.workspace-view-leave-to{opacity:0}.modal-surface-enter-active,.modal-surface-leave-active{transition:opacity .16s}.modal-surface-enter-active>.member-dialog,.modal-surface-enter-active>.material-modal,.modal-surface-enter-active>.project-dialog,.modal-surface-leave-active>.member-dialog,.modal-surface-leave-active>.material-modal,.modal-surface-leave-active>.project-dialog{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.modal-surface-enter-from,.modal-surface-leave-to{opacity:0}.modal-surface-enter-from>.member-dialog,.modal-surface-enter-from>.material-modal,.modal-surface-enter-from>.project-dialog,.modal-surface-leave-to>.member-dialog,.modal-surface-leave-to>.material-modal,.modal-surface-leave-to>.project-dialog{opacity:0;transform:translateY(8px)scale(.985)}.workbench-overview{background:var(--surface-solid);border:1px solid var(--line);border-top:3px solid var(--brand);min-height:156px;box-shadow:var(--shadow-md);border-radius:12px;justify-content:space-between;align-items:center;gap:32px;padding:30px 32px;display:flex}.workbench-overview__eyebrow,.workbench-overview h2,.workbench-overview__calendar-status,.workbench-overview__date{margin:0}.workbench-overview__eyebrow,.workbench-overview__calendar-status{color:var(--muted);font-size:13px;line-height:1.5}.workbench-overview h2{color:var(--text);margin-top:6px;font-size:28px;font-weight:720;line-height:1.25}.workbench-overview__calendar-status{align-items:baseline;gap:8px;margin-top:16px;display:flex}.workbench-overview__calendar-status span{color:var(--subtle)}.workbench-overview__calendar-status strong{color:var(--brand-strong);font-size:14px;font-weight:680}.workbench-overview__date{color:var(--text);white-space:nowrap;align-items:center;gap:12px;display:flex}.workbench-overview__date-icon{width:40px;height:40px;color:var(--brand);background:var(--brand-soft);border-radius:9px;flex:0 0 40px;place-items:center;display:grid}.workbench-overview__date>div>span,.workbench-overview__date>div>strong{display:block}.workbench-overview__date div>span{color:var(--subtle);font-size:12px;line-height:1.35}.workbench-overview__date strong{color:var(--text);margin-top:3px;font-size:14px;font-weight:650;line-height:1.4}.workbench-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);align-items:start;gap:18px;margin-top:18px;display:grid}.calendar-card,.notice-board-card{background:var(--surface-solid);border:1px solid var(--line);height:510px;min-height:0;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.calendar-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:0 22px;display:flex}.calendar-card__header h2{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.4}.calendar-card__controls{align-items:center;gap:6px;display:flex}.calendar-card__controls button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;transition:color .16s,background .16s,border-color .16s;display:grid}.calendar-card__controls button:hover{color:var(--brand);background:var(--brand-soft);border-color:var(--line)}.calendar-card__controls .calendar-card__today{width:auto;color:var(--text);padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.month-calendar{flex:1;grid-template-rows:46px repeat(6,minmax(54px,1fr));grid-template-columns:repeat(7,minmax(0,1fr));padding:0 20px 20px;display:grid}.month-calendar__weekday{color:var(--subtle);place-items:center;font-size:13px;font-weight:650;display:grid}.month-calendar__weekday--weekend{color:var(--muted)}.month-calendar__day{width:36px;height:36px;color:var(--text);background:0 0;border:0;border-radius:50%;place-self:center;place-items:center;padding:0;font-size:14px;font-weight:550;transition:color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.month-calendar__day--outside{color:var(--line-strong)}.month-calendar__day--today{color:#fff;background:var(--brand);box-shadow:0 6px 14px #4f5ed73d}.month-calendar__day--active-week:not(.month-calendar__day--today){color:var(--calendar-week);font-weight:680}.month-calendar__day--active:not(.month-calendar__day--today){color:#fff;background:var(--calendar-week);box-shadow:0 0 0 3px var(--calendar-week-fill-strong), 0 6px 14px #2563eb3d}.month-calendar__day:focus-visible{outline:2px solid var(--calendar-week);outline-offset:3px}.month-calendar__week-tooltip{z-index:4;color:#fff;text-align:left;white-space:normal;background:#1e3a5f;border:1px solid #ffffff38;border-radius:6px;flex-direction:column;align-items:flex-start;gap:3px;width:max-content;min-width:min(220px,100vw - 40px);max-width:min(280px,100vw - 40px);padding:9px 11px;font-size:12px;line-height:1.45;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 18px #1e3a5f38}.month-calendar__week-tooltip strong,.month-calendar__week-tooltip span{text-align:left;width:100%;display:block}.month-calendar__week-tooltip strong{font-weight:680}.month-calendar__week-tooltip span{color:#ffffffd6;font-weight:500}.month-calendar__week-tooltip--below{top:calc(100% + 10px);bottom:auto}.month-calendar__week-tooltip--start{left:0;transform:none}.month-calendar__week-tooltip--end{left:auto;right:0;transform:none}.notice-board-card__body{background:var(--surface-soft);scrollbar-color:#4f5ed780 transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.notice-board-card__body::-webkit-scrollbar{width:8px}.notice-board-card__body::-webkit-scrollbar-track{background:0 0}.notice-board-card__body::-webkit-scrollbar-thumb{border:2px solid var(--surface-soft);background:#4f5ed76b;border-radius:8px}.notice-board-card__list{background:var(--surface-solid);min-height:100%}.notice-board-card__item{border-bottom:1px solid var(--line);padding:18px 20px 19px 24px;position:relative}.notice-board-card__item:before{background:var(--brand);content:"";border-radius:3px;width:3px;position:absolute;top:20px;bottom:20px;left:12px}.notice-board-card__item:last-child{border-bottom:0}.notice-board-card__item h3,.notice-board-card__item p{overflow-wrap:anywhere;margin:0}.notice-board-card__item h3{color:var(--text);font-size:15px;font-weight:700;line-height:1.45}.notice-board-card__item p{color:var(--muted);white-space:pre-wrap;margin-top:7px;font-size:14px;font-weight:450;line-height:1.7}.notice-board-card__empty{height:100%;color:var(--subtle);place-content:center;justify-items:center;gap:10px;font-size:14px;line-height:1.5;display:grid}.notice-board-card__empty svg{color:var(--brand)}.notice-board-card__loading{padding:18px 20px}.notice-board-card__skeleton{border-bottom:1px solid var(--line);padding:4px 0 20px}.notice-board-card__skeleton+.notice-board-card__skeleton{padding-top:20px}.notice-board-card__skeleton span{background:var(--line);border-radius:4px;height:10px;display:block}.notice-board-card__skeleton span:first-child{background:var(--line-strong);width:42%;height:13px}.notice-board-card__skeleton span:nth-child(2){width:92%;margin-top:14px}.notice-board-card__skeleton span:last-child{width:68%;margin-top:8px}.calendar-card__controls button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.member-distribution-placeholder{background:var(--line);border:1px solid var(--line);min-height:548px;box-shadow:var(--shadow-md);border-radius:12px;grid-template-rows:76px minmax(470px,1fr);grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.member-distribution-placeholder>span{background:linear-gradient(90deg, var(--surface-soft), var(--surface-solid), var(--surface-soft));background-size:220% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.member-distribution-placeholder__header{grid-column:1/-1}.member-distribution-placeholder__map,.member-distribution-placeholder__panel{min-height:470px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.section-heading h3,.section-heading p{margin:0}.content-section{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px;overflow:hidden}.section-heading{border-bottom:1px solid var(--line);align-items:center;min-height:76px;padding:0 22px;display:flex}.section-heading h3{color:var(--text);font-size:16px;font-weight:700;line-height:1.35}.section-heading p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.5}.table-row{grid-template-columns:2fr 1fr 1.3fr .8fr;gap:16px;display:grid}.table-header{min-height:48px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;padding:0 22px;font-size:12px;font-weight:650}.empty-state{min-height:280px;color:var(--subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:32px;display:flex}.empty-state>svg{color:var(--brand);background:var(--brand-soft);box-sizing:content-box;border-radius:13px;padding:10px}.empty-state strong{color:var(--text);font-size:14px;line-height:1.4}.empty-state span{color:var(--muted);font-size:13px;line-height:1.55}.sidebar-overlay{display:none}.auth-page{min-height:100vh;color:var(--text);background:var(--bg);grid-template-columns:minmax(320px,36%) minmax(0,64%);gap:18px;padding:22px;display:grid}.auth-context{isolation:isolate;min-height:calc(100vh - 44px);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#f0f2f5;border-radius:20px;flex-direction:column;padding:34px clamp(30px,3.2vw,52px);display:flex;position:relative;overflow:hidden}.auth-particles{z-index:0;position:absolute;inset:0}.auth-particles canvas{width:100%;height:100%;display:block}.auth-context__brand{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.auth-context__brand>span{color:#fff;background:linear-gradient(145deg,#3f4fc5,#7582ed);border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 20px #4f5ed73d}.auth-context__brand strong,.auth-context__brand small{display:block}.auth-context__brand strong{color:var(--text);font-size:15px}.auth-context__brand small{color:var(--subtle);margin-top:3px;font-size:11px}.auth-context__copy{z-index:1;text-align:center;width:100%;margin:auto 0;position:relative}.auth-context__copy h1{color:var(--text);white-space:nowrap;flex-wrap:wrap;justify-content:center;margin:0;font-size:34px;font-weight:750;line-height:1.2;display:flex}.auth-context__copy h1 span{animation:.98s cubic-bezier(.22,.8,.3,1) both auth-title-wave;animation-delay:calc(.18s + var(--wave-index) * 70ms);display:inline-block}@keyframes auth-title-wave{0%{opacity:0;transform:translateY(12px)}38%{opacity:1;transform:translateY(-7px)}62%{transform:translateY(3px)}80%{transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.auth-main{background:0 0;justify-content:center;align-items:center;min-height:calc(100vh - 44px);padding:40px clamp(28px,6vw,88px);display:flex}.auth-mobile-brand{display:none}.auth-panel{background:var(--surface);border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;padding:30px}.auth-panel__header{margin-bottom:26px}.auth-panel__header h2,.auth-panel__header p{margin:0}.auth-panel__header h2{color:var(--text);text-wrap:balance;font-size:30px;font-weight:720;line-height:1.25}.auth-panel__header p{color:var(--muted);margin-top:9px;font-size:14px}.auth-form{gap:20px;display:grid}.auth-form--register{gap:16px}.form-field{color:#3b4655;gap:8px;font-size:13px;font-weight:650;display:grid}.form-field>span:first-child,.form-field>label:first-child{align-items:center;gap:8px;display:flex}.form-control{min-height:48px;color:var(--subtle);background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:11px;align-items:center;gap:10px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.form-control:hover{border-color:var(--line-strong)}.form-control:focus-within{color:var(--brand);border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.form-control--error{border-color:#d64d6aa3;box-shadow:0 0 0 3px #d64d6a14}.form-control input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:12px 0;font-weight:400}.form-control input::placeholder{color:var(--subtle)}.password-toggle{width:32px;height:32px;color:var(--subtle);background:0 0;border:0;border-radius:8px;flex:0 0 32px;place-items:center;padding:0;display:grid}.password-toggle:hover{color:var(--brand);background:var(--brand-soft)}.verification-row{grid-template-columns:minmax(0,1fr) 112px;gap:10px;display:grid}.verification-row>button{color:var(--brand);background:var(--brand-soft);border:1px solid #4f5ed733;border-radius:11px;font-size:12px;font-weight:650;transition:color .16s,background .16s,border-color .16s,transform .16s}.verification-row>button:hover:not(:disabled),.verification-confirm:hover:not(:disabled){color:#fff;background:var(--brand);border-color:var(--brand);transform:translateY(-1px)}.verification-row>button:disabled,.verification-confirm:disabled{color:var(--subtle);background:var(--surface-soft);border-color:var(--line)}.verification-confirm{min-height:38px;color:var(--brand);background:var(--surface-solid);border:1px solid #4f5ed738;border-radius:10px;font-size:12px;font-weight:650;transition:color .16s,background .16s,border-color .16s,transform .16s}.verified-tag{color:var(--teal);background:var(--teal-soft);border-radius:7px;padding:2px 7px;font-size:10px;font-weight:600}.field-error{color:var(--rose);font-size:11px;font-weight:400}.primary-button{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-2));border:1px solid #0000;border-radius:11px;min-height:48px;margin-top:2px;font-size:14px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:0 8px 20px #4f5ed733}.primary-button:hover:not(:disabled){background:linear-gradient(135deg, var(--brand-strong), #5f6ddd);transform:translateY(-1px);box-shadow:0 10px 24px #4f5ed740}.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px #4f5ed733}.primary-button:disabled{box-shadow:none;opacity:.72;background:#9ca5e8}.form-notice{border:1px solid;border-radius:11px;margin-bottom:22px;padding:12px 14px;font-size:12px;line-height:1.5}.form-notice--success{color:#0c7169;background:var(--teal-soft);border-color:#0f8d8438}.form-notice--error{color:#b83d59;background:var(--rose-soft);border-color:#d64d6a3d}.auth-switch{color:var(--muted);text-align:center;margin:24px 0 0;font-size:13px}.auth-switch a{color:var(--brand);font-weight:700}.auth-switch a:hover{color:var(--brand-strong);text-decoration:underline}.auth-secondary-link{color:var(--muted);text-align:center;margin:10px 0 0;font-size:13px}.auth-secondary-link a{color:var(--brand);font-weight:650}.auth-secondary-link a:hover{color:var(--brand-strong);text-decoration:underline}.auth-switch a:focus-visible,.auth-secondary-link a:focus-visible,.password-toggle:focus-visible,.verification-row>button:focus-visible,.verification-confirm:focus-visible,.primary-button:focus-visible{outline-offset:3px;outline:3px solid #4f5ed747}.auth-form--reset{gap:16px}@media (width<=1080px){.auth-page{grid-template-columns:minmax(300px,35%) minmax(0,65%);gap:14px;padding:16px}.auth-context,.auth-main{min-height:calc(100vh - 32px)}.auth-context{padding-left:28px;padding-right:28px}.auth-context__copy h1{font-size:26px}.auth-main{padding-left:28px;padding-right:28px}}@media (width<=980px){.workbench-grid{grid-template-columns:1fr}.member-distribution-placeholder{grid-template-rows:100px 390px 320px;grid-template-columns:1fr}.member-distribution-placeholder__header{grid-column:1}}@media (width<=820px){.auth-page{min-height:100vh;padding:18px;display:block}.auth-context{display:none}.auth-main{flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:calc(100vh - 36px);padding:0}.auth-mobile-brand{width:min(460px,100%);min-height:54px;color:var(--text);align-items:center;gap:9px;margin:0 auto 18px;padding:0 4px;display:flex}.auth-mobile-brand>svg{color:#fff;background:linear-gradient(145deg,#3f4fc5,#7582ed);border-radius:11px;width:38px;height:38px;padding:8px;box-shadow:0 7px 18px #4f5ed738}.auth-panel{margin:0 auto}}@media (width<=760px){.sidebar{width:min(280px,100vw - 48px);transition:transform .18s;transform:translate(-100%);box-shadow:16px 0 36px #141f321f}.sidebar--open{transform:translate(0)}.sidebar__close{margin-left:auto;display:grid}.workspace{margin-left:0}.topbar{min-height:64px;padding:0 16px}.topbar__menu{display:grid}.topbar__title p{display:none}.topbar__account-actions{width:auto;min-width:0}.current-user strong{max-width:90px}.page-content{padding:20px 16px}.page-loading-skeleton__toolbar{grid-template-columns:minmax(0,1fr) 100px}.page-loading-skeleton__toolbar span:last-child{display:none}.page-loading-skeleton--cards .page-loading-skeleton__body{grid-template-columns:repeat(2,minmax(0,1fr))}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar,.page-loading-skeleton--dashboard .page-loading-skeleton__body{grid-template-columns:1fr}.page-loading-skeleton--dashboard .page-loading-skeleton__toolbar span:nth-child(2),.page-loading-skeleton--dashboard .page-loading-skeleton__row:nth-child(2),.table-header{display:none}.sidebar-overlay{z-index:25;background:#18202a57;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}}@media (width<=520px){.workbench-overview{flex-direction:column;align-items:flex-start;gap:18px;min-height:0;padding:22px 20px}.workbench-overview h2{font-size:24px}.workbench-overview__calendar-status{flex-direction:column;align-items:flex-start;gap:2px}.workbench-overview__date strong{font-size:13px}.calendar-card,.notice-board-card{height:430px}.notice-board-card__item{padding:17px 18px 18px 22px}.notice-board-card__item:before{top:19px;bottom:19px;left:10px}.notice-board-card__item h3,.notice-board-card__item p{font-size:16px}.calendar-card__header{min-height:64px;padding:0 16px}.calendar-card__controls{gap:2px}.calendar-card__controls button{width:40px;height:40px}.month-calendar{grid-template-rows:40px repeat(6,minmax(44px,1fr));padding:0 10px 12px}.current-user>svg,.current-user strong{display:none}.current-user small{text-overflow:ellipsis;white-space:nowrap;max-width:84px;overflow:hidden}.auth-page{padding:14px}.auth-main{min-height:calc(100vh - 28px)}.auth-mobile-brand{min-height:46px;margin-bottom:12px}.auth-panel{border-radius:16px;padding:24px 20px}.auth-panel__header{margin-bottom:24px}.auth-panel__header h2{font-size:27px}.verification-row{grid-template-columns:minmax(0,1fr) 104px;gap:8px}}@media (prefers-reduced-motion:reduce){.calendar-card__controls button,.month-calendar__day,.member-distribution-placeholder>span{transition:none;animation:none}}@media (height<=680px) and (width>=821px){.auth-main{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.auth-context__copy h1 span{animation:none}}.user-avatar{color:#fff;background:linear-gradient(145deg, var(--brand), var(--teal));border:1px solid #4f5ed724;border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.sidebar__profile{border-top:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-top:auto;padding:12px 9px 4px;display:flex}.sidebar__profile:hover,.sidebar__profile:focus-visible{background:var(--surface-hover);outline:none}.sidebar__profile strong,.sidebar__profile small{display:block}.sidebar__profile strong{color:var(--text);font-size:14px;line-height:1.35}.sidebar__profile small{color:var(--subtle);margin-top:4px;font-size:12px;line-height:1.35}.current-user{border:1px solid #0000;border-radius:11px;padding:5px 8px 5px 5px;transition:background .16s,border-color .16s}.current-user:hover,.current-user:focus-visible{background:var(--surface-solid);border-color:var(--line);outline:none}.profile-summary{grid-template-columns:180px minmax(0,1fr);gap:32px;margin-bottom:18px;padding:28px;display:grid}.profile-avatar-editor{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:10px;padding-right:24px;display:flex}.profile-avatar-editor small{color:var(--muted);text-align:center;font-size:12px;line-height:1.45}.avatar-upload input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.profile-identity{align-content:center;gap:18px;display:grid}.profile-identity h3,.profile-identity p{margin:0}.profile-identity h3{color:var(--text);font-size:26px;line-height:1.2}.profile-identity>div>p{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.4}.identity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.identity-grid div{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;align-content:center;min-height:70px;padding:12px 14px;display:grid}.identity-grid dt,.identity-grid dd{margin:0}.identity-grid dt{color:var(--muted);font-size:12px;line-height:1.35}.identity-grid dd{color:var(--text);margin-top:6px;font-size:14px;font-weight:650;line-height:1.35}.readonly-tip{color:var(--muted);font-size:12px;line-height:1.55}.profile-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:stretch;gap:18px;display:grid}.distribution-form{margin-bottom:18px}.distribution-form__body{padding:22px 24px 24px}.distribution-form__notice{margin:0 0 16px}.distribution-form__fields{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;display:grid}.distribution-form__fields .form-field{gap:9px;font-size:14px;line-height:1.4}.distribution-form__submit{white-space:nowrap;min-width:154px}.profile-side{grid-template-rows:auto minmax(0,1fr);gap:18px;height:100%;display:grid}.profile-form,.password-card{flex-direction:column;display:flex}.profile-form>.profile-form__body,.password-card>.profile-form__body{flex:1}.profile-form__body{gap:20px;padding:24px;display:grid}.profile-form .form-field,.password-card .form-field{gap:9px;font-size:14px;line-height:1.4}.profile-form__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.text-input{width:100%;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;border-radius:10px;outline:0;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .16s,box-shadow .16s}.text-input:focus{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.textarea-input{resize:vertical;min-height:118px}.primary-action,.secondary-button{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.primary-action{color:#fff;background:var(--brand);border:1px solid var(--brand);justify-self:end}.secondary-button{color:var(--brand);background:var(--brand-soft);border:1px solid #4f5ed733;position:relative}.primary-action:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px)}.account-card dl{gap:0;margin:0;padding:10px 22px 20px;display:grid}.account-card dl div{border-bottom:1px solid var(--line);gap:7px;padding:14px 2px;display:grid}.account-card dl div:last-child{border-bottom:0}.account-card dt,.account-card dd{margin:0}.account-card dt{color:var(--muted);align-items:center;gap:7px;font-size:12px;line-height:1.4;display:flex}.account-card dd{color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.45}.password-submit{width:100%}.recognition-hint{color:var(--teal);font-size:11px;font-weight:500}.member-count{color:var(--brand);background:var(--brand-soft);white-space:nowrap;border:1px solid #4f5ed729;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.member-filters{grid-template-columns:minmax(240px,1fr) 180px 180px 140px;gap:10px;margin-bottom:16px;display:grid;position:relative;overflow:hidden}.member-filters--loading:after{background:linear-gradient(90deg, transparent, var(--brand), transparent);content:"";height:2px;animation:.9s ease-in-out infinite member-filter-progress;position:absolute;bottom:0;left:0;right:0;transform:translate(-70%)}@keyframes member-filter-progress{to{transform:translate(70%)}}.member-filters label{min-height:44px;color:var(--subtle);background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;padding:0 12px;display:flex}.member-filters input,.member-filters select{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.member-page-size>span{color:var(--muted);white-space:nowrap;flex:none;font-size:12px}.member-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;font-size:12px;display:flex}.member-pagination button{min-height:40px;color:var(--brand);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:650;display:inline-flex}.member-pagination button:disabled{color:var(--subtle);cursor:not-allowed}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (prefers-reduced-motion:reduce){.member-filters--loading:after{background:var(--brand);opacity:.55;animation:none;transform:none}}.member-card{min-width:0;height:100%;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;grid-template-rows:auto auto minmax(72px,1fr) auto;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.member-card:hover,.member-card:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.member-card[aria-busy=true]{cursor:progress;border-color:#4f5ed747}.member-card__header{justify-content:space-between;align-items:flex-start;display:flex}.member-status{color:var(--teal);background:var(--teal-soft);border-radius:8px;padding:5px 8px;font-size:12px;font-weight:700}.member-status--inactive{color:var(--amber);background:var(--amber-soft)}.member-card__identity{margin:16px 0 18px}.member-card__identity strong,.member-card__identity span{display:block}.member-card__identity strong{font-size:20px;font-weight:720;line-height:1.25}.member-card__identity span{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.5}.member-card dl{align-content:start;gap:12px;margin:0;display:grid}.member-card dl div{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px;display:grid}.member-card dt,.member-card dd{margin:0;font-size:13px;line-height:1.55}.member-card dt{color:var(--muted)}.member-card dd{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.member-card__action{color:var(--brand);border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:13px;font-weight:700;line-height:1.4;display:block}.member-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18202a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.member-dialog{background:var(--surface-solid);border:1px solid var(--line);width:min(580px,100%);max-height:min(760px,100vh - 48px);box-shadow:var(--shadow-md);border-radius:16px;padding:26px;position:relative;overflow-y:auto}.member-dialog__close{position:absolute;top:16px;right:16px}.member-dialog__identity{align-items:center;gap:16px;padding-right:42px;display:flex}.member-dialog__identity h3,.member-dialog__identity p{margin:0}.member-dialog__identity h3{color:var(--text);font-size:24px;line-height:1.25}.member-dialog__identity p{color:var(--muted);margin:6px 0 9px;font-size:14px;line-height:1.45}.member-dialog__identity .member-status{width:fit-content;display:inline-flex}.member-detail-list{border-top:1px solid var(--line);gap:0;margin:24px 0 0;display:grid}.member-detail-list div{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);gap:14px;padding:13px 2px;display:grid}.member-detail-list dt,.member-detail-list dd{margin:0;font-size:13px;line-height:1.65}.file-transfer-progress{z-index:90;border:1px solid var(--line);background:var(--surface);width:min(360px,100vw - 32px);color:var(--text);border-radius:8px;gap:12px;padding:15px 16px;display:flex;position:fixed;bottom:92px;right:24px;box-shadow:0 16px 40px #1f2a4424}.file-transfer-progress__icon{background:var(--brand-soft);width:38px;height:38px;color:var(--brand);border-radius:8px;flex:0 0 38px;place-items:center;display:grid}.file-transfer-progress__content{flex:1;min-width:0}.file-transfer-progress__heading{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.file-transfer-progress__heading span{color:var(--brand);font-variant-numeric:tabular-nums}.file-transfer-progress p{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 10px;font-size:13px;overflow:hidden}.file-transfer-progress__track{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.file-transfer-progress__track span{border-radius:inherit;background:var(--brand);height:100%;transition:width .16s ease-out;display:block}.file-transfer-progress small{color:var(--subtle);font-variant-numeric:tabular-nums;margin-top:7px;font-size:12px;display:block}.file-transfer-enter-active,.file-transfer-leave-active{transition:opacity .18s,transform .18s}.file-transfer-enter-from,.file-transfer-leave-to{opacity:0;transform:translateY(8px)}.member-detail-list dt{color:var(--subtle)}.member-detail-list dd{color:var(--text);overflow-wrap:anywhere}@media (width<=1100px){.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr}.distribution-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-form__submit{justify-self:start}.profile-side{grid-template-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.profile-summary{grid-template-columns:1fr}.profile-avatar-editor{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.profile-side,.profile-form__columns,.distribution-form__fields{grid-template-columns:1fr}.distribution-form__submit{width:100%}.profile-side{grid-template-rows:auto}.member-filters,.member-grid{grid-template-columns:1fr}}@media (width<=520px){.file-transfer-progress{width:auto;bottom:80px;left:16px;right:16px}.identity-grid{grid-template-columns:1fr}.current-user .user-avatar{display:grid}.current-user span{display:none}.topbar__account-actions{gap:6px}.page-loading-skeleton{min-height:420px}.page-loading-skeleton__toolbar{grid-template-columns:1fr}.page-loading-skeleton__toolbar span:not(:first-child){display:none}.page-loading-skeleton--cards .page-loading-skeleton__body{grid-template-columns:1fr}.member-dialog-backdrop{padding:10px}.member-dialog{max-height:calc(100vh - 20px);padding:22px 18px}}@media (prefers-reduced-motion:reduce){.app-initializing__indicator{opacity:1;animation:none}.app-initializing__pulse{display:none}.page-loading-skeleton,.page-loading-skeleton__toolbar span:after,.page-loading-skeleton__row span:after{animation:none}.workspace-view-enter-active,.workspace-view-leave-active,.modal-surface-enter-active,.modal-surface-leave-active,.modal-surface-enter-active>.member-dialog,.modal-surface-enter-active>.material-modal,.modal-surface-enter-active>.project-dialog,.modal-surface-leave-active>.member-dialog,.modal-surface-leave-active>.material-modal,.modal-surface-leave-active>.project-dialog,.file-transfer-enter-active,.file-transfer-leave-active,.file-transfer-progress__track span{transition:none}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}.learning-page,.knowledge-detail,.knowledge-form-page{gap:16px;width:100%;min-width:0;display:grid}.knowledge-detail{max-width:1320px;margin:0 auto}.knowledge-form-page{max-width:1040px;margin:0 auto}.learning-tabs{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:4px;min-height:48px;padding:4px;display:flex;overflow:hidden}.learning-tabs__list{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.learning-tabs__list::-webkit-scrollbar{display:none}.learning-tabs__list>button{min-width:max-content;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 16px;font-size:13px;font-weight:600;transition:color .16s,background .16s}.learning-tabs__list>button:hover{color:var(--text);background:var(--surface-hover)}.learning-tabs__list>button.is-active{color:#fff;background:var(--brand)}.learning-tabs__actions{flex:none;align-items:center;margin-left:auto;padding-left:8px;display:flex}.learning-tabs__actions .primary-button,.knowledge-detail__actions .primary-button,.knowledge-detail__actions .secondary-button,.knowledge-form footer .primary-button,.knowledge-form footer .secondary-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:auto;min-height:40px;margin:0;padding:0 14px;text-decoration:none;display:inline-flex}.learning-tabs__actions .primary-button{min-height:38px}.learning-view{gap:16px;min-width:0;display:grid}.project-drive__summary.learning-topic-drive__summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-filters{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(130px,.7fr));align-items:center;gap:8px;padding:10px;display:grid}.learning-filters--resources{grid-template-columns:minmax(240px,1.4fr) minmax(150px,.7fr)}.learning-filters select,.learning-filters input,.knowledge-form input,.knowledge-form select,.knowledge-form textarea{width:100%;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;letter-spacing:0;outline:0}.learning-filters select,.learning-filters input{background:var(--surface-soft);border-radius:6px;height:38px;padding:0 10px;font-size:12px}.learning-filters select:focus,.learning-filters input:focus,.knowledge-form input:focus,.knowledge-form select:focus,.knowledge-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.learning-search{min-width:0;position:relative}.learning-search svg{color:var(--subtle);pointer-events:none;position:absolute;top:10px;left:10px}.learning-search input{padding-left:35px}.learning-page .form-notice,.knowledge-form .form-notice{margin:0}.knowledge-band{gap:12px;display:grid}.knowledge-section-title{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.knowledge-section-title h3{color:var(--text);margin:0;font-size:15px;font-weight:700}.knowledge-section-title button{min-height:32px;color:var(--brand);background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12px;font-weight:650}.knowledge-section-title button:hover{background:var(--brand-soft)}.knowledge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.knowledge-grid--catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.knowledge-card{min-width:0;min-height:172px;color:inherit;background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;padding:16px;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.knowledge-card:hover,.knowledge-card:focus-visible{border-color:#cdd3fb;transform:translateY(-2px);box-shadow:0 8px 22px #4f5ed71a}.knowledge-card:focus-visible,.knowledge-back:focus-visible,.learning-tabs__list>button:focus-visible,.knowledge-section-title button:focus-visible,.learning-pagination button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.knowledge-card__type{overflow-wrap:anywhere;width:fit-content;max-width:100%;min-height:24px;color:var(--brand);background:var(--brand-soft);border-radius:5px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.knowledge-card h4{overflow-wrap:anywhere;color:var(--text);margin:12px 0 7px;font-size:15px;line-height:1.45}.knowledge-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.knowledge-card footer{color:var(--subtle);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;font-size:11px;display:flex}.knowledge-card footer span{overflow-wrap:anywhere;min-width:0}.knowledge-card footer svg{flex:none}.knowledge-empty-inline{min-height:72px;color:var(--muted);background:var(--surface-solid);border:1px dashed var(--line-strong);text-align:center;border-radius:8px;margin:0;padding:24px 16px;font-size:12px}.learning-pagination{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:7px 10px 7px 14px;display:flex}.learning-pagination__summary,.learning-pagination__controls,.learning-pagination__controls label,.learning-pagination__controls nav{align-items:center;display:flex}.learning-pagination__summary{gap:10px;font-size:12px}.learning-pagination__summary strong{color:var(--text)}.learning-pagination__summary span,.learning-pagination__controls label{color:var(--muted)}.learning-pagination__controls{gap:12px;font-size:12px}.learning-pagination__controls label,.learning-pagination__controls nav{gap:6px}.learning-pagination select{width:82px;height:36px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;outline:0;padding:0 7px;font-size:12px}.learning-pagination button{width:34px;height:34px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;place-items:center;padding:0;display:inline-grid}.learning-pagination button:hover:not(:disabled){color:var(--brand);background:var(--brand-soft);border-color:#cdd3fb}.learning-pagination button:disabled{cursor:default;opacity:.42}.knowledge-back{width:fit-content;min-height:34px;color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:0 5px;font-size:13px;text-decoration:none;display:inline-flex}.knowledge-back:hover{color:var(--brand);background:var(--brand-soft)}.knowledge-form-page>header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.knowledge-form-page h2{overflow-wrap:anywhere;color:var(--text);letter-spacing:0;margin:0;font-size:24px;line-height:1.35}.knowledge-detail__actions{flex:none;align-items:center;gap:8px;display:flex}.knowledge-form{background:var(--surface-solid);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;padding:20px}.knowledge-prose{overflow-wrap:anywhere;color:var(--muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.8}.software-detail{gap:18px}.software-detail__hero{background:var(--surface-solid);border:1px solid var(--line);border-left:4px solid var(--brand);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.software-detail__identity{align-items:flex-start;gap:16px;min-width:0;display:flex}.software-detail__identity>div{min-width:0}.software-detail__icon{width:52px;height:52px;color:var(--brand);background:var(--brand-soft);border-radius:8px;flex:none;place-items:center;display:inline-grid}.software-detail__eyebrow{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.software-detail__hero h2{overflow-wrap:anywhere;color:var(--text);letter-spacing:0;margin:9px 0 6px;font-size:24px;line-height:1.35}.software-detail__hero p{overflow-wrap:anywhere;max-width:760px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.software-detail__layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.software-detail__content{grid-area:1/1;grid-template-rows:repeat(2,minmax(0,1fr));align-self:stretch;gap:14px;min-width:0;display:grid}.software-detail__info{grid-area:1/2}.software-detail__package{grid-area:2/2}.software-detail__section{background:var(--surface-solid);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;padding:20px}.software-detail__section>header{color:var(--brand);align-items:center;gap:8px;margin-bottom:15px;display:flex}.software-detail__section h3{color:var(--text);margin:0;font-size:15px;line-height:1.4}.software-detail__facts{margin:0}.software-detail__facts>div{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;display:grid}.software-detail__facts>div:first-child{padding-top:0}.software-detail__facts>div:last-child{border-bottom:0;padding-bottom:0}.software-detail__facts dt{color:var(--subtle);align-items:center;gap:5px;font-size:12px;line-height:1.55;display:flex}.software-detail__facts dd{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:13px;font-weight:600;line-height:1.55}.software-detail__platforms{flex-wrap:wrap;gap:6px;display:flex}.software-detail__platforms span{min-height:26px;color:var(--brand);background:var(--brand-soft);border-radius:5px;align-items:center;padding:3px 8px;font-size:12px;font-weight:650;display:inline-flex}.software-detail__package>strong{overflow-wrap:anywhere;color:var(--text);font-size:13px;line-height:1.55;display:block}.software-detail__package>span,.software-detail__package>p{color:var(--muted);margin:4px 0 14px;font-size:12px;line-height:1.55;display:block}.software-detail__package .primary-button{border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:40px;margin:0;display:inline-flex}.knowledge-form{gap:20px;display:grid}.knowledge-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.knowledge-form label{min-width:0;color:var(--text);gap:7px;font-size:13px;font-weight:650;display:grid}.knowledge-form input,.knowledge-form select,.knowledge-form textarea{border-radius:8px;min-height:44px;padding:9px 11px;font-size:13px;line-height:1.5}.knowledge-form textarea{resize:vertical}.knowledge-form select[multiple]{min-height:136px}.knowledge-form__wide{grid-column:1/-1}.knowledge-form fieldset{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:13px;margin:0;padding:16px;display:grid}.knowledge-form legend{color:var(--text);padding:0 6px;font-size:13px;font-weight:700}.knowledge-form small{color:var(--rose);font-size:11px;font-weight:500}.knowledge-form__checks{grid-template-columns:repeat(3,minmax(0,1fr))}.knowledge-form__checks legend{grid-column:1/-1}.knowledge-form__checks label{align-items:center;gap:8px;min-height:36px;font-weight:500;display:flex}.knowledge-form__checks input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--brand);margin:0}.knowledge-form__file{grid-template-columns:minmax(120px,.24fr) minmax(0,1fr);align-items:center;gap:12px}.knowledge-form__file>span{align-items:center;gap:7px;display:flex}.knowledge-form__file input[type=file]{background:var(--surface-soft);height:44px;min-height:44px;padding:6px 8px;line-height:30px}.knowledge-form__file input[type=file]::file-selector-button{vertical-align:middle;border:1px solid var(--line);background:var(--surface-solid);height:30px;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;margin:0 10px 0 0;padding:0 12px;line-height:28px}.knowledge-form__file small{grid-column:2}.knowledge-form footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:16px;display:flex}@media (width<=1100px){.knowledge-grid,.knowledge-grid--catalog,.learning-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-search{grid-column:1/-1}.software-detail__layout{grid-template-columns:minmax(0,1fr)}.software-detail__content,.software-detail__info,.software-detail__package{grid-area:auto/1}.software-detail__content{grid-template-rows:auto}}@media (width<=680px){.learning-tabs{align-items:stretch}.learning-tabs__list>button{min-height:44px;padding:0 14px}.learning-tabs__actions .primary-button{min-height:44px}.learning-filters,.knowledge-grid,.knowledge-grid--catalog,.knowledge-form__grid{grid-template-columns:minmax(0,1fr)}.knowledge-form__checks{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-search,.knowledge-form__wide{grid-column:auto}.learning-filters select,.learning-filters input{height:44px}.learning-search svg{top:13px}.learning-pagination,.software-detail__hero,.knowledge-form-page>header{flex-direction:column;align-items:stretch}.learning-pagination__controls{justify-content:space-between}.knowledge-detail__actions,.knowledge-form footer{flex-wrap:wrap}.knowledge-detail__actions>*,.knowledge-form footer>*{flex:auto}.software-detail__section,.knowledge-form{padding:16px}.software-detail__identity{gap:12px}.software-detail__icon{width:44px;height:44px}.software-detail__facts>div{grid-template-columns:minmax(0,1fr);gap:4px}}@media (width<=700px){.project-drive__summary.learning-topic-drive__summary dl{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.knowledge-form__file{grid-template-columns:minmax(0,1fr);align-items:stretch}.knowledge-form__file small{grid-column:auto}}@media (prefers-reduced-motion:reduce){.learning-tabs__list>button,.knowledge-card{transition:none}}.material-detail-actions,.material-modal__footer,.stock-actions{align-items:center;gap:9px;display:flex}.material-detail-actions .primary-button,.material-detail-actions .secondary-button,.material-modal__footer .primary-button,.material-modal__footer .secondary-button{justify-content:center;align-items:center;gap:7px;width:auto;min-height:42px;padding:0 16px;display:inline-flex}.material-tabs{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:4px;min-height:48px;margin-bottom:18px;padding:4px;display:flex;overflow:hidden}.material-tabs__list{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.material-tabs__list::-webkit-scrollbar{display:none}.material-tabs__list>button{min-width:max-content;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 16px;font-size:13px;font-weight:600}.material-tabs__list>button:hover{color:var(--text);background:var(--surface-hover)}.material-tabs__list>button.is-active{color:#fff;background:var(--brand)}.material-tabs__list>button.is-pending:not(.is-active){color:var(--brand);background:var(--brand-soft)}.material-tabs__actions{flex:none;align-items:center;margin-left:auto;padding-left:8px;display:flex}.material-tabs__actions .primary-button,.material-tabs__actions .secondary-button{justify-content:center;align-items:center;gap:7px;width:auto;min-height:38px;padding:0 14px;display:inline-flex}.material-view{min-width:0}.material-view-enter-active{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.material-view-leave-active{transition:opacity 90ms ease-in}.material-view-enter-from{opacity:0;transform:translateY(4px)}.material-view-leave-to{opacity:0}.material-stats{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.material-stats article{min-height:116px;color:var(--brand);background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:8px;align-content:space-between;padding:15px;display:grid;position:relative;overflow:hidden}.material-stats article span{color:var(--muted);font-size:12px}.material-stats article strong{color:var(--text);font-size:27px}.material-stats .material-stat--warning{color:var(--amber)}.material-stats .material-stat--danger{color:var(--rose)}.material-stats .material-stat--reagent{color:var(--teal)}.material-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-bottom:14px;display:grid}.material-panel,.material-recent-strip>article{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px}.material-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:17px 18px 13px;display:flex}.material-panel h3,.material-panel p{margin:0}.material-panel h3{font-size:15px}.material-panel header p{color:var(--muted);margin-top:5px;font-size:12px}.material-panel header>span{color:var(--amber);background:var(--amber-soft);border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700}.material-alert-list,.material-activity-list{display:grid}.material-alert-list article,.material-activity-list article{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:55px;padding:10px 18px;display:flex}.material-alert-list article:last-child,.material-activity-list article:last-child{border-bottom:0}.material-alert-list article div,.material-activity-list article div{flex:1;min-width:0}.material-alert-list strong,.material-alert-list p,.material-alert-list small,.material-activity-list strong,.material-activity-list span,.material-activity-list small{margin:0;display:block}.material-alert-list strong,.material-activity-list strong{font-size:13px}.material-alert-list p,.material-activity-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.material-alert-list small,.material-activity-list small{color:var(--subtle);font-size:11px}.alert-dot{background:var(--amber);border-radius:50%;flex:0 0 9px;width:9px;height:9px}.alert-dot--important{background:var(--rose)}.alert-dot--expired{box-shadow:0 0 0 4px var(--rose-soft);background:#9f1239}.material-recent-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.material-recent-strip>article{padding:14px}.material-recent-strip header{color:var(--brand);align-items:center;gap:8px;margin-bottom:8px;display:flex}.material-recent-strip header strong{color:var(--text);font-size:13px}.material-recent-strip button{width:100%;min-height:34px;color:var(--text);background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:0 6px;font-size:12px;display:flex}.material-recent-strip button:hover{background:var(--surface-hover)}.material-recent-strip button small,.material-recent-strip p{color:var(--subtle);font-size:11px}.material-filters{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.7fr)) auto;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:grid;position:relative}.material-filters input,.material-filters select{width:100%;height:38px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;outline:0;padding:0 10px;font-size:12px}.material-filters input:focus,.material-filters select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.material-search{position:relative}.material-search svg{color:var(--subtle);position:absolute;top:10px;left:10px}.material-search input{padding-left:35px}.material-page-size{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.material-page-size select{width:76px;min-width:76px;height:36px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;outline:0;padding:0 7px;font-size:12px}.material-page-size select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.material-filters--assets{grid-template-columns:minmax(180px,1.25fr) minmax(105px,.7fr) minmax(125px,.85fr) minmax(145px,.95fr) minmax(140px,.9fr) minmax(125px,.8fr) minmax(110px,.7fr)}.material-pagination-bar{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:52px;margin-bottom:12px;padding:7px 10px 7px 14px;display:flex}.material-pagination-summary,.material-pagination-controls,.material-page-buttons{align-items:center;display:flex}.material-pagination-summary{gap:10px}.material-pagination-summary strong{color:var(--text);font-size:12px}.material-pagination-summary span{color:var(--muted);font-size:12px}.material-pagination-controls{gap:12px}.material-page-buttons{gap:5px}.material-page-buttons button{width:34px;height:34px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;place-items:center;padding:0;font-size:12px;display:inline-grid}.material-page-buttons button:hover:not(:disabled){color:var(--brand);background:var(--brand-soft);border-color:#cdd3fb}.material-page-buttons button.is-active{color:#fff;background:var(--brand);border-color:var(--brand)}.material-page-buttons button:disabled{cursor:default;opacity:.42}.material-page-ellipsis{width:22px;color:var(--subtle);text-align:center}.material-catalog{gap:12px;transition:opacity .14s;display:grid;position:relative}.material-catalog--loading{opacity:.72}.material-catalog__progress{color:var(--brand);background:var(--brand-soft);border-radius:5px;padding:5px 9px;font-size:11px;font-weight:700;position:absolute;top:8px;right:12px}.material-table-wrap{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;width:100%;overflow-x:auto}.material-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:920px;font-size:12px}.material-table th{color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:11px 13px;font-weight:650}.material-table td{color:var(--muted);border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere;padding:11px 13px}.material-table tbody tr:last-child td{border-bottom:0}.material-table tbody tr:hover td{background:#fafbfe}.material-table td strong,.material-table td small{display:block}.material-table td strong{color:var(--text)}.material-table td small{color:var(--subtle);margin-top:3px}.material-table--assets{min-width:1040px}.material-name-cell{width:100%;min-width:0;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.material-name-cell>:last-child{min-width:0}.material-thumb{width:36px;height:36px;color:var(--brand);background:var(--brand-soft);border-radius:6px;flex:0 0 36px;place-items:center;display:grid;overflow:hidden}.material-thumb img{object-fit:cover;width:100%;height:100%}.stock-number{font-size:15px;display:inline!important}.material-status,.stock-tag,.material-pill,.expiry-tag{color:var(--teal);background:var(--teal-soft);white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:700;display:inline-flex}.material-status--idle,.material-status--maintenance,.stock-tag--low,.stock-tag--replenish,.expiry-tag--general{color:var(--amber);background:var(--amber-soft)}.material-status--disabled,.material-status--scrapped,.stock-tag--out_of_stock,.expiry-tag--important,.expiry-tag--expired{color:var(--rose);background:var(--rose-soft)}.stock-actions button,.table-action{min-height:30px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:5px;align-items:center;gap:5px;padding:0 9px;font-size:11px;display:inline-flex}.stock-actions .stock-actions__in{color:var(--brand);border-color:#cdd3fb}.stock-actions{flex-wrap:wrap}.material-empty{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:8px;display:grid}.material-empty strong{color:var(--text)}.material-empty-inline{color:var(--muted);padding:20px 18px;font-size:12px}.material-pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.material-pagination button{background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;min-height:34px;padding:0 12px}.material-pagination button:disabled{cursor:default;opacity:.5}.material-pagination span{color:var(--muted);font-size:12px}.material-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18202a75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.material-modal{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;width:min(780px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 60px #141f3238}.material-detail-modal{width:min(920px,100%)}.material-transaction-modal{width:min(600px,100%)}.material-modal__header{z-index:2;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:20px;padding:17px 20px;display:flex;position:sticky;top:0}.material-modal__header span,.material-modal__header h2{margin:0;display:block}.material-modal__header span{color:var(--brand);font-size:11px;font-weight:700}.material-modal__header h2{margin-top:3px;font-size:18px}.material-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.material-form-grid__wide{grid-column:1/-1}.material-form-grid textarea{resize:vertical;min-height:74px;padding-top:10px}.material-quick-add{grid-template-columns:minmax(0,1fr) 40px 40px;gap:7px;margin-top:8px;display:grid}.material-quick-add .icon-button{border:1px solid var(--line);width:40px;height:40px}.material-quick-add__confirm{color:var(--brand);background:var(--brand-soft);border-color:#bec6f5!important}.material-image-field{min-height:96px;color:var(--brand);background:var(--brand-soft);border:1px dashed #bec6f5;border-radius:7px;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;font-size:12px;display:grid}.material-image-preview{background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;place-items:center;width:72px;height:64px;display:grid;overflow:hidden}.material-image-preview img{object-fit:cover;width:100%;height:100%}.material-image-field__copy{min-width:0}.material-image-field__copy strong,.material-image-field__copy small{display:block}.material-image-field__copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-image-field__copy small{color:var(--muted);margin-top:5px}.material-image-field .secondary-button{width:auto;min-height:38px;padding:0 14px}.material-image-field input{display:none}.material-modal__footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:flex-end;padding:13px 20px;position:sticky;bottom:0}.stock-current{background:var(--brand-soft);border-radius:7px;justify-content:space-between;align-items:center;margin:18px 20px 0;padding:13px 15px;display:flex}.stock-current span{color:var(--muted);font-size:12px}.stock-current strong{color:var(--brand);font-size:18px}.material-detail-hero{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:20px;display:flex}.material-detail-hero img,.material-detail-placeholder{object-fit:cover;border-radius:7px;flex:0 0 86px;width:86px;height:86px}.material-detail-placeholder{color:var(--brand);background:var(--brand-soft);place-items:center;font-size:30px;font-weight:700;display:grid}.material-detail-hero p{color:var(--muted);margin:8px 0 4px;font-size:13px}.material-detail-hero strong{font-size:23px}.material-detail-actions{border-bottom:1px solid var(--line);justify-content:flex-end;padding:12px 20px}.material-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.material-detail-grid__wide{grid-column:1/-1}.material-detail-list,.material-detail-section{background:var(--surface-soft);border:1px solid var(--line);border-radius:7px;margin:0;padding:16px}.material-detail-list{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.material-detail-list div{min-width:0}.material-detail-list dt{color:var(--subtle);font-size:11px}.material-detail-list dd{color:var(--text);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px}.material-detail-section h3{margin:0 0 12px;font-size:14px}.depreciation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.depreciation-grid span{color:var(--muted);font-size:11px}.depreciation-grid strong{color:var(--text);margin-top:5px;font-size:14px;display:block}.material-timeline{gap:8px;display:grid}.material-timeline article{background:var(--surface-solid);border-left:3px solid var(--brand);border-radius:4px;padding:11px 12px}.material-timeline strong,.material-timeline span{display:block}.material-timeline strong{font-size:12px}.material-timeline span,.material-timeline p{color:var(--muted);margin:4px 0 0;font-size:11px}@media (width<=1180px){.material-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.material-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,.8fr))}.material-filters--assets{grid-template-columns:repeat(4,minmax(140px,1fr))}}@media (width<=860px){.material-overview-grid,.material-recent-strip{grid-template-columns:1fr}.material-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.material-filters{grid-template-columns:1fr 1fr}.material-search{grid-column:1/-1}.material-pagination-bar{flex-direction:column;align-items:flex-start}.material-pagination-controls{justify-content:space-between;width:100%}.depreciation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.material-tabs{flex-direction:column;align-items:stretch}.material-tabs__list>button{padding:0 8px}.material-tabs__actions{width:100%;padding:4px 0 0}.material-tabs__actions button{width:100%!important}.material-stats article{min-height:102px}.material-filters,.material-form-grid,.material-detail-grid,.material-detail-list{grid-template-columns:1fr}.material-form-grid__wide,.material-detail-grid__wide,.material-search{grid-column:auto}.material-page-size select{height:44px}.material-page-buttons button{width:44px;height:44px}.material-image-field{grid-template-columns:64px minmax(0,1fr)}.material-image-preview{width:64px}.material-image-field .secondary-button{grid-column:1/-1;width:100%}.material-modal-backdrop{place-items:stretch stretch;padding:0}.material-modal{border:0;border-radius:0;width:100%;min-height:100vh;max-height:100vh}.material-detail-actions{flex-direction:column;align-items:stretch}.material-detail-actions button{width:100%!important}.depreciation-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.material-catalog,.material-view-enter-active,.material-view-leave-active{transition:none}}.equipment-booking-header{background:var(--surface-solid);border:1px solid var(--line);border-top:3px solid var(--brand);min-height:132px;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex}.equipment-booking-header span,.equipment-booking-header h2,.equipment-booking-header p{margin:0}.equipment-booking-header>div:first-child>span{color:var(--brand);font-size:11px;font-weight:750}.equipment-booking-header h2{margin-top:4px;font-size:22px}.equipment-booking-header p{color:var(--muted);margin-top:7px;font-size:13px}.equipment-booking-window{min-height:40px;color:var(--brand);background:var(--brand-soft);border:1px solid #d6dafb;border-radius:6px;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.equipment-booking-filters{background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(250px,1.45fr) repeat(4,minmax(145px,1fr));gap:10px;margin-top:14px;padding:13px;display:grid}.equipment-filter-field{min-width:0;color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.equipment-filter-search{display:block;position:relative}.equipment-filter-search svg{z-index:1;color:var(--subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.equipment-booking-filters input,.equipment-booking-filters select,.equipment-booking-form input,.equipment-booking-form textarea{width:100%;min-height:40px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;border-radius:6px;outline:none;padding:0 11px}.equipment-booking-filters input,.equipment-booking-filters select{font-size:13px}.equipment-booking-filters .equipment-filter-search input{padding-left:40px}.equipment-booking-filters input:focus,.equipment-booking-filters select:focus,.equipment-booking-form input:focus,.equipment-booking-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.equipment-booking-table-section{margin-top:10px;transition:opacity .16s;position:relative}.equipment-booking-table-section.is-updating{opacity:.66}.equipment-booking-table{min-width:1120px}.equipment-booking-table th,.equipment-booking-table td{width:14.285%}.equipment-cell-with-icon{align-items:flex-start;gap:5px;display:inline-flex}.equipment-cell-with-icon svg{flex:none;margin-top:1px}.equipment-state{color:var(--teal);background:var(--teal-soft);white-space:nowrap;border-radius:5px;align-items:center;padding:4px 7px;font-size:11px;font-weight:750;display:inline-flex}.equipment-state--in_use{color:var(--rose);background:var(--rose-soft)}.equipment-state--unavailable{color:var(--amber);background:var(--amber-soft)}.equipment-booking-action{justify-content:center;min-width:106px}.equipment-booking-dialog{width:min(1440px,100vw - 32px)}.equipment-booking-dialog .material-modal__footer{z-index:5;background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none;min-height:70px}.equipment-booking-summary{background:var(--surface-soft);border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr);gap:16px 24px;padding:16px 20px;display:grid}.equipment-booking-summary__identity{align-items:center;gap:12px;min-width:0;display:flex}.equipment-booking-summary__identity p{color:var(--muted);margin:6px 0 0;font-size:12px}.equipment-booking-summary__photo{flex-basis:46px;width:46px;height:46px}.equipment-booking-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.equipment-booking-summary dl div{min-width:0}.equipment-booking-summary dt{color:var(--subtle);align-items:center;gap:5px;font-size:11px;display:flex}.equipment-booking-summary dd{color:var(--text);overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;font-weight:650}.equipment-booking-summary__notes{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px}.equipment-booking-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start;display:grid}.equipment-schedule{border-right:1px solid var(--line);min-width:0;padding:18px 20px 22px}.equipment-schedule__toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.equipment-schedule__toolbar h3,.equipment-schedule__toolbar p{margin:0}.equipment-schedule__toolbar h3{font-size:15px}.equipment-schedule__toolbar p{color:var(--muted);margin-top:4px;font-size:11px}.equipment-week-switcher{border:1px solid var(--line);border-radius:6px;grid-template-columns:44px 112px 44px;align-items:center;display:grid;overflow:hidden}.equipment-week-switcher button{background:var(--surface-solid);border:0;place-items:center;width:44px;height:44px;display:grid}.equipment-week-switcher button:disabled{cursor:default;opacity:.35}.equipment-week-switcher span{color:var(--muted);text-align:center;font-size:12px;font-weight:700}.equipment-schedule__legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:12px 0 9px;font-size:11px;display:flex}.equipment-schedule__legend span{align-items:center;gap:5px;display:inline-flex}.equipment-schedule__legend i{background:#e8ebfb;border:1px solid #aeb6e8;border-radius:3px;width:9px;height:9px}.equipment-schedule__legend i.is-own{background:#dff5ed;border-color:#7ac7aa}.equipment-schedule__legend i.is-current{background:#fde8ec;border-color:#e59aab}.equipment-schedule__viewport{border:1px solid var(--line);border-radius:7px;overflow-x:auto}.equipment-schedule__grid{background:var(--surface-solid);grid-template-rows:48px auto;grid-template-columns:62px repeat(7,minmax(120px,1fr));min-width:940px;display:grid}.equipment-schedule__corner,.equipment-schedule__day-head{background:var(--surface-soft);border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-content:center;justify-items:center;display:grid}.equipment-schedule__corner{color:var(--subtle);font-size:10px}.equipment-schedule__day-head strong{font-size:12px}.equipment-schedule__day-head span{color:var(--muted);margin-top:2px;font-size:10px}.equipment-schedule__times{border-right:1px solid var(--line);grid-template-rows:repeat(24,36px);display:grid}.equipment-schedule__times span{color:var(--subtle);text-align:center;border-bottom:1px solid var(--line);padding-top:7px;font-size:10px}.equipment-schedule__day-column{border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom, transparent 0, transparent 35px, var(--line) 35px, var(--line) 36px);height:864px;position:relative}.equipment-reservation-block{z-index:1;color:#36406f;background:#e8ebfb;border:1px solid #aeb6e8;border-left:3px solid #6976c9;border-radius:5px;min-height:30px;padding:5px 6px;font-size:9px;line-height:1.25;position:absolute;left:4px;right:4px;overflow:hidden}.equipment-reservation-block.is-own{color:#145f4c;background:#dff5ed;border-color:#7ac7aa #7ac7aa #7ac7aa #238267}.equipment-reservation-block.is-current{color:#91334a;background:#fde8ec;border-color:#e59aab #e59aab #e59aab #c94c69}.equipment-reservation-block strong,.equipment-reservation-block span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.equipment-reservation-block span{margin-top:2px}.equipment-week-reservations{border:1px solid var(--line);background:var(--surface-solid);border-radius:7px;margin-top:14px}.equipment-week-reservations>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.equipment-week-reservations h4,.equipment-week-reservations p{margin:0}.equipment-week-reservations h4{font-size:13px}.equipment-week-reservations header p{color:var(--muted);margin-top:3px;font-size:11px}.equipment-week-reservations header>span{color:var(--brand);font-size:12px;font-weight:750}.equipment-week-reservations__list{max-height:220px;overflow-y:auto}.equipment-week-reservations__list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 14px;display:flex}.equipment-week-reservations__list article:last-child{border-bottom:0}.equipment-week-reservations__list article>div{min-width:0}.equipment-week-reservations__list strong{font-size:12px}.equipment-week-reservations__list p{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px}.equipment-week-reservations__list button{flex:none;min-width:104px;min-height:44px}.equipment-week-reservations__empty{color:var(--muted);padding:18px 14px;font-size:12px}.equipment-booking-form{gap:16px;padding:22px;display:grid}.equipment-booking-form>header span{color:var(--brand);font-size:11px;font-weight:750}.equipment-booking-form h3{margin:3px 0 0;font-size:17px}.equipment-booking-form>header p{color:var(--muted);margin:5px 0 0;font-size:12px}.equipment-booking-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:650;display:grid}.equipment-booking-form input,.equipment-booking-form textarea{min-height:46px;font-size:13px}.equipment-booking-form textarea{resize:vertical;min-height:96px;padding-top:11px}.equipment-booking-range{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:10px;display:grid}.equipment-booking-range>svg{color:var(--subtle)}.equipment-booking-range__group{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;gap:9px;min-width:0;padding:12px;display:grid}.equipment-booking-range__group>strong{color:var(--text);font-size:13px}.field-error{color:var(--rose);margin-top:-6px;font-size:11px}@media (width<=1280px){.equipment-booking-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.equipment-filter-field--search{grid-column:span 2}}@media (width<=1020px){.equipment-booking-layout{grid-template-columns:1fr}.equipment-schedule{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=760px){.equipment-booking-header{flex-direction:column;align-items:flex-start;padding:20px}.equipment-booking-window{justify-content:center;width:100%}.equipment-booking-filters{grid-template-columns:1fr}.equipment-filter-field--search{grid-column:auto}.equipment-booking-summary,.equipment-booking-summary dl{grid-template-columns:1fr}.equipment-schedule{padding:14px 12px 18px}.equipment-schedule__toolbar{flex-direction:column;align-items:stretch}.equipment-week-switcher{align-self:flex-start}.equipment-booking-range{grid-template-columns:1fr}.equipment-booking-range>svg{justify-self:center;transform:rotate(90deg)}.equipment-week-reservations__list article{flex-direction:column;align-items:stretch}.equipment-week-reservations__list button{width:100%}}@media (prefers-reduced-motion:reduce){.equipment-booking-table-section{transition:none}}.project-page,.project-drive{gap:16px;display:grid}.project-toolbar,.project-drive__toolbar{align-items:center;gap:12px;min-height:48px;display:flex;position:relative}.project-toolbar{flex-wrap:wrap}.project-toolbar__filters{flex:760px;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(145px,.8fr));gap:10px;min-width:0;display:grid}.project-search{width:100%;min-height:44px;color:var(--subtle);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.project-filter-control select{width:100%;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;outline:0;padding:0 34px 0 11px;font-size:13px}.project-filter-control select:focus-visible,.project-search:focus-within{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.project-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.project-toolbar__summary{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.project-toolbar__summary strong{color:var(--text)}.project-page-size{min-height:40px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.project-page-size select{color:var(--text);background:0 0;border:0;outline:0}.project-table-shell,.project-drive__table-shell{border-radius:10px}.project-table-scroll,.project-drive__table-scroll{overflow-x:auto}.project-table__grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.75fr) minmax(0,1.45fr) minmax(0,.65fr);min-width:1120px;display:grid}.project-table__header,.project-drive__header{min-height:48px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;font-size:12px;font-weight:650}.project-table__grid>span,.project-drive__grid>span,.project-drive__grid>button{overflow-wrap:anywhere;min-width:0;padding:12px 16px}.project-table__row{min-height:68px;color:var(--text);background:var(--surface-solid);border-bottom:1px solid var(--line);align-items:stretch;font-size:13px;line-height:1.5;transition:background .16s}.project-table__row:last-child,.project-drive__row:last-child{border-bottom:0}.project-table__row:hover,.project-table__row:focus-visible{background:var(--surface-hover);outline:2px solid var(--brand);outline-offset:-2px}.project-table__row>span{align-items:center;display:flex}.project-table__name{color:var(--brand);gap:10px}.project-table__name strong{flex:1;min-width:0}.project-category-tag{color:inherit;font-size:inherit;background:0 0;border:0;border-radius:0;font-weight:500}.project-status-tag{border:1px solid #0000;border-radius:6px;align-items:center;min-height:28px;padding:3px 9px;font-size:12px;font-weight:650;display:inline-flex}.project-status-tag--ongoing{color:var(--teal);background:var(--teal-soft);border-color:#0f8d8433}.project-status-tag--completed{color:var(--brand);background:var(--brand-soft);border-color:#4f5ed733}.project-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.project-pagination button,.project-back,.project-breadcrumbs button{min-height:40px;color:var(--brand);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:650;display:inline-flex}.project-pagination button:disabled{color:var(--subtle);cursor:not-allowed}.project-back{align-items:center;gap:7px;width:fit-content;display:inline-flex}.project-drive__summary{background:var(--surface-solid);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:10px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:28px;padding:22px 24px;display:grid}.project-drive__summary h2,.project-drive__summary p,.project-drive__summary dl,.project-drive__summary dt,.project-drive__summary dd{margin:0}.project-drive__summary h2{font-size:22px;line-height:1.35}.project-drive__summary p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.55}.project-drive__summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-drive__summary dl div{border-left:1px solid var(--line);min-width:0;padding-left:14px}.project-drive__summary dt{color:var(--muted);font-size:12px}.project-drive__summary dd{color:var(--text);overflow-wrap:anywhere;margin-top:7px;font-size:13px;font-weight:650;line-height:1.5}.project-breadcrumbs{min-height:44px;color:var(--subtle);align-items:center;gap:4px;display:flex;overflow-x:auto}.project-breadcrumbs button{background:0 0;border-color:#0000;flex:none;min-height:36px;padding:0 9px;font-size:13px}.project-breadcrumbs button[aria-current=page]{color:var(--text);background:var(--surface-hover)}.project-drive__toolbar{justify-content:flex-start}.project-drive__toolbar>div{gap:8px;display:flex}.project-drive__filters{grid-template-columns:minmax(240px,1fr) minmax(150px,190px) minmax(190px,240px) 44px;align-items:center;gap:10px;display:grid}.project-filter-select{width:100%;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;outline:0;padding:0 34px 0 11px;font-size:13px}.project-filter-select:focus{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.project-filter-refresh{border-radius:8px;width:44px;height:44px}.project-filter-refresh__icon--loading{animation:.7s linear infinite project-refresh-spin}@keyframes project-refresh-spin{to{transform:rotate(360deg)}}.project-drive__pagination-footer{width:100%;min-height:44px;color:var(--muted);scrollbar-width:thin;white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;padding:2px 0;font-size:12px;display:flex;overflow-x:auto}.project-drive__pagination-summary,.project-drive__pagination-current{flex:none}.project-drive__pagination-summary{color:var(--text);font-weight:650}.project-drive__pagination-divider{background:var(--line-strong);flex:none;width:1px;height:16px}.project-drive__page-size{align-items:center;gap:8px;display:inline-flex}.project-drive__page-size select{min-height:40px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;border-radius:8px;outline:0;padding:0 32px 0 10px}.project-drive__page-size select:focus-visible{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.project-drive__pagination-actions{flex:none;gap:6px;display:inline-flex}.project-drive__pagination-actions .icon-button{border-radius:8px;width:40px;height:40px}.project-drive__pagination-actions .icon-button:disabled{color:var(--subtle);cursor:not-allowed;opacity:.55}.project-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.project-button--primary{color:#fff;background:var(--brand);border:1px solid var(--brand)}.project-button--secondary{color:var(--brand);background:var(--surface-solid);border:1px solid var(--line-strong)}.project-button--danger{color:#fff;background:var(--rose);border:1px solid var(--rose)}.project-button--danger:hover:not(:disabled){background:#bd3f5b;border-color:#bd3f5b}.project-button--active{color:#fff;background:var(--brand);border-color:var(--brand)}.project-button:hover:not(:disabled){transform:translateY(-1px)}.project-button:disabled{cursor:not-allowed;opacity:.55}.project-file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.project-alert{color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.project-alert--success{color:var(--teal);background:var(--teal-soft);border-color:#0f8d843d}.project-alert--error{color:var(--rose);background:var(--rose-soft);border-color:#d64d6a3d}.project-drive__grid{grid-template-columns:minmax(460px,2.75fr) minmax(100px,.6fr) minmax(90px,.55fr) minmax(220px,1.35fr) minmax(170px,1fr);min-width:1100px;display:grid}.project-drive__grid--selecting{grid-template-columns:48px minmax(460px,2.75fr) minmax(100px,.6fr) minmax(90px,.55fr) minmax(220px,1.35fr) minmax(170px,1fr)}.project-drive__select-cell{justify-content:center;padding-left:4px!important;padding-right:4px!important}.project-drive__select-cell input{width:17px;height:17px;accent-color:var(--brand);cursor:pointer;margin:0}.project-drive__row--selected{background:var(--brand-soft)}.project-drive__row{background:var(--surface-solid);border-bottom:1px solid var(--line);align-items:stretch;min-height:64px;font-size:13px;line-height:1.5}.project-drive__row>span,.project-drive__row>button{align-items:center;display:flex}.project-drive__name-cell{justify-content:space-between;gap:8px}.project-drive__item-name{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;display:flex}button.project-drive__item-name{color:var(--brand)}.project-drive__item-name strong{overflow-wrap:anywhere;flex:1;min-width:0}.project-drive__actions{flex:none;gap:7px;display:flex}.project-drive__actions .icon-button{border-radius:8px;flex-basis:38px;width:38px;height:38px}.project-drive__actions .icon-button--danger{color:var(--rose);background:var(--rose-soft);border-color:#d64d6a3d}.project-drive__actions .icon-button--danger:hover:not(:disabled){color:#a92f49;background:#d64d6a26;border-color:#d64d6a5c}.project-dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18202a61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-dialog{background:var(--surface-solid);border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow-md);border-radius:10px;padding:24px;position:relative}.project-dialog h2{margin:0;padding-right:48px;font-size:19px;line-height:1.4}.project-dialog__close{position:absolute;top:14px;right:14px}.project-dialog__field{color:var(--text);gap:8px;margin-top:24px;font-size:13px;font-weight:650;display:grid}.project-dialog__field input{width:100%;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;outline:0;padding:9px 11px}.project-dialog__field input:focus{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.project-dialog .project-alert{margin-top:14px}.project-dialog footer{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.project-delete-dialog{width:min(520px,100%)}.project-delete-dialog__header{gap:14px;padding-right:36px;display:flex}.project-delete-dialog__header h2{padding-right:0}.project-delete-dialog__header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.65}.project-delete-dialog__warning{width:42px;height:42px;color:var(--rose);background:var(--rose-soft);border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.project-delete-dialog__summary{color:var(--text);margin-top:22px;font-size:13px;font-weight:700}.project-delete-dialog__items{background:var(--surface-hover);border:1px solid var(--line);border-radius:8px;max-height:220px;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.project-delete-dialog__items li{min-height:44px;color:var(--text);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.project-delete-dialog__items li:last-child{border-bottom:0}.project-delete-dialog__items li svg{color:var(--muted);flex:none}.project-delete-dialog__items li span{overflow-wrap:anywhere;min-width:0}.project-button:focus-visible,.project-pagination button:focus-visible,.project-back:focus-visible,.project-breadcrumbs button:focus-visible,.project-drive__item-name:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (width<=900px){.project-toolbar__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.project-drive__summary{grid-template-columns:1fr}}@media (width<=700px){.project-toolbar,.project-drive__toolbar{flex-direction:column;align-items:stretch}.project-search{width:100%}.project-toolbar__filters{flex:none;grid-template-columns:1fr;width:100%}.project-toolbar__summary{margin-left:0}.project-page-size{width:fit-content}.project-drive__summary{padding:18px}.project-drive__summary dl{grid-template-columns:1fr}.project-drive__summary dl div{border-top:1px solid var(--line);border-left:0;padding:10px 0 0}.project-drive__toolbar>div{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.project-drive__filters{grid-template-columns:1fr}.project-drive__pagination-footer{justify-content:flex-end}.project-filter-refresh{justify-self:end}}@media (width<=480px){.project-dialog-backdrop{padding:10px}.project-dialog{padding:22px 18px}.project-dialog footer{flex-direction:column-reverse;align-items:stretch}}@media (prefers-reduced-motion:reduce){.project-filter-refresh__icon--loading{animation:none}.project-button,.project-table__row{transition:none}}.achievement-toolbar__filters{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(170px,.8fr))}.achievement-table__grid{grid-template-columns:minmax(280px,1.7fr) minmax(90px,.55fr) minmax(180px,1fr) minmax(120px,.68fr) minmax(240px,1.4fr) minmax(230px,1.3fr);min-width:1080px;display:grid}.achievement-table__grid>span,.achievement-table__grid>a{overflow-wrap:anywhere;align-items:center;min-width:0;padding:12px 16px;display:flex}.achievement-drive__summary{grid-template-columns:minmax(280px,1.15fr) minmax(620px,2.35fr);align-items:center;gap:32px;min-height:110px}.achievement-drive__title{align-items:center;min-width:0;display:flex}.achievement-drive__summary h2{overflow-wrap:anywhere;font-size:22px;line-height:1.4}.achievement-drive__summary dl{align-items:stretch;gap:0}.achievement-drive__summary dl div{flex-direction:column;justify-content:center;min-height:64px;padding:4px 22px;display:flex}.achievement-drive__summary dt{font-size:13px;line-height:1.4}.achievement-drive__summary dd{margin-top:8px;font-size:16px;font-weight:700;line-height:1.5}.achievement-dialog{width:min(660px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.achievement-form,.achievement-form label{gap:8px;display:grid}.achievement-form{gap:16px;margin-top:22px}.achievement-form label>span{color:var(--text);font-size:13px;font-weight:650}.achievement-form input,.achievement-form select,.achievement-form textarea{width:100%;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;border-radius:8px;outline:0;padding:9px 11px}.achievement-form select[multiple]{min-height:132px}.achievement-form textarea{resize:vertical}.achievement-form input:focus,.achievement-form select:focus,.achievement-form textarea:focus{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.achievement-form small{color:var(--muted)}.achievement-form__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.achievement-form footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (width<=700px){.achievement-toolbar__filters,.achievement-form__columns{grid-template-columns:1fr}.achievement-form footer{flex-direction:column-reverse;align-items:stretch}}@media (width<=1100px){.achievement-drive__summary{grid-template-columns:1fr;gap:20px}}@media (width<=700px){.achievement-drive__summary dl{gap:0}.achievement-drive__summary dl div{min-height:0;padding:12px 0 0}}.daily-page{gap:16px;width:100%;min-width:0;display:grid}.weekly-summary{background:var(--surface-solid);border:1px solid var(--line);border-left:3px solid #d99a24;border-radius:8px;align-items:center;gap:14px;min-width:0;min-height:92px;padding:18px 20px;display:flex}.weekly-summary--uploaded{border-left-color:var(--teal)}.weekly-summary__icon{width:42px;height:42px;color:var(--brand);background:var(--brand-soft);border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.weekly-summary>div{min-width:0}.weekly-summary h2{color:var(--text);margin:0;font-size:18px}.weekly-summary p{color:var(--muted);margin:5px 0 0;font-size:13px}.weekly-summary__status{color:var(--text);margin-left:auto;font-size:13px}.weekly-toolbar,.weekly-toolbar__commands,.weekly-filters{align-items:center;gap:10px;min-width:0;display:flex}.weekly-toolbar{min-height:44px}.weekly-toolbar__commands{flex-wrap:wrap}.weekly-filters .project-search{flex:auto}.weekly-week-select{min-width:min(100%,560px);color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.weekly-week-select select{min-width:0;min-height:44px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);border-radius:8px;outline:0;flex:1;padding:0 34px 0 12px}.weekly-week-select select:focus-visible{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.weekly-table-shell{border-radius:8px;overflow:hidden}.weekly-table-scroll{overflow-x:auto}.weekly-admin-grid,.weekly-member-grid{grid-template-columns:repeat(6,minmax(0,1fr));min-width:1080px;display:grid}.weekly-member-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.weekly-member-grid--selecting{grid-template-columns:44px repeat(6,minmax(0,1fr))}.weekly-table-header{min-height:48px;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:center;font-size:12px;font-weight:650}.weekly-table-row{min-height:66px;color:var(--text);background:var(--surface-solid);border-bottom:1px solid var(--line);align-items:stretch;font-size:13px;transition:background .16s}.weekly-table-row:last-child{border-bottom:0}.weekly-table-row:hover,.weekly-table-row--selected{background:var(--surface-hover)}.weekly-admin-grid>span,.weekly-member-grid>span{overflow-wrap:anywhere;text-align:left;align-items:center;gap:7px;min-width:0;padding:11px 14px;display:flex}.weekly-admin-grid>span:first-child{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.weekly-admin-grid small{color:var(--muted);font-size:12px}.weekly-status{border:1px solid #0000;border-radius:6px;align-items:center;min-height:28px;padding:3px 9px;font-size:12px;font-style:normal;font-weight:650;display:inline-flex}.weekly-status--uploaded{color:var(--teal);background:var(--teal-soft);border-color:#0f8d8433}.weekly-status--missing{color:#a66100;background:#fff7e8;border-color:#f2d29a}.weekly-file-name{color:var(--brand)}.weekly-file-name strong{overflow-wrap:anywhere;min-width:0}.weekly-row-actions{flex-wrap:wrap}.weekly-row-actions .icon-button{flex:none}.other-work-panel{min-width:0}.daily-collaboration-subview{align-content:start;gap:16px;min-width:0;display:grid}.daily-collaboration-subview--loading{min-height:520px}.daily-collaboration-subview--loading .page-loading-skeleton{min-height:inherit}.daily-subview-enter-active{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.daily-subview-leave-active{transition:opacity 90ms ease-in}.daily-subview-enter-from{opacity:0;transform:translateY(4px)}.daily-subview-leave-to{opacity:0}.other-work-member-header{align-items:center;gap:16px;min-height:68px;padding:10px 0;display:flex}.other-work-member-header h2{color:var(--text);margin:0;font-size:18px}.other-work-member-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.other-work-summary-grid,.other-work-manager-grid,.other-work-member-grid{grid-template-columns:repeat(5,minmax(0,1fr));min-width:1080px;display:grid}.other-work-summary-grid{min-width:880px}.other-work-member-grid,.other-work-manager-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-width:880px}.other-work-member-grid--selecting{grid-template-columns:44px repeat(4,minmax(0,1fr))}.vacation-manager-grid,.vacation-member-grid{grid-template-columns:repeat(5,minmax(0,1fr));min-width:980px;display:grid}.vacation-member-grid--selecting{grid-template-columns:44px repeat(5,minmax(0,1fr))}.other-work-summary-grid>span,.other-work-manager-grid>span,.other-work-member-grid>span,.vacation-manager-grid>span,.vacation-member-grid>span{overflow-wrap:anywhere;text-align:left;align-items:center;gap:7px;min-width:0;padding:11px 14px;display:flex}.other-work-member-link{min-width:0;color:var(--brand);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:inline-flex}.other-work-member-link:hover strong{text-decoration:underline}.other-work-member-link:disabled{cursor:wait;opacity:.72}.other-work-member-link small{color:var(--muted);font-size:12px}.other-work-status{white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;min-height:28px;padding:3px 9px;font-size:12px;font-style:normal;font-weight:650;display:inline-flex}.other-work-status--pending{color:#a66100;background:var(--amber-soft);border-color:#f2d29a}.other-work-status--approved{color:var(--teal);background:var(--teal-soft);border-color:#0f8d8433}.other-work-approval-actions{flex-wrap:wrap;align-content:center}.project-button--success{color:#fff;background:var(--teal);border:1px solid var(--teal)}.project-button--success:hover:not(:disabled){background:#0b746d;border-color:#0b746d}.other-work-approval-button{min-height:38px;padding:0 11px;font-size:12px}.other-work-form-dialog,.other-work-detail-dialog{width:min(680px,100vw - 32px)}.vacation-request-form__dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vacation-request-form__dates .project-dialog__field{margin-top:16px}.other-work-dialog__header{align-items:flex-start;gap:10px;padding-right:40px;display:flex}.other-work-dialog__header>svg{color:var(--brand);flex:none}.other-work-dialog__header p{color:var(--muted);margin:4px 0 0;font-size:12px}.project-dialog__field textarea{resize:vertical;width:100%;min-height:180px;color:var(--text);background:var(--surface-solid);border:1px solid var(--line);font:inherit;border-radius:8px;outline:0;padding:11px;font-weight:400;line-height:1.6}.project-dialog__field textarea:focus{border-color:#4f5ed794;box-shadow:0 0 0 4px #4f5ed71a}.other-work-form-dialog__notice{color:#8a5600;background:var(--amber-soft);border:1px solid #f2d29a;border-radius:6px;margin:14px 0 0;padding:10px 12px;font-size:12px}.other-work-detail-dialog__meta{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:22px 0 0;display:grid}.other-work-detail-dialog__meta>div{border-bottom:1px solid var(--line);min-width:0;padding:12px 14px}.other-work-detail-dialog__meta>div:nth-child(odd){border-right:1px solid var(--line)}.other-work-detail-dialog__meta>div:nth-last-child(-n+2){border-bottom:0}.other-work-detail-dialog__meta dt{color:var(--muted);font-size:12px}.other-work-detail-dialog__meta dd{color:var(--text);margin:5px 0 0;font-size:13px}.other-work-detail-dialog__content{min-height:180px;max-height:min(48vh,460px);color:var(--text);background:var(--surface-soft);border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;margin-top:16px;padding:18px;line-height:1.75;overflow-y:auto}.weekly-preview-dialog{width:min(760px,100vw - 32px)}.weekly-preview-dialog__header{align-items:flex-start;gap:10px;padding-right:40px;display:flex}.weekly-preview-dialog__header svg{color:var(--brand);flex:none}.weekly-preview-dialog__header h2{overflow-wrap:anywhere}.weekly-preview-dialog__header p{color:var(--muted);margin:4px 0 0;font-size:12px}.weekly-preview-dialog__document{color:#1f2937;border:1px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:6px;min-height:220px;max-height:min(56vh,560px);padding:22px 26px;line-height:1.8;overflow-y:auto}.weekly-preview-dialog__document p{margin:0 0 12px}.weekly-preview-dialog__empty{color:var(--muted);text-align:center}@media (width<=720px){.weekly-summary{align-items:flex-start;padding:16px}.weekly-summary__status{margin-left:0}.weekly-summary{flex-wrap:wrap}.weekly-toolbar__commands,.weekly-toolbar__commands .project-button{width:100%}.weekly-week-select{flex-direction:column;align-items:stretch}.weekly-preview-dialog__document{padding:16px}.other-work-member-header{flex-direction:column;align-items:flex-start}.vacation-request-form__dates{grid-template-columns:1fr;gap:0}.other-work-detail-dialog__meta{grid-template-columns:1fr}.other-work-detail-dialog__meta>div,.other-work-detail-dialog__meta>div:nth-child(odd),.other-work-detail-dialog__meta>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.other-work-detail-dialog__meta>div:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){.weekly-table-row,.daily-subview-enter-active,.daily-subview-leave-active{transition:none}}
