@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Pretendard/Pretendard-Regular.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Pretendard/Pretendard-Medium.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Pretendard/Pretendard-SemiBold.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Pretendard/Pretendard-Bold.woff2)format("woff2")}@font-face{font-family:Paperlogy;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Paperlogy/Paperlogy-6SemiBold.woff2)format("woff2")}:root{--c-brand:#0052ff;--c-brand-solid:#0052ff;--c-brand-solid-hover:#0046db;--c-brand-solid-active:#0039b3;--c-brand-hover:#0046db;--c-brand-active:#0039b3;--c-brand-disabled:#b4c4e5;--c-brand-soft:#e6eeff;--c-brand-soft-hover:#d9e8ff;--c-brand-ink:#001a52;--c-canvas:#fff;--c-surface-soft:#f8f8f9;--c-surface-strong:#f1f1f2;--c-surface-sunken:#e8eaed;--c-surface-dark:#141517;--c-surface-dark-elevated:#1f2124;--c-hairline:#e1e4e8;--c-hairline-soft:#eeeff1;--c-hairline-strong:#cbd0d6;--c-ink:#141517;--c-body:#494c52;--c-muted:#646b75;--c-soft:#9099a8;--c-on-primary:#fff;--c-on-dark:#fff;--c-on-dark-muted:#a6b0c2;--c-success:#03744c;--c-success-soft:#e3f6ee;--c-warning:#9a5b00;--c-warning-soft:#fcf1dc;--c-danger:#c21f38;--c-danger-soft:#fbe5e8;--c-info:#0052ff;--c-info-soft:#e6eeff;--c-neutral:#646b75;--c-neutral-soft:#f1f1f2;--c-accent:#c2410c;--c-accent-soft:#fdead7;--c-chart-1:#0052ff;--c-chart-2:#0ea5a6;--c-chart-3:#7c5af0;--c-chart-4:#f08a1c;--c-chart-5:#16a34a;--c-chart-6:#d946a4;--c-chart-7:#475a77;--c-chart-8:#eab308;--sp-2xs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:20px;--sp-xl:24px;--sp-2xl:32px;--sp-3xl:40px;--sp-4xl:48px;--sp-hair:2px;--sp-tight:6px;--sp-snug:10px;--sp-cozy:14px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--s-raised:0 1px 2px #14151714;--s-elevated:0 6px 24px -8px #1415171f, 0 2px 6px -2px #1415170f;--s-overlay:0 8px 28px #14151724;--s-modal:0 24px 60px #14151733;--s-focus:0 0 0 3px #0052ff38;--f-sans:"Pretendard", -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", Roboto, sans-serif;--f-mono:"Pretendard", -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", Roboto, sans-serif;--f-display:"Paperlogy", "Pretendard", -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", Roboto, sans-serif;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-lg2:16px;--fs-xl0:18px;--fs-xl:22px;--fs-2xl:28px;--fs-page-title:var(--fs-xl);--fs-modal-title:var(--fs-xl0);--fs-section-title:var(--fs-xl0);--fs-card-title:var(--fs-lg2);--fs-page-title-sm:19px;--fs-amount:var(--fs-xl);--fs-overline:var(--fs-xs);--fs-input:15px;--fw-item:500;--fw-title:600;--fw-normal:400;--fw-medium:500;--fw-bold:600;--ls-tight:-.04em;--ls-snug:-.03em;--ls-normal:-.025em;--ls-wide:.08em;--lh-tight:1.25;--lh-snug:1.45;--lh-normal:1.5;--lh-base:1.55}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--f-sans);font-variant-numeric:tabular-nums;word-break:keep-all;overflow-wrap:break-word;color:var(--c-body);background:var(--c-canvas);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.ds-topbar{z-index:60;background:var(--c-canvas);border-bottom:1px solid var(--c-hairline);position:sticky;top:0;padding:0 24px 0 0!important}.ds-sidebar{width:240px;height:calc(100vh / var(--app-zoom) - 56px);border-right:1px solid var(--c-hairline);background:var(--c-surface-soft);border-radius:0;flex-direction:column;flex-shrink:0;align-self:flex-start;padding:12px 8px 32px;position:sticky;top:56px;overflow:hidden auto;display:flex!important}.ds-sidebar .sb-section{cursor:pointer;width:100%;font-family:var(--f-sans);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);border-radius:var(--r-sm);box-sizing:border-box;background:0 0;border:none;align-items:center;gap:6px;padding:14px 8px 6px;font-size:11px;font-weight:600;transition:color .12s;display:flex!important}.ds-sidebar .nav-item{padding:7px 10px 7px 14px;font-size:13px}.ds-sidebar::-webkit-scrollbar{width:4px}.ds-sidebar::-webkit-scrollbar-track{background:0 0}.ds-sidebar::-webkit-scrollbar-thumb{background:var(--c-hairline-strong);border-radius:4px}.ds-sidebar::-webkit-scrollbar-thumb:hover{background:var(--c-muted)}.ds-topbar-brand{border-right:1px solid var(--c-hairline);flex-shrink:0;align-items:center;gap:10px;width:240px;height:100%;padding:0 20px 0 24px;display:flex}.page{max-width:960px;margin:0 auto;padding:0 48px}@media (width<=1023px){.ds-sidebar{height:calc(100vh / var(--app-zoom) - 57px);z-index:50;box-shadow:var(--s-elevated);padding-top:4px;transition:transform .26s cubic-bezier(.4,0,.2,1);top:57px;left:0;transform:translate(-100%);width:260px!important;position:fixed!important}.ds-sidebar.is-open{transform:translate(0)}.ds-topbar-brand{border-right:none;width:auto;padding:0 0 0 16px}}@media (width<=767px){.page{padding:0 20px}.cover{padding:48px 0 36px}.cover h1{font-size:36px}section.spec{padding:56px 0}.grid-2{grid-template-columns:1fr}.pagination .page-btn:not(.is-nav):not(.is-active),.page-ellipsis{display:none}.demo[style*=max-width\:320px] .page-btn{display:inline-flex}}.cover{border-bottom:1px solid var(--c-hairline);padding:96px 0 64px}.cover h1{letter-spacing:var(--ls-tight);color:var(--c-ink);max-width:880px;margin:0 0 24px;font-size:56px;font-weight:600;line-height:1.08}section.spec{border-bottom:1px solid var(--c-hairline-soft);padding:96px 0}section.spec:last-of-type{border-bottom:none}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.demo{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);padding:40px 32px}.demo.soft{background:var(--c-surface-soft)}.demo.dark{background:var(--c-surface-dark);color:var(--c-on-dark);border:none}.divider{background:var(--c-hairline-soft);border:0;height:1px;margin:48px 0}.ico{display:inline-block}footer.foot{color:var(--c-muted);text-align:center;padding:48px 0 80px;font-size:12px}@media (width<=1024px){.page{padding:0 24px}.cover h1{font-size:44px}section.spec{padding:72px 0}.cover{padding:72px 0 56px}}@media (width<=768px){.page{padding:0 20px}.cover{padding:48px 0 32px}.cover h1{font-size:32px;line-height:1.12}section.spec{padding:56px 0}.grid-2,.rules{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr;min-height:auto}.sidebar{border-right:none;border-bottom:1px solid var(--c-hairline);gap:6px;padding:16px;display:flex;overflow-x:auto}.sb-section{display:none}.sidebar .nav-item{white-space:nowrap;flex-shrink:0}.topbar{gap:8px;height:52px;padding:0 16px}.topbar .search-pill,.topbar-right .btn{display:none}.modal{width:100%;padding:24px}.toast{width:100%;max-width:380px}.demo{padding:28px 20px}.float-grid{grid-template-columns:1fr;gap:20px}.float-grid .span-2{grid-column:span 1}.empty-state{padding:48px 24px}.pagination{gap:2px}.page-btn{min-width:32px;height:32px;font-size:12px}.page-ellipsis{width:32px;height:32px}.tabs .tab-item{padding:0 12px;font-size:13px}}@media (width<=480px){.cover h1{font-size:28px}}[data-theme=dark]{--c-canvas:#262624;--c-surface-soft:#2e2e2b;--c-surface-strong:#373733;--c-surface-sunken:#1f1f1d;--c-hairline:#3f3f3a;--c-hairline-soft:#343430;--c-hairline-strong:#4e4e48;--c-ink:#f5f4ef;--c-body:#d7d4cb;--c-muted:#a6a296;--c-soft:#7b776d;--c-brand:#87afff;--c-brand-solid:#2e6be0;--c-brand-solid-hover:#2861d2;--c-brand-solid-active:#1e4eb0;--c-brand-hover:#7da9ff;--c-brand-active:#9dbeff;--c-brand-disabled:#45443f;--c-brand-soft:#87afff29;--c-brand-soft-hover:#87afff3d;--c-brand-ink:#baceff;--c-success:#3fce96;--c-success-soft:#3fce9629;--c-warning:#f5b44e;--c-warning-soft:#e89a2d2e;--c-danger:#ff8494;--c-danger-soft:#f5586d2e;--c-info:#87afff;--c-info-soft:#7fa9ff29;--c-neutral:#d7d4cb;--c-neutral-soft:#d7d4cb1a;--s-raised:0 1px 2px #00000073;--s-elevated:0 8px 28px -8px #000000b3, 0 2px 8px -2px #0006;--s-overlay:0 8px 28px #0009;--s-modal:0 24px 60px #000000bf;--s-focus:0 0 0 3px #5c92ff52;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] select option,[data-theme=dark] select optgroup{background:var(--c-surface-soft);color:var(--c-ink)}[data-theme=dark] body{background:var(--c-canvas);color:var(--c-body)}[data-theme=dark] .ds-topbar{background:var(--c-canvas);border-bottom-color:var(--c-hairline)}[data-theme=dark] .ds-sidebar{background:var(--c-surface-soft);border-right-color:var(--c-hairline)}[data-theme=dark] .check input{background:var(--c-surface-strong);border-color:var(--c-hairline-strong)}[data-theme=dark] .check input:checked{background:var(--c-brand);border-color:var(--c-brand)}[data-theme=dark] .data-table thead th{background:var(--c-surface-soft)}[data-theme=dark] .avatar{background:var(--c-surface-strong);color:var(--c-ink)}[data-theme=dark] .nav-item.is-active{background:var(--c-brand-soft);color:var(--c-brand)}[data-theme=dark] .data-table tbody tr:hover{background:var(--c-surface-soft)}[data-theme=dark] .search-pill{border-color:var(--c-hairline)}[data-theme=dark] .toggle input{background:var(--c-surface-strong)}[data-theme=dark] .toggle:has(input:checked) input{background:var(--c-brand)}[data-theme=dark] .ds-sidebar::-webkit-scrollbar-thumb{background:var(--c-hairline-strong)}[data-theme=dark] #brand .demo:not(.dark){background:#fff;border-color:#dfe3ea}[data-theme=dark] #brand .card{background:var(--c-surface-soft)}[data-theme=dark] .modal,[data-theme=dark] .toast{border:1px solid var(--c-hairline)}[data-theme=dark] .seg-indicator{background:var(--c-surface-strong);box-shadow:0 1px 2px #0006, 0 0 0 1px var(--c-hairline)}[data-theme=dark] .proj-info-dday--delayed{background:var(--c-danger-soft);border-color:var(--c-danger)}[data-theme=dark] .proj-info-dday--delayed .proj-info-dday-text,[data-theme=dark] .approval-summary-value--red,[data-theme=dark] .calendar-weekday:first-child,[data-theme=dark] .cell-date-num.sun{color:var(--c-danger)}[data-theme=dark] .proj-info-dday--completed{background:var(--c-success-soft);border-color:var(--c-success)}[data-theme=dark] .proj-info-dday--completed .proj-info-dday-text,[data-theme=dark] .approval-summary-value--green{color:var(--c-success)}.app-shell{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);grid-template-columns:240px 1fr;min-height:480px;display:grid;overflow:hidden}.sidebar{background:var(--c-surface-soft);border-right:1px solid var(--c-hairline);padding:20px 12px}.sb-section{letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);padding:16px 12px 8px;font-size:11px;font-weight:600}.nav-item{border-radius:var(--r-md);color:var(--c-body);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--c-surface-strong);color:var(--c-ink)}.nav-item.is-active{background:var(--c-brand-soft);color:var(--c-brand);font-weight:600}.nav-item .ico{opacity:.9;width:16px;height:16px}.topbar{border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);align-items:center;gap:16px;height:56px;padding:0 24px;display:flex}.crumb{color:var(--c-muted);font-size:13px}.search-pill{background:var(--c-surface-soft);border:1px solid var(--c-hairline);border-radius:var(--r-md);align-items:center;gap:8px;width:280px;height:36px;padding:0 14px;display:flex}.search-pill input{color:var(--c-ink);font-size:13px;font-family:var(--f-sans);background:0 0;border:none;outline:none;flex:1}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.tabs{border-bottom:1px solid var(--c-hairline);scrollbar-width:none;gap:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-item{align-items:center;gap:var(--sp-tight);padding:0 var(--sp-cozy);height:52px;letter-spacing:var(--ls-normal);color:var(--c-muted);cursor:pointer;font-size:15px;font-weight:400;font-family:var(--f-sans);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex-shrink:0;margin-bottom:-1px;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.tab-item:hover{color:var(--c-ink)}.tab-item.is-active{color:var(--c-ink);border-bottom-color:var(--c-brand);font-weight:600}.tab-item:focus-visible{box-shadow:var(--s-focus);border-radius:var(--r-sm) var(--r-sm) 0 0;outline:none}.tab-count{color:var(--c-soft);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;line-height:1}.tab-item.is-active .tab-count{color:var(--c-brand)}.tab-head{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:12px;display:flex}.tab-head-desc{color:var(--c-muted);min-width:0;font-size:13px}.tab-head-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.btn{border-radius:var(--r-md);height:40px;font-family:var(--f-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:focus-visible{box-shadow:var(--s-focus);outline:none}.btn-primary{background:var(--c-brand-solid);color:var(--c-on-primary)}.btn-primary:hover{background:var(--c-brand-solid-hover)}.btn-primary:active{background:var(--c-brand-solid-active)}.btn-primary.is-disabled{background:var(--c-brand-disabled);cursor:not-allowed}.btn-secondary{background:var(--c-surface-strong);color:var(--c-ink)}.btn-secondary:hover{background:var(--c-surface-sunken)}.btn-outline{color:var(--c-ink);border-color:var(--c-hairline-strong);background:0 0}.btn-outline:hover{border-color:var(--c-ink)}.btn-ghost{color:var(--c-ink);border-color:var(--c-hairline);background:0 0}.btn-ghost:hover{background:var(--c-surface-soft);border-color:var(--c-hairline-strong)}.btn-ghost.btn-xs,.btn-ghost.btn-xs:hover{border-color:#0000}.btn-danger{color:var(--c-danger);border-color:var(--c-danger);background:0 0}.btn-danger:hover{background:var(--c-danger-soft)}.btn-danger.is-solid{background:var(--c-danger);color:var(--c-on-primary);border-color:var(--c-danger)}.btn-danger.is-solid:hover{filter:brightness(.94)}.btn-danger.is-solid.is-disabled,.btn-danger.is-solid:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:var(--c-brand);background:0 0;height:auto;padding:0}.btn-link:hover{color:var(--c-brand-hover);text-decoration:underline}.btn-sm{gap:7px;height:32px;padding:0 16px;font-size:13px}.btn-xs{gap:5px;height:26px;padding:0 10px;font-size:12px}.btn .ico{width:14px;height:14px}.btn-xs .ico{width:12px;height:12px}input,textarea,select,button{font-family:inherit}.float-field{flex-direction:column;gap:6px;width:100%;display:flex}.float-inner{padding-top:18px;display:block;position:relative}.float-control{border:none;border-bottom:1px solid var(--c-hairline-strong);width:100%;height:36px;color:var(--c-ink);font-family:var(--f-sans);font-size:var(--fs-input);background:0 0;border-radius:0;outline:none;padding:6px 0 8px;line-height:1.4;transition:border-color .18s,padding-bottom .18s}.float-control:focus{border-bottom-color:var(--c-brand);border-bottom-width:2px;padding-bottom:7px}.float-label{font-size:var(--fs-input);color:var(--c-muted);pointer-events:none;transform-origin:0 0;font-weight:400;transition:transform .18s,color .18s,font-weight .18s;position:absolute;top:24px;left:0}.float-control:focus+.float-label,.float-control:not(:placeholder-shown)+.float-label,.float-field--select.is-filled .float-label,.float-field--select select:focus+.float-label{color:var(--c-muted);font-weight:600;transform:translateY(-22px)scale(.78)}.float-control:focus+.float-label,.float-field--select select:focus+.float-label{color:var(--c-brand)}.float-hint{color:var(--c-muted);padding-left:0;font-size:12px}.float-field.is-error .float-control{border-bottom-color:var(--c-danger)}.float-field.is-error .float-control:focus{border-bottom-color:var(--c-danger);box-shadow:none}.float-field.is-error .float-control+.float-label{color:var(--c-danger)!important}.float-field.is-error .float-hint{color:var(--c-danger)}.float-field.is-disabled .float-control{color:var(--c-muted);cursor:not-allowed;border-bottom-style:dashed}.float-field.is-disabled .float-label{color:var(--c-muted)}textarea.float-control{resize:vertical;height:auto;min-height:80px;padding-top:6px}select.float-control{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--c-muted) 50%), linear-gradient(135deg, var(--c-muted) 50%, transparent 50%);background-position:calc(100% - 8px) calc(50% + 1px),calc(100% - 3px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px;padding-right:24px}select.float-control:focus{background-image:linear-gradient(45deg, transparent 50%, var(--c-brand) 50%), linear-gradient(135deg, var(--c-brand) 50%, transparent 50%)}.float-grid{grid-template-columns:1fr 1fr;gap:24px 32px;display:grid}.float-grid .span-2{grid-column:span 2}.check{cursor:pointer;color:var(--c-ink);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.check input[type=checkbox],.check input[type=radio]{appearance:none;border:1.5px solid var(--c-hairline-strong);background:var(--c-canvas);cursor:pointer;border-radius:5px;flex-shrink:0;width:18px;height:18px;margin:0;transition:background .16s,border-color .16s,box-shadow .16s;position:relative}.check input[type=radio]{border-radius:50%}.check:hover input:not(:disabled){border-color:var(--c-brand);box-shadow:0 0 0 4px var(--c-brand-soft)}.check input:checked{background:var(--c-brand);border-color:var(--c-brand)}.check input[type=checkbox]:checked:after{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:14px 14px;animation:.18s cubic-bezier(.34,1.2,.64,1) forwards check-pop;position:absolute;inset:0;transform:scale(0)}.check input[type=checkbox]:indeterminate{background:var(--c-brand);border-color:var(--c-brand)}.check input[type=checkbox]:indeterminate:after{content:"";background:#fff;border-radius:1px;height:2px;position:absolute;top:7px;left:3px;right:3px}.check input[type=radio]:checked:after{content:"";background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:14px 14px;animation:.18s cubic-bezier(.34,1.2,.64,1) forwards dot-pop;position:absolute;inset:0;transform:scale(0)}.check input:focus-visible{box-shadow:var(--s-focus);outline:none}.check input:disabled{cursor:not-allowed;opacity:.5}.check input:disabled+*{color:var(--c-muted)}@keyframes check-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes dot-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.toggle{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle input{appearance:none;border-radius:var(--r-full);background:var(--c-surface-sunken);cursor:pointer;width:100%;height:100%;margin:0;transition:background .2s,box-shadow .16s;position:absolute;inset:0}.toggle:after{content:"";pointer-events:none;background:#fff;border-radius:50%;width:20px;height:20px;transition:left .24s cubic-bezier(.34,1.2,.64,1),width .24s cubic-bezier(.34,1.2,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000002e,0 1px 2px #0000001a}.toggle:has(input:checked) input{background:var(--c-brand)}.toggle:has(input:checked):after{left:22px}.toggle:active:after{width:24px}.toggle:active:has(input:checked):after{width:24px;left:18px}.toggle:hover input:not(:disabled){box-shadow:0 0 0 4px var(--c-brand-soft)}.toggle input:focus-visible{box-shadow:var(--s-focus);outline:none}.toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.seg{background:var(--c-surface-soft);border-radius:var(--r-md);border:1px solid var(--c-hairline);padding:3px;display:inline-flex;position:relative}.seg-indicator{background:var(--c-canvas);width:0;box-shadow:0 1px 2px #14151714, 0 0 0 1px var(--c-hairline);pointer-events:none;z-index:0;border-radius:5px;position:absolute;top:3px;bottom:3px;left:0}.seg.is-ready .seg-indicator{transition:transform .32s cubic-bezier(.34,1.18,.64,1),width .32s cubic-bezier(.34,1.18,.64,1)}.seg-item{z-index:1;height:30px;color:var(--c-body);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--f-sans);white-space:nowrap;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:0 14px;transition:color .2s;display:inline-flex;position:relative}.seg-item:hover{color:var(--c-ink)}.seg-item.is-active{color:var(--c-ink);font-weight:600}.seg-sm{padding:2px}.seg-sm .seg-indicator{top:2px;bottom:2px}.seg-sm .seg-item{height:26px;padding:0 11px;font-size:12px}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-inner{flex-direction:column;padding-top:0;display:flex}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-label{pointer-events:auto;order:-1;margin-bottom:6px;font-size:13px;font-weight:600;position:static;color:var(--c-ink)!important;transform:none!important}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-label .req{color:var(--c-danger)}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-control{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:44px;padding:0 12px;font-size:15px}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-control:focus{border:1px solid var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);padding-bottom:0}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) textarea.float-control{height:auto;min-height:96px;padding:12px;line-height:1.6}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .float-control:disabled,:is(.app-main,[role=dialog]) .float-field.is-disabled .float-control{background:var(--c-surface-soft);color:var(--c-muted);border-style:solid}:is(.app-main,[role=dialog]) .float-field.is-error .float-control{border-color:var(--c-danger)}:is(.app-main,[role=dialog]) .float-field.is-error .float-control:focus{box-shadow:0 0 0 3px var(--c-danger-soft)}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .date-field>input.float-control{padding-right:40px}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .date-field-btn{right:6px}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .sel--float{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:44px;padding:0 12px}:is(.app-main,[role=dialog]) .float-field:not(.is-readonly) .sel--float.is-open{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}:is(.app-main,[role=dialog]) .float-field--select .float-label{color:var(--c-ink)!important}:is(.app-main,[role=dialog]) .float-field .float-hint{font-size:12px}:is(.app-main,[role=dialog]) .float-field.is-error .float-hint{color:var(--c-danger)}.float-field.is-readonly .float-control{border-bottom-color:var(--c-hairline-soft)}.modal-section-title{letter-spacing:var(--ls-snug);text-transform:none;color:var(--c-ink);font-size:14px;font-weight:600}:is([role=dialog],.app-main form) .chip.is-active,:is([role=dialog],.app-main form) .chip.chip--active{background:var(--c-ink);border-color:var(--c-ink);color:#fff}:is([role=dialog],.app-main form) .chip.is-active:hover{background:var(--c-ink)}:is([role=dialog],.app-main form) .chip{height:34px;padding:0 14px;font-size:14px}:is(.app-main,[role=dialog]) input[type=file]{font:400 14px var(--f-sans);color:var(--c-muted)}:is(.app-main,[role=dialog]) input[type=file]::file-selector-button{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:36px;font:500 14px var(--f-sans);color:var(--c-ink);cursor:pointer;margin-right:12px;padding:0 14px}:is(.app-main,[role=dialog]) input[type=file]::file-selector-button:hover{border-color:var(--c-hairline-strong);background:var(--c-surface-soft)}.app-main form .form-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;margin-bottom:36px!important}.app-main form .form-card-head{margin-bottom:14px}.app-main form .form-card-title{letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0;font-size:18px;font-weight:600}.app-main form .form-card-sub{color:var(--c-muted);margin-top:4px;font-size:13px}.form-sec-title{letter-spacing:var(--ls-snug);color:var(--c-ink);margin-bottom:14px;font-size:18px;font-weight:600}.form-label{color:var(--c-ink);margin-bottom:8px;font-size:13px;font-weight:600}.modal-section .modal-section-title{letter-spacing:var(--ls-snug);text-transform:none;color:var(--c-ink);font-size:14px;font-weight:600}.date-field{align-items:center;width:100%;min-width:0;display:flex;position:relative}.date-field>input{font-variant-numeric:tabular-nums;flex:1;min-width:0;padding-right:26px}.date-field>input::placeholder{color:var(--c-soft)}.date-field-btn{border-radius:var(--r-xs);width:24px;height:24px;color:var(--c-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.date-field-btn:hover{color:var(--c-ink);background:var(--c-surface-strong)}.date-field.is-open .date-field-btn{color:var(--c-brand)}.date-field.is-inert .date-field-btn{cursor:default;color:var(--c-soft);background:0 0}.float-inner>.date-field+.float-label{color:var(--c-muted);font-weight:600;transform:translateY(-22px)scale(.78)}.float-inner>.date-field:focus-within+.float-label{color:var(--c-brand)}.float-field.is-error .float-inner>.date-field+.float-label{color:var(--c-danger)!important}.dp-pop{z-index:1000;box-sizing:border-box;background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-lg);font-family:var(--f-sans);color:var(--c-ink);-webkit-user-select:none;user-select:none;padding:12px 14px 10px;animation:.12s ease-out dp-in;position:fixed;box-shadow:0 8px 28px #14151724}@keyframes dp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dp-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dp-title{font-size:var(--fs-lg);letter-spacing:var(--ls-snug);font-weight:700}.dp-nav{border-radius:var(--r-sm);width:28px;height:28px;color:var(--c-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dp-nav:hover{background:var(--c-surface-strong);color:var(--c-ink)}.dp-grid{gap:2px;display:grid}.dp-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-row--head{margin-bottom:2px}.dp-wd{height:28px;font-size:var(--fs-md);color:var(--c-muted);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.dp-wd.is-sun{color:var(--c-danger)}.dp-wd.is-sat{color:var(--c-brand)}.dp-day{border-radius:var(--r-md);height:34px;color:var(--c-ink);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;transition:background 80ms}.dp-day.is-sun{color:var(--c-danger)}.dp-day.is-sat{color:var(--c-brand)}.dp-day.is-outside{color:var(--c-soft);font-weight:400}.dp-day:hover:not(:disabled){background:var(--c-surface-strong)}.dp-day.is-today{box-shadow:inset 0 0 0 1px var(--c-brand);font-weight:700}.dp-day.is-selected,.dp-day.is-selected:hover{background:var(--c-brand-solid);color:var(--c-on-primary);box-shadow:none;font-weight:700}.dp-day:disabled{color:var(--c-hairline-strong);cursor:not-allowed}.dp-day:focus-visible{outline:2px solid var(--c-brand);outline-offset:1px}.dp-foot{border-top:1px solid var(--c-hairline-soft);justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.dp-link{border-radius:var(--r-xs);color:var(--c-brand);font-size:var(--fs-md);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-weight:600}.dp-link:hover{background:var(--c-brand-soft)}.dp-link--muted{color:var(--c-muted)}.dp-link--muted:hover{background:var(--c-surface-strong);color:var(--c-ink)}.dp-link:disabled{color:var(--c-soft);cursor:default;background:0 0}@media (prefers-reduced-motion:reduce){.dp-pop{animation:none}}.sel-wrap{vertical-align:middle;max-width:100%;display:inline-flex;position:relative}.sel-wrap--float,.sel-wrap--box.is-block{width:100%;display:flex}.sel-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0;overflow:hidden}.sel{min-width:0;color:var(--c-ink);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;font-family:inherit;display:inline-flex}.sel:disabled{cursor:not-allowed;color:var(--c-muted)}.sel-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sel.is-placeholder .sel-text{color:var(--c-soft)}.sel-caret{color:var(--c-muted);flex:none;transition:transform .14s}.sel.is-open .sel-caret{color:var(--c-brand);transform:rotate(180deg)}.sel--box{border:1px solid var(--c-hairline-strong);border-radius:var(--r-md);background:var(--c-canvas);width:100%;height:36px;font-size:var(--fs-lg);padding:0 10px 0 14px;font-weight:500;transition:border-color .12s,box-shadow .12s}.sel--box:hover:not(:disabled){border-color:var(--c-muted)}.sel--box.is-open,.sel--box:focus-visible{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.sel--box:disabled{background:var(--c-surface-soft)}.sel--box.sel--sm{height:30px;font-size:var(--fs-md);border-radius:var(--r-sm);padding:0 8px 0 10px}.sel--float{border-radius:0;padding-right:0;font-weight:400}.sel--float.is-open,.sel--float:focus-visible{border-bottom-color:var(--c-brand);border-bottom-width:2px;outline:none;padding-bottom:7px}.float-inner>.sel-wrap--float:focus-within+.float-label{color:var(--c-brand);font-weight:600;transform:translateY(-22px)scale(.78)}.sel--chip{border-radius:var(--r-full)}.sel--chip.is-open{border-color:var(--c-brand)}.sel-pop{z-index:1000;box-sizing:border-box;background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-lg);max-height:280px;padding:6px;animation:.12s ease-out sel-in;position:fixed;overflow-y:auto;box-shadow:0 8px 28px #14151724}@keyframes sel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.sel-pop.is-up{animation-name:sel-in-up}@keyframes sel-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sel-opt{border-radius:var(--r-md);font-size:var(--fs-lg);color:var(--c-ink);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.sel-opt-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sel-opt.is-hi{background:var(--c-surface-soft)}.sel-opt.is-selected{background:var(--c-brand-soft);color:var(--c-brand);font-weight:700}.sel-opt.is-selected.is-hi{background:var(--c-brand-soft-hover)}.sel-opt-check{color:var(--c-brand);flex:none}.sel-opt.is-disabled{color:var(--c-soft);cursor:not-allowed}.sel-empty{font-size:var(--fs-md);color:var(--c-muted);padding:10px 12px}@media (prefers-reduced-motion:reduce){.sel-pop{animation:none}.sel-caret{transition:none}}.card{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);padding:24px}.card-title{font-size:var(--fs-card-title);color:var(--c-ink);margin:0 0 6px;font-weight:600}.card-sub{color:var(--c-muted);margin:0;font-size:13px}.prose-block{background:var(--c-surface-soft);border-radius:var(--r-md);color:var(--c-body);white-space:pre-wrap;word-break:break-word;padding:18px 20px;font-size:14px;line-height:1.8}.data-table-wrap{-webkit-overflow-scrolling:touch;border-top:2px solid var(--c-ink);background:var(--c-canvas);width:100%;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;background:var(--c-canvas);width:100%;font-size:14px}.data-table thead th{z-index:1;text-align:left;font-size:var(--fs-lg);letter-spacing:var(--ls-normal);color:var(--c-ink);border-bottom:1px solid var(--c-hairline);background:var(--c-surface-soft);white-space:nowrap;padding:15px 16px;font-weight:600;position:sticky;top:0}.data-table tbody td{border-bottom:1px solid var(--c-hairline-soft);color:var(--c-body);vertical-align:middle;white-space:nowrap;padding:17px 16px}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--c-surface-soft)}.data-table th.col-sticky,.data-table td.col-sticky{background:var(--c-canvas);z-index:1;box-shadow:none;transition:box-shadow .15s;position:sticky;left:0}.data-table-wrap.is-scrolled .data-table th.col-sticky,.data-table-wrap.is-scrolled .data-table td.col-sticky{box-shadow:4px 0 6px -3px #14151729}.data-table thead th.col-sticky{background:var(--c-surface-soft);z-index:2}.data-table tbody tr:hover td.col-sticky{background:var(--c-surface-soft)}.data-table .pri{color:var(--c-ink);font-weight:var(--fw-item)}.data-table th.num-right,.data-table td.num-right{text-align:right}.data-table .empty-value{color:var(--c-muted);font-style:italic}.data-table .chip{white-space:nowrap}.data-table .empty-state-row td{text-align:center;color:var(--c-muted);cursor:default;white-space:normal;padding:48px 16px}.data-table .empty-state-row:hover td{background:var(--c-canvas)}.avatar{background:var(--c-surface-strong);width:28px;height:28px;color:var(--c-ink);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}@media (width<=768px){.data-table{font-size:13px}.data-table thead th{padding:8px 12px}.data-table tbody td{padding:10px 12px}}.list-card{background:0 0;padding:0}.list-card>.tabs{margin:0}.list-card .list-toolbar{padding:var(--sp-md) 0;margin:0}.list-card>.tabs+.list-toolbar{padding-top:var(--sp-md)}.list-card>.list-toolbar:first-child{padding-top:var(--sp-lg)}.chip.filter-pill{height:34px;padding:0 var(--sp-cozy);border-radius:var(--r-full);font-size:var(--fs-lg);color:var(--c-body);font-weight:400}.chip.filter-pill.is-active,.chip.filter-pill.chip--active{background:var(--c-ink);border:1px solid var(--c-ink);color:var(--c-on-dark);font-weight:500}.chip.filter-pill.is-active:hover{background:var(--c-ink)}.chip.filter-pill.is-hot:not(.is-active){color:var(--c-danger)}.badge{border-radius:var(--r-full);align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge:before{content:"";border-radius:50%;width:6px;height:6px}.badge-success{color:var(--c-success);background:var(--c-success-soft)}.badge-success:before{background:var(--c-success)}.badge-warning{color:var(--c-warning);background:var(--c-warning-soft)}.badge-warning:before{background:var(--c-warning)}.badge-danger{color:var(--c-danger);background:var(--c-danger-soft)}.badge-danger:before{background:var(--c-danger)}.badge-info{color:var(--c-info);background:var(--c-info-soft)}.badge-info:before{background:var(--c-info)}.badge-neutral{color:var(--c-neutral);background:var(--c-neutral-soft)}.badge-neutral:before{background:var(--c-neutral)}.tag{border-radius:var(--r-sm);background:var(--c-surface-strong);color:var(--c-body);align-items:center;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--c-surface-soft) 25%, var(--c-surface-strong) 50%, var(--c-surface-soft) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}.alert{border-radius:var(--r-lg);border:1px solid;gap:12px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.alert-icon{flex-shrink:0;margin-top:1px;display:inline-flex}.alert-body{flex:1;min-width:0}.alert-msg{color:var(--c-body);margin:0;font-size:13px;line-height:1.55}.alert-warning{background:var(--c-warning-soft);border-color:#c7770033}.alert-danger{background:var(--c-danger-soft);border-color:#d4284233}.alert-warning .alert-icon{color:var(--c-warning)}.alert-danger .alert-icon{color:var(--c-danger)}.alert-info{background:var(--c-info-soft);border-color:#0052ff33}.alert-info .alert-icon{color:var(--c-info)}.alert-msg-only .alert-msg{color:var(--c-ink);font-size:14px}.modal{background:var(--c-canvas);border-radius:var(--r-xl);width:460px;box-shadow:var(--s-elevated);padding:32px}.toast{background:var(--c-canvas);border-radius:var(--r-lg);box-shadow:var(--s-elevated);border:1px solid var(--c-hairline);align-items:flex-start;gap:12px;width:380px;padding:14px 16px;display:flex}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.toast-icon.s{background:var(--c-success-soft);color:var(--c-success)}.toast-icon.w{background:var(--c-warning-soft);color:var(--c-warning)}.toast-icon.d{background:var(--c-danger-soft);color:var(--c-danger)}.toast-icon.i{background:var(--c-info-soft);color:var(--c-info)}.toast-title{color:var(--c-ink);margin:0 0 2px;font-size:14px;font-weight:600}.toast-msg{color:var(--c-body);margin:0;font-size:13px}.toast-close{color:var(--c-muted);cursor:pointer;margin-left:auto;font-size:16px;line-height:1}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section+.modal-section{border-top:1px solid var(--c-hairline-soft);padding-top:22px}.modal-section-title{font-size:var(--fs-overline);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);margin-bottom:14px;font-weight:600}.modal-footer{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}@media (width<=640px){.modal-footer{padding:14px 16px}.modal-footer .btn{flex:auto;justify-content:center}}.pagination{justify-content:center;align-items:center;gap:var(--sp-tight);display:flex}.page-btn{min-width:38px;height:38px;padding:0 var(--sp-tight);border:1px solid var(--c-hairline);border-radius:var(--r-sm);background:var(--c-canvas);font:500 var(--fs-lg)/1 var(--f-sans);color:var(--c-muted);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.page-btn:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.page-btn.is-active{background:var(--c-brand-solid);border-color:var(--c-brand-solid);color:var(--c-on-primary);font-weight:600}.page-btn.is-active:hover{background:var(--c-brand-solid-hover)}.page-btn:disabled,.page-btn.is-disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.page-btn:focus-visible{box-shadow:var(--s-focus);outline:none}.page-ellipsis{width:24px;height:38px;font-size:var(--fs-lg);color:var(--c-soft);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.pagination-info{font-size:var(--fs-md);color:var(--c-muted);font-variant-numeric:tabular-nums}.pagination-info b{color:var(--c-ink);font-weight:600}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;display:flex}.empty-icon{border-radius:var(--r-xl);background:var(--c-surface-soft);border:1px solid var(--c-hairline);width:56px;height:56px;color:var(--c-muted);flex-shrink:0;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-title{font-size:var(--fs-card-title);color:var(--c-ink);margin:0 0 8px;font-weight:600}.empty-desc{color:var(--c-muted);max-width:340px;margin:0 0 24px;font-size:14px;line-height:1.6}.progress{background:var(--c-surface-sunken);border-radius:var(--r-full);width:120px;height:6px;overflow:hidden}.progress>div{background:var(--c-brand);border-radius:var(--r-full);height:100%}.rules{grid-template-columns:1fr 1fr;gap:24px;display:grid}.upload-icon{border-radius:var(--r-xl);background:var(--c-surface-soft);border:1px solid var(--c-hairline);width:48px;height:48px;color:var(--c-muted);justify-content:center;align-items:center;margin-bottom:16px;display:flex}.file-icon{border-radius:var(--r-sm);background:var(--c-surface-soft);width:32px;height:32px;color:var(--c-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-name{font-size:13px;font-weight:var(--fw-item);color:var(--c-ink);margin:0 0 2px}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:var(--c-hairline);width:1px;position:absolute;top:8px;bottom:8px;left:7px}.tl-dot{background:var(--c-canvas);border:2px solid var(--c-hairline-strong);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-24px}.tl-dot.brand{background:var(--c-brand);border-color:var(--c-brand)}.tl-dot.success{background:var(--c-success);border-color:var(--c-success)}.tl-dot.warning{background:var(--c-warning);border-color:var(--c-warning)}.kanban-board{min-height:calc(100vh / var(--app-zoom) - 180px);grid-template-columns:repeat(4,1fr);align-items:flex-start;gap:16px;padding:0 0 2rem;display:grid}.kanban-column{background:0 0;flex-direction:column;min-width:200px;display:flex}.kanban-col-header{border-bottom:1px solid var(--c-hairline);justify-content:space-between;align-items:center;padding:9px 12px 10px;display:flex}.kanban-col-label{letter-spacing:var(--ls-normal);font-size:14px;font-weight:600}.kanban-col-body{flex-direction:column;gap:10px;min-height:80px;padding:10px 0 0;display:flex}.kanban-col-empty{text-align:center;color:var(--c-muted);padding:24px 8px;font-size:.75rem;font-style:italic}.kanban-card{background:var(--c-canvas);border:1px solid var(--c-hairline);cursor:pointer;border-radius:8px;padding:14px 14px 10px;transition:box-shadow .15s,transform .15s;position:relative;box-shadow:0 1px 3px #14151712}.kanban-card:hover{box-shadow:var(--s-elevated);transform:translateY(-1px)}.kanban-card-overlay{transform:rotate(1.5deg);box-shadow:0 8px 24px #00000024}.kanban-card-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.kanban-company-row{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.kanban-company-name{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.kanban-card-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.kanban-card-grip{color:var(--c-muted);cursor:grab;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;display:flex}.kanban-card-grip:hover{background:var(--c-surface-soft);color:var(--c-ink)}.kanban-card-grip:active{cursor:grabbing}.kanban-card-body{margin-bottom:10px}.kanban-card-name{font-size:var(--fs-card-title);font-weight:var(--fw-item);color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;line-height:1.35;overflow:hidden}.kanban-card-meta{grid-template-columns:auto 1fr;gap:2px 8px;display:grid}.kanban-card-meta-label{color:var(--c-muted);white-space:nowrap;font-size:11px;line-height:1.6}.kanban-card-meta-value{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.6;overflow:hidden}.kanban-meta-mono{font-family:var(--f-mono);font-size:11px}.kc-dday{color:var(--c-body);margin-left:8px;font-weight:700}.kc-dday--delayed{color:var(--c-danger)}.kanban-card-desc{color:var(--c-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.kanban-progress{align-items:center;gap:8px;margin-top:8px;display:flex}.kanban-progress-track{border-radius:99px;flex:1;height:4px;overflow:hidden}.kanban-progress-num{font-family:var(--f-mono);color:var(--c-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.kanban-members{align-items:center;gap:8px;min-width:0;margin-top:8px;display:flex}.kc-avatar{width:24px;height:24px;font-size:10px}.kc-avatar+.kc-avatar{margin-left:-6px}.kanban-members-names{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.kanban-card-footer{border-top:1px solid var(--c-hairline);padding-top:8px}.kanban-detail-btn{width:100%;color:var(--c-muted);background:var(--c-surface-soft);cursor:pointer;border-radius:var(--r-md);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:4px;padding:7px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:flex}.kanban-detail-btn:hover{background:var(--c-hairline);color:var(--c-ink)}.kanban-card-company{color:var(--c-muted);margin-top:3px;font-size:.74rem}.kanban-readonly-note{text-align:center;color:var(--c-muted);padding:12px 0 0;font-size:.8rem;font-style:italic}.kc-phase-chip{border-radius:var(--r-full);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.phase-chip-sales{color:#64748b;background:#fafafa}.phase-chip-won{color:#1d4ed8;background:#eff6ff}.phase-chip-analysis{color:#6d28d9;background:#ede9fe}.phase-chip-design{color:#be185d;background:#fce7f3}.phase-chip-development{color:#c2410c;background:#ffedd5}.phase-chip-testing{color:#15803d;background:#dcfce7}.phase-chip-review,.phase-chip-maintenance{color:var(--c-warning);background:#fff7ed}.phase-chip-completed{color:var(--c-success);background:#f0fdf4}.phase-chip-closed{color:#475569;background:#f1f5f9}@media (width<=900px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.desktop-only{display:none!important}.kanban-mobile{flex-direction:column;gap:16px;display:flex}.kanban-mobile-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.kanban-mobile-tabs::-webkit-scrollbar{display:none}.kanban-mobile-tab{white-space:nowrap;border:1px solid var(--c-hairline);background:var(--c-canvas);color:var(--c-muted);cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.kanban-mobile-tab.is-active{color:#fff;background:var(--kb-stage);border-color:var(--kb-stage)}.kanban-mobile-tab .tab-count{font-family:var(--f-mono);background:#ffffff40;border-radius:10px;padding:1px 6px;font-size:11px}.kanban-mobile-tab.is-active .tab-count{color:#fff}.kanban-mobile-tab:not(.is-active) .tab-count{background:var(--c-surface-soft);color:var(--c-muted)}.kanban-mobile-cards{flex-direction:column;gap:12px;display:flex}.kanban-mobile-cards .kanban-card{padding:12px 12px 8px}.kanban-mobile-cards .kanban-card-name{font-size:14px}}@media (width>=769px){.mobile-only{display:none!important}}.kanban-column--not_started,.kanban-mobile-tab--not_started,.proj-status--not_started,.co-proj-status--closed{--kb-stage:#64748b;--kb-stage-bg:#f1f5f9;--kb-stage-a13:#64748b22}.kanban-column--in_progress,.kanban-mobile-tab--in_progress,.proj-status--in_progress{--kb-stage:#7c3aed;--kb-stage-bg:#faf5ff;--kb-stage-a13:#7c3aed22}.kanban-column--maintenance,.kanban-mobile-tab--maintenance,.proj-status--maintenance{--kb-stage:#ea580c;--kb-stage-bg:#fff7ed;--kb-stage-a13:#ea580c22}.kanban-column--completed,.kanban-mobile-tab--completed,.proj-status--completed,.co-proj-status--won{--kb-stage:#16a34a;--kb-stage-bg:#f0fdf4;--kb-stage-a13:#16a34a22}.kanban-column.is-over{outline:2px solid var(--kb-stage);outline-offset:4px;background:var(--kb-stage-bg);border-radius:10px}.kanban-col-header{background:var(--c-surface-soft);border-top-color:#0000;border-radius:8px 8px 0 0}.kanban-col-label{color:var(--c-ink);align-items:center;gap:7px;display:inline-flex}.kanban-col-label:before{content:"";background:var(--kb-stage);border-radius:50%;flex:none;width:8px;height:8px}.chip.kanban-col-count{background:var(--c-surface-strong);color:var(--c-body)}[data-theme=dark] .kanban-column--not_started,[data-theme=dark] .kanban-mobile-tab--not_started,[data-theme=dark] .proj-status--not_started,[data-theme=dark] .co-proj-status--closed{--kb-stage:#94a3b8;--kb-stage-bg:#94a3b824;--kb-stage-a13:#94a3b833}[data-theme=dark] .kanban-column--in_progress,[data-theme=dark] .kanban-mobile-tab--in_progress,[data-theme=dark] .proj-status--in_progress{--kb-stage:#a78bfa;--kb-stage-bg:#a78bfa29;--kb-stage-a13:#a78bfa38}[data-theme=dark] .kanban-column--maintenance,[data-theme=dark] .kanban-mobile-tab--maintenance,[data-theme=dark] .proj-status--maintenance{--kb-stage:#fb923c;--kb-stage-bg:#fb923c29;--kb-stage-a13:#fb923c38}[data-theme=dark] .kanban-column--completed,[data-theme=dark] .kanban-mobile-tab--completed,[data-theme=dark] .proj-status--completed,[data-theme=dark] .co-proj-status--won{--kb-stage:#4ade80;--kb-stage-bg:#4ade8024;--kb-stage-a13:#4ade8033}[data-theme=dark] .kanban-mobile-tab.is-active{color:#0a0d14}[data-theme=dark] .phase-chip-sales{color:#94a3b8;background:#94a3b824}[data-theme=dark] .phase-chip-won{color:#60a5fa;background:#60a5fa29}[data-theme=dark] .phase-chip-analysis{color:#a78bfa;background:#a78bfa29}[data-theme=dark] .phase-chip-design{color:#f472b6;background:#f472b629}[data-theme=dark] .phase-chip-development{color:#fb923c;background:#fb923c29}[data-theme=dark] .phase-chip-testing{color:#4ade80;background:#4ade8024}[data-theme=dark] .phase-chip-review,[data-theme=dark] .phase-chip-maintenance{color:#fdba74;background:#fdba7429}[data-theme=dark] .phase-chip-completed{color:#34d399;background:#34d39924}[data-theme=dark] .phase-chip-closed{color:#94a3b8;background:#94a3b81f}.pj-dot{background:var(--kb-stage,var(--c-soft));border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.pj-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.pj-pills{flex-wrap:wrap;gap:6px;display:flex}.pj-pills .chip.filter-pill{gap:6px}.pj-pills .chip.filter-pill b{color:var(--c-muted);font-weight:600}.pj-pills .chip.filter-pill.is-active b{color:inherit;opacity:.75}.pj-pills .chip.filter-pill.is-active .pj-dot{box-shadow:0 0 0 1.5px #fff}.pj-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.pj-search{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:240px;height:36px;color:var(--c-muted);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.pj-search:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.pj-search input{min-width:0;font:400 14px var(--f-sans);color:var(--c-ink);background:0 0;border:0;outline:none;flex:1}.pj-seg{border:1px solid var(--c-hairline);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.pj-seg button{background:var(--c-canvas);height:36px;font:500 14px var(--f-sans);color:var(--c-muted);cursor:pointer;border:0;padding:0 14px}.pj-seg button+button{border-left:1px solid var(--c-hairline)}.pj-seg button.is-active{background:var(--c-surface-soft);color:var(--c-ink);font-weight:600}.pj-table tbody tr.pj-row{cursor:pointer}.pj-table td{vertical-align:middle}.pj-group td{cursor:default;border-bottom:1px solid var(--c-hairline)!important;background:0 0!important;padding:18px 14px 8px!important}.pj-group .pj-dot{vertical-align:1px;margin-right:8px}.pj-group b{color:var(--c-ink);font-size:15px;font-weight:600}.pj-group span{color:var(--c-muted);margin-left:6px;font-size:14px;font-weight:500}.pj-empty td{color:var(--c-soft);font-size:13px;padding:14px!important}.pj-name{color:var(--c-ink);white-space:normal;font-size:15px;font-weight:600;display:block}.pj-co{color:var(--c-muted);white-space:normal;margin-top:2px;font-size:13px;display:block}.pj-none{color:var(--c-soft);font-size:13px}.pj-steps-wrap{align-items:center;gap:8px;display:inline-flex}.pj-steps{gap:3px;display:inline-flex}.pj-steps i{background:var(--c-hairline);border-radius:2px;width:16px;height:5px}.pj-steps i.is-done{background:var(--c-brand)}.pj-steps i.is-cur{background:var(--c-brand);box-shadow:0 0 0 2px var(--c-brand-soft)}.pj-phase{color:var(--c-body);font-size:13px}.pj-prog{align-items:center;gap:8px;display:inline-flex}.pj-prog .pj-bar{border-radius:var(--r-full);background:var(--c-surface-strong);width:90px;height:6px;margin:0;display:inline-block;overflow:hidden}.pj-prog .pj-bar i{background:var(--c-brand);height:100%;display:block}.pj-prog b{color:var(--c-ink);font-size:13px;font-weight:600}.pj-period{font-variant-numeric:tabular-nums;color:var(--c-body)}.pj-dday{border-radius:var(--r-xs);background:var(--c-surface-soft);color:var(--c-body);margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.pj-dday.is-soon{background:var(--c-accent-soft);color:#a8370a}.pj-dday.is-late{background:var(--c-danger-soft);color:var(--c-danger)}.pj-who{color:var(--c-ink);align-items:center;gap:7px;display:inline-flex}.pj-who em,.pj-avs em{background:var(--c-brand-soft);width:26px;height:26px;color:var(--c-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:600;display:inline-grid}.pj-avs{display:inline-flex}.pj-avs em{border:2px solid var(--c-canvas)}.pj-avs em+em{margin-left:-6px}.pj-avs em.is-more{background:var(--c-surface-strong);color:var(--c-muted)}@media (width<=768px){.pj-tools{width:100%;margin-left:0}.pj-search{flex:1;width:auto}.pj-pills{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.pj-pills::-webkit-scrollbar{display:none}.pj-pills .chip{flex:none}.pj-table-wrap{border-top:2px solid var(--c-ink);overflow:visible}.pj-table thead{display:none}.pj-table,.pj-table tbody{width:100%;display:block}.pj-table tr.pj-row{border-bottom:1px solid var(--c-hairline-soft);grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 4px;display:grid}.pj-table tr.pj-row td{background:0 0;height:auto;display:block;position:static;border:0!important;padding:0!important}.pj-table tr.pj-row td:first-child{grid-column:1/-1}.pj-table tr.pj-row td:nth-child(5){display:none}.pj-table tr.pj-row td:nth-child(6){grid-area:2/2}.pj-table tr.pj-row td:nth-child(4){grid-column:1/-1;font-size:13px}.pj-table tr.pj-group,.pj-table tr.pj-empty,.pj-table tr.pj-group td,.pj-table tr.pj-empty td{display:block}}.pj-search{min-width:0}.pj-search input{width:100%}@media (width<=768px){.pj-seg{flex:none}}.pj-namecell{align-items:center;gap:12px;min-width:0;display:flex}.pj-namecell-t{min-width:0;display:block}:root{--app-zoom:1}body{background:var(--c-canvas);margin:0}.ds-topbar.app{height:calc(56px + env(safe-area-inset-top,0px));z-index:60;align-items:center;gap:16px;display:flex;position:sticky;top:0;padding-top:env(safe-area-inset-top,0px)!important;padding-right:calc(20px + env(safe-area-inset-right,0px))!important;padding-bottom:0!important;padding-left:calc(16px + env(safe-area-inset-left,0px))!important}.ds-topbar-brand{border-right:1px solid var(--c-hairline);box-sizing:border-box;justify-content:flex-start;align-items:center;gap:8px;width:224px;height:28px;padding-left:0;padding-right:16px;display:flex}.topbar-breadcrumb{flex-shrink:1;align-items:center;gap:4px;min-width:0;font-size:13px;display:flex;overflow:hidden}.breadcrumb-item{white-space:nowrap;align-items:center;gap:4px;display:flex}.breadcrumb-link{color:var(--c-muted);text-decoration:none;transition:color .12s}.breadcrumb-link:hover{color:var(--c-brand)}.breadcrumb-sep{color:var(--c-muted);-webkit-user-select:none;user-select:none;font-size:12px}.breadcrumb-current{color:var(--c-ink);font-weight:600}.app-topbar-right{align-items:center;gap:6px;margin-left:auto;display:flex}.user-pill{border:1px solid var(--c-hairline);background:var(--c-canvas);height:36px;color:var(--c-ink);cursor:pointer;font-family:var(--f-sans);border-radius:999px;align-items:center;gap:10px;padding:4px 12px 4px 4px;transition:background .12s,border-color .12s;display:inline-flex}.user-pill:hover{background:var(--c-surface-soft);border-color:var(--c-hairline-strong)}.user-pill .avatar{background:var(--c-brand-soft);width:28px;height:28px;color:var(--c-brand);letter-spacing:var(--ls-snug);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.user-pill .user-name{font-size:13px;font-weight:500}.user-pill .user-role{color:var(--c-muted);font-size:11px;font-family:var(--f-mono);letter-spacing:var(--ls-normal)}.icon-btn{border-radius:var(--r-md);width:36px;height:36px;color:var(--c-body);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex;position:relative}.icon-btn>svg{flex:none}.icon-btn:hover{background:var(--c-surface-soft);color:var(--c-ink)}.icon-btn:focus-visible{box-shadow:var(--s-focus);outline:none}.icon-btn .dot{background:var(--c-danger);width:6px;height:6px;box-shadow:0 0 0 2px var(--c-canvas);border-radius:50%;position:absolute;top:8px;right:9px}[data-theme=dark] .icon-btn .dot{box-shadow:0 0 0 2px var(--c-canvas)}.app-shell-grid{height:calc(100vh / var(--app-zoom) - 56px);display:flex;overflow:hidden}.app-sidebar{background:var(--c-canvas);border-right:1px solid var(--c-hairline);flex-direction:column;flex-shrink:0;width:240px;height:100%;padding:8px 8px 24px;display:flex;overflow:hidden auto}.app-sidebar .nav-item{gap:10px;min-height:42px;padding:8px;font-size:14px}.app-sidebar .nav-item.is-active{background:var(--c-ink);color:var(--c-on-dark);font-weight:600}.app-sidebar .nav-item.is-active .ico,.app-sidebar .nav-item.is-active svg{color:var(--c-on-dark);opacity:1}.nav-cnt{border-radius:var(--r-full);background:var(--c-accent);min-width:20px;height:20px;color:var(--c-on-primary);text-align:center;font-variant-numeric:tabular-nums;margin-left:auto;padding:0 6px;font-size:10px;font-style:normal;font-weight:600;line-height:20px}.app-sidebar .nav-item.is-active .nav-cnt{background:var(--c-canvas);color:var(--c-ink)}.sb-profile{border:1px solid var(--c-hairline);background:var(--c-surface-soft);border-radius:10px;outline:none;align-items:center;gap:10px;margin:8px 8px 16px;padding:12px;transition:background .12s;display:flex}.sb-profile[role=button]{cursor:pointer}.sb-profile[role=button]:hover{background:var(--c-surface-strong)}.sb-profile[role=button]:focus-visible{box-shadow:var(--s-focus)}.sb-profile-avatar{width:40px;height:40px;letter-spacing:var(--ls-snug);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;overflow:hidden}.sb-profile-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sb-profile-role{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:10px;line-height:1.2}.sb-profile-name{color:var(--c-ink);letter-spacing:var(--ls-snug);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.sb-profile-company{color:var(--c-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.app-sidebar .sb-section{margin-bottom:4px;padding:0;display:block}.app-sidebar .sb-nav .sb-section+.sb-section{margin-top:0}.app-sidebar .sb-nav .sb-section:last-child{border-top:1px solid var(--c-hairline);margin-top:12px;padding-top:12px}.sb-section{margin-bottom:4px}.sb-section-title{font-family:var(--f-sans);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);opacity:1;-webkit-user-select:none;user-select:none;margin:20px 0 8px;padding:0 8px;font-size:11px;font-weight:600}.sb-section-items{flex-direction:column;gap:3px;display:flex}.app-main{background:var(--c-canvas);--main-max:1760px;flex:1;min-width:0;height:100%;padding:32px 40px;overflow-y:auto}.app-main.size-lg{--main-max:1760px}.app-main-inner{max-width:var(--main-max);margin:0 auto}.page-head{border-bottom:1px solid var(--c-hairline-soft);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;padding-bottom:28px;display:flex}.page-eyebrow{font-family:var(--f-mono);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);margin-bottom:8px;font-size:11px;font-weight:500}.page-title{font-size:var(--fs-page-title);letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0;font-weight:600;line-height:1.25}.page-sub{color:var(--c-muted);margin-top:8px;font-size:14px}.page-actions{align-items:center;gap:8px;display:flex}.topbar-dropdown{z-index:70;background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-lg);width:340px;box-shadow:var(--s-elevated);transform-origin:100% 0;flex-direction:column;animation:.16s cubic-bezier(.2,0,0,1) dd-rise;display:none;position:absolute;top:52px;right:20px;overflow:hidden}.topbar-dropdown.is-open{display:flex}@keyframes dd-rise{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.icon-btn.is-active,.user-pill.is-active{background:var(--c-surface-soft);border-color:var(--c-hairline-strong)}.icon-btn.is-active{background:var(--c-brand-soft);color:var(--c-brand)}.dd-notif{width:360px}.dd-head{border-bottom:1px solid var(--c-hairline-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dd-head-title{color:var(--c-ink);letter-spacing:var(--ls-snug);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.dd-head-title .count{font-family:var(--f-mono);background:var(--c-brand-soft);color:var(--c-brand);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.dd-head-action{color:var(--c-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:3px;padding:4px 6px;font-size:12px;transition:color .12s,background .12s;display:inline-flex}.dd-head-action:hover{color:var(--c-brand);background:var(--c-brand-soft)}.dd-head-action:disabled{opacity:.5;cursor:default}.dd-list{flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.dd-item{appearance:none;text-align:left;width:100%;font:inherit;border:none;border-bottom:1px solid var(--c-hairline-soft);cursor:pointer;background:var(--c-canvas);color:inherit;align-items:flex-start;gap:12px;padding:13px 16px;text-decoration:none;transition:background .12s;display:flex;position:relative}.dd-item:last-child{border-bottom:none}.dd-item:hover{background:var(--c-surface-soft)}.dd-item[data-state=unread]{background:var(--c-brand-soft)}.dd-item[data-state=unread]:hover{background:var(--c-brand-soft-hover)}.notif-list{border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline)}.notif-list:empty{border:none}.dd-item-icon{background:var(--c-surface-strong);width:40px;height:40px;color:var(--c-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dd-item-icon.is-success{background:var(--c-success-soft);color:var(--c-success)}.dd-item-icon.is-warning{background:var(--c-warning-soft);color:var(--c-warning)}.dd-item-icon.is-danger{background:var(--c-danger-soft);color:var(--c-danger)}.dd-item-icon.is-info{background:var(--c-brand-soft);color:var(--c-brand)}.dd-item-body{flex:1;min-width:0}.dd-item-title{color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:13px;font-weight:500;line-height:1.45;overflow:hidden}.dd-item[data-state=unread] .dd-item-title{font-weight:700}.dd-item-msg{color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.dd-item-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;padding-top:1px;display:flex}.dd-item-time{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:var(--ls-normal);white-space:nowrap;font-size:11px}.dd-item-dot{background:var(--c-brand);visibility:hidden;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dd-item[data-state=unread] .dd-item-dot{visibility:visible}.dd-foot{border-top:1px solid var(--c-hairline-soft);padding:10px 16px}.dd-foot a{color:var(--c-brand);justify-content:center;align-items:center;gap:5px;padding:4px 0;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .12s;display:flex}.dd-foot a:hover{opacity:.8;text-decoration:underline}.dd-user{width:260px}.dd-user-head{border-bottom:1px solid var(--c-hairline-soft);align-items:center;gap:12px;padding:16px;display:flex}.dd-user-head .avatar{width:40px;height:40px;font-size:14px}.dd-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.dd-user-name{color:var(--c-ink);letter-spacing:var(--ls-snug);font-size:14px;font-weight:600}.dd-user-email{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:var(--ls-normal);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dd-menu{padding:6px}.dd-link{border-radius:var(--r-md);color:var(--c-body);cursor:pointer;text-align:left;width:100%;font-size:13px;font-weight:500;font-family:var(--f-sans);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:background .12s,color .12s;display:flex}.dd-link:hover{background:var(--c-surface-soft);color:var(--c-ink)}.dd-link .ico{width:15px;height:15px;color:var(--c-muted);flex-shrink:0}.dd-link:hover .ico{color:var(--c-ink)}.dd-link.is-danger{color:var(--c-danger)}.dd-link.is-danger:hover{background:var(--c-danger-soft);color:var(--c-danger)}.dd-link.is-danger .ico{color:var(--c-danger)}.dd-link kbd{font-family:var(--f-mono);color:var(--c-muted);border:1px solid var(--c-hairline);background:var(--c-canvas);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.dd-divider{background:var(--c-hairline-soft);height:1px;margin:4px}.dd-theme{align-items:center;gap:10px;padding:8px 10px;display:flex}.dd-theme-label{color:var(--c-body);flex:1;align-items:center;gap:10px;font-size:13px;font-weight:500;display:inline-flex}.dd-theme-label .ico{width:15px;height:15px;color:var(--c-muted)}.dd-theme-seg{background:var(--c-surface-strong);border-radius:var(--r-md);gap:2px;padding:2px;display:inline-flex}.dd-theme-btn{width:26px;height:24px;color:var(--c-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.dd-theme-btn:hover{color:var(--c-ink)}.dd-theme-btn.is-active{background:var(--c-canvas);color:var(--c-ink);box-shadow:0 1px 2px #14151714}@media (width<=640px){.topbar-dropdown{width:auto;max-width:360px;margin-left:auto;left:8px;right:8px}.dd-notif,.dd-user{width:auto}}.ds-topbar-brand .brand-logo{flex-shrink:1;width:174px;min-width:0;max-width:100%;height:auto;display:block}.ds-topbar-brand .brand-logo-dark,.ds-topbar-brand .brand-logo-mark-light,.ds-topbar-brand .brand-logo-mark-dark,[data-theme=dark] .ds-topbar-brand .brand-logo-light{display:none}[data-theme=dark] .ds-topbar-brand .brand-logo-dark{display:block}@media (width<=359px){.ds-topbar-brand .brand-logo-light,.ds-topbar-brand .brand-logo-dark{display:none!important}.ds-topbar-brand .brand-logo.brand-logo-mark-light{width:32px;display:block}[data-theme=dark] .ds-topbar-brand .brand-logo.brand-logo-mark-light{display:none!important}[data-theme=dark] .ds-topbar-brand .brand-logo.brand-logo-mark-dark{width:32px;display:block}}[data-theme=dark] .app-sidebar .nav-item.is-active{background:var(--c-surface-strong);color:var(--c-brand)}.sidebar-backdrop{z-index:40;background:#14151766;display:none;position:fixed;inset:56px 0 0}.sidebar-backdrop.is-open{display:block}.hamburger,.hamburger .icon-close,.hamburger.is-open .icon-open{display:none}.hamburger.is-open .icon-close{display:inline-flex}@media (width<=1024px){.hamburger{display:inline-flex}.app-shell-grid{height:auto;display:block;overflow:visible}.app-main{height:auto;overflow-y:visible}.app-sidebar{z-index:50;width:260px;height:auto;transition:left .22s cubic-bezier(.2,0,0,1);position:fixed;top:56px;bottom:0;left:-260px;box-shadow:0 6px 24px -8px #1415171f,0 2px 6px -2px #1415170f}.app-sidebar.is-open{left:0}.app-main{padding:24px}.topbar-breadcrumb{display:none}.ds-topbar-brand{border-right:none;width:auto;padding-right:10px}.ds-topbar-brand .brand-logo{width:150px;max-width:174px}.app-sidebar .sb-nav{flex:initial!important}}@media (width<=640px){.ds-topbar.app{gap:8px;padding:0 12px 0 8px!important}.user-pill .user-name,.user-pill .user-role{display:none}.user-pill{border:none;gap:0;padding:4px}.user-pill:hover{background:0 0}.app-topbar-right{gap:2px}.ds-topbar.app{padding:0 16px!important}.ds-topbar-brand{padding-right:12px}.app-sidebar .nav-item{min-height:44px}.app-main{padding:20px 16px}.page-head{flex-direction:column;align-items:flex-start;gap:16px}.page-title{font-size:var(--fs-page-title-sm)}.page-actions{justify-content:flex-end;width:100%}}.approval-form-layout{grid-template-columns:1fr 300px;align-items:start;gap:24px;display:grid}.approval-form-main,.approval-form-summary{min-width:0}.approval-form-mobile-bar{display:none}@media (width<=900px){.approval-form-layout{padding-bottom:72px;display:block}.approval-form-summary{display:none}.approval-form-mobile-bar{padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--c-canvas);border-top:1px solid var(--c-hairline-soft);z-index:100;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #14151714}}@media (width<=640px){.page-container:has(.approval-form-layout) .page-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%}.page-container:has(.approval-form-layout) .page-actions .btn{justify-content:center;width:100%}}.review-layout{align-items:flex-start;gap:24px;display:flex}.review-pdf-col{flex:0 0 62%;min-width:0}.review-side-col{flex:0 0 38%;min-width:0;position:sticky;top:24px}.pdf-viewer-container{border:1px solid var(--c-hairline);background:#fff;border-radius:8px;min-height:800px;position:relative;overflow:hidden}.pdf-viewer-container iframe{border:none;width:100%;height:100%;min-height:800px;display:block}.review-action-bar-mobile{display:none}@media (width<=1023px){.review-layout{flex-direction:column}.review-pdf-col{flex:0 0 100%;order:2;width:100%}.review-side-col{flex:0 0 100%;order:1;width:100%;position:static!important;top:auto!important}.pdf-viewer-container{height:500px;min-height:0}.pdf-viewer-container iframe{height:100%;min-height:0}.review-page{padding-bottom:88px}.review-action-bar-desktop{display:none}.review-action-bar-mobile{z-index:50;background:var(--c-canvas);border-top:1px solid var(--c-hairline);gap:8px;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000d}.review-action-bar-mobile button{flex:1}}.review-page-header{border-bottom:1px solid var(--c-hairline);margin-bottom:24px;padding:4px 0 20px}.review-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.review-header-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-page-title{font-size:var(--fs-page-title);color:var(--c-ink);letter-spacing:var(--ls-tight);margin:0;font-weight:700;line-height:1.3}.btn-back{color:var(--c-body);cursor:pointer;min-height:40px;font-size:15px;font-weight:500;font-family:var(--f-sans);background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:0 10px;transition:color .12s,background .12s;display:inline-flex}.btn-back:hover{color:var(--c-ink);background:var(--c-surface-soft)}.back-row{align-items:center;gap:6px;min-width:0;margin:0 0 4px;display:flex}.back-link{cursor:pointer;min-height:40px;font:500 15px/1.3 var(--f-sans);color:var(--c-body);background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:4px;margin-left:-4px;padding:0 8px 0 4px;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.back-link:hover{color:var(--c-ink);background:var(--c-surface-soft)}.back-link:focus-visible{outline:2px solid var(--c-brand);outline-offset:1px}.back-link svg{flex:none}.back-sep{color:var(--c-hairline);font-size:14px}.back-trail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--c-muted);font-size:14px;font-family:var(--f-mono);overflow:hidden}@media (width<=640px){.review-page-title{font-size:var(--fs-page-title-sm)}}@media (width>=1025px){.app-sidebar{transition:width .2s cubic-bezier(.2,0,0,1)}.app-shell-grid.is-collapsed .app-sidebar{width:64px}.app-shell-grid.is-collapsed .app-sidebar .nav-item-label,.app-shell-grid.is-collapsed .app-sidebar .sb-section-title,.app-shell-grid.is-collapsed .app-sidebar .sb-profile-info{display:none}.app-shell-grid.is-collapsed .app-sidebar .nav-item{justify-content:center;gap:0;padding:8px 0}.app-shell-grid.is-collapsed .app-sidebar .sb-collapse-row{justify-content:center;padding:4px 0 8px}.app-shell-grid.is-collapsed .app-sidebar .sb-profile{justify-content:center;margin:8px 4px 16px;padding:12px 0}.app-shell-grid.is-collapsed .app-sidebar .nav-item .approval-badge{margin-left:0;position:absolute;top:4px;right:10px}.app-shell-grid.is-collapsed .app-sidebar .nav-item{position:relative}.app-shell-grid.is-collapsed .app-sidebar .nav-cnt{background:var(--c-accent);width:8px;min-width:0;height:8px;box-shadow:0 0 0 2px var(--c-canvas);margin-left:0;padding:0;font-size:0;line-height:0;position:absolute;top:6px;left:calc(50% + 4px)}.app-shell-grid.is-collapsed .app-sidebar .nav-item.is-active .nav-cnt{background:var(--c-accent);box-shadow:0 0 0 2px var(--c-ink)}}.app-sidebar{scrollbar-width:none;-ms-overflow-style:none}.app-sidebar::-webkit-scrollbar{display:none}.sb-collapse-row{justify-content:flex-end;margin-top:auto;padding:4px 8px 8px;display:flex}.sb-collapse-btn{width:44px;height:44px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.sb-collapse-btn:hover{background:var(--c-surface-soft);color:var(--c-ink)}.sb-collapse-btn:focus-visible{outline:2px solid var(--c-brand);outline-offset:-2px}.sb-collapse-btn .ico{flex-shrink:0}@media (width<=1024px){.sb-collapse-btn{display:none}.app-shell-grid.is-collapsed .app-sidebar{width:260px}}.page-header{border-bottom:1px solid var(--c-hairline-soft);justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:20px;padding-bottom:12px;display:flex}.page-header-text{min-width:0}.page-header-title{font-family:var(--f-display);font-size:var(--fs-page-title);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.page-header-desc{color:var(--c-muted);margin:2px 0 0;font-size:13px}.page-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page-header--greeting{align-items:flex-start}.page-header--greeting .page-header-title{white-space:normal}@media (width<=640px){.page-header{gap:10px;min-height:44px}.page-header-title{font-size:var(--fs-page-title-sm)}.page-header-actions .btn>span:not(.ico){display:none}.page-header-actions .btn{justify-content:center;min-width:40px;padding-left:10px;padding-right:10px}}@media (width>=1200px) and (width<=1600px) and (resolution>=1.25x){:root{zoom:.9;--app-zoom:.9}}@media (width>=2001px){:root{zoom:1.1;--app-zoom:1.1}}.refresh-fab-wrap{z-index:900;align-items:center;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.refresh-fab{background:var(--c-ink);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:48px;height:48px;transition:transform .12s;display:grid;position:relative;box-shadow:0 6px 18px #14151747}.refresh-fab:hover{transform:translateY(-1px)}.refresh-fab:focus-visible{outline:3px solid var(--c-brand-soft);outline-offset:2px}.refresh-fab-dot{background:#e5484d;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;top:6px;right:6px}.refresh-fab-tip{background:var(--c-ink);color:#fff;border-radius:8px;align-items:center;display:flex;position:relative;box-shadow:0 6px 18px #14151733}.refresh-fab-tip:after{content:"";border:5px solid #0000;border-left-color:var(--c-ink);border-right:0;margin-top:-5px;position:absolute;top:50%;right:-5px}.refresh-fab-tip-txt{font:500 13px var(--f-sans);color:#fff;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 4px 8px 12px}.refresh-fab-tip-x{color:#ffffffb3;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;margin-right:2px;display:grid}.refresh-fab-tip-x:hover{color:#fff;background:#ffffff1f}@media (width<=640px){.refresh-fab-wrap{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.refresh-fab{width:46px;height:46px}}@media (width<=1023px){body:has(.review-action-bar-mobile) .refresh-fab-wrap{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}@media (width<=900px){body:has(.approval-form-mobile-bar) .refresh-fab-wrap{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}@media (width<=640px){body:has(.ticket-mobile-comment) .refresh-fab-wrap{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}:is(.pdf-viewer-container:has(.pdf-canvas-wrap),.file-preview-pdf:has(.pdf-canvas-wrap)){height:auto;min-height:0;overflow:visible}.pdf-canvas-wrap{background:var(--c-surface-soft);padding:8px}.pdf-canvas-list{flex-direction:column;gap:8px;display:flex}.pdf-canvas-page{width:100%;height:auto;box-shadow:var(--s-raised);background:#fff;display:block}.pdf-canvas-note{color:var(--c-muted);text-align:center;margin:8px 4px;font-size:13px}.topbar-ext-link{border:1px solid var(--c-hairline);border-radius:var(--r-full);background:var(--c-canvas);height:34px;color:var(--c-ink);white-space:nowrap;align-items:center;gap:6px;margin-right:4px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.topbar-ext-link:hover{border-color:var(--c-hairline-strong);background:var(--c-surface-soft)}.topbar-ext-link:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}.topbar-ext-link .topbar-ext-arrow{color:var(--c-muted)}@media (width<=1024px){.topbar-ext-link{justify-content:center;width:34px;padding:0}.topbar-ext-link .topbar-ext-text,.topbar-ext-link .topbar-ext-arrow{display:none}}.topbar-ext-link.topbar-icon-link{justify-content:center;width:34px;padding:0}@media (width<=400px){.topbar-ext-link,.topbar-ext-link.topbar-icon-link{width:30px;height:30px;margin-right:2px}.topbar-ext-link svg{width:15px;height:15px}}html,body{height:100%}body{background:var(--c-canvas);color:var(--c-body);font-family:var(--f-sans);margin:0}.login-page{box-sizing:border-box;background:#f0f2f5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:960px;display:flex;overflow:hidden;box-shadow:0 8px 48px #0000001f}.login-left{background:#fff;border-right:1px solid #f0f0f0;flex-direction:column;flex:1;min-width:0;padding:48px 40px;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand-name{color:var(--c-brand);letter-spacing:var(--ls-snug);font-size:18px;font-weight:700;line-height:1.2}.login-brand-desc{color:#888;margin-top:4px;font-size:13px;line-height:1.4}.login-illustration{flex:1;justify-content:center;align-items:center;padding:12px 0;display:flex}.login-illustration img{object-fit:contain;width:100%;max-width:500px;height:auto;box-shadow:none;mix-blend-mode:normal;border:none}.login-right{box-sizing:border-box;background:#fff;flex-direction:column;flex-shrink:0;justify-content:center;width:400px;padding:56px 48px;display:flex}.login-label{font-family:var(--f-mono);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-brand);margin:0 0 14px;font-size:11px;font-weight:600}.login-title{letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0 0 14px;font-size:28px;font-weight:700;line-height:1.25}.login-desc{color:var(--c-muted);margin:0 0 36px;font-size:13px;line-height:1.6}.auth-form-fields{flex-direction:column;gap:28px;margin-bottom:28px;display:flex}.auth-form-row{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.auth-submit{width:100%;height:48px;font-size:var(--fs-input);justify-content:center}.auth-submit:hover svg{transform:translate(2px)}.auth-submit svg{transition:transform .18s cubic-bezier(.2,0,0,1)}.login-footer{color:#999;text-align:center;font-size:12px;font-family:var(--f-mono);letter-spacing:var(--ls-normal);margin-top:24px}.login-page,[data-theme=dark] .login-page{background:#f0f2f5}[data-theme=dark] .login-card{background:#fff;box-shadow:0 8px 48px #0000001f}[data-theme=dark] .login-left{background:#fff;border-right-color:#f0f0f0}[data-theme=dark] .login-right{background:#fff}[data-theme=dark] .login-title{color:#1a1a2a}[data-theme=dark] .login-desc{color:#888}[data-theme=dark] .login-footer{color:#aaa}@media (width<=768px){.login-card{border-radius:16px;flex-direction:column;max-width:480px}.login-left{border-bottom:1px solid #f0f0f0;border-right:none;padding:28px 28px 0}.login-illustration{padding:20px 16px}.login-illustration img{max-width:260px}.login-right{width:100%;padding:36px 28px 40px}.login-title{font-size:22px}}@media (width<=480px){.login-page{padding:16px}.login-card{border-radius:12px}.login-left{padding:24px 24px 0}.login-right{padding:28px 24px 32px}.login-illustration img{max-width:200px}}.list-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.list-toolbar .search-pill{flex:0 0 320px;width:320px}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.chip{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:34px;color:var(--c-body);font-family:var(--f-sans);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.chip:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.chip:focus-visible{box-shadow:var(--s-focus);outline:none}.chip .chip-val{color:var(--c-ink);font-weight:600}.chip .chip-caret{width:12px;height:12px;color:var(--c-muted)}.chip.is-active,.chip.chip--active{background:var(--c-brand-solid);border:1.5px solid var(--c-brand-solid);color:#fff;font-weight:600}.chip.is-active:hover,.chip.chip--active:hover{background:#0041cc}.chip.is-active .chip-val,.chip.chip--active .chip-val,.chip.is-active .chip-caret,.chip.chip--active .chip-caret{color:#fff}.list-meta{color:var(--c-muted);font-size:12px;font-family:var(--f-mono);letter-spacing:var(--ls-normal);margin-left:auto}.list-meta strong{color:var(--c-ink);font-weight:600}.emp-cell{align-items:center;gap:12px;display:flex}.emp-cell .avatar{width:36px;height:36px;font-size:13px}.emp-cell-text{flex-direction:column;gap:2px;min-width:0;display:flex}.emp-name{font-size:14px;font-weight:var(--fw-item);color:var(--c-ink);letter-spacing:var(--ls-snug)}.emp-email{color:var(--c-muted);font-size:12px;font-family:var(--f-mono);letter-spacing:var(--ls-normal)}.pos-cell{flex-direction:column;gap:2px;display:flex}.pos-title{color:var(--c-ink);font-size:14px;font-weight:500}.pos-rank{color:var(--c-muted);font-size:12px}.row-action{border-radius:var(--r-md);width:32px;height:32px;color:var(--c-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.row-action:hover{background:var(--c-surface-strong);color:var(--c-ink)}.row-action:focus-visible{box-shadow:var(--s-focus);outline:none}.table-foot{align-items:center;gap:var(--sp-sm);padding:var(--sp-lg) 0 0;grid-template-columns:1fr auto 1fr;display:grid}.employee-card-list{background:var(--c-canvas);display:none}.employee-card{border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);align-items:center;gap:12px;padding:12px 16px;display:flex}.employee-card:first-child{border-top:1px solid var(--c-hairline)}.emp-card-avatar{flex-shrink:0}.emp-card-avatar .avatar{width:44px;height:44px;font-size:15px}.emp-card-avatar img{object-fit:cover;border-radius:50%;width:44px!important;height:44px!important}.emp-card-body{flex:1;min-width:0}.emp-card-head{align-items:center;gap:8px;margin-bottom:3px;display:flex}.emp-card-name{font-size:14px;font-weight:var(--fw-item);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.emp-card-meta{color:var(--c-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:12px;overflow:hidden}.emp-card-phone{color:var(--c-muted);font-size:12px;font-family:var(--f-mono)}.approval-card-list{flex-direction:column;display:none}.approval-card{border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.approval-card:first-child{border-top:1px solid var(--c-hairline)}.approval-card--clickable{cursor:pointer}.approval-card--clickable:active{background:var(--c-surface-soft)}.approval-card-head{align-items:center;gap:6px;display:flex}.approval-card-title{color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.approval-card-meta{color:var(--c-muted);justify-content:space-between;font-size:12px;display:flex}.approval-card-amount{font-family:var(--f-mono);color:var(--c-ink);flex-shrink:0;font-size:12px;font-weight:600}.approval-card-footer{justify-content:space-between;align-items:center;display:flex}.approval-card-date{font-family:var(--f-mono);color:var(--c-muted);font-size:11px}.approval-card-actions{gap:4px;display:flex}.company-card-list{background:var(--c-canvas);display:none}.company-card{border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.company-card:first-child{border-top:1px solid var(--c-hairline)}.company-card:active{background:var(--c-surface-soft)}.company-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.company-card-name{font-size:var(--fs-card-title);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.company-card-meta{color:var(--c-muted);flex-wrap:wrap;gap:6px 12px;font-size:13px;display:flex}.company-card-phone{font-family:var(--f-mono)}.company-card-footer{justify-content:space-between;align-items:center;display:flex}.company-card-date{font-family:var(--f-mono);color:var(--c-muted);font-size:12px}.company-card-arrow{color:var(--c-muted);font-size:14px}.lead-card-list{background:var(--c-canvas);display:none}.lead-card{border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.lead-card:first-child{border-top:1px solid var(--c-hairline)}.lead-card:active{background:var(--c-surface-soft)}.lead-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lead-card-title{color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.lead-card-meta{color:var(--c-muted);gap:12px;font-size:13px;display:flex}.lead-card-footer{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.lead-card-amount{font-family:var(--f-mono);color:var(--c-ink);font-size:13px;font-weight:600}.lead-card-prob,.lead-card-date{font-family:var(--f-mono);color:var(--c-muted);font-size:12px}.ticket-card-list{flex-direction:column;gap:12px;display:none}.ticket-card{background:var(--c-canvas);border:1px solid var(--c-hairline);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ticket-card:active{background:var(--c-surface-soft)}.ticket-card-head{justify-content:space-between;align-items:center;display:flex}.ticket-card-number{font-family:var(--f-mono);color:var(--c-muted);font-size:12px}.ticket-card-title{font-size:14px;font-weight:600;line-height:1.4}.ticket-card-meta{color:var(--c-muted);justify-content:space-between;font-size:12px;display:flex}.ticket-card-footer{justify-content:space-between;align-items:center;display:flex}.ticket-card-date{font-family:var(--f-mono);color:var(--c-muted);font-size:12px}.ticket-chip-group{flex-wrap:wrap;gap:6px;display:flex}.helpdesk-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.helpdesk-select{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:34px;color:var(--c-ink);cursor:pointer;padding:0 10px;font-size:13px}@media (width<=768px){.list-toolbar .search-pill{flex:100%;width:100%}.list-meta{margin-left:0}.emp-email{display:none}.emp-desktop-table,.co-desktop-table,.lead-desktop-table,.ticket-desktop-table{display:none!important}.ticket-card-list{display:flex}.ticket-chip-group{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.ticket-chip-group::-webkit-scrollbar{display:none}.ticket-chip-group .chip{flex-shrink:0}.helpdesk-filter-row{flex-direction:column;align-items:flex-start}.helpdesk-select{width:100%}.employee-card-list{flex-direction:column;display:flex}.approval-card-list{display:flex}.company-card-list,.lead-card-list{flex-direction:column;display:flex}.table-foot{justify-items:center;gap:var(--sp-sm);grid-template-columns:1fr}.table-foot>span:empty{display:none}.leads-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:1px;overflow-x:auto}.leads-tabs::-webkit-scrollbar{display:none}}.emp-detail-header{border-bottom:1px solid var(--c-hairline-soft);align-items:flex-start;gap:24px;padding:24px 0;display:flex}.emp-detail-body{flex:1;min-width:0}.emp-detail-meta{grid-template-columns:repeat(4,1fr);gap:20px 32px;max-width:720px;margin-top:18px;display:grid}.emp-detail-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.page-tabs-sticky{z-index:10;background:var(--c-canvas);margin-inline:-40px;margin-bottom:24px;padding:0 40px;position:sticky;top:-32px;box-shadow:0 2px 8px -2px #1415170f}.info-grid-2{grid-template-columns:1fr 1fr;gap:24px 40px;display:grid}@media (width<=1024px){.page-tabs-sticky{margin-inline:-24px;padding:0 24px;top:56px}}@media (width<=768px){.emp-detail-header{flex-direction:column;gap:16px}.emp-detail-meta{grid-template-columns:repeat(2,1fr);gap:16px 20px;max-width:none}.emp-detail-actions{flex-shrink:1;justify-content:flex-start}.info-grid-2{grid-template-columns:1fr;gap:20px}}@media (width<=640px){.page-tabs-sticky{margin-inline:-16px;padding:0 16px}}.leads-summary-grid{grid-template-columns:repeat(4,1fr);display:grid}.leads-summary-item{border-right:1px solid var(--c-hairline-soft);padding:16px 24px}.leads-summary-item:last-child{border-right:none}.leads-summary-item--center{text-align:center}.leads-summary-label{white-space:nowrap;color:var(--c-muted);text-transform:uppercase;letter-spacing:var(--ls-normal);margin-bottom:6px;font-size:11px;font-weight:600}@media (width<=768px){.leads-summary-grid{grid-template-columns:repeat(3,1fr)}.leads-summary-item:first-child{border-right:none;border-bottom:1px solid var(--c-hairline-soft);grid-column:1/-1}.leads-summary-item:nth-child(2),.leads-summary-item:nth-child(3){border-right:1px solid var(--c-hairline-soft)}.leads-summary-item:nth-child(4){border-right:none}}.year-tabs{border-bottom:1px solid var(--c-hairline);scrollbar-width:none;-ms-overflow-style:none;gap:0;margin-bottom:20px;display:flex;overflow-x:auto}.year-tabs::-webkit-scrollbar{display:none}.completed-sub-tabs{scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px solid var(--c-hairline-soft);flex-wrap:nowrap;margin-bottom:0;overflow-x:auto}.completed-sub-tabs::-webkit-scrollbar{display:none}.completed-sub-tabs .tab-item{white-space:nowrap;flex-shrink:0}.year-tab{color:var(--c-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:0;margin-bottom:-1px;padding:8px 16px;font-size:14px;font-weight:500;transition:color .12s;display:inline-flex}.year-tab:hover{color:var(--c-ink)}.year-tab.is-active{color:var(--c-brand);border-bottom-color:var(--c-brand);font-weight:600}.approval-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.approval-summary-card{border:1px solid var(--c-hairline);border-radius:var(--r-lg,8px);background:var(--c-canvas);flex-direction:column;gap:6px;padding:16px;display:flex}.approval-summary-label{color:var(--c-muted);align-items:center;gap:4px;font-size:12px;display:flex}.approval-summary-value{font-size:var(--fs-amount);font-family:var(--f-mono);color:var(--c-ink);letter-spacing:var(--ls-tight);font-weight:700;line-height:1}.approval-summary-value--green{color:var(--c-success)}.approval-summary-value--red{color:#dc2626}.approval-summary-value--blue{color:var(--c-brand)}.approval-summary-unit{color:var(--c-muted);font-size:13px;font-weight:400}.completed-filter-wrap{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.completed-search-bar{width:100%;max-width:380px;position:relative}.completed-search-bar input{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:100%;height:38px;color:var(--c-ink);box-sizing:border-box;font-size:14px;font-family:var(--f-sans);padding:0 36px;transition:border-color .12s}.completed-search-bar input:focus{border-color:var(--c-brand);box-shadow:var(--s-focus);outline:none}.completed-search-bar input::placeholder{color:var(--c-muted)}.completed-search-icon{color:var(--c-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.completed-search-clear{cursor:pointer;width:20px;height:20px;color:var(--c-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .12s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.completed-search-clear:hover{color:var(--c-ink)}.completed-filter-row{align-items:center;gap:16px;display:flex}.completed-filter-label{min-width:48px;color:var(--c-muted);white-space:nowrap;flex-shrink:0;font-size:13px}.completed-filter-chips{flex-wrap:wrap;gap:8px;display:flex}@media (width<=900px){.approval-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.approval-summary-grid{grid-template-columns:1fr}.completed-search-bar{max-width:100%}}@media (width<=768px){.activity-log-summary{white-space:normal!important;max-width:none!important;text-overflow:unset!important;cursor:default!important;overflow:visible!important}}.proj-info-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.proj-info-company{align-items:center;gap:8px;display:flex}.proj-info-avatar{width:36px;height:36px;font-size:13px;font-weight:700;font-family:var(--f-sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.proj-info-company-name{color:var(--c-muted);font-size:13px;font-weight:500}.proj-info-chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.proj-info-name{color:var(--c-ink);letter-spacing:var(--ls-tight);margin:0 0 24px;font-size:22px;font-weight:700;line-height:1.3}.proj-info{max-width:none}.proj-sec{margin-bottom:30px}.proj-sec:last-child{margin-bottom:0}.proj-sec-title{letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:12px;font-weight:700;font-family:var(--f-mono);color:var(--c-muted);margin-bottom:11px}.proj-track{border-radius:var(--r-md);background:var(--c-surface-soft);border:1px solid var(--c-hairline);padding:16px 18px}.proj-track-phases{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.proj-track-pct{color:var(--c-body);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.proj-track-pct-num{font-family:var(--f-mono);color:var(--c-ink);font-weight:600}.proj-track-foot{color:var(--c-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.proj-track-dday{font-family:var(--f-mono);color:var(--c-body);font-weight:600}.proj-track-dday--delayed{color:var(--c-danger)}.proj-track-dday--completed{color:var(--c-success)}.proj-facts{flex-wrap:wrap;gap:36px;display:flex}.proj-fact{flex-direction:column;gap:5px;display:flex}.proj-fact--wide{margin-top:20px}.proj-fact-label{letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--c-muted);font-size:11px;font-weight:600;font-family:var(--f-mono)}.proj-fact-value{color:var(--c-ink);font-size:14px;font-family:var(--f-mono)}.proj-fact-value--row{font-family:var(--f-sans);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proj-info-locked{border-radius:var(--r-md);background:var(--c-surface-soft);border:1px solid var(--c-hairline);color:var(--c-body);align-items:center;gap:7px;margin-bottom:20px;padding:9px 13px;font-size:13px;display:flex}.proj-info-locked svg{color:var(--c-muted);flex:none}.proj-info-progress-none{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.proj-info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:28px;display:grid}.proj-info-item{flex-direction:column;gap:6px;display:flex}.proj-info-label{text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--c-muted);font-size:11px;font-weight:600;font-family:var(--f-mono)}.proj-info-value{color:var(--c-ink);font-size:14px}.proj-info-mono{font-family:var(--f-mono);font-size:13px}.proj-info-progress{margin-bottom:24px}.proj-info-progress-header{color:var(--c-body);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.proj-info-progress-track{border-radius:99px;height:6px;overflow:hidden}.proj-info-progress-bar{border-radius:99px;height:100%;transition:width .4s}.proj-info-members-header{color:var(--c-ink);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.proj-member-stack{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proj-member-avatars{align-items:center;display:flex}.proj-member-avatar{border:2px solid var(--c-canvas);width:32px;height:32px;font-size:11px;font-weight:700;font-family:var(--f-sans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.proj-member-avatar+.proj-member-avatar{margin-left:-8px}.proj-member-avatar-more{background:var(--c-surface-soft);color:var(--c-muted);font-size:10px}.proj-member-names{color:var(--c-muted);font-size:13px}.proj-info-actions{border-top:1px solid var(--c-hairline-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;padding-top:20px;display:flex}@media (width<=640px){.proj-info-grid{grid-template-columns:1fr 1fr}.proj-info-actions{justify-content:stretch}.proj-info-actions .btn{flex:1;justify-content:center}}.vdrive-root{flex-direction:column;gap:0;display:flex}.vdrive-lock-banner{border-radius:var(--r-md);color:#92400e;background:#fef9ec;border:1px solid #f5c543;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.vdrive-folder-tabs{border-bottom:1px solid var(--c-hairline);scrollbar-width:none;gap:0;margin-bottom:0;display:flex;overflow-x:auto}.vdrive-folder-tabs::-webkit-scrollbar{display:none}.vdrive-folder-tab{cursor:pointer;color:var(--c-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s;display:flex}.vdrive-folder-tab:hover{color:var(--c-ink)}.vdrive-folder-tab.is-active{color:var(--c-brand);border-bottom-color:var(--c-brand)}.vdrive-folder-count{background:var(--c-surface-soft);min-width:18px;height:18px;color:var(--c-body);font-size:11px;font-weight:600;font-family:var(--f-mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.vdrive-folder-tab.is-active .vdrive-folder-count{color:var(--c-brand);background:#e6eeff}.lead-files-notice{border-radius:var(--r-md);background:var(--c-brand-soft);border:1px solid var(--c-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.lead-files-notice-text{color:var(--c-ink);align-items:center;gap:8px;min-width:0;display:flex}.lead-files-notice-text svg{color:var(--c-brand);flex-shrink:0}.vdrive-upload-area{border:1.5px dashed var(--c-hairline);border-radius:var(--r-md);cursor:pointer;background:var(--c-canvas);justify-content:center;align-items:center;gap:10px;min-height:64px;margin:14px 0 4px;padding:18px 24px;transition:border-color .15s,background .15s;display:flex}.vdrive-upload-area:hover,.vdrive-upload-area.is-dragover{border-color:var(--c-brand);background:var(--c-brand-soft)}.vdrive-upload-area.is-uploading{opacity:.6;cursor:wait}.vdrive-upload-icon{color:var(--c-muted);flex-shrink:0}.vdrive-upload-hint{color:var(--c-body);font-size:13px}.vdrive-upload-sub{color:var(--c-muted);font-size:12px}.vdrive-upload-disabled{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-md);color:var(--c-muted);align-items:center;gap:8px;margin:14px 0 4px;padding:14px 18px;font-size:13px;display:flex}.vdrive-loading{text-align:center;color:var(--c-muted);padding:32px;font-size:14px}.vdrive-files .data-table th.col-sticky,.vdrive-files .data-table td.col-sticky{width:100%;max-width:0}.vdrive-file-name{align-items:center;gap:6px;min-width:0;max-width:100%;font-weight:500;display:flex}.vdrive-file-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vdrive-file-icon{color:var(--c-muted);flex-shrink:0}.vdrive-actions{align-items:center;gap:4px;display:flex}.vdrive-delete-btn{color:var(--c-danger)!important}.vdrive-checksum{font-family:var(--f-mono);color:var(--c-muted);background:var(--c-surface-soft);border-radius:4px;padding:2px 6px;font-size:12px}.vdrive-delete-msg{font-size:var(--fs-lg);margin:0 0 8px}.vdrive-delete-sub{color:var(--c-muted);margin:0;font-size:13px}@media (width<=640px){.vdrive-folder-tab{padding:9px 12px;font-size:12px}.vdrive-upload-area{gap:8px;padding:16px}.vdrive-upload-sub{display:none}.vdrive-files .data-table td.col-sticky{max-width:140px}}.badge-ticket-pending{color:var(--c-warning);background:var(--c-warning-soft)}.badge-ticket-pending:before{background:var(--c-warning)}.badge-ticket-progress{color:var(--c-info);background:var(--c-info-soft)}.badge-ticket-progress:before{background:var(--c-info)}.badge-ticket-completed{color:var(--c-success);background:var(--c-success-soft)}.badge-ticket-completed:before{background:var(--c-success)}.badge-ticket-closed{color:var(--c-neutral);background:var(--c-neutral-soft)}.badge-ticket-closed:before{background:var(--c-neutral)}.badge-urgent{color:var(--c-danger);background:var(--c-danger-soft)}.badge-urgent:before{background:var(--c-danger)}.badge-normal{color:var(--c-info);background:var(--c-info-soft)}.badge-normal:before{background:var(--c-info)}.badge-low{color:var(--c-muted);background:var(--c-surface-strong)}.badge-low:before{background:var(--c-muted)}.badge-paid{color:var(--c-danger);background:var(--c-danger-soft);font-weight:700}.badge-paid:before{background:var(--c-danger)}.ticket-detail-layout{grid-template-columns:1fr 380px;align-items:start;gap:20px;display:grid}.ticket-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin:0;display:grid}.ticket-meta-divider{border:none;border-top:1px solid var(--c-hairline);grid-column:1/-1;margin:2px 0}.ticket-meta-item{flex-direction:column;gap:4px;display:flex}.ticket-meta-label{color:var(--c-muted);text-transform:uppercase;letter-spacing:var(--ls-normal);font-size:11px;font-weight:600}.ticket-meta-value{color:var(--c-ink);font-size:14px;font-weight:500}.comment-list{scroll-behavior:smooth;flex-direction:column;gap:12px;height:400px;padding:16px 20px;display:flex;overflow-y:auto}.comment-list::-webkit-scrollbar{width:4px}.comment-list::-webkit-scrollbar-track{background:0 0}.comment-list::-webkit-scrollbar-thumb{background:var(--c-hairline);border-radius:2px}@media (width<=768px){.comment-list{height:300px}}.comment-item{gap:10px;display:flex}.comment-bubble{background:var(--c-surface-soft);border-radius:var(--r-md);flex:1;min-width:0;padding:10px 14px}.comment-bubble.is-mine{background:var(--c-brand-soft)}.comment-bubble.is-client{background:#fff7ed;border:1px solid #fed7aa}.comment-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.comment-author{color:var(--c-ink);font-size:13px;font-weight:600}.comment-time{color:var(--c-muted);margin-left:auto;font-size:11px}.comment-body{color:var(--c-body);white-space:pre-wrap;word-break:break-word;font-size:14px}.comment-attach{color:var(--c-brand);margin-top:4px;font-size:12px}.comment-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.attach-list{flex-direction:column;gap:8px;display:flex}.attach-item{background:var(--c-surface-soft);border-radius:var(--r-md);align-items:center;gap:10px;padding:10px 12px;display:flex}.attach-name{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.attach-meta{color:var(--c-muted);white-space:nowrap;font-size:11px}@media (width<=900px){.ticket-detail-layout{grid-template-columns:1fr}}@media (width<=640px){.ticket-meta-grid{grid-template-columns:repeat(2,1fr)}}.ticket-mobile-tabs{border-bottom:1px solid var(--c-hairline);gap:0;margin-bottom:16px;display:flex}.ticket-mobile-tabs .tab-item{flex:1;justify-content:center;height:44px;padding:0 8px;font-size:14px}.ticket-mobile-comment .form-card{height:auto}.ticket-mobile-comment .comment-input-wrap{background:var(--c-canvas);z-index:10;position:sticky;bottom:0}.dashboard-summary-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.dsc-card{flex-direction:column;min-height:180px;padding:16px 18px;display:flex}.dsc-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dsc-title{color:var(--c-ink);font-size:14px;font-weight:600}.dsc-list{flex:1;margin:0;padding:0;list-style:none}.dsc-list li{border-bottom:1px solid var(--c-hairline-soft);align-items:center;gap:8px;min-width:0;padding:6px 0;font-size:13px;display:flex}.dsc-item-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dsc-foot{color:var(--c-muted);font-size:12px;font-family:var(--f-mono);text-align:right;margin-top:10px}@media (width<=768px){.dashboard-summary-cards{grid-template-columns:1fr}}.dashboard-grid{grid-template-columns:2fr 1fr;align-items:stretch;gap:20px;display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}}.todo-section{flex-direction:column;flex:1;gap:0;min-height:0;margin-bottom:0;padding:20px 24px;display:flex}.todo-head{margin-bottom:14px}.todo-tabs{gap:6px;display:flex}.todo-tab-chip{gap:5px;height:28px;padding:0 10px;font-size:12px}.todo-input-wrap{margin-bottom:8px}.todo-input{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:100%;height:36px;font-family:var(--f-sans);color:var(--c-ink);box-sizing:border-box;outline:none;padding:0 12px;font-size:13px;transition:border-color .12s,box-shadow .12s}.todo-input:focus{border-color:var(--c-brand);box-shadow:var(--s-focus)}.todo-input::placeholder{color:var(--c-muted)}.todo-input:disabled{opacity:.6;cursor:not-allowed}.todo-list{scrollbar-width:thin;scrollbar-color:var(--c-hairline-strong) transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.todo-list::-webkit-scrollbar{width:4px}.todo-list::-webkit-scrollbar-track{background:0 0}.todo-list::-webkit-scrollbar-thumb{background:var(--c-hairline-strong);border-radius:2px}.todo-loading{text-align:center;color:var(--c-muted);padding:20px 0;font-size:13px}.todo-empty-state{padding:32px 16px}.todo-empty-state .empty-title{font-size:14px}.todo-empty-state .empty-desc{margin-bottom:0;font-size:13px}.todo-item{border-radius:var(--r-sm);align-items:center;gap:8px;min-width:0;padding:7px 2px;transition:background .1s;display:flex}.todo-item:hover{background:var(--c-surface-soft)}.todo-item:hover .todo-delete{opacity:1}.todo-check-label{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.todo-checkbox{width:15px;height:15px;accent-color:var(--c-brand);cursor:pointer;border-radius:var(--r-sm);flex:0 0 15px}.todo-content{color:var(--c-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:1.45;overflow:hidden}.todo-done{color:var(--c-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--c-hairline-strong);text-decoration-color:var(--c-hairline-strong)}.todo-delete{width:22px;height:22px;color:var(--c-muted);border-radius:var(--r-sm);cursor:pointer;opacity:0;background:0 0;border:none;flex:none;justify-content:center;align-items:center;transition:opacity .15s,background .12s,color .12s;display:flex}.todo-delete:hover{background:var(--c-danger-soft);color:var(--c-danger)}.note-form-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--c-muted);letter-spacing:var(--ls-normal);margin-bottom:8px}.note-date-input{box-sizing:border-box;width:100%;font-family:var(--f-mono);font-size:var(--fs-lg);padding:10px 12px}.co-self-badge{border-radius:var(--r-full);background:var(--c-brand-soft);color:var(--c-brand);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;padding:1px 7px}.notice-form,.notice-read{max-width:780px}.notice-content p:empty{min-height:calc(var(--fs-lg) * var(--lh-base))}.notice-form{flex-direction:column;gap:26px;display:flex}.notice-form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.notice-form-section{display:block}.notice-form-label{color:var(--c-muted);margin-bottom:9px;font-size:12px;font-weight:600}.notice-form-hint{color:var(--c-muted);margin:9px 0 0;font-size:12px}.req{color:var(--c-danger)}.notice-audience{flex-wrap:wrap;gap:8px;display:flex}.notice-audience-opt{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:36px;color:var(--c-body);font-size:13px;font-family:var(--f-sans);cursor:pointer;align-items:center;gap:7px;padding:0 14px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.notice-audience-opt:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.notice-audience-opt svg{color:var(--c-muted);flex:none}.notice-audience-opt.is-active{border-color:var(--c-brand);background:var(--c-brand-soft);color:var(--c-brand);font-weight:600}.notice-audience-opt.is-active svg{color:var(--c-brand)}.notice-form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}@media (width<=640px){.notice-form-row{grid-template-columns:1fr}.notice-form-actions{flex-direction:column-reverse}.notice-form-actions .btn{justify-content:center;width:100%}}.ticket-table .data-table th.col-sticky,.ticket-table .data-table td.col-sticky{width:100%;max-width:0}.ticket-title{text-overflow:ellipsis;white-space:nowrap;color:var(--c-ink);font-size:15px;font-weight:600;display:block;overflow:hidden}.ticket-sub{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);color:var(--c-muted);margin-top:3px;font-weight:400;display:block;overflow:hidden}.data-table th.ta-c,.data-table td.ta-c{text-align:center}.ticket-table .data-table td{padding-top:14px;padding-bottom:14px}.ticket-pri{align-items:center;gap:var(--sp-tight);font-size:var(--fs-md);color:var(--c-body);font-weight:500;display:inline-flex}.ticket-pri:before{content:"";background:var(--c-soft);border-radius:50%;width:8px;height:8px}.ticket-pri--urgent{color:var(--c-danger)}.ticket-pri--urgent:before{background:var(--c-danger)}.ticket-pri--normal:before{background:var(--c-brand)}.ticket-state{height:26px;padding:0 var(--sp-snug);border-radius:var(--r-full);font-size:var(--fs-sm);white-space:nowrap;border:1px solid;align-items:center;font-weight:500;display:inline-flex}.ticket-state--pending{color:#a8370a;background:var(--c-accent-soft);border-color:#f2b48c}.ticket-state--in_progress{color:#2f58b0;background:#eef3fc;border-color:#9db5e6}.ticket-state--completed{color:var(--c-success);background:var(--c-success-soft);border-color:#9ad3bb}.ticket-state--closed{color:var(--c-muted);border-color:var(--c-hairline);background:var(--c-surface-soft)}.ticket-who{gap:var(--sp-tight);font-size:var(--fs-md);display:inline-flex}.ticket-age{font-size:var(--fs-md);color:var(--c-body);font-variant-numeric:tabular-nums}.ticket-age.is-late{color:var(--c-accent);font-weight:600}.ticket-paid{padding:2px var(--sp-tight);border-radius:var(--r-xs);background:var(--c-surface-strong);font-size:var(--fs-xs);color:var(--c-muted);font-weight:600;display:inline-block}.helpdesk-filter-gap{flex:1}.ticket-table .data-table td.ticket-proj-cell{max-width:190px}.ticket-proj{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media (width<=640px){.ticket-table .data-table td.col-sticky{max-width:160px}}.helpdesk-search{flex:0 260px}@media (width<=640px){.list-toolbar .helpdesk-search,.helpdesk-search{flex:none;width:100%;max-width:none}.helpdesk-filter-gap{display:none}}.quote-total-bar{background:var(--c-brand-soft)}.mp-job{width:100%;min-width:190px}.mp-rate{min-width:130px}.mp-cnt{min-width:78px}.mp-day{min-width:88px}.mp-pct{min-width:82px}.mp-amt{min-width:130px}.mp-del{width:44px;min-width:44px}.mp-nb{border-bottom:none!important}.mp-desc-row>td{border-top:none;padding:0 12px 9px}.mp-desc-wrap{align-items:flex-start;gap:9px;display:flex}.mp-desc-label{font-size:11px;font-family:var(--f-mono);letter-spacing:var(--ls-normal);color:var(--c-muted);white-space:nowrap;flex:none;padding-top:6px}.mp-desc-input{border:1px solid var(--c-hairline);min-width:0;min-height:30px;font-size:12px;font-family:var(--f-sans);color:var(--c-ink);background:var(--c-canvas);resize:none;border-radius:4px;flex:1;padding:5px 8px;line-height:1.55;display:block;overflow:hidden}.mp-desc-input:focus{border-color:var(--c-brand);outline:none}.mp-desc-input:disabled{background:var(--c-surface-soft);color:var(--c-muted)}@media (width<=640px){.mp-desc-wrap{flex-direction:column;gap:4px}.mp-desc-label{padding-top:0}.mp-desc-input{width:100%}}.mp-cnt input[type=number],.mp-day input[type=number],.mp-pct input[type=number]{appearance:textfield}.mp-cnt input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mp-cnt input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mp-day input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mp-day input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mp-pct input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mp-pct input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ticket-view-btn{height:30px;padding:0 var(--sp-sm);font-size:var(--fs-md)}.co-name{vertical-align:middle;align-items:center;gap:10px;min-width:0;max-width:100%;display:inline-flex}.co-logo{border:1px solid var(--c-hairline);width:32px;height:32px;color:var(--c-muted);background:#fff;border-radius:8px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.co-logo img{object-fit:contain;max-width:26px;max-height:26px;display:block}.co-name-t{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.company-card-name.co-name{display:flex}.me-head{border-bottom:1px solid var(--c-hairline-soft);align-items:center;gap:20px;margin-bottom:0;padding:8px 0 28px;display:flex}.me-avatar-wrap{cursor:pointer;border-radius:50%;flex-shrink:0;width:64px;height:64px;position:relative}.me-avatar-wrap:hover .me-avatar-overlay{opacity:1}.me-avatar{background:var(--c-brand-soft);width:64px;height:64px;color:var(--c-brand);letter-spacing:var(--ls-snug);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:inline-flex}.me-avatar-img{object-fit:cover;object-position:center;border-radius:50%;width:64px;height:64px;display:block}.me-avatar-overlay{opacity:0;background:#0000006b;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:opacity .18s;display:flex;position:absolute;inset:0}.me-head-info{flex:1;min-width:0}.me-head-name{color:var(--c-ink);letter-spacing:var(--ls-snug);margin:0 0 6px;font-size:22px;font-weight:600}.me-head-meta{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.me-head-meta .num{font-family:var(--f-mono);letter-spacing:var(--ls-normal)}.me-head-meta .sep{color:var(--c-muted)}.me-tabs-wrap{z-index:5;background:var(--c-canvas);margin:0 -40px;padding:0 40px;position:sticky;top:-32px}.me-tabs{border-bottom:1px solid var(--c-hairline);gap:28px}.me-tabs .tab-item{height:44px;padding:0}.me-panel{padding:32px 0 8px}.form-card{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);margin-bottom:24px;padding:28px 32px}.form-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.form-card-title{font-size:var(--fs-card-title);color:var(--c-ink);letter-spacing:var(--ls-snug);margin:0;font-weight:600}.form-card-sub{color:var(--c-muted);margin:2px 0 20px;font-size:13px}.me-row{border-bottom:1px solid var(--c-hairline-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.me-row:last-child{border-bottom:none}.me-row-info{flex-direction:column;gap:4px;min-width:0;display:flex}.me-row-label{color:var(--c-ink);font-size:14px;font-weight:600}.me-row-val{color:var(--c-muted);font-size:13px;font-family:var(--f-mono);letter-spacing:var(--ls-normal)}.me-row-val.normal{font-family:var(--f-sans)}.auth-note{border-radius:var(--r-md);background:var(--c-warning-soft);color:var(--c-warning);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.pw-form .float-grid{grid-template-columns:1fr;gap:24px;max-width:480px}.pw-toggle{color:var(--c-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;padding:6px;transition:color .12s,background .12s;display:inline-flex;position:absolute;bottom:6px;right:0}.pw-toggle:hover{color:var(--c-ink);background:var(--c-surface-soft)}.pw-toggle:focus-visible{box-shadow:var(--s-focus);outline:none}.pw-input{padding-right:32px!important}.pw-strength{flex-direction:column;gap:8px;max-width:480px;margin-top:-10px;display:flex}.pw-bars{gap:4px;display:flex}.pw-bar{background:var(--c-surface-strong);border-radius:2px;flex:1;height:4px;transition:background .18s}.pw-strength-label{color:var(--c-muted);align-items:center;gap:6px;font-size:12px;display:flex}.pw-strength-label .level{color:var(--c-muted);font-weight:600}.pw-actions{align-items:center;gap:8px;margin-top:16px;display:flex}.session-list{flex-direction:column;display:flex}.session{border-bottom:1px solid var(--c-hairline-soft);align-items:center;gap:14px;padding:14px 0;display:flex}.session:last-child{border-bottom:none}.session-icon{border-radius:var(--r-md);background:var(--c-surface-strong);width:36px;height:36px;color:var(--c-body);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.session-info{flex:1;min-width:0}.session-device{color:var(--c-ink);margin-bottom:2px;font-size:14px;font-weight:500}.session-device .badge{margin-left:6px;font-size:11px}.session-meta{color:var(--c-muted);font-size:12px;font-family:var(--f-mono);letter-spacing:var(--ls-normal)}.session-revoke{border:1px solid var(--c-hairline);background:var(--c-canvas);color:var(--c-body);border-radius:var(--r-md);cursor:pointer;height:30px;padding:0 12px;font-size:12px;font-weight:500;transition:border-color .12s,color .12s}.session-revoke:hover{border-color:var(--c-danger);color:var(--c-danger)}.me-toggle{background:var(--c-surface-sunken);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .18s;position:relative}.me-toggle:after{content:"";background:var(--c-canvas);border-radius:50%;width:16px;height:16px;transition:transform .18s cubic-bezier(.2,0,0,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1415171f}.me-toggle.is-on{background:var(--c-brand)}.me-toggle.is-on:after{transform:translate(16px)}.pw-rules{color:var(--c-muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.pw-rule{align-items:center;gap:5px;display:inline-flex}.pw-rule:before{content:"";background:var(--c-surface-strong);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239099A8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:10px 10px;border-radius:50%;width:14px;height:14px;transition:background-color .18s}.pw-rule.is-ok:before{background-color:var(--c-success-soft);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306A66B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>")}.pw-rule.is-ok{color:var(--c-success)}@media (width<=1024px){.me-tabs-wrap{margin:0 -24px;padding:0 24px}}@media (width<=640px){.me-head{flex-wrap:wrap}.form-card{padding:20px}.pw-form .float-grid{gap:20px}}.ai-can{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 24px;display:grid}.ai-can>div{background:var(--c-surface-soft);border-radius:10px;padding:14px 16px}.ai-can-title{color:var(--c-success);margin-bottom:6px;font-size:13px;font-weight:600}.ai-can-title.is-no{color:var(--c-muted)}.ai-can ul{color:var(--c-ink);margin:0;padding-left:18px;font-size:13px;line-height:1.8}.ai-sub-title{color:var(--c-ink);margin:0 0 4px;font-size:15px;font-weight:600}.ai-sub-count{color:var(--c-muted);margin-left:4px;font-size:13px;font-weight:400}.ai-empty{color:var(--c-muted);padding:16px 0;font-size:13px}.ai-key-ico{vertical-align:-2px;color:var(--c-muted)}.ai-steps{color:var(--c-ink);margin:0;padding-left:20px;font-size:14px;line-height:1.8}.ai-steps li+li{margin-top:8px}.ai-example{border-left:3px solid var(--c-brand);background:var(--c-surface-soft);border-radius:0 6px 6px 0;margin-top:6px;padding:8px 12px;font-size:13px}.ai-note{color:var(--c-muted);margin:16px 0 0;font-size:13px}.ai-warn{color:#9a3412;background:#fff7ed;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;line-height:1.6;display:flex}.ai-warn .ico{flex:none;margin-top:2px}.ai-copy{align-items:stretch;gap:8px;margin-top:6px;display:flex}.ai-copy-text{border:1px solid var(--c-hairline);min-width:0;font-family:var(--f-mono);letter-spacing:0;word-break:break-all;background:var(--c-surface-soft);-webkit-user-select:all;user-select:all;border-radius:8px;flex:1;padding:10px 12px;font-size:12px;line-height:1.5}.ai-copy-btn{flex:none;align-self:flex-start}.ai-badge{letter-spacing:.02em;color:#5b21b6;vertical-align:1px;background:#ede9fe;border-radius:4px;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=1024px){.me-tabs-wrap{top:56px}}.push-test-msg{border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.6}.push-test-msg.is-ok{background:var(--c-success-soft);color:var(--c-success)}.push-test-msg.is-err{background:var(--c-danger-soft);color:var(--c-danger)}.push-help{background:var(--c-surface-soft);border-radius:10px;margin-top:16px;padding:14px 16px}.push-help-title{color:var(--c-ink);margin-bottom:6px;font-size:13px;font-weight:600}.push-help ul{color:var(--c-body);margin:0;padding-left:18px;font-size:13px;line-height:1.8}.ai-via{height:18px;color:var(--c-brand-ink);background:var(--c-brand-soft);vertical-align:1px;border-radius:4px;align-items:center;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.ai-steps .ai-copy{margin-top:8px}.ai-method{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.ai-method-btn{border:1px solid var(--c-hairline);background:var(--c-canvas);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.ai-method-btn b{color:var(--c-ink);font-size:14px}.ai-method-btn span{color:var(--c-muted);font-size:12px}.ai-method-btn.is-active{border:2px solid var(--c-ink);padding:11px 13px}.ai-method-body{padding:4px 0 0}.ai-steps a{color:var(--c-brand);font-weight:600}.ai-steps .btn{vertical-align:middle}.ai-cmd-sample{margin-top:6px;display:block}@media (width<=480px){.ai-method{grid-template-columns:1fr}}.settings-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.branding-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.branding-grid{grid-template-columns:1fr}.settings-section-head{flex-direction:column;align-items:flex-start}}:root{--cal-color-milestone:#0052ff;--cal-color-milestone-bg:#e8f0ff;--cal-color-leave:#16a34a;--cal-color-leave-bg:#dcfce7;--cal-color-trip:#ea580c;--cal-color-trip-bg:#ffedd5;--cal-color-company:#7c3aed;--cal-color-company-bg:#ede9fe;--cal-color-amber:#d97706;--cal-color-amber-bg:#fef3c7;--cal-color-slate:#475569;--cal-color-slate-bg:#f1f5f9}.cal-tone-sch{--ev:#3f51b5}.cal-tone-ms{--ev:#00796b}.cal-tone-leave{--ev:#0b8043}.cal-tone-notice{--ev:#8e24aa}.cal-tone-grant{--ev:#c2410c}.calendar-section{gap:var(--sp-md);flex-direction:column;display:flex}.calendar-header{align-items:center;gap:var(--sp-xs);flex-wrap:wrap;display:flex}.calendar-today-btn{height:36px;padding:0 var(--sp-lg);border:1px solid var(--c-hairline-strong);border-radius:var(--r-full);background:var(--c-canvas);font:500 var(--fs-lg)/1 var(--f-sans);letter-spacing:var(--ls-normal);color:var(--c-ink);cursor:pointer}.calendar-today-btn:hover{background:var(--c-surface-soft)}.calendar-nav{display:flex}.calendar-nav-btn{border-radius:var(--r-full);width:36px;height:36px;color:var(--c-body);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.calendar-nav-btn:hover{background:var(--c-surface-strong);color:var(--c-ink)}.calendar-month-label{margin:0 auto 0 var(--sp-2xs);font:400 24px/1.2 var(--f-sans);letter-spacing:var(--ls-snug);color:var(--c-ink);font-variant-numeric:tabular-nums}.calendar-filter-chips{gap:var(--sp-2xs);flex-wrap:wrap;display:flex}.cal-filter-chip{align-items:center;gap:var(--sp-tight);height:32px;padding:0 var(--sp-snug);border-radius:var(--r-full);font:500 var(--fs-md)/1 var(--f-sans);letter-spacing:var(--ls-normal);color:var(--c-soft);cursor:pointer;background:0 0;border:0;display:inline-flex}.cal-filter-chip:hover{background:var(--c-surface-strong)}.cal-filter-chip.active{color:var(--c-body)}.cal-filter-dot{width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--ev);border-radius:3px;flex-shrink:0;position:relative}.cal-filter-chip.active .cal-filter-dot{background:var(--ev);box-shadow:none}.cal-filter-chip.active .cal-filter-dot:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1.5px;left:4.5px;transform:rotate(45deg)}.cal-filter-chip:focus-visible{outline:2px solid var(--c-brand);outline-offset:1px}.cal-add-btn{align-items:center;gap:var(--sp-xs);height:40px;margin-left:var(--sp-xs);padding:0 var(--sp-lg) 0 var(--sp-sm);border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);box-shadow:var(--s-raised);font:500 var(--fs-lg)/1 var(--f-sans);letter-spacing:var(--ls-normal);color:var(--c-ink);cursor:pointer;display:inline-flex}.cal-add-btn .ico{color:var(--c-brand)}.cal-add-btn:hover{box-shadow:var(--s-elevated)}.calendar-grid{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);overflow:hidden}.cal-wk-head{border-bottom:1px solid var(--c-hairline-soft);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-wk-head span{padding:var(--sp-xs) 0 var(--sp-2xs);text-align:center;font:500 var(--fs-xs)/1.4 var(--f-sans);color:var(--c-muted)}.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:32px repeat(var(--cal-rows,3), 22px);min-height:128px;padding-bottom:var(--sp-tight);border-top:1px solid var(--c-hairline-soft);row-gap:2px;display:grid}.cal-week:first-of-type{border-top:0}.cal-week.is-expanded{min-height:0}.calendar-cell{margin-bottom:calc(-1 * var(--sp-tight));padding-top:var(--sp-tight);border-left:1px solid var(--c-hairline-soft);grid-row:1/-1;justify-content:center;display:flex}.calendar-cell:first-child{border-left:0}.calendar-cell:hover{background:var(--c-surface-soft)}.cell-date-num{min-width:24px;height:24px;padding:0 var(--sp-tight);border-radius:var(--r-full);font:500 var(--fs-sm)/1 var(--f-sans);color:var(--c-ink);font-variant-numeric:tabular-nums;place-items:center;display:grid}.calendar-cell.other-month .cell-date-num{color:var(--c-soft)}.cell-date-num.is-first{font-weight:600}.calendar-cell.today .cell-date-num{background:var(--c-brand-solid);color:var(--c-on-primary);font-weight:600}.cal-event-pill{z-index:1;min-width:0;height:22px;margin:0 var(--sp-2xs);padding:0 var(--sp-xs);border-radius:var(--r-xs);background:var(--ev);font:500 var(--fs-sm)/22px var(--f-sans);letter-spacing:var(--ls-normal);color:#fff;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;display:block;position:relative;overflow:hidden}.cal-event-pill:hover{filter:brightness(.9)}.cal-event-pill:focus-visible{outline:2px solid var(--c-ink);outline-offset:1px}.cal-event-pill.cont-l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-event-pill.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-event-pill.cal-event-timed{color:var(--c-body);padding:0 var(--sp-tight);background:0 0;font-weight:400}.cal-event-pill.cal-event-timed:hover{background:var(--c-surface-strong);filter:none}.cal-event-dot{width:8px;height:8px;margin-right:var(--sp-tight);background:var(--ev);vertical-align:0;border-radius:50%;display:inline-block}.cal-event-time{color:var(--c-muted)}.cal-more-link,.cal-fold-link{z-index:1;height:22px;margin:0 var(--sp-2xs);padding:0 var(--sp-xs);border-radius:var(--r-xs);font:600 var(--fs-sm)/22px var(--f-sans);color:var(--c-muted);text-align:left;cursor:pointer;background:0 0;border:0;position:relative}.cal-more-link:hover,.cal-fold-link:hover{background:var(--c-surface-strong);color:var(--c-ink)}.cal-fold-link{grid-area:1/7;place-self:center end}.calendar-loading{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-canvas);min-height:440px;font-size:var(--fs-md);color:var(--c-muted);place-items:center;display:grid}.calendar-list{gap:var(--sp-sm);flex-direction:column;display:flex}.cal-mini{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);overflow:hidden}.cal-mini-head,.cal-mini-row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-mini-head span{padding:var(--sp-xs) 0 var(--sp-2xs);text-align:center;font:500 var(--fs-xs)/1.4 var(--f-sans);color:var(--c-muted)}.cal-mini-row{border-top:1px solid var(--c-hairline-soft)}.cal-mini-cell{min-height:56px;padding:var(--sp-2xs) 3px;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;display:flex}.cal-mini-cell.is-selected{background:var(--c-surface-strong)}.cal-mini-num{width:24px;height:24px;font:500 var(--fs-sm)/1 var(--f-sans);color:var(--c-ink);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.cal-mini-cell.other-month .cal-mini-num{color:var(--c-soft)}.cal-mini-num.is-today{background:var(--c-brand-solid);color:var(--c-on-primary)}.cal-mini-bar{background:var(--ev);border-radius:2px;width:100%;height:4px;display:block}.cal-mini-dot{background:var(--ev);border-radius:50%;width:5px;height:5px;display:block}.calendar-list-days{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);padding:var(--sp-2xs) var(--sp-cozy)}.calendar-list-empty{padding:var(--sp-2xl) var(--sp-md);border:1px solid var(--c-hairline);border-radius:var(--r-xl);text-align:center;font-size:var(--fs-lg);color:var(--c-muted);margin:0}.calendar-list-day{padding:var(--sp-snug) 0;border-top:1px solid var(--c-hairline-soft);scroll-margin-top:72px}.calendar-list-day:first-child{border-top:0}.calendar-list-day.is-selected .calendar-list-day-date{color:var(--c-brand)}.calendar-list-day-header{align-items:center;gap:var(--sp-xs);margin:0 0 var(--sp-2xs);font:inherit;display:flex}.calendar-list-day-date{font:600 var(--fs-md)/1.4 var(--f-sans);color:var(--c-body)}.calendar-list-day-date.today-label{color:var(--c-brand)}.calendar-list-day-name{padding:1px var(--sp-tight);border-radius:var(--r-xs);background:var(--c-brand-soft);font:600 var(--fs-xs)/1.5 var(--f-sans);color:var(--c-brand-ink)}.cal-list-event{align-items:center;gap:var(--sp-snug);width:100%;min-height:44px;padding:var(--sp-tight) 0;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.cal-list-dot{background:var(--ev);border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.cal-list-when{width:52px;font:500 var(--fs-sm)/1.4 var(--f-sans);color:var(--c-body);flex-shrink:0}.cal-list-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cal-list-title{font:500 var(--fs-lg)/1.4 var(--f-sans);letter-spacing:var(--ls-normal);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-list-type{font:400 var(--fs-sm)/1.4 var(--f-sans);color:var(--c-muted)}.cal-detail-type-chip{border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.cal-detail-type-chip.blue{background:var(--cal-color-milestone-bg);color:var(--cal-color-milestone)}.cal-detail-type-chip.green{background:var(--cal-color-leave-bg);color:var(--cal-color-leave)}.cal-detail-type-chip.orange{background:var(--cal-color-trip-bg);color:var(--cal-color-trip)}.cal-detail-type-chip.purple{background:var(--cal-color-company-bg);color:var(--cal-color-company)}.cal-detail-type-chip.amber{background:var(--cal-color-amber-bg);color:var(--cal-color-amber)}.cal-detail-type-chip.slate{background:var(--cal-color-slate-bg);color:var(--cal-color-slate)}.cal-detail-title{color:var(--c-ink);margin-bottom:16px;font-size:18px;font-weight:700;line-height:1.35}.cal-detail-rows{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.cal-detail-row{align-items:flex-start;gap:10px;display:flex}.cal-detail-row-label{color:var(--c-muted);min-width:56px;padding-top:1px;font-size:12px;font-weight:600}.cal-detail-row-val{color:var(--c-body);font-size:13px;font-family:var(--f-mono)}.cal-detail-user{align-items:center;gap:7px;display:flex}.cal-detail-avatar{background:var(--c-canvas);border:1px solid var(--c-hairline);width:26px;height:26px;color:var(--c-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}@media (width<=900px){.calendar-filter-chips{order:1;width:100%}}@media (width<=640px){.calendar-month-label{font-size:20px}.calendar-today-btn{height:32px;padding:0 var(--sp-sm)}.cal-add-btn{justify-content:center;width:40px;margin-left:0;padding:0}.cal-add-label,.calendar-grid{display:none}.calendar-list{display:flex}}@media (width>=641px){.calendar-list{display:none}}.cal-detail-confirm{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.cal-detail-confirm-msg{color:var(--c-body);flex:auto;min-width:0;font-size:13px}.cal-detail-confirm-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}@media (width<=420px){.cal-detail-confirm-msg{flex-basis:100%}.cal-detail-confirm-actions{justify-content:flex-end;width:100%}}.chip.proj-status-chip{background:var(--kb-stage-bg);color:var(--kb-stage);border:1px solid var(--kb-stage-a13)}.proj-lock-badge{color:#dc2626;background:#fef2f2;border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.chip.proj-lock-chip{color:#dc2626;background:#fef2f2;border:1px solid #fca5a522;align-items:center;gap:4px;display:inline-flex}.proj-logo-box{border-radius:var(--r-lg);border:1px solid var(--c-hairline);box-sizing:border-box;background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;padding:6px;display:inline-flex}.proj-avatar--0{color:#1d4ed8;background:#dbeafe}.proj-avatar--1{color:#6d28d9;background:#ede9fe}.proj-avatar--2{color:#be185d;background:#fce7f3}.proj-avatar--3{color:#065f46;background:#d1fae5}.proj-avatar--4{color:#c2410c;background:#ffedd5}.proj-avatar--5{color:#0e7490;background:#cffafe}.proj-progress--not_started{--proj-bar:#cbd5e1;--proj-track:#f1f5f9}.proj-progress--in_progress{--proj-bar:#0052ff;--proj-track:#e6eeff}.proj-progress--maintenance,.proj-progress--completed{--proj-bar:#16a34a;--proj-track:#dcfce7}.proj-info-progress-track{background:var(--proj-track)}.proj-info-progress-track .proj-info-progress-bar{background:var(--proj-bar)}.ms-card{border-radius:var(--r-md);border:1px solid var(--c-hairline);background:var(--c-canvas);border-left:4px solid var(--ms-stripe);align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.ms-card.is-done{background:var(--c-surface-soft);opacity:.75}.ms-type-badge{background:var(--ms-bg);color:var(--ms-color);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.ms-type--kickoff{--ms-bg:#dbeafe;--ms-color:#1d4ed8;--ms-stripe:#4a90e2}.ms-type--mid_review{--ms-bg:#ffedd5;--ms-color:#c2410c;--ms-stripe:#f5a623}.ms-type--acceptance_test{--ms-bg:#f3e8ff;--ms-color:#7e22ce;--ms-stripe:#bd10e0}.ms-type--final_acceptance{--ms-bg:#dcfce7;--ms-color:#15803d;--ms-stripe:#7ed321}.ms-type--custom{--ms-bg:#f1f5f9;--ms-color:#475569;--ms-stripe:#9b9b9b}.ms-type--agreement{--ms-bg:#dbeafe;--ms-color:#1d4ed8;--ms-stripe:#4a90e2}.ms-type--interim_report{--ms-bg:#ffedd5;--ms-color:#c2410c;--ms-stripe:#f5a623}.ms-type--final_report{--ms-bg:#f3e8ff;--ms-color:#7e22ce;--ms-stripe:#bd10e0}.ms-type--settlement{--ms-bg:#dcfce7;--ms-color:#15803d;--ms-stripe:#7ed321}.ms-overdue-badge{color:#dc2626;background:#fef2f2;border-radius:99px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.ms-done-icon,.ms-complete-btn{color:#16a34a}.ms-progress-bar{background:#16a34a;border-radius:99px;height:100%;transition:width .3s}[data-theme=dark] .proj-avatar--0{color:#60a5fa;background:#60a5fa2e}[data-theme=dark] .proj-avatar--1{color:#a78bfa;background:#a78bfa2e}[data-theme=dark] .proj-avatar--2{color:#f98fc6;background:#f98fc62e}[data-theme=dark] .proj-avatar--3{color:#34d399;background:#34d39929}[data-theme=dark] .proj-avatar--4{color:#fb923c;background:#fb923c2e}[data-theme=dark] .proj-avatar--5{color:#22d3ee;background:#22d3ee29}[data-theme=dark] .proj-progress--not_started{--proj-bar:#94a3b8;--proj-track:#94a3b829}[data-theme=dark] .proj-progress--in_progress{--proj-bar:#5b8def;--proj-track:#5b8def2e}[data-theme=dark] .proj-progress--maintenance,[data-theme=dark] .proj-progress--completed{--proj-bar:#4ade80;--proj-track:#4ade8029}[data-theme=dark] .ms-type--kickoff{--ms-bg:#60a5fa29;--ms-color:#60a5fa;--ms-stripe:#7fb0e8}[data-theme=dark] .ms-type--mid_review{--ms-bg:#fb923c29;--ms-color:#fb923c;--ms-stripe:#e8b860}[data-theme=dark] .ms-type--acceptance_test{--ms-bg:#cb9bfd29;--ms-color:#cb9bfd;--ms-stripe:#c77be0}[data-theme=dark] .ms-type--final_acceptance{--ms-bg:#4ade8024;--ms-color:#4ade80;--ms-stripe:#9bd46a}[data-theme=dark] .ms-type--custom{--ms-bg:#94a3b824;--ms-color:#94a3b8;--ms-stripe:#8a8a8a}[data-theme=dark] .ms-type--agreement{--ms-bg:#60a5fa29;--ms-color:#60a5fa;--ms-stripe:#7fb0e8}[data-theme=dark] .ms-type--interim_report{--ms-bg:#fb923c29;--ms-color:#fb923c;--ms-stripe:#e8b860}[data-theme=dark] .ms-type--final_report{--ms-bg:#cb9bfd29;--ms-color:#cb9bfd;--ms-stripe:#c77be0}[data-theme=dark] .ms-type--settlement{--ms-bg:#4ade8024;--ms-color:#4ade80;--ms-stripe:#9bd46a}[data-theme=dark] .proj-lock-badge,[data-theme=dark] .ms-overdue-badge{background:var(--c-danger-soft);color:var(--c-danger)}[data-theme=dark] .chip.proj-lock-chip{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-soft)}[data-theme=dark] .ms-done-icon,[data-theme=dark] .ms-complete-btn{color:var(--c-success)}[data-theme=dark] .ms-progress-bar{background:var(--c-success)}.proj-head-sub{font-size:var(--fs-md);color:var(--c-body);flex-wrap:wrap;align-items:center;gap:4px 0;margin-top:4px;display:flex}.proj-head-who,.proj-head-when{flex-wrap:wrap;align-items:center;display:inline-flex}.proj-head-who>span+span:before,.proj-head-who:not(:empty)+.proj-head-when:before{content:"·";color:var(--c-soft);margin:0 8px}@media (width<=640px){.proj-head-sub{flex-direction:column;align-items:flex-start;gap:2px}.proj-head-who:not(:empty)+.proj-head-when:before{display:none}}.proj-basic-stack{flex-direction:column;gap:40px;display:flex}.proj-basic-stack>.proj-sec{margin-bottom:0}.proj-sec-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px;display:flex}.proj-sec-head .proj-sec-title{margin-bottom:0}.proj-sec-count{color:var(--c-soft);margin-left:4px;font-weight:500}.proj-side-empty{font-size:var(--fs-md);color:var(--c-muted);align-items:center;gap:8px;padding:10px 0;display:flex}.proj-side-empty svg{color:var(--c-soft);flex:none}.proj-steps{align-items:flex-start;margin-bottom:16px;display:flex}.proj-step{color:var(--c-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:6px;padding:2px 0 0;font-family:inherit;display:flex;position:relative}.proj-step:disabled{cursor:default}.proj-step:before,.proj-step:after{content:"";background:var(--c-hairline-strong);z-index:0;width:50%;height:2px;position:absolute;top:13px}.proj-step:before{left:0}.proj-step:after{right:0}.proj-step:first-child:before,.proj-step:last-child:after{display:none}.proj-step.is-done:before,.proj-step.is-done:after,.proj-step.is-active:before{background:var(--c-brand)}.proj-step-dot{z-index:1;background:var(--c-canvas);border:2px solid var(--c-hairline-strong);width:24px;height:24px;color:var(--c-muted);border-radius:50%;justify-content:center;align-items:center;transition:background .12s,border-color .12s,transform .12s;display:inline-flex;position:relative}.proj-step-num{font-size:11px;font-weight:700;font-family:var(--f-mono);line-height:1}.proj-step.is-done .proj-step-dot{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-primary)}.proj-step.is-active .proj-step-dot{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-primary);box-shadow:0 0 0 4px var(--c-brand-soft)}.proj-step-label{font-size:var(--fs-sm);white-space:nowrap;font-weight:500}.proj-step.is-done .proj-step-label{color:var(--c-body)}.proj-step.is-active .proj-step-label{color:var(--c-brand);font-weight:700}.proj-step:not(:disabled):hover .proj-step-dot{border-color:var(--c-brand);transform:scale(1.08)}.proj-step:focus-visible{outline:none}.proj-step:focus-visible .proj-step-dot{box-shadow:0 0 0 3px var(--c-brand-soft)}.proj-track-status{font-size:var(--fs-lg);color:var(--c-ink);align-items:center;gap:8px;margin-bottom:14px;font-weight:600;display:flex}.proj-status-dot{background:var(--kb-stage,var(--c-soft));border-radius:50%;flex:none;width:8px;height:8px}.proj-track-status-hint{font-size:var(--fs-sm);color:var(--c-muted);font-weight:400}.proj-links-table td{vertical-align:middle}.proj-links-table th:first-child{width:150px}.proj-link-type-cell{color:var(--c-body);white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:inline-flex}.proj-link-type-cell svg{color:var(--c-muted);flex:none}.proj-link-a{color:var(--c-brand);overflow-wrap:break-word;white-space:normal;text-decoration:none}.proj-link-a:hover{text-decoration:underline}.proj-dl{grid-template-columns:max-content minmax(0,1fr);column-gap:20px;margin:0;display:grid}@media (width>=900px){.proj-dl{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr);column-gap:20px}.proj-dl dd:nth-of-type(odd){margin-right:40px}}.proj-dl dt,.proj-dl dd{border-bottom:1px solid var(--c-hairline-soft);font-size:var(--fs-md);margin:0;padding:9px 0;line-height:1.4}.proj-dl dt{color:var(--c-muted);white-space:nowrap;font-weight:500}.proj-dl dd{color:var(--c-ink);overflow-wrap:anywhere;min-width:0}.proj-dl-wide-dt{grid-column:1}.proj-dl-wide{grid-column:2/-1;margin-right:0!important}.proj-dl-prose{white-space:pre-wrap;color:var(--c-body);line-height:1.6}.proj-dl-link{color:var(--c-brand);font-weight:500;text-decoration:none}.proj-dl-link:hover{text-decoration:underline}.proj-members-table th:first-child,.proj-members-table td:first-child{padding-left:0}.proj-link-editor{margin:4px 0 20px}.proj-link-editor-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.proj-link-editor-empty{font-size:var(--fs-md);color:var(--c-muted);margin:0}.proj-link-row{grid-template-columns:96px minmax(0,1fr) 140px 28px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.proj-link-type,.proj-link-input{border:1px solid var(--c-hairline);border-radius:var(--r-sm);background:var(--c-canvas);height:34px;color:var(--c-ink);font-size:var(--fs-md);outline:none;min-width:0;padding:0 10px}.proj-link-type{cursor:pointer;padding-right:24px}.proj-link-type:focus,.proj-link-input:focus{border-color:var(--c-brand)}.proj-link-row.is-error .proj-link-url-input{border-color:var(--c-danger)}.proj-link-input::placeholder{color:var(--c-soft)}.proj-link-remove{color:var(--c-muted);justify-content:center;width:28px;height:28px;padding:0}.proj-link-remove:hover{color:var(--c-danger)}.proj-link-err{grid-column:1/-1;margin-top:-2px}@media (width<=640px){.proj-link-row{grid-template-columns:96px minmax(0,1fr) 28px}.proj-link-label-input{grid-column:1/span 2}}.ms-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ms-head-stat{flex-shrink:0;align-items:center;gap:12px;display:flex}.ms-head-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.ms-head-actions{width:100%}.ms-head-actions .btn{flex:auto;justify-content:center}}.ms-quick{border:1px dashed var(--c-hairline-strong);border-radius:var(--r-md);background:var(--c-surface-soft);grid-template-columns:16px minmax(0,1fr) 150px auto;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;display:grid}.ms-quick:focus-within{border-style:solid;border-color:var(--c-brand);background:var(--c-canvas)}.ms-quick-ico{color:var(--c-muted)}.ms-quick-title,.ms-quick-date{height:32px;color:var(--c-ink);font-size:var(--fs-md);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;min-width:0;padding:0 8px}.ms-quick-title:focus,.ms-quick-date:focus{border-bottom-color:var(--c-brand)}.ms-quick-title::placeholder{color:var(--c-soft)}@media (width<=640px){.ms-quick{grid-template-columns:16px minmax(0,1fr) auto;row-gap:6px}.ms-quick-title{grid-column:2/-1}.ms-quick .date-field{grid-column:2}.ms-quick .btn{grid-column:3}}.ms-tpl-help{font-size:var(--fs-md);color:var(--c-muted);margin:0 0 10px}.ms-tpl-warn{border-radius:var(--r-sm);background:var(--c-warning-soft);color:var(--c-warning);line-height:1.5;font-size:var(--fs-md);align-items:flex-start;gap:8px;margin:0 0 12px;padding:8px 10px;display:flex}.ms-tpl-warn svg{flex:none;margin-top:3px}.ms-tpl-rows{flex-direction:column;gap:6px;display:flex}.ms-tpl-row{border:1px solid var(--c-hairline);border-radius:var(--r-sm);grid-template-columns:76px minmax(0,1fr) 150px 28px;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:grid}.ms-tpl-type{font-size:var(--fs-md);color:var(--c-body);white-space:nowrap;font-weight:600}.ms-tpl-title,.ms-tpl-date{border:1px solid var(--c-hairline);border-radius:var(--r-sm);background:var(--c-canvas);height:32px;color:var(--c-ink);font-size:var(--fs-md);outline:none;min-width:0;padding:0 8px}.ms-tpl-title:focus,.ms-tpl-date:focus{border-color:var(--c-brand)}@media (width<=640px){.ms-tpl-row{grid-template-columns:minmax(0,1fr) 28px}.ms-tpl-row .ms-tpl-type,.ms-tpl-title,.ms-tpl-row .date-field{grid-column:1}}.proj-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.proj-title{letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0;font-size:26px;font-weight:700;line-height:1.3}.sel.proj-status-pill{border-radius:var(--r-full);border:1px solid color-mix(in srgb, var(--kb-stage) 35%, transparent);background:var(--kb-stage-bg);width:auto;min-width:0;height:30px;color:color-mix(in srgb, var(--kb-stage) 72%, #000);gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:600}.sel.proj-status-pill:before{content:"";background:var(--kb-stage);border-radius:50%;flex:none;width:7px;height:7px}.sel.proj-status-pill .sel-caret{color:inherit}.proj-head-sub .proj-track-dday{border-radius:var(--r-xs);background:var(--c-surface-soft);font-family:var(--f-sans);color:var(--c-body);margin-left:10px;padding:1px 8px;font-size:12px;font-style:normal;font-weight:600}.proj-head-sub .proj-track-dday--on_track{background:var(--c-accent-soft);color:#a8370a}.proj-head-sub .proj-track-dday--delayed{background:var(--c-danger-soft);color:var(--c-danger)}.proj-head-sub .proj-track-dday--completed{background:var(--c-success-soft,var(--c-surface-soft));color:var(--c-success)}.proj-more-btn{justify-content:center;width:34px;padding:0}.proj-info .proj-sec-head{min-height:34px;margin-bottom:12px}.proj-info .proj-sec-title{font-family:var(--f-sans);letter-spacing:var(--ls-snug);text-transform:none;color:var(--c-ink);align-items:baseline;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.proj-info .proj-sec-count{color:var(--c-brand);margin:0;font-size:16px;font-weight:500}.proj-sec-acts{align-items:center;gap:6px;display:flex}.proj-sec-link{color:var(--c-body)}.proj-kv{border-top:2px solid var(--c-ink);grid-template-columns:150px minmax(0,1fr);margin:0;display:grid}.proj-kv dt,.proj-kv dd{border-bottom:1px solid var(--c-hairline);margin:0;padding:15px 18px;font-size:15px;line-height:1.5}.proj-kv dt{background:var(--c-surface-soft);color:var(--c-ink);white-space:nowrap;font-size:14px;font-weight:600}.proj-kv dd{color:var(--c-ink);overflow-wrap:anywhere;min-width:0}.proj-kv .empty-value{color:var(--c-soft);font-style:normal}.proj-kv-sub{color:var(--c-muted);margin-top:2px;font-size:13px;display:block}.proj-kv-prose{white-space:pre-wrap;color:var(--c-body);line-height:1.65}@media (width>=900px){.proj-kv{grid-template-columns:150px minmax(0,1fr) 150px minmax(0,1fr)}.proj-kv-wide{grid-column:2/-1}}@media (width<=640px){.proj-kv{grid-template-columns:96px minmax(0,1fr)}.proj-kv dt,.proj-kv dd{padding:12px;font-size:14px}.proj-kv dt{white-space:normal;word-break:keep-all}}.proj-info .proj-track{background:0 0;border:0;border-radius:0;padding:4px 0 0}.proj-info .proj-steps{margin-bottom:0}.proj-info .proj-step-dot{width:28px;height:28px}.proj-info .proj-step:before,.proj-info .proj-step:after{background:var(--c-hairline);height:3px;top:15px}.proj-info .proj-step.is-done:before,.proj-info .proj-step.is-done:after,.proj-info .proj-step.is-active:before{background:var(--c-brand)}.proj-info .proj-step-num{font-size:12px}.proj-info .proj-step-label{font-size:14px}.proj-info .proj-step.is-active .proj-step-label{color:var(--c-ink)}.proj-info .proj-step.is-active .proj-step-dot{box-shadow:0 0 0 5px var(--c-brand-soft)}.proj-step-now{color:var(--c-muted);margin-top:-2px;font-size:12px}.proj-info .proj-track-status{margin-bottom:0}.proj-prog{border-top:1px solid var(--c-hairline-soft);color:var(--c-body);flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;padding-top:16px;font-size:14px;display:flex}.proj-prog .proj-info-progress-track{flex:1;min-width:120px;max-width:360px;height:6px;display:block}.proj-prog .proj-info-progress-bar{display:block}.proj-prog .proj-info-progress-track:not([class*=proj-progress--]){background:var(--c-surface-strong)}.proj-info .proj-track-pct{align-items:baseline;gap:8px;margin:0;display:inline-flex}.proj-info .proj-track-pct-num{font-family:var(--f-sans);font-weight:700}.proj-track-pct-sub{color:var(--c-muted);font-size:13px}.proj-prog .proj-info-progress-none{font-weight:500}.proj-prog-start{margin-left:auto}.proj-link-tag{border-radius:var(--r-xs);background:var(--c-surface-strong);color:var(--c-body);white-space:nowrap;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.proj-link-tag--service{background:var(--c-brand-soft);color:var(--c-brand-ink)}.proj-link-name{color:var(--c-ink);font-weight:500}.proj-who{color:var(--c-ink);align-items:center;gap:8px;font-weight:500;display:inline-flex}.proj-who em{background:var(--c-brand-soft);width:28px;height:28px;color:var(--c-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:12px;font-style:normal;font-weight:600;display:inline-grid}.proj-text-btn{font:inherit;color:var(--c-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;padding:4px 6px;font-size:13px}.proj-text-btn:hover:not(:disabled){color:var(--c-danger);background:var(--c-danger-soft)}.proj-info .proj-members-table th:first-child,.proj-info .proj-members-table td:first-child{padding-left:16px}@media (width<=640px){.proj-title{font-size:21px}.proj-info .proj-sec-title{font-size:17px}.proj-info .proj-step-label{font-size:12px}.proj-prog-start{margin-left:0}.proj-links-table thead{display:none}.proj-links-table,.proj-links-table tbody{width:100%;display:block}.proj-links-table tr{border-bottom:1px solid var(--c-hairline);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:12px 4px;display:grid}.data-table.proj-links-table tbody tr:hover td{background:0 0}.data-table.proj-links-table td,.data-table.proj-links-table tbody tr td{border:0;min-width:0;height:auto;padding:0;display:block}.proj-links-table td.col-sticky{background:0 0;position:static}.proj-links-table td:nth-child(3){grid-area:2/1/auto/-1}.proj-links-table td:nth-child(4){grid-area:1/3}.proj-links-table .proj-link-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proj-links-table .proj-link-a{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;font-size:13px;display:block;overflow:hidden}}.proj-logo-box--empty{color:var(--c-muted);background:var(--c-canvas)}.lead-co-link{color:var(--c-brand);font-weight:500;text-decoration:none}.lead-co-link:hover{text-decoration:underline}.lead-stage-pill{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.lead-stage-pill i,.lead-stage-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.lead-stage-pill--initial_contact{color:var(--c-body);background:var(--c-surface-soft);border-color:var(--c-hairline)}.lead-stage-pill--proposal_sent{color:var(--c-brand-ink);background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 30%, transparent)}.lead-stage-pill--negotiation{color:#a8370a;background:var(--c-accent-soft);border-color:#a8370a4d}.lead-stage-pill--won{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 35%, transparent)}.lead-stage-pill--lost{color:var(--c-danger);background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-danger) 35%, transparent)}.lead-stage-dot--lost{background:var(--c-danger);display:inline-block}.lead-won-btn{background:var(--c-success);border-color:var(--c-success)}.lead-won-btn:hover{background:color-mix(in srgb, var(--c-success) 88%, #000)}.lead-lost-btn{color:var(--c-danger);border-color:color-mix(in srgb, var(--c-danger) 40%, transparent)}.lead-lost-btn:hover{background:var(--c-danger-soft)}.co-type-pill{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.co-type-pill i{background:currentColor;border-radius:50%;width:7px;height:7px}.co-type-pill--client{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 35%, transparent)}.co-type-pill--lead{color:var(--c-brand-ink);background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 30%, transparent)}.co-type-pill--partner{color:#a8370a;background:var(--c-accent-soft);border-color:#a8370a4d}.co-type-pill--self{color:var(--c-body);background:var(--c-surface-soft);border-color:var(--c-hairline)}.co-stats{border:1px solid var(--c-hairline);border-radius:var(--r-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.co-stat{border:0;border-left:1px solid var(--c-hairline);background:var(--c-canvas);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 20px;font-family:inherit;display:flex}.co-stat:first-child{border-left:0}.co-stat:hover:not(:disabled){background:var(--c-surface-soft)}.co-stat:disabled{cursor:default}.co-stat span{color:var(--c-muted);font-size:13px;font-weight:500}.co-stat b{color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.co-stat b small{color:var(--c-muted);margin-left:2px;font-size:14px;font-weight:500}.co-memo{border-radius:var(--r-md);background:var(--c-surface-soft);color:var(--c-body);white-space:pre-wrap;padding:14px 16px;font-size:15px;line-height:1.7}@media (width<=640px){.co-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.co-stat:nth-child(3){border-left:0}.co-stat:nth-child(n+3){border-top:1px solid var(--c-hairline)}}.lead-steps .proj-step{cursor:default}.lead-steps .proj-step:hover .proj-step-dot{transform:none}.lead-steps .proj-step:not(.is-active):not(.is-done):hover .proj-step-dot{border-color:var(--c-hairline-strong)}.pjl-mark{width:var(--pjl,36px);height:var(--pjl,36px);border:1px solid var(--c-hairline);color:var(--c-muted);background:#fff;border-radius:8px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.pjl-mark img{max-width:calc(var(--pjl,36px) - 6px);max-height:calc(var(--pjl,36px) - 6px);object-fit:contain;display:block}.pjl-edit{cursor:pointer;font:inherit;position:relative}.pjl-edit:hover,.pjl-edit:focus-visible{border-color:var(--c-ink)}.pjl-cam{background:var(--c-ink);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-6px;right:-6px}.pjl-field{margin-bottom:16px}.pjl-field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pjl-help{color:var(--c-muted);margin:6px 0 0;font-size:12px}.co-pill{border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.co-proj-status--won,.co-proj-status--closed{background:var(--kb-stage-bg);color:var(--kb-stage)}.co-proj-status--default{background:var(--c-brand-soft);color:var(--c-brand)}.co-apv-type--quote{background:var(--c-info-soft);color:var(--c-info)}.co-apv-type--contract{background:var(--c-success-soft);color:var(--c-success)}.co-apv-status--approved{color:var(--c-success);background:#f0fdf4}.co-apv-status--rejected{color:#dc2626;background:#fef2f2}.co-apv-status--pending{background:var(--c-warning-soft);color:var(--c-warning)}.co-account-limit-notice{background:var(--c-warning-soft);border:1px solid var(--c-warning);border-radius:var(--r-md);color:var(--c-body);margin-bottom:16px;padding:10px 14px;font-size:13px}.co-logo-box{border:1px solid var(--c-hairline);box-sizing:border-box;background:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;padding:8px;display:inline-flex}[data-theme=dark] .co-apv-status--approved{background:var(--c-success-soft);color:var(--c-success)}[data-theme=dark] .co-apv-status--rejected{background:var(--c-danger-soft);color:var(--c-danger)}.apv-pill{border-radius:99px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.review-header-badges .apv-pill{padding:2px 10px}.apv-type--quote{background:var(--c-brand-soft);color:var(--c-brand)}.apv-type--other{background:var(--c-warning-soft);color:var(--c-warning)}.apv-status--draft{background:var(--c-surface-soft);color:var(--c-muted)}.apv-status--pending{background:var(--c-warning-soft);color:var(--c-warning)}.apv-status--approved{background:var(--c-success-soft);color:var(--c-success)}.apv-status--rejected{background:var(--c-danger-soft);color:var(--c-danger)}.apv-result--approved{background:var(--c-success-soft);color:var(--c-success)}.apv-result--rejected{background:var(--c-danger-soft);color:var(--c-danger)}.apv-icon--approved{color:var(--c-success)}.apv-icon--rejected{color:var(--c-danger)}.apv-icon--pending{color:var(--c-warning)}.apv-icon--info{color:var(--c-info)}.apv-note{border-radius:8px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.apv-note--success{background:#f0fdf4;border:1px solid #86efac}.apv-note--danger{background:#fef2f2;border:1px solid #fecaca}.apv-note--info{background:#f0f9ff;border:1px solid #7dd3fc}.apv-note--success .apv-note-head,.apv-note--success .apv-note-link,.apv-note--success .apv-note-body{color:#166534}.apv-note-head{font-size:11px;font-weight:700}.apv-note--danger .apv-note-title{color:#dc2626}.apv-note--danger .apv-note-meta{color:#9f1239}.apv-note--danger .apv-note-body{color:#7f1d1d}.apv-note--info .apv-note-body{color:#0c4a6e}.apv-lock-banner{background:var(--c-warning-soft);border:1px solid var(--c-warning);color:#78350f}[data-theme=dark] .apv-type--other,[data-theme=dark] .apv-lock-banner{color:#fbbf24}[data-theme=dark] .apv-status--approved,[data-theme=dark] .apv-result--approved{background:var(--c-success-soft);color:var(--c-success)}[data-theme=dark] .apv-status--rejected,[data-theme=dark] .apv-result--rejected{background:var(--c-danger-soft);color:var(--c-danger)}[data-theme=dark] .apv-icon--approved{color:var(--c-success)}[data-theme=dark] .apv-icon--rejected{color:var(--c-danger)}[data-theme=dark] .apv-icon--info{color:#38bdf8}[data-theme=dark] .apv-note--success{background:#2fbf8724;border-color:#2fbf8759}[data-theme=dark] .apv-note--danger{background:#f5586d24;border-color:#f5586d59}[data-theme=dark] .apv-note--info{background:#5c92ff24;border-color:#5c92ff59}[data-theme=dark] .apv-note--success .apv-note-head,[data-theme=dark] .apv-note--success .apv-note-link,[data-theme=dark] .apv-note--success .apv-note-body{color:#6ee7b7}[data-theme=dark] .apv-note--danger .apv-note-title{color:var(--c-danger)}[data-theme=dark] .apv-note--danger .apv-note-meta,[data-theme=dark] .apv-note--danger .apv-note-body{color:#fca5a5}[data-theme=dark] .apv-note--info .apv-note-body{color:#93c5fd}.apl-sum{margin-bottom:var(--sp-lg);border:1px solid var(--c-hairline);border-radius:var(--r-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.apl-sum>div{border-left:1px solid var(--c-hairline);min-width:0;padding:16px 20px}.apl-sum>div:first-child{border-left:0}.apl-sum span{color:var(--c-muted);font-size:13px;font-weight:500;display:block}.apl-sum b{letter-spacing:var(--ls-tight);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:24px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.apl-sum b small{letter-spacing:0;color:var(--c-muted);margin-left:2px;font-size:14px;font-weight:500}.apl-sum .is-ok b{color:var(--c-success)}.apl-sum .is-no b{color:var(--c-danger)}.apl-bar{margin-bottom:var(--sp-md);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.apl-pills{flex-wrap:wrap;gap:6px;display:flex}.apl-pills .chip.filter-pill b{color:var(--c-muted);margin-left:4px;font-weight:600}.apl-pills .chip.filter-pill.is-active b{color:inherit;opacity:.75}.apl-pills .chip.filter-pill.is-zero:not(.is-active){color:var(--c-soft)}.apl-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.apl-search{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:240px;height:34px;color:var(--c-muted);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.apl-search:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.apl-search input{min-width:0;font:inherit;color:var(--c-ink);background:0 0;border:0;outline:none;flex:1;font-size:14px}.apl-search button{color:var(--c-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.apl-table td{vertical-align:middle}.apl-table tbody tr{cursor:pointer}.apl-title{color:var(--c-ink);white-space:normal;font-size:15px;font-weight:600;display:block}.apl-sub{color:var(--c-muted);white-space:normal;margin-top:3px;font-size:13px;display:block}.apl-amount{font-variant-numeric:tabular-nums;color:var(--c-ink)}.apl-none{color:var(--c-soft)}.apl-date{color:var(--c-body);font-variant-numeric:tabular-nums}.apl-tag{border-radius:var(--r-xs);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.apl-tag--quote{background:var(--c-brand-soft);color:var(--c-brand-ink)}.apl-tag--contract{color:#5b32b4;background:#eee8fb}.apl-tag--leave{background:var(--c-accent-soft);color:#a8370a}.apl-tag--expense{background:var(--c-surface-strong);color:var(--c-body)}.apl-state{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;gap:5px;height:26px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.apl-state i{background:currentColor;border-radius:50%;width:6px;height:6px}.apl-state--ok{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 35%, transparent)}.apl-state--no{color:var(--c-danger);background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-danger) 35%, transparent)}.apl-role{border-radius:var(--r-xs);background:var(--c-surface-strong);color:var(--c-body);padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.apl-role--approver{background:var(--c-brand-soft);color:var(--c-brand-ink)}.apl-who{color:var(--c-ink);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.apl-who em{background:var(--c-brand-soft);width:24px;height:24px;color:var(--c-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:600;display:inline-grid}.apl-acts{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.apl-acts .icon-btn{color:var(--c-soft)}.apl-acts .icon-btn:hover{color:var(--c-ink)}.apl-acts .apl-del:hover{color:var(--c-danger)}.approval-card .apl-title{font-size:15px}.approval-card-head{align-items:flex-start}.approval-card-head .apl-tag{flex:none;margin-top:2px}.approval-card-body{flex:1;min-width:0}@media (width<=900px){.apl-sum{grid-template-columns:repeat(2,minmax(0,1fr))}.apl-sum>div:nth-child(3){border-left:0}.apl-sum>div:nth-child(n+3){border-top:1px solid var(--c-hairline)}}@media (width<=640px){.apl-sum>div{padding:12px 14px}.apl-sum b{font-size:20px}.apl-pills{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.apl-pills::-webkit-scrollbar{display:none}.apl-pills .chip{flex:none}.apl-tools{width:100%;margin-left:0}.apl-search{order:3;width:100%}}.sel.chip.apl-year.is-active{background:var(--c-canvas);border-color:var(--c-hairline);color:var(--c-ink)}.sel.chip.apl-year.is-active .chip-caret{color:var(--c-muted)}.sel.chip.apl-year.is-active .chip-val{color:var(--c-ink)}.sel.chip.apl-year.is-active:hover{background:var(--c-surface-soft)}.rv-page{box-sizing:border-box;width:100%;padding:8px 0 40px}.rv-head{margin-bottom:28px;padding:0 0 20px}.rv-head .btn-back{margin:0 0 10px -10px}.rv-head-row{align-items:flex-start;gap:16px;display:flex}.rv-ttl{flex:1;min-width:0}.rv-ttl-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rv-ttl-row .apl-tag{padding:3px 9px;font-size:13px}.rv-head .review-page-title{font-size:26px}.rv-status{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.rv-status i{background:currentColor;border-radius:50%;width:7px;height:7px}.rv-status--approved{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 35%, transparent)}.rv-status--rejected{color:var(--c-danger);background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-danger) 35%, transparent)}.rv-status--pending{color:#a8370a;background:var(--c-accent-soft);border-color:#a8370a4d}.rv-status--draft{color:var(--c-body);background:var(--c-surface-soft);border-color:var(--c-hairline)}.rv-meta{color:var(--c-muted);flex-wrap:wrap;gap:4px 0;margin-top:8px;font-size:14px;display:flex}.rv-meta>span+span:before{content:"·";color:var(--c-hairline-strong);margin:0 8px}.rv-meta b{color:var(--c-body);font-weight:500}.rv-acts{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.rv-acts .btn{height:38px}.rv-reject{color:var(--c-danger);border-color:color-mix(in srgb, var(--c-danger) 40%, transparent)}.rv-reject:hover{background:var(--c-danger-soft)}.rv-withdraw{color:var(--c-muted);border:1px solid var(--c-hairline)}.review-layout.rv-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;display:grid}.rv-grid .review-pdf-col,.rv-grid .review-side-col{flex:none;width:auto}.rv-grid .review-side-col{position:sticky;top:16px}.rv-section-title{color:var(--c-ink);letter-spacing:var(--ls-snug);margin:0 0 12px;font-size:18px;font-weight:600}.rv-kv{border-top:2px solid var(--c-ink);grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr);margin:0;display:grid}.rv-kv dt,.rv-kv dd{border-bottom:1px solid var(--c-hairline);margin:0;padding:15px 18px;font-size:15px;line-height:1.5}.rv-kv dt{background:var(--c-surface-soft);color:var(--c-ink);white-space:nowrap;font-size:14px;font-weight:600}.rv-kv dd{color:var(--c-ink);overflow-wrap:break-word;min-width:0}.rv-kv-wide{grid-column:2/-1}.rv-kv-prose{white-space:pre-wrap;line-height:1.65}.rv-chip{border-radius:var(--r-full);background:var(--c-brand-soft);color:var(--c-brand-ink);padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.rv-days{color:var(--c-ink);font-size:20px;font-weight:700}.rv-days small{color:var(--c-muted);margin-left:2px;font-size:14px;font-weight:500}.rv-none{color:var(--c-soft)}.rv-note{border-radius:var(--r-md);background:var(--c-surface-soft);color:var(--c-body);align-items:center;gap:8px;margin:14px 0 0;padding:12px 14px;font-size:14px;display:flex}.rv-note svg{color:var(--c-muted);flex:none}.rv-doc{flex-direction:column;gap:20px;display:flex}.rv-sum{border:1px solid var(--c-hairline);border-radius:var(--r-xl);grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));display:grid}.rv-sum.is-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rv-sum>div{border-left:1px solid var(--c-hairline);min-width:0;padding:14px 18px}.rv-sum>div:first-child{border-left:0}.rv-sum span{color:var(--c-muted);font-size:13px;display:block}.rv-sum b{color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin-top:4px;font-size:18px;font-weight:700;display:block;overflow:hidden}.rv-sum .rv-sum-co{font-size:16px;font-weight:600}.rv-sum .is-total b{color:var(--c-brand)}.rv-pdf{border:1px solid var(--c-hairline);border-radius:var(--r-lg);overflow:hidden}.rv-pdf-bar{border-bottom:1px solid var(--c-hairline);background:var(--c-surface-soft);color:var(--c-muted);justify-content:space-between;align-items:center;padding:8px 10px 8px 14px;font-size:13px;display:flex}.rv-pdf .pdf-viewer-container{border:0;border-radius:0}.rv-side-stack{flex-direction:column;gap:12px;display:flex}.rv-side{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-canvas);padding:20px}.rv-side-title{color:var(--c-ink);margin:0 0 16px;font-size:16px;font-weight:600}.rv-tl{margin:0;padding:0;list-style:none}.rv-step{grid-template-columns:28px minmax(0,1fr);gap:12px;padding-bottom:20px;display:grid;position:relative}.rv-step:last-child{padding-bottom:0}.rv-step:before{content:"";background:var(--c-hairline);width:2px;position:absolute;top:30px;bottom:2px;left:13px}.rv-step:last-child:before{display:none}.rv-step.is-done:before{background:var(--c-success)}.rv-dot{background:var(--c-surface-strong);width:28px;height:28px;color:var(--c-muted);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.rv-step.is-done .rv-dot{background:var(--c-success);color:#fff}.rv-step.is-rejected .rv-dot{background:var(--c-danger);color:#fff}.rv-step.is-now .rv-dot{background:var(--c-canvas);color:#c2410c;border:2px solid #c2410c}.rv-step-k{color:var(--c-muted);font-size:12px;font-weight:500}.rv-step.is-rejected .rv-step-k{color:var(--c-danger)}.rv-step.is-now .rv-step-k{color:#a8370a}.rv-step-n{color:var(--c-ink);margin-top:2px;font-size:15px;font-weight:600}.rv-step-n small{color:var(--c-muted);margin-left:5px;font-size:13px;font-weight:400}.rv-step-t{color:var(--c-muted);margin-top:2px;font-size:13px}.rv-step-c{border-radius:var(--r-md);background:var(--c-surface-soft);color:var(--c-body);white-space:pre-wrap;margin-top:8px;padding:10px 12px;font-size:14px;line-height:1.6}.rv-step-c.is-rejected{background:var(--c-danger-soft);color:var(--c-danger)}.rv-step-empty{color:var(--c-muted);font-size:13px}.rv-ref{border-top:1px solid var(--c-hairline);color:var(--c-muted);margin-top:18px;padding-top:14px;font-size:13px}.rv-ref b{color:var(--c-body);margin-left:4px;font-weight:500}@media (width<=1023px){.review-layout.rv-grid{grid-template-columns:minmax(0,1fr);gap:20px}.rv-grid .review-pdf-col{order:1}.rv-grid .review-side-col{order:2;position:static}.rv-desk-only{display:none!important}}@media (width<=640px){.rv-head-row{flex-direction:column;gap:12px}.rv-acts{justify-content:flex-start}.rv-head .review-page-title{font-size:21px}.rv-meta{flex-direction:column;gap:2px}.rv-meta>span+span:before{display:none}.rv-kv{grid-template-columns:96px minmax(0,1fr)}.rv-kv dt,.rv-kv dd{padding:12px;font-size:14px}.rv-kv dt{white-space:normal}.rv-sum,.rv-sum.is-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rv-sum>div:nth-child(3){border-left:0}.rv-sum>div:nth-child(n+3){border-top:1px solid var(--c-hairline)}}.lvf-page{max-width:none;padding-bottom:40px}.lvf-head{border-bottom:1px solid var(--c-hairline);margin-bottom:28px;padding-bottom:20px}.lvf-head .btn-back{margin:0 0 10px -10px}.lvf-ttl-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lvf-ttl-row .apl-tag{padding:3px 9px;font-size:13px}.lvf-title{letter-spacing:var(--ls-tight);color:var(--c-ink);margin:0;font-size:26px;font-weight:700}.lvf-state{border:1px solid var(--c-hairline);border-radius:var(--r-full);height:28px;color:var(--c-body);background:var(--c-surface-soft);align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.lvf-desc{color:var(--c-muted);margin:8px 0 0;font-size:14px}.lvf-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.lvf-main{min-width:0;max-width:860px}.lvf-sec{margin-bottom:32px}.lvf-sec-title{letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0 0 12px;font-size:18px;font-weight:600}.lvf-err{color:var(--c-danger);margin:6px 0 0;font-size:13px}.lvf-types{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.lvf-type{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 14px 12px;font-family:inherit;display:flex}.lvf-type:hover{border-color:var(--c-hairline-strong)}.lvf-type b{color:var(--c-ink);font-size:15px;font-weight:600}.lvf-type small{color:var(--c-muted);font-size:12px}.lvf-type.is-active{border-color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-ink);background:var(--c-surface-soft)}.lvf-dates{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.lvf-field{flex-direction:column;min-width:0;display:flex}.lvf-lab{color:var(--c-ink);margin-bottom:6px;font-size:13px;font-weight:600}.lvf-lab em{color:var(--c-muted);font-style:normal;font-weight:400}.lvf-lab--block{display:block}.lvf-field .lvf-input{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:100%;height:46px;font-family:var(--f-sans);color:var(--c-ink);padding:0 12px;font-size:15px}.lvf-field.is-error .lvf-input{border-color:var(--c-danger)}.lvf-field.is-disabled .lvf-input{background:var(--c-surface-soft);color:var(--c-muted)}.lvf-til{color:var(--c-muted);padding-bottom:13px}.lvf-quick{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.lvf-q{border-radius:var(--r-full);background:var(--c-surface-soft);height:30px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;border:0;padding:0 12px}.lvf-q:hover{color:var(--c-ink)}.lvf-q.is-active{background:var(--c-brand-soft);color:var(--c-brand-ink);font-weight:600}.lvf-days{border-radius:var(--r-md);background:var(--c-surface-soft);color:var(--c-body);align-items:baseline;gap:10px;margin-top:12px;padding:12px 14px;font-size:14px;display:flex}.lvf-days b{color:var(--c-ink);font-size:18px;font-weight:700}.lvf-days span{color:var(--c-muted)}.lvf-alert{margin-top:10px}.lvf-area{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:100%;min-height:110px;font:400 15px/1.6 var(--f-sans);color:var(--c-ink);resize:vertical;box-sizing:border-box;padding:12px 14px;display:block}.lvf-area:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.lvf-area.is-error{border-color:var(--c-danger)}.lvf-area-foot{color:var(--c-muted);justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;display:flex}.lvf-area-foot .is-error{color:var(--c-danger)}.lvf-select{width:100%;height:48px;font-size:15px}.lvf-refs{flex-wrap:wrap;gap:6px;display:flex}.lvf-ref{border:1px solid var(--c-hairline);border-radius:var(--r-full);background:var(--c-canvas);height:34px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;align-items:center;gap:6px;padding:0 12px 0 4px;display:inline-flex}.lvf-ref em{background:var(--c-brand-soft);width:24px;height:24px;color:var(--c-brand-ink);border-radius:50%;place-items:center;font-size:11px;font-style:normal;font-weight:600;display:inline-grid}.lvf-ref:hover{border-color:var(--c-hairline-strong)}.lvf-ref.is-active{background:var(--c-ink);border-color:var(--c-ink);color:#fff}.lvf-ref.is-active em{color:#fff;background:#ffffff2e}.lvf-side{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-canvas);padding:22px;position:sticky;top:16px}.lvf-side-title{color:var(--c-ink);margin:0 0 14px;font-size:16px;font-weight:600}.lvf-dl{grid-template-columns:64px minmax(0,1fr);gap:10px 12px;margin:0;font-size:14px;display:grid}.lvf-dl dt{color:var(--c-muted)}.lvf-dl dd{color:var(--c-ink);overflow-wrap:break-word;min-width:0;margin:0;font-weight:500}.lvf-dl dd small{color:var(--c-muted);margin-left:6px;font-size:13px;font-weight:400}.lvf-none{color:var(--c-soft);font-weight:400}.lvf-bal{border-radius:var(--r-md);background:var(--c-surface-soft);margin:18px 0;padding:14px}.lvf-bal-top{color:var(--c-muted);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.lvf-bal-top b{color:var(--c-ink);font-size:16px;font-weight:700}.lvf-bal-top b.is-after{color:var(--c-brand)}.lvf-bal.is-over b.is-after{color:var(--c-danger)}.lvf-bar{border-radius:var(--r-full);background:var(--c-surface-strong);height:8px;margin-top:10px;display:flex;overflow:hidden}.lvf-bar i{height:100%;display:block}.lvf-bar .is-used{background:var(--c-ink)}.lvf-bar .is-new{background:var(--c-brand)}.lvf-bal small{color:var(--c-muted);margin-top:8px;font-size:12px;display:block}.lvf-btn{justify-content:center;width:100%;height:46px;font-size:15px}.lvf-btn+.lvf-btn{margin-top:8px}.lvf-cancel{width:100%;font:400 13px var(--f-sans);color:var(--c-muted);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:6px;display:block}.lvf-cancel:hover{color:var(--c-ink)}@media (width<=1100px){.lvf-types{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1023px){.lvf-grid{grid-template-columns:minmax(0,1fr);gap:8px}.lvf-side{position:static}}@media (width<=640px){.lvf-title{font-size:21px}.lvf-types{grid-template-columns:repeat(2,minmax(0,1fr))}.lvf-dates{grid-template-columns:minmax(0,1fr);gap:10px}.lvf-til{display:none}.lvf-side{padding:16px}}.lvf-sec .sel-wrap{width:100%;display:block}.lvf-sec .sel.lvf-select{justify-content:space-between;width:100%;height:48px;padding:0 14px;font-size:15px}.qf{max-width:none}.qf-head{border-bottom:1px solid var(--c-hairline);align-items:flex-end;gap:16px;margin-bottom:28px;padding-bottom:20px;display:flex}.qf-ttl{flex:1;min-width:0}.qf-ttl-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qf-ttl-row .apl-tag{padding:3px 9px;font-size:13px}.qf .qf-title{letter-spacing:var(--ls-tight);margin:0;font-size:26px;font-weight:700}.qf-state{border:1px solid var(--c-hairline);border-radius:var(--r-full);background:var(--c-surface-soft);height:28px;color:var(--c-body);align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.qf-state.is-locked{color:#a8370a;background:var(--c-accent-soft);border-color:#a8370a4d}.qf-desc{color:var(--c-muted);margin:8px 0 0;font-size:14px}.qf-save{color:var(--c-muted);margin-left:10px;font-weight:500}.qf-save.is-error{color:var(--c-danger)}.qf-head-acts{flex-wrap:wrap;flex:none;gap:8px;display:flex}.qf-head-acts .btn{height:38px}.qf .approval-form-layout{grid-template-columns:minmax(0,1fr) 340px;gap:40px}.qf .form-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;margin-bottom:36px!important}.qf .form-card>div[style*=padding]{padding:0 0 12px!important}.qf .form-card-head{margin-bottom:12px}.qf .form-card-title{letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0 0 12px;font-size:18px;font-weight:600}.qf .form-card-head .form-card-title{margin-bottom:0}.qf .form-card-sub{color:var(--c-muted);font-size:13px}.qf-count{color:var(--c-brand);margin-left:6px;font-size:16px;font-weight:500}.qf .float-inner{flex-direction:column;padding-top:0;display:flex}.qf .float-label{pointer-events:auto;order:-1;margin-bottom:6px;font-size:13px;font-weight:600;position:static;color:var(--c-ink)!important;transform:none!important}.qf .float-label .req{color:var(--c-danger)}.qf .float-control{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:44px;padding:0 12px;font-size:15px}.qf .float-control:focus{border:1px solid var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);padding-bottom:0}.qf textarea.float-control{height:auto;min-height:96px;padding:12px;line-height:1.6}.qf .float-control:disabled{background:var(--c-surface-soft);color:var(--c-muted)}.qf .date-field>input.float-control{padding-right:40px}.qf .date-field-btn{right:6px}.qf .sel--float{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:44px;padding:0 12px}.qf .sel--float.is-open{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.qf .float-field--select .float-label{color:var(--c-ink)!important}.qf-basis-wrap{margin-bottom:28px}.qf-basis{border-radius:var(--r-md);background:var(--c-surface-soft);color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex}.qf-basis b{color:var(--c-ink);font-weight:600}.qf-basis i{color:var(--c-hairline-strong);font-style:normal}.qf-basis-sub{margin-left:6px;font-size:12px}.qf-link{font:600 14px var(--f-sans);color:var(--c-brand);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 4px}.qf-basis-edit{border:1px solid var(--c-hairline);border-radius:var(--r-md);margin-top:14px;padding:16px}.qf .data-table-wrap{border-top:2px solid var(--c-ink)}.qf .data-table td{vertical-align:middle}.qf .mp-desc-input{border-radius:6px;min-height:38px;padding:8px 10px;font-size:14px}.qf .mp-desc-label{color:var(--c-muted);font-size:12px;font-weight:600}.qf-add{border:1px dashed var(--c-hairline-strong);border-radius:var(--r-md);height:34px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.qf-add:hover:not(:disabled){border-color:var(--c-ink);color:var(--c-ink)}.qf-add:disabled{opacity:.5;cursor:not-allowed}.qf .form-card>div[style*="8px 16px 16px"]{padding:10px 0 0!important}.qf-check{color:var(--c-ink);cursor:pointer;align-items:center;gap:10px;margin-top:14px;font-size:14px;display:flex}.qf-check input{width:18px;height:18px;accent-color:var(--c-brand)}.qf-check small{color:var(--c-muted);font-size:12px}.qf-side{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-canvas);padding:22px;position:sticky;top:16px}.qf .approval-form-summary .form-card{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-canvas);padding:22px;position:sticky;top:16px;margin:0!important}.qf-side-title{color:var(--c-ink);margin:0 0 4px;font-size:16px;font-weight:600}.qf-side-name{color:var(--c-body);overflow-wrap:break-word;margin-bottom:14px;font-size:13px}.qf-side-name.is-empty{color:var(--c-soft)}.qf-rows>div{color:var(--c-body);justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;display:flex}.qf-rows b{color:var(--c-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.qf-rows .is-sub{border-top:1px solid var(--c-hairline);margin-top:4px;padding-top:10px}.qf-total{border-radius:var(--r-md);background:var(--c-brand-soft);margin:12px 0 18px;padding:14px}.qf-total span{color:var(--c-brand-ink);font-size:13px;display:block}.qf-total b{color:var(--c-brand);font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:700;display:block}.qf-total small{color:var(--c-muted);margin-top:2px;font-size:12px;display:block}.qf-side-btn{justify-content:center;width:100%;height:46px;font-size:15px}.qf-side-btn+.qf-side-btn{margin-top:8px}.qf-missing{color:var(--c-muted);margin:12px 0 0;font-size:13px}.qf-missing b{color:#a8370a;font-weight:600}.qf-mobile-only{display:none!important}@media (width<=900px){.qf-mobile-only{display:revert!important}.qf .form-card.qf-mobile-only{display:block!important}.qf .btn.qf-mobile-only{display:inline-flex!important}}@media (width<=640px){.qf-head{flex-direction:column;align-items:stretch;gap:12px}.qf .qf-title{font-size:21px}.qf-head-acts .btn{flex:1;justify-content:center}}.qf .mp-job .sel{width:100%;max-width:260px;height:38px;font-size:14px}.qf .mp-desc-input{box-sizing:border-box;width:100%}@media (width>=641px){.qf .mp-desc-wrap{align-items:center}}.qf-lab{color:var(--c-ink);margin-bottom:8px;font-size:13px;font-weight:600}.qf-lab em{color:var(--c-muted);font-style:normal;font-weight:400}.qf .float-field .req{color:var(--c-danger)}.nd-overlay{z-index:200;background:#14151773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.nd{background:var(--c-canvas);border-radius:var(--r-xl);width:100%;max-width:520px;box-shadow:var(--s-modal);font-family:var(--f-sans);overflow:hidden}.nd-head{align-items:flex-start;gap:12px;padding:22px 24px 6px;display:flex}.nd-title{letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0;font-size:20px;font-weight:700}.nd-sub{color:var(--c-muted);margin:4px 0 0;font-size:14px}.nd-close{color:var(--c-muted);margin-left:auto}.nd-list{padding:12px 12px 14px}.nd-row{border-radius:var(--r-lg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:14px 12px;font-family:inherit;display:flex}.nd-row+.nd-row{box-shadow:0 -1px 0 var(--c-hairline-soft)}.nd-row:hover:not(:disabled),.nd-row:focus-visible{background:var(--c-surface-soft);box-shadow:none;outline:none}.nd-row:hover+.nd-row{box-shadow:none}.nd-ic{border-radius:var(--r-lg);flex:none;place-items:center;width:44px;height:44px;display:grid}.nd-ic--quote{background:var(--c-brand-soft);color:var(--c-brand-ink)}.nd-ic--contract{color:#5b32b4;background:#eee8fb}.nd-ic--leave{background:var(--c-accent-soft);color:#a8370a}.nd-ic--expense{background:var(--c-surface-strong);color:var(--c-soft)}.nd-tx{flex:1;min-width:0}.nd-tx b{color:var(--c-ink);font-size:16px;font-weight:600;display:block}.nd-tx span{color:var(--c-body);margin-top:2px;font-size:14px;display:block}.nd-tx small{color:var(--c-muted);margin-top:3px;font-size:12px;display:block}.nd-go{color:var(--c-soft);flex:none}.nd-row:hover .nd-go{color:var(--c-ink)}.nd-row.is-off{cursor:not-allowed}.nd-row.is-off .nd-tx b,.nd-row.is-off .nd-tx span{color:var(--c-soft)}.nd-soon{border-radius:var(--r-full);background:var(--c-surface-strong);color:var(--c-muted);flex:none;padding:2px 9px;font-size:12px;font-weight:600}.nd-foot{border-top:1px solid var(--c-hairline-soft);color:var(--c-muted);margin:0;padding:12px 24px 18px;font-size:13px}.ct .ct-mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.ct .ct-opt{color:var(--c-muted);margin-left:6px;font-style:normal;font-weight:400}.ct-grid3{grid-template-columns:150px 170px minmax(0,1fr);gap:16px;margin-bottom:8px;display:grid}.ct-grid3>[data-testid=contract-project]{grid-column:1/-1}.ct-items{border-top:2px solid var(--c-ink)}.ct-item{border-bottom:1px solid var(--c-hairline-soft);grid-template-columns:148px minmax(0,1fr);gap:20px;padding:18px 0;display:grid}.ct-item-h{align-items:baseline;gap:10px;padding-top:11px;display:flex}.ct-num{min-width:18px;color:var(--c-muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.ct-item-t{color:var(--c-ink);font-size:15px;font-weight:600}.ct-item-b{min-width:0}.ct-hint{color:var(--c-muted);margin:8px 0 0;font-size:13px;line-height:1.6}.ct-warn{color:var(--c-danger);font-weight:600}.ct-inline-link{margin:0;padding:0;font-size:13px}.ct-fixed{color:var(--c-body);margin:0;padding-top:11px;font-size:14px}.ct-range{color:var(--c-muted);align-items:center;gap:10px;display:flex}.ct-range>.date-field{flex:0 220px;min-width:0}.ct-w-date{max-width:220px}.ct .ct-range .date-field>input,.ct .ct-w-date .date-field>input{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:100%;height:44px;padding:0 40px 0 12px;font-size:15px}.ct-amt{flex-wrap:wrap;gap:8px 28px;padding:12px 0 2px;display:flex}.ct-amt>div{color:var(--c-muted);align-items:baseline;gap:10px;font-size:14px;display:flex}.ct-amt b{color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.ct-amt .is-total b{color:var(--c-brand);font-size:18px;font-weight:700}.ct-pay-h{color:var(--c-ink);flex-wrap:wrap;align-items:baseline;gap:10px;margin:18px 0 8px;font-size:14px;font-weight:600;display:flex}.ct-pay-h .ct-warn{font-size:13px}.ct-pay .data-table th:first-child{width:84px}.ct-pay .data-table th:nth-child(2){width:104px}.ct-pay .data-table th:nth-child(3){width:140px}.ct-pay-label{font-weight:600}.ct-pay-amt{font-variant-numeric:tabular-nums}.ct .ct-in{border:1px solid var(--c-hairline);background:var(--c-canvas);height:38px;font:400 14px var(--f-sans);color:var(--c-ink);border-radius:6px;padding:0 10px}.ct .ct-in:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.ct .ct-in:disabled{background:var(--c-surface-soft);color:var(--c-muted)}.ct .ct-in--num{text-align:right;font-variant-numeric:tabular-nums;width:72px}.ct .ct-in--method{width:100%;min-width:80px}.ct .date-field.ct-in--date,.ct .ct-in--date{width:160px}.ct .ct-in--date input,.ct input.ct-in--date{border:1px solid var(--c-hairline);background:var(--c-canvas);border-radius:6px;width:100%;height:38px;padding:0 34px 0 10px;font-size:14px}.ct-grid-defect{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 20px;display:grid}.ct-parties{border-top:2px solid var(--c-ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;padding-top:4px;display:grid}.ct-party-h{color:var(--c-ink);padding:12px 0 6px;font-size:14px;font-weight:600}.ct-party-dl{grid-template-columns:84px minmax(0,1fr);margin:0;display:grid}.ct-party-dl dt,.ct-party-dl dd{border-bottom:1px solid var(--c-hairline-soft);margin:0;padding:8px 0;font-size:14px}.ct-party-dl dt{color:var(--c-muted)}.ct-party-dl dd{color:var(--c-ink);overflow-wrap:break-word}.ct-party-empty{color:var(--c-muted);margin:0;padding:10px 0;font-size:14px}.ct-calc-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ct-calc-sub{color:var(--c-muted);margin-left:8px;font-size:13px;font-weight:400}.ct-calc-head .qf-link{align-items:center;gap:4px;margin-left:0;display:inline-flex}@media (width<=900px){.ct-grid3{grid-template-columns:1fr 1fr}}@media (width<=640px){.ct-grid3{grid-template-columns:1fr}.ct-item{grid-template-columns:1fr;gap:8px;padding:16px 0}.ct-item-h,.ct-fixed{padding-top:0}.ct-range>.date-field{flex:1 1 0}.ct-w-date{max-width:none}.ct-parties{grid-template-columns:1fr}}.ct .form-card-head:not(.ct-calc-head){display:block}.ct .form-card-head:not(.ct-calc-head) .form-card-sub{margin:6px 0 0}.ct-calc .mp-job{width:auto;min-width:150px}.ct-calc .mp-desc{width:100%;min-width:220px}.ct-calc .mp-desc-input{width:100%}.ct-kind{margin:2px 0 20px}.ct-kind-lab{color:var(--c-ink);margin-bottom:8px;font-size:13px;font-weight:600}.ct-seg{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ct-seg button{border:1px solid var(--c-hairline);background:var(--c-canvas);text-align:left;font-family:var(--f-sans);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.ct-seg button b{color:var(--c-ink);font-size:15px;font-weight:600}.ct-seg button small{color:var(--c-muted);font-size:12px}.ct-seg button.is-on{border:2px solid var(--c-ink);cursor:default;padding:11px 13px}.ct-seg button:disabled{background:var(--c-surface-soft);cursor:not-allowed}.ct-seg button:disabled b{color:var(--c-muted)}.ct-hint--inline{margin:0}.ct .ct-x{width:32px;height:32px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;font-size:20px;line-height:1}.ct .ct-x:hover:not(:disabled){background:var(--c-surface-soft);color:var(--c-ink)}.ct .ct-x:disabled{visibility:hidden}.ct-acts{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ct .ct-add{width:auto;margin:0 6px 0 0}.ct .ct-chip{border:1px solid var(--c-hairline);border-radius:var(--r-full);background:var(--c-canvas);height:30px;font:13px var(--f-sans);color:var(--c-body);cursor:pointer;padding:0 12px}.ct .ct-chip:hover:not(:disabled){border-color:var(--c-ink);color:var(--c-ink)}.ct .ct-chip.is-on{border-color:var(--c-ink);background:var(--c-ink);color:#fff}.ct .ct-chip:disabled:not(.is-on){opacity:.45;cursor:default}.ct-scope-head,.ct-scope-row{grid-template-columns:130px minmax(0,1fr) 84px 32px;align-items:center;gap:8px;display:grid}.ct-scope-head{color:var(--c-muted);padding:0 0 6px;font-size:12px;font-weight:600}.ct-scope-row{margin-bottom:8px}.ct .ct-scope-row .ct-in{width:100%;min-width:0;height:40px}.ct .ct-in--qty{text-align:center}.ct-deliv{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.ct-deliv-lab{color:var(--c-ink);margin-right:4px;font-size:13px;font-weight:600}.ct .ct-in--deliv{border-radius:var(--r-full);width:170px;height:30px;font-size:13px}.ct-perf{flex-direction:column;gap:10px;padding-top:2px;display:flex}.ct-perf-row{color:var(--c-body);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.ct-perf-lab{width:112px;color:var(--c-ink);font-weight:600}.ct .ct-perf .ct-in--num{width:80px}.ct-gap{width:8px}.ct-sec-h{justify-content:space-between;align-items:flex-end;gap:16px;display:flex!important}.ct-meta{color:var(--c-muted);flex:none;align-items:center;gap:6px;font-size:13px;display:flex}.ct-meta .qf-link{margin-left:8px}.ct-edited{color:var(--c-accent);font-weight:600}.ct-cls{border-top:2px solid var(--c-ink)}.ct-cl{border-bottom:1px solid var(--c-hairline-soft)}.ct-cl.is-open{background:var(--c-surface-soft)}.ct .ct-cl-h{width:100%;min-height:46px;color:var(--c-muted);text-align:left;font-family:var(--f-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 6px;display:flex}.ct .ct-cl-h:hover{background:var(--c-surface-soft)}.ct-cl-no{font-variant-numeric:tabular-nums;flex:none;width:52px;font-size:13px;font-weight:600}.ct-cl-t{color:var(--c-ink);flex:1;font-size:14px}.ct-cl.is-edited .ct-cl-no{color:var(--c-accent)}.ct-badge{border-radius:var(--r-full);background:var(--c-accent-soft);color:var(--c-accent);padding:2px 8px;font-size:11px;font-weight:600}.ct-cl-b{padding:0 6px 14px 70px}.ct .ct-ta{border:1px solid var(--c-hairline);background:var(--c-canvas);width:100%;font:14px/1.65 var(--f-sans);color:var(--c-ink);resize:vertical;border-radius:8px;padding:10px 12px;display:block}.ct .ct-ta:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.ct .ct-ta:disabled{background:var(--c-surface-soft);color:var(--c-body)}.ct-cl-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.ct .ct-btn{border:1px solid var(--c-hairline);background:var(--c-canvas);height:32px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;border-radius:6px;padding:0 12px}.ct-sp-list{border-top:2px solid var(--c-ink)}.ct-sp-row{border-bottom:1px solid var(--c-hairline-soft);grid-template-columns:28px minmax(0,1fr) 32px;align-items:start;gap:10px;padding:12px 0;display:grid}.ct-sp-n{color:var(--c-muted);text-align:center;padding-top:10px;font-size:14px;font-weight:600}.ct-sp-row .ct-x{margin-top:4px}@media (width<=640px){.ct-seg{grid-template-columns:1fr}.ct-scope-head{display:none}.ct-scope-row{grid-template-columns:minmax(0,1fr) 72px 32px}.ct .ct-scope-row .ct-in:nth-child(2){grid-area:2/1/auto/-1}.ct-perf-lab{width:100%}.ct-sec-h{flex-direction:column;align-items:flex-start}.ct-cl-b{padding-left:6px}}.ct-amt-in{color:var(--c-muted);align-items:center;gap:8px;font-size:14px;display:flex}.ct .ct-in--amt{text-align:right;font-variant-numeric:tabular-nums;width:170px;height:42px;font-size:16px;font-weight:600}.ct-amt{align-items:center}.ct-th-sub{color:var(--c-muted);margin-left:6px;font-size:12px;font-weight:400}.ct-pay .data-table th:nth-child(4){width:auto}.ct-pay .date-field{width:220px}.ct .ct-in--date input,.ct input.ct-in--date{font-size:13px}.ct-tag{border-radius:var(--r-full);background:var(--c-surface-soft);color:var(--c-muted);vertical-align:middle;letter-spacing:0;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.ct-tag--muted{border:1px solid var(--c-hairline);background:0 0}.doc-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;min-height:480px;display:grid}.doc-layout.is-tree-closed{grid-template-columns:minmax(0,1fr)}.doc-tree{border-right:1px solid var(--c-hairline);max-height:calc(100vh / var(--app-zoom) - 220px);scrollbar-width:none;-ms-overflow-style:none;padding-right:16px;position:sticky;top:0;overflow-y:auto}.doc-tree::-webkit-scrollbar{display:none}.doc-tree-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.doc-tree-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--c-muted);letter-spacing:var(--ls-wide);text-transform:uppercase;font-family:var(--f-mono)}.doc-tree-actions{gap:2px;display:inline-flex}.doc-tree-actions .icon-btn{border-radius:6px;width:26px;height:26px}.doc-tree-body{flex-direction:column;gap:2px;display:flex}.doc-tree-row{align-items:center;gap:2px;display:flex}.doc-tree-row-actions{flex-shrink:0;gap:0;display:none}.doc-tree-row:hover .doc-tree-row-actions{display:inline-flex}.doc-tree-row-actions .icon-btn{border-radius:6px;width:24px;height:24px}.doc-tree-item{min-width:0;min-height:32px;color:var(--c-body);font-size:var(--fs-md);line-height:var(--lh-tight);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:6px;padding:6px 8px;font-family:inherit;display:flex}.doc-tree-item:hover{background:var(--c-surface-soft)}.doc-tree-doc{color:var(--c-body);padding-left:16px}.doc-tree-folder{color:var(--c-ink);font-weight:var(--fw-medium)}.doc-tree-ico{opacity:.85;flex:none}.doc-tree-item.is-active .doc-tree-ico{opacity:1}.doc-tree-doc.is-active{background:var(--c-brand-soft);color:var(--c-brand);font-weight:var(--fw-medium)}.doc-tree-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.doc-tree-children{flex-direction:column;gap:2px;padding-left:12px;display:flex}.doc-tree-group+.doc-tree-group{margin-top:2px}.doc-tree-hint{font-size:var(--fs-sm);color:var(--c-muted);margin:0;padding:4px 8px 4px 36px;font-style:italic}.doc-tree-empty{font-size:var(--fs-sm);color:var(--c-muted);line-height:var(--lh-base);margin:8px 0}.doc-main{min-width:0;position:relative}.doc-tree-reopen{position:absolute;top:-4px;left:0}.doc-layout.is-tree-closed .doc-back-row,.doc-layout.is-tree-closed .doc-head,.doc-layout.is-tree-closed .doc-meta,.doc-layout.is-tree-closed .doc-overview,.doc-layout.is-tree-closed .doc-body{padding-left:44px}.doc-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;display:flex}.doc-back-row{margin:0 0 6px}.doc-back{font-family:inherit;font-size:var(--fs-md);color:var(--c-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;display:inline-flex}.doc-back:hover{color:var(--c-ink)}.doc-title{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;margin:0;display:flex;overflow:hidden}.doc-title-input{min-width:0;font-family:var(--f-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--c-ink);border:0;border-bottom:1px solid var(--c-hairline);background:0 0;outline:none;flex:1;padding:2px 0}.doc-title-input:focus{border-bottom-color:var(--c-brand)}.doc-dirty-dot{background:var(--c-warning);border-radius:50%;flex-shrink:0;width:7px;height:7px}.doc-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.doc-meta{font-size:var(--fs-sm);color:var(--c-muted);margin-bottom:16px}.doc-body{max-width:900px}.doc-view,.doc-editor-content{font-size:var(--fs-lg);line-height:var(--lh-base);color:var(--c-body)}.doc-view h1,.doc-editor-content h1{color:var(--c-ink);margin:24px 0 8px;font-size:24px;font-weight:600}.doc-view h2,.doc-editor-content h2{color:var(--c-ink);margin:20px 0 8px;font-size:20px;font-weight:600}.doc-view h3,.doc-editor-content h3{color:var(--c-ink);margin:16px 0 6px;font-size:17px;font-weight:600}.doc-view p,.doc-editor-content p{margin:11px 0}.doc-view p:empty,.doc-editor-content p:empty{min-height:calc(var(--fs-lg) * var(--lh-base))}.doc-view ul,.doc-view ol,.doc-editor-content ul,.doc-editor-content ol{margin:8px 0;padding-left:22px}.doc-view li,.doc-editor-content li{margin:3px 0}.doc-view blockquote,.doc-editor-content blockquote{border-left:3px solid var(--c-hairline);color:var(--c-muted);margin:12px 0;padding-left:12px}.doc-view pre,.doc-editor-content pre{background:var(--c-surface-soft);border:1px solid var(--c-hairline);border-radius:var(--r-md);font-family:var(--f-mono);font-size:var(--fs-md);margin:12px 0;padding:12px 14px;overflow-x:auto}.doc-view code,.doc-editor-content code{font-family:var(--f-mono);font-size:.92em}.doc-view hr,.doc-editor-content hr{border:0;border-top:1px solid var(--c-hairline);margin:20px 0}.doc-view a,.doc-editor-content a{color:var(--c-brand);text-decoration:underline}.doc-view img,.doc-editor-content img{border-radius:var(--r-md);max-width:100%}.doc-view table,.doc-editor-content table{border-collapse:collapse;width:100%;font-size:var(--fs-md);table-layout:fixed;margin:12px 0}.doc-view th,.doc-view td,.doc-editor-content th,.doc-editor-content td{border:1px solid var(--c-hairline);vertical-align:top;padding:7px 10px}.doc-view th,.doc-editor-content th{background:var(--c-surface-soft);font-weight:var(--fw-bold);text-align:left}.doc-editor-content .selectedCell:after{content:"";background:var(--c-brand-soft);pointer-events:none;position:absolute;inset:0}.doc-editor-content table,.doc-editor-content td,.doc-editor-content th{position:relative}.doc-editor .doc-editor-content{outline:none;min-height:380px;padding:14px 0}.doc-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--c-muted);float:left;pointer-events:none;height:0}.slash-menu-anchor{z-index:200;position:fixed}.slash-menu{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-md);width:240px;box-shadow:var(--s-elevated);padding:4px;overflow:hidden}.slash-menu-list{flex-direction:column;gap:1px;max-height:260px;display:flex;overflow-y:auto}.slash-menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:7px 9px;font-family:inherit;display:flex}.slash-menu-item.is-active{background:var(--c-brand-soft)}.slash-menu-title{font-size:var(--fs-md);color:var(--c-ink)}.slash-menu-item.is-active .slash-menu-title{color:var(--c-brand);font-weight:var(--fw-medium)}.slash-menu-hint{font-size:var(--fs-sm);color:var(--c-muted);flex-shrink:0}.slash-menu-empty{font-size:var(--fs-md);color:var(--c-muted);padding:10px}.slash-table-picker{padding:8px}.slash-table-picker-head{justify-content:space-between;align-items:baseline;padding:0 2px 6px;display:flex}.slash-table-picker-size{font-size:var(--fs-sm);color:var(--c-muted)}.slash-table-grid{flex-direction:column;gap:3px;display:flex}.slash-table-grid-row{gap:3px;display:flex}.slash-table-cell{border:1px solid var(--c-hairline);background:var(--c-surface-soft);cursor:pointer;border-radius:3px;width:24px;height:20px;padding:0}.slash-table-cell.is-on{background:var(--c-brand-soft);border-color:var(--c-brand)}.slash-table-cell:focus-visible{outline:2px solid var(--c-brand);outline-offset:1px}.slash-table-picker-foot{white-space:normal;padding:8px 2px 0;line-height:1.5}.table-menu{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-md);box-shadow:var(--s-elevated);align-items:center;gap:2px;padding:4px;display:flex}.table-menu-btn{border-radius:6px;width:28px;height:28px}.table-menu-btn.is-danger:hover{color:var(--c-danger);background:var(--c-danger-soft)}.table-menu-sep{background:var(--c-hairline);width:1px;height:18px;margin:0 3px}@media (width<=1024px){.doc-layout{grid-template-columns:minmax(0,1fr)}.doc-tree{border-right:0;border-bottom:1px solid var(--c-hairline);max-height:300px;padding-bottom:12px;padding-right:0;position:static}}.doc-move-item{width:100%;color:var(--c-body);font-size:var(--fs-md);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 12px;font-family:inherit;display:block}.doc-move-item:hover{background:var(--c-surface-soft)}.doc-move-item.is-current{background:var(--c-brand-soft);color:var(--c-brand);font-weight:var(--fw-medium)}.doc-search{border:1px solid var(--c-hairline);background:var(--c-surface-soft);height:32px;color:var(--c-muted);border-radius:8px;align-items:center;gap:6px;margin:0 0 10px;padding:0 8px;display:flex}.doc-search:focus-within{border-color:var(--c-brand);background:var(--c-canvas)}.doc-search input{min-width:0;font-size:var(--fs-sm);color:var(--c-ink);background:0 0;border:0;outline:none;flex:1}.doc-search input::-webkit-search-cancel-button{display:none}.doc-search-clear{flex:none;width:20px;height:20px}.doc-result{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;gap:2px;width:100%;padding:7px 10px;display:flex}.doc-result:hover{background:var(--c-surface-soft)}.doc-result.is-active{background:var(--c-brand-soft)}.doc-result-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-ink)}.doc-result-path{font-size:var(--fs-xs);color:var(--c-muted)}.doc-result-snippet{font-size:var(--fs-xs);line-height:var(--lh-snug);color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.doc-recent{border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);margin-top:24px}.doc-recent-head{border-bottom:1px solid var(--c-hairline);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-muted);align-items:center;gap:6px;padding:10px 14px;display:flex}.doc-recent-item{border:0;border-top:1px solid var(--c-hairline-soft);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;padding:9px 14px;display:flex}.doc-recent-item:first-of-type{border-top:0}.doc-recent-item:hover{background:var(--c-surface-soft)}.doc-recent-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-ink)}.doc-recent-meta{font-size:var(--fs-xs);color:var(--c-muted)}.doc-overview{max-width:900px}.doc-overview-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.doc-overview-count{font-size:var(--fs-md);color:var(--c-muted)}.doc-overview-actions{align-items:center;gap:8px;display:inline-flex}.doc-overview-notice{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-surface-soft);font-size:var(--fs-sm);color:var(--c-muted);align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px;display:flex}.doc-overview-notice span{flex:1;min-width:0}.doc-group{margin-top:20px}.doc-group--sub{margin-left:16px}.doc-group-head{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--c-ink);align-items:center;gap:6px;margin-bottom:6px;display:flex}.doc-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.doc-group-count{font-size:var(--fs-xs);font-family:var(--f-mono);color:var(--c-muted);flex:none}.doc-group-actions{opacity:0;gap:2px;transition:opacity .12s;display:inline-flex}.doc-group-head:hover .doc-group-actions,.doc-group-actions:focus-within{opacity:1}.doc-group-actions .icon-btn{border-radius:6px;width:24px;height:24px}.doc-group-empty{font-size:var(--fs-sm);color:var(--c-muted);margin:0 0 0 20px;font-style:italic}.doc-list{border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);background:var(--c-canvas)}.doc-list-item{border:0;border-top:1px solid var(--c-hairline-soft);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;width:100%;min-width:0;padding:10px 14px;display:flex}.doc-list-item:first-of-type{border-top:0}.doc-list-item:hover{background:var(--c-surface-soft)}.doc-list-ico{opacity:.7;flex:none}.doc-list-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--c-ink);flex:auto;overflow:hidden}.doc-list-meta{font-size:var(--fs-xs);color:var(--c-muted);flex:none}@media (width<=640px){.doc-view,.doc-editor-content{font-size:16px}.doc-head{flex-direction:column;align-items:stretch;gap:10px}.doc-title{white-space:normal;font-size:var(--fs-xl0);overflow:visible}.doc-head-actions{flex-wrap:wrap}.doc-head-actions .btn{flex:auto;justify-content:center}.doc-list-meta{display:none}.doc-list-item{min-height:40px;padding:11px 12px}.doc-overview-head{flex-wrap:wrap;gap:8px}.doc-group--sub{margin-left:12px}.doc-layout.is-tree-closed .doc-back-row,.doc-layout.is-tree-closed .doc-head,.doc-layout.is-tree-closed .doc-meta,.doc-layout.is-tree-closed .doc-overview,.doc-layout.is-tree-closed .doc-body{padding-left:36px}.doc-back{min-height:44px;margin-left:-4px;padding:0 12px 0 4px}}@media (width<=1024px){.doc-layout:not(.file-lib):has(.doc-back-row) .doc-tree-reopen{display:none}:is(.doc-layout:not(.file-lib).is-tree-closed:has(.doc-back-row) .doc-back-row,.doc-layout:not(.file-lib).is-tree-closed:has(.doc-back-row) .doc-head,.doc-layout:not(.file-lib).is-tree-closed:has(.doc-back-row) .doc-meta,.doc-layout:not(.file-lib).is-tree-closed:has(.doc-back-row) .doc-body){padding-left:0}}.doc-layout.is-wiki{margin-top:calc(-1 * var(--sp-md));grid-template-columns:264px minmax(0,1fr);gap:0}.doc-layout.is-wiki.is-tree-closed{grid-template-columns:minmax(0,1fr)}.doc-layout.is-wiki .doc-tree{background:var(--c-surface-soft);border-right:1px solid var(--c-hairline);padding:var(--sp-lg) var(--sp-sm);height:calc(100vh / var(--app-zoom) - 210px);min-height:480px;max-height:none}.doc-layout.is-wiki .doc-main{padding:var(--sp-xl) 0 var(--sp-2xl) var(--sp-2xl)}.doc-layout.is-wiki.is-tree-closed .doc-main{padding-left:0}.doc-layout.is-wiki .doc-tree-head{margin:0 var(--sp-2xs) var(--sp-sm)}.doc-layout.is-wiki .doc-tree-title{font:600 var(--fs-lg)/1.3 var(--f-sans);letter-spacing:var(--ls-normal);text-transform:none;color:var(--c-ink)}.doc-layout.is-wiki .doc-tree-actions{align-items:center;gap:var(--sp-2xs)}.doc-new-split{display:inline-flex}.doc-new-split .doc-new-main{padding:0 var(--sp-snug);border-top-right-radius:0;border-bottom-right-radius:0;gap:4px;height:32px}.doc-new-split .doc-new-caret{border-left:1px solid #ffffff59;border-top-left-radius:0;border-bottom-left-radius:0;justify-content:center;width:28px;height:32px;padding:0}.doc-new-split .doc-new-main:only-child{border-radius:var(--r-md)}.doc-layout.is-wiki .doc-search{background:var(--c-canvas);margin-bottom:var(--sp-sm)}.doc-layout.is-wiki .doc-tree-item{min-height:34px;font-size:var(--fs-lg);padding:6px 8px}.doc-layout.is-wiki .doc-tree-item:hover{background:var(--c-surface-strong)}.doc-layout.is-wiki .doc-tree-quick{color:var(--c-ink);gap:8px;font-weight:500}.doc-layout.is-wiki .doc-tree-count{font-size:var(--fs-sm);color:var(--c-soft);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-weight:400}.doc-layout.is-wiki .doc-tree-item.is-active{background:var(--c-canvas);box-shadow:inset 0 0 0 1px var(--c-hairline);color:var(--c-ink);font-weight:600}.doc-layout.is-wiki .doc-tree-item.is-active .doc-tree-ico:not(.doc-tree-caret *){color:var(--c-brand)}.doc-layout.is-wiki .doc-tree-caret{border-radius:4px;display:inline-flex}.doc-layout.is-wiki .doc-tree-caret:hover{background:var(--c-hairline)}.doc-tree-sep{height:1px;margin:var(--sp-snug) 6px;background:var(--c-hairline)}.doc-tree-section{margin:var(--sp-2xs) 8px var(--sp-tight);font:600 var(--fs-xs)/1.4 var(--f-sans);color:var(--c-soft)}.doc-layout.is-wiki .doc-tree-row{position:relative}.doc-layout.is-wiki .doc-tree-row-actions{background:var(--c-surface-strong);border-radius:6px;padding:0 2px;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.doc-layout.is-wiki .doc-tree-row:hover .doc-tree-count{visibility:hidden}.doc-layout.is-wiki .doc-overview{max-width:none}.doc-layout.is-wiki .doc-overview-head{align-items:center;gap:var(--sp-xs);margin-bottom:var(--sp-sm);display:flex}.doc-overview-title{font:600 var(--fs-xl0)/1.3 var(--f-sans);letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0}.doc-layout.is-wiki .doc-overview-count{font:500 var(--fs-lg2)/1 var(--f-sans);color:var(--c-brand);font-variant-numeric:tabular-nums}.doc-overview-sub{font-size:var(--fs-md);color:var(--c-muted)}.doc-layout.is-wiki .doc-overview-actions{margin-left:auto}.doc-table .doc-list-item{cursor:pointer}.doc-cell{align-items:center;gap:var(--sp-snug);min-width:0;display:flex}.doc-cell-ico{color:var(--c-muted);flex-shrink:0}.doc-cell-text{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-cell-line{align-items:center;gap:var(--sp-tight);min-width:0;display:inline-flex}.doc-table .doc-list-title{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.doc-list-path{font-size:var(--fs-md);color:var(--c-muted)}.doc-new-tag{border-radius:var(--r-xs);background:var(--c-brand-soft);color:var(--c-brand-ink);font:600 var(--fs-xs)/1.4 var(--f-sans);flex-shrink:0;padding:1px 6px}.doc-table td{padding-top:13px;padding-bottom:13px}.doc-table th.doc-col-updater,.doc-table td.doc-col-updater{text-align:center}.doc-table-empty{padding:var(--sp-2xl) 0;text-align:center;font-size:var(--fs-lg);color:var(--c-muted);margin:0}.doc-who{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.doc-who em{background:var(--c-brand-soft);width:24px;height:24px;color:var(--c-brand-ink);font:600 11px/1 var(--f-sans);border-radius:50%;flex-shrink:0;place-items:center;font-style:normal;display:grid}.doc-empty{padding-top:var(--sp-3xl)}.doc-crumbs{margin:0 0 var(--sp-snug);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.doc-crumb{align-items:center;gap:2px;min-width:0;display:inline-flex}.doc-crumb-sep{color:var(--c-soft);flex-shrink:0}.doc-crumb-link{cursor:pointer;font:400 var(--fs-md)/1.4 var(--f-sans);color:var(--c-muted);background:0 0;border:0;border-radius:4px;padding:2px 4px}.doc-crumb-link:hover{color:var(--c-ink);background:var(--c-surface-strong)}.doc-crumb-current{font:500 var(--fs-md)/1.4 var(--f-sans);color:var(--c-body);text-overflow:ellipsis;white-space:nowrap;max-width:360px;padding:2px 4px;overflow:hidden}.doc-layout.is-wiki .doc-title{letter-spacing:var(--ls-tight);font-size:26px;font-weight:700;line-height:1.3}.doc-layout.is-wiki .doc-meta{align-items:center;gap:var(--sp-xs);padding-bottom:var(--sp-lg);margin-bottom:var(--sp-xl);border-bottom:1px solid var(--c-hairline);font-size:var(--fs-md);color:var(--c-muted);flex-wrap:wrap;display:flex}.doc-layout.is-wiki .doc-meta>span+span:before{content:"·";margin-right:var(--sp-xs);color:var(--c-soft)}.doc-more-btn{justify-content:center;width:34px;padding:0}.doc-layout.is-wiki .doc-body{max-width:760px}.doc-layout.is-wiki .doc-view,.doc-layout.is-wiki .doc-editor-content{letter-spacing:-.01em;color:var(--c-ink);font-size:16px;line-height:1.75}.doc-layout.is-wiki .doc-view h2,.doc-layout.is-wiki .doc-editor-content h2{margin:28px 0 8px;font-size:20px;font-weight:700}.doc-layout.is-wiki .doc-view>:first-child{margin-top:0}.doc-layout.is-wiki .doc-view code,.doc-layout.is-wiki .doc-editor-content code{border-radius:var(--r-xs);background:var(--c-surface-strong);color:#b42318;padding:1px 6px;font-size:14px}.doc-layout.is-wiki .doc-view blockquote,.doc-layout.is-wiki .doc-editor-content blockquote{border-left:3px solid var(--c-brand);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--c-brand-soft);color:var(--c-brand-ink);margin:16px 0;padding:10px 16px}.doc-menu{flex-direction:column;padding:4px;display:flex}.doc-menu-item{align-items:center;gap:var(--sp-snug);border-radius:var(--r-sm);font:400 var(--fs-lg)/1.3 var(--f-sans);color:var(--c-ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:9px 12px;display:flex}.doc-menu-item:hover{background:var(--c-surface-soft)}.doc-menu-item .ico{color:var(--c-muted)}.doc-menu-item.is-danger,.doc-menu-item.is-danger .ico{color:var(--c-danger)}@media (width<=1024px){.doc-layout.is-wiki{grid-template-columns:minmax(0,1fr);margin-top:0}.doc-layout.is-wiki .doc-tree{border:1px solid var(--c-hairline);border-radius:var(--r-lg);height:auto;min-height:0;max-height:360px;margin-bottom:var(--sp-md)}.doc-layout.is-wiki .doc-main{padding:var(--sp-sm) 0 var(--sp-xl)}}@media (width<=640px){.doc-table .doc-col-updater{display:none}.doc-layout.is-wiki .doc-title{font-size:var(--fs-xl0)}.doc-layout.is-wiki .doc-view,.doc-layout.is-wiki .doc-editor-content{font-size:16px}}.doc-table tr.doc-list-item{background:0 0;border:0;width:auto;min-height:0;padding:0;display:table-row}.doc-table tr.doc-list-item:hover{background:var(--c-surface-soft)}@media (width<=640px){.doc-table tr.doc-list-item{min-height:0;padding:0}}.doc-layout.is-wiki.is-tree-closed .doc-overview{padding-left:0}.doc-list-meta-m{display:none}@media (width<=640px){.doc-layout.is-wiki.is-tree-closed .doc-overview{padding-left:0}.doc-layout.is-wiki.is-tree-closed .doc-overview-head{padding-left:40px}.doc-table col:not(:first-child),.doc-table th:not(:first-child),.doc-table td:not(:first-child){display:none}.doc-table td{white-space:normal;padding:12px 8px}.doc-table th{padding:10px 8px}.doc-list-meta-m{display:inline}.doc-table .doc-list-title{white-space:normal}}@media (width>=1025px){.doc-layout.is-wiki .doc-tree-fold{display:none}}.file-tree-toggle{border-radius:3px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.file-tree-toggle:hover{background:var(--c-surface-strong)}.file-tree-count{font-size:var(--fs-xs);color:var(--c-muted);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:6px}.doc-tree-item.is-active .file-tree-count{color:inherit;opacity:.8}.file-lib-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:4px;display:flex}.file-lib-path{flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.file-lib-crumb-wrap{color:var(--c-muted);align-items:center;gap:2px;display:inline-flex}.file-lib-crumb{font:inherit;color:var(--c-body);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:13px}.file-lib-crumb:hover{background:var(--c-surface-soft);color:var(--c-ink)}.file-lib-crumb.is-current{color:var(--c-ink);font-weight:var(--fw-bold);cursor:default}.file-lib-crumb.is-current:hover{background:0 0}.file-lib-count{color:var(--c-muted);white-space:nowrap;font-size:13px}.doc-layout.is-tree-closed .file-lib-head{padding-left:44px}.file-name-btn{font:inherit;color:var(--c-ink);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0}.file-name-btn:hover .vdrive-file-name-text{color:var(--c-brand);text-decoration:underline}.file-name-btn:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:4px}.file-col-actions{white-space:nowrap;width:1%}.file-col-size,.file-col-date{white-space:nowrap}.file-lib-move-name{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 10px;font-size:13px;overflow:hidden}.file-expiry{font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 7px;display:inline-block}.file-expiry--muted{color:var(--c-muted);background:var(--c-neutral-soft)}.file-expiry--warning{color:var(--c-warning);background:var(--c-warning-soft)}.file-expiry--danger{color:var(--c-danger);background:var(--c-danger-soft)}.file-preview-overlay{z-index:200;background:#14151799;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.file-preview{background:var(--c-canvas);color:var(--c-ink);border-radius:var(--r-lg);box-shadow:var(--s-elevated);flex-direction:column;width:min(1100px,100%);height:min(88vh,100%);display:flex;overflow:hidden}.file-preview-head{border-bottom:1px solid var(--c-hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.file-preview-title{align-items:baseline;gap:10px;min-width:0;display:flex}.file-preview-name{font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.file-preview-size{font-size:var(--fs-sm);color:var(--c-muted);white-space:nowrap}.file-preview-actions{flex:none;align-items:center;gap:6px;display:flex}.file-preview-body{background:var(--c-surface-soft);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.file-preview-body.is-text,.file-preview-body.is-pdf{justify-content:stretch;align-items:stretch}.file-preview-img{object-fit:contain;max-width:100%;max-height:100%;display:block}.file-preview-media{background:#000;max-width:100%;max-height:100%}.file-preview-audio{width:min(520px,90%)}.file-preview-pdf{background:#fff;flex:1}.file-preview-pdf iframe{border:0;width:100%;height:100%;display:block}.file-preview-text{font-family:var(--f-mono);color:var(--c-ink);background:var(--c-canvas);white-space:pre-wrap;word-break:break-word;tab-size:4;flex:1;margin:0;padding:16px 20px;font-size:13px;line-height:1.6;overflow:auto}.file-preview-note{color:var(--c-muted);margin:0;padding:24px;font-size:13px}.file-preview-none{text-align:center;color:var(--c-muted);flex-direction:column;align-items:center;gap:8px;padding:32px;display:flex}.file-preview-none-title{font-weight:var(--fw-bold);color:var(--c-ink);margin:6px 0 0}.file-preview-none-desc{font-size:13px;line-height:var(--lh-base);margin:0 0 10px}@media (width<=768px){.file-col-by{display:none}}@media (width<=640px){.file-col-size,.file-col-date,.file-col-folder{display:none}.file-table .vdrive-actions{gap:0}.file-table .vdrive-actions .icon-btn{width:30px;height:30px}.file-table td.file-col-actions{padding-left:4px;padding-right:8px}.file-lib-head{align-items:flex-start}.file-preview-overlay{padding:0}.file-preview{border-radius:0;width:100%;height:100dvh}.file-preview-head{padding:10px 12px}.file-preview-actions .btn span{display:none}}.file-version-chip{border-radius:var(--r-full);background:var(--c-brand-soft);color:var(--c-brand);vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.file-lock-ico{color:var(--c-muted);vertical-align:middle;margin-left:6px}.doc-layout.is-wiki .file-tree-count{font-size:var(--fs-sm);color:var(--c-soft);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-weight:400}.doc-layout.is-wiki .doc-tree-item.is-active .file-tree-count{color:var(--c-soft);opacity:1}.doc-layout.is-wiki .doc-tree-row:hover .file-tree-count{visibility:hidden}.doc-layout.is-wiki .file-lib-head{margin-bottom:var(--sp-md)}.doc-layout.is-wiki .file-lib-crumb{font-size:var(--fs-lg)}.doc-layout.is-wiki .file-lib-crumb.is-current{font-size:var(--fs-xl0);letter-spacing:var(--ls-snug);color:var(--c-ink);font-weight:600}.doc-layout.is-wiki .file-lib-count{font:500 var(--fs-lg2)/1 var(--f-sans);color:var(--c-brand)}.doc-layout.is-wiki .file-lib-head{justify-content:flex-start;gap:var(--sp-xs);align-items:baseline;min-height:36px}.doc-layout.is-wiki.is-tree-closed .file-lib-head{padding-left:48px}.doc-layout.is-wiki .doc-tree-reopen{top:var(--sp-xl);border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:36px;height:36px;color:var(--c-body);place-items:center;display:inline-grid;left:0}.doc-layout.is-wiki .doc-tree-reopen:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.doc-layout.is-wiki .doc-tree-reopen svg{width:18px;height:18px}.doc-layout.is-wiki.is-tree-closed .doc-overview-head{min-height:36px;padding-left:48px}@media (width<=640px){.doc-layout.is-wiki .doc-tree-reopen{top:var(--sp-sm)}}.kanban-column--review,.kanban-mobile-tab--review,.grant-stage-chip--review{--kb-stage:#64748b;--kb-stage-bg:#f1f5f9;--kb-stage-a13:#64748b22}.kanban-column--preparing,.kanban-mobile-tab--preparing,.grant-stage-chip--preparing{--kb-stage:#2563eb;--kb-stage-bg:#eff6ff;--kb-stage-a13:#2563eb22}.kanban-column--submitted,.kanban-mobile-tab--submitted,.grant-stage-chip--submitted{--kb-stage:#7c3aed;--kb-stage-bg:#faf5ff;--kb-stage-a13:#7c3aed22}.kanban-column--screening,.kanban-mobile-tab--screening,.grant-stage-chip--screening{--kb-stage:#c026d3;--kb-stage-bg:#fdf4ff;--kb-stage-a13:#c026d322}.kanban-column--selected,.kanban-mobile-tab--selected,.grant-stage-chip--selected{--kb-stage:#16a34a;--kb-stage-bg:#f0fdf4;--kb-stage-a13:#16a34a22}.kanban-column--agreement,.kanban-mobile-tab--agreement,.grant-stage-chip--agreement{--kb-stage:#0d9488;--kb-stage-bg:#f0fdfa;--kb-stage-a13:#0d948822}.kanban-column--executing,.kanban-mobile-tab--executing,.grant-stage-chip--executing{--kb-stage:#0369a1;--kb-stage-bg:#f0f9ff;--kb-stage-a13:#0369a122}.kanban-column--settlement,.kanban-mobile-tab--settlement,.grant-stage-chip--settlement{--kb-stage:#b45309;--kb-stage-bg:#fffbeb;--kb-stage-a13:#b4530922}.kanban-column--closed,.kanban-mobile-tab--closed,.grant-stage-chip--closed{--kb-stage:#475569;--kb-stage-bg:#f1f5f9;--kb-stage-a13:#47556922}.kanban-column--rejected,.kanban-mobile-tab--rejected,.grant-stage-chip--rejected{--kb-stage:#c21f38;--kb-stage-bg:#fef2f2;--kb-stage-a13:#c21f3822}[data-theme=dark] .kanban-column--review,[data-theme=dark] .kanban-mobile-tab--review,[data-theme=dark] .grant-stage-chip--review{--kb-stage:#94a3b8;--kb-stage-bg:#94a3b824;--kb-stage-a13:#94a3b833}[data-theme=dark] .kanban-column--preparing,[data-theme=dark] .kanban-mobile-tab--preparing,[data-theme=dark] .grant-stage-chip--preparing{--kb-stage:#60a5fa;--kb-stage-bg:#60a5fa29;--kb-stage-a13:#60a5fa38}[data-theme=dark] .kanban-column--submitted,[data-theme=dark] .kanban-mobile-tab--submitted,[data-theme=dark] .grant-stage-chip--submitted{--kb-stage:#a78bfa;--kb-stage-bg:#a78bfa29;--kb-stage-a13:#a78bfa38}[data-theme=dark] .kanban-column--screening,[data-theme=dark] .kanban-mobile-tab--screening,[data-theme=dark] .grant-stage-chip--screening{--kb-stage:#e879f9;--kb-stage-bg:#e879f924;--kb-stage-a13:#e879f933}[data-theme=dark] .kanban-column--selected,[data-theme=dark] .kanban-mobile-tab--selected,[data-theme=dark] .grant-stage-chip--selected{--kb-stage:#4ade80;--kb-stage-bg:#4ade8024;--kb-stage-a13:#4ade8033}[data-theme=dark] .kanban-column--agreement,[data-theme=dark] .kanban-mobile-tab--agreement,[data-theme=dark] .grant-stage-chip--agreement{--kb-stage:#2dd4bf;--kb-stage-bg:#2dd4bf24;--kb-stage-a13:#2dd4bf33}[data-theme=dark] .kanban-column--executing,[data-theme=dark] .kanban-mobile-tab--executing,[data-theme=dark] .grant-stage-chip--executing{--kb-stage:#38bdf8;--kb-stage-bg:#38bdf824;--kb-stage-a13:#38bdf833}[data-theme=dark] .kanban-column--settlement,[data-theme=dark] .kanban-mobile-tab--settlement,[data-theme=dark] .grant-stage-chip--settlement{--kb-stage:#fbbf24;--kb-stage-bg:#fbbf2424;--kb-stage-a13:#fbbf2433}[data-theme=dark] .kanban-column--closed,[data-theme=dark] .kanban-mobile-tab--closed,[data-theme=dark] .grant-stage-chip--closed{--kb-stage:#94a3b8;--kb-stage-bg:#94a3b824;--kb-stage-a13:#94a3b833}[data-theme=dark] .kanban-column--rejected,[data-theme=dark] .kanban-mobile-tab--rejected,[data-theme=dark] .grant-stage-chip--rejected{--kb-stage:#ff8494;--kb-stage-bg:#ff849424;--kb-stage-a13:#ff849433}.grant-stage-chip{background:var(--kb-stage-bg);color:var(--kb-stage);border-color:var(--kb-stage-a13)}.kanban-board--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.grant-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 20px;display:grid}.grant-summary-item{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);min-width:0;padding:12px 14px}.grant-summary-item.is-danger{border-color:var(--c-danger)}.grant-summary-label{font-size:var(--fs-sm);color:var(--c-muted);align-items:center;gap:5px;display:flex}.grant-summary-value{font-size:20px;font-weight:var(--fw-bold);color:var(--c-ink);margin-top:4px}.grant-summary-item.is-danger .grant-summary-value{color:var(--c-danger)}.grant-summary-sub{font-size:var(--fs-xs);color:var(--c-muted);margin-top:2px}.grant-toolbar{align-items:center;gap:10px;margin:14px 0;display:flex}.grant-search{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);width:min(320px,100%);height:36px;color:var(--c-muted);align-items:center;gap:8px;padding:0 12px;display:flex}.grant-search input{min-width:0;font:inherit;color:var(--c-ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.grant-search:focus-within{border-color:var(--c-brand)}.grant-card{cursor:pointer}.grant-card:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}.grant-card .kanban-card-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.grant-card .kanban-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.grant-card-amount{font-size:var(--fs-sm);color:var(--c-body);font-weight:var(--fw-medium);white-space:nowrap}.grant-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.grant-card-owner{font-size:var(--fs-sm);color:var(--c-muted);align-items:center;gap:4px;display:inline-flex}.grant-card-summary{font-size:var(--fs-sm);color:var(--c-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;line-height:1.45;display:-webkit-box;overflow:hidden}.grant-card-period{font-size:var(--fs-sm);color:var(--c-muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-top:6px;display:inline-flex}.grant-head-summary{color:var(--c-body);font-size:14px;line-height:var(--lh-base);max-width:720px;margin:0 0 6px}.grant-stage-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.grant-stage-actions .btn{border-radius:999px}.is-danger-text{color:var(--c-danger)!important}.grant-dday{font-size:var(--fs-sm);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.grant-dday--muted{color:var(--c-muted);background:var(--c-neutral-soft)}.grant-dday--warning{color:var(--c-warning);background:var(--c-warning-soft)}.grant-dday--danger{color:var(--c-danger);background:var(--c-danger-soft)}.grant-head-icon{border-radius:var(--r-lg);border:1px solid var(--c-hairline);background:var(--c-canvas);width:64px;height:64px;color:var(--c-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.grant-head-meta{color:var(--c-muted);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.grant-head-link{color:var(--c-brand);align-items:center;gap:3px;text-decoration:none;display:inline-flex}.grant-head-link:hover{text-decoration:underline}.grant-basic{max-width:1120px}.grant-budget-box .proj-facts{gap:32px 44px}.proj-fact-value.is-strong{font-weight:var(--fw-bold);color:var(--c-brand)}.grant-spent-edit .float-control{width:150px;height:30px;padding:0 8px;font-size:13px}.grant-budget-box .proj-info-progress-track{background:var(--c-hairline)}.grant-exec-fill{background:var(--c-brand-solid)}.grant-budget-none{color:var(--c-muted);margin:14px 0 0;font-size:13px}.grant-exec-bar{background:var(--c-hairline);border-radius:99px;flex:0 0 120px;height:6px;overflow:hidden}.grant-exec-bar .grant-exec-fill{border-radius:99px;height:100%}.grant-log{border:1px solid var(--c-hairline);border-radius:var(--r-md);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.grant-log-item{color:var(--c-body);border-top:1px solid var(--c-hairline);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:9px 14px;font-size:13px;display:flex}.grant-log-item:first-child{border-top:0}.grant-log-item:nth-child(odd){background:var(--c-surface-soft)}.grant-log-when{color:var(--c-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;min-width:96px}.grant-log-move strong{color:var(--c-ink)}.grant-log-by{color:var(--c-muted);font-size:var(--fs-sm)}.grant-log-reason{color:var(--c-muted);font-size:var(--fs-sm);flex-basis:100%;padding-left:108px}.grant-checklist-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.grant-checklist-progress{color:var(--c-muted);align-items:center;gap:10px;font-size:13px;display:flex}.grant-checklist-progress strong{color:var(--c-ink)}.grant-check-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.grant-check-item{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.grant-check-item.is-done{background:var(--c-surface-soft)}.grant-check-item.is-done .grant-check-title{color:var(--c-muted);text-decoration:line-through}.grant-check-toggle{color:var(--c-muted);cursor:pointer;background:0 0;border:0;flex:none;margin-top:1px;padding:0;line-height:0}.grant-check-item.is-done .grant-check-toggle{color:var(--c-success)}.grant-check-toggle:disabled{cursor:default}.grant-check-toggle:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:4px}.grant-check-body{flex:1;min-width:0}.grant-check-title{color:var(--c-ink);font-size:14px}.grant-check-meta{font-size:var(--fs-sm);color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:2px;display:flex}.grant-check-file{color:var(--c-body);align-items:center;gap:4px;display:inline-flex}.grant-check-file .icon-btn{width:20px;height:20px}.grant-check-linkbtn{font:inherit;font-size:var(--fs-sm);color:var(--c-brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.grant-check-linkbtn:hover{text-decoration:underline}.grant-check-add{gap:8px;margin-top:14px;display:flex}.grant-check-add .float-control{flex:1;height:36px;padding:0 12px}@media (width<=900px){.grant-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grant-summary{gap:8px}.grant-summary-value{font-size:17px}.grant-log-reason{padding-left:0}}.grant-steps{scrollbar-width:none;overflow-x:auto}.grant-steps::-webkit-scrollbar{display:none}.grant-steps .proj-step{min-width:72px}.grant-steps .proj-step-label{white-space:nowrap}.grant-info .grant-url{color:var(--c-brand);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.grant-info .grant-url:hover{text-decoration:underline}.grant-info .grant-kv-strong{color:var(--c-brand);font-weight:600}.grant-spent-view{align-items:center;gap:6px;display:inline-flex}.grant-spent-edit{align-items:center;gap:4px;display:inline-flex}.grant-spent-edit .float-control{text-align:right;width:160px;height:32px;padding:0 10px}.grant-prog{margin-top:16px}.grant-memo{white-space:pre-wrap;color:var(--c-body);border-top:2px solid var(--c-ink);border-bottom:1px solid var(--c-hairline);padding:18px 20px;font-size:15px;line-height:1.75}.grant-log-table td{vertical-align:middle}.grant-log-from{color:var(--c-muted)}.grant-log-reason{white-space:normal;color:var(--c-body);min-width:180px}.grant-checklist .grant-checklist-progress{margin:4px 0 18px}.grant-checklist .grant-check-list{border-top:2px solid var(--c-ink);gap:0}.grant-checklist .grant-check-item{border:0;border-bottom:1px solid var(--c-hairline);background:0 0;border-radius:0;align-items:center;min-height:56px;padding:14px 12px}.grant-checklist .grant-check-item.is-done{background:0 0}.grant-checklist .grant-check-title{font-size:15px}.grant-checklist .grant-check-add{grid-template-columns:16px minmax(0,1fr) auto;margin-top:14px}.grant-cats{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.grant-files .file-dropzone,.grant-files [data-testid=grant-file-dropzone]{margin-bottom:14px}.proj-head-sub .grant-dday{margin-left:8px}.grant-log-table tr.grant-log-item{background:0 0;border:0;gap:0;padding:0;display:table-row}.grant-log-table tr.grant-log-item>td{font-size:14px}.grant-checklist form.grant-check-add{grid-template-columns:16px minmax(0,1fr) auto;display:grid}.grant-checklist form.grant-check-add .ms-quick-title{width:100%}.proj-prog .proj-info-progress-track .grant-exec-fill{background:var(--c-brand-solid);border-radius:99px;height:100%}.grant-self-role{color:var(--c-brand-ink);font-weight:600}.grant-sec-sub{color:var(--c-muted);margin-left:8px;font-size:13px;font-weight:400}.gb-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.gb-bar-note{color:var(--c-muted);margin:0;font-size:13px}.gb-bar-acts{gap:8px;display:flex}.gb-role{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;height:26px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.gb-role--brand{color:var(--c-brand-ink);background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 30%, transparent)}.gb-role--ink{color:var(--c-ink);background:var(--c-surface-soft);border-color:var(--c-hairline-strong)}.gb-role--muted{color:var(--c-muted);background:var(--c-canvas);border-color:var(--c-hairline)}.gb-role--accent{color:#a8370a;background:var(--c-accent-soft);border-color:#a8370a4d}.gb-parts tr.is-self td{background:color-mix(in srgb, var(--c-brand-soft) 55%, transparent)}.gb-name{color:var(--c-ink);align-items:center;gap:8px;font-weight:500;display:inline-flex}.gb-self{color:#fff;background:var(--c-brand-solid);border-radius:4px;align-items:center;height:20px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.gb-check{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.gb-kv{margin-top:16px}.gb-total{color:var(--c-brand);margin-left:8px;font-size:16px;font-weight:600}.gb-table th,.gb-table td{padding-top:10px;padding-bottom:10px}.gb-table .r,.gb-people .r{text-align:right}.gb-table .gb-group{color:var(--c-muted);text-align:center;width:64px;font-weight:600}.gb-table .gb-item{color:var(--c-ink);font-weight:600}.gb-table .gb-item small{color:var(--c-muted);font-size:11px;font-weight:400;display:block}.gb-table .gb-kind{color:var(--c-muted);width:56px;font-size:13px}.gb-table .gb-sum,.gb-people .gb-sum{color:var(--c-ink);font-weight:600}.gb-table tr.gb-subtotal td{background:var(--c-surface-soft);font-weight:600}.gb-table tr.gb-subtotal.is-strong td{background:var(--c-surface-strong);color:var(--c-ink);border-top:1px solid var(--c-hairline-strong);font-weight:700}.gb-table tr.gb-fund td{color:var(--c-body)}.gb-table tr.gb-fund:first-of-type td{border-top:2px solid var(--c-hairline-strong)}.gb-note{color:var(--c-muted);margin:10px 2px 0;font-size:13px}.gb-warn{color:var(--c-danger);font-weight:600}.gb-input{border:1px solid var(--c-hairline-strong);background:var(--c-canvas);width:100%;min-width:0;height:32px;font:inherit;color:var(--c-ink);border-radius:6px;padding:0 8px;font-size:14px}.gb-input:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.gb-input.gb-num{text-align:right;font-variant-numeric:tabular-nums;width:110px}.gb-input.gb-num.is-small{width:64px}.gb-input.gb-w80{width:80px}.gb-py{margin-top:14px}.gb-py+.gb-py{margin-top:26px}.gb-py-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;font-size:15px;display:flex}.gb-py-head b{color:var(--c-ink)}.gb-py-sum{color:var(--c-muted);font-size:13px}.gb-py-acts{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}@media (width<=640px){.gb-bar{flex-direction:column;align-items:flex-start}.gb-py-acts{margin-left:0}}.gb-table .gb-group{border-right:1px solid var(--c-hairline);vertical-align:middle}.gb-table tr.gb-subtotal td,.gb-table tr.gb-subtotal.is-strong td{border-left:0}.bid-source{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 14px;font-size:13px;display:flex}.bid-source.is-error{color:var(--c-danger)}.bid-toolbar{flex-wrap:wrap;gap:8px}.bid-check{color:var(--c-body);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.bid-table td{vertical-align:middle}.bid-table .r{text-align:right}.bid-row{cursor:pointer}.bid-row.is-excluded td{opacity:.55}.bid-title-cell{white-space:normal;min-width:320px;max-width:520px}.bid-title{color:var(--c-ink);font-weight:600;line-height:1.45;display:block}.bid-star-on{color:#d97706;fill:#f59e0b;vertical-align:-1px;margin-right:4px}.bid-sub{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:3px;font-size:12px;display:flex}.bid-kw{background:var(--c-brand-soft);height:18px;color:var(--c-brand-ink);border-radius:4px;padding:0 6px;font-size:11px;font-style:normal;font-weight:600;line-height:18px}.bid-org{white-space:normal;min-width:140px;max-width:220px}.bid-region{border-radius:var(--r-full);white-space:nowrap;border:1px solid;align-items:center;gap:4px;height:26px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.bid-region b{margin-left:2px;font-weight:700}.bid-region.is-free{color:var(--c-body);background:var(--c-surface-soft);border-color:var(--c-hairline)}.bid-region.is-ok{color:var(--c-success);background:var(--c-success-soft);border-color:color-mix(in srgb, var(--c-success) 30%, transparent)}.bid-region.is-no{color:var(--c-danger);background:var(--c-danger-soft);border-color:color-mix(in srgb, var(--c-danger) 30%, transparent)}.bid-close{white-space:nowrap}.bid-dday{border-radius:4px;height:20px;margin-left:8px;padding:0 7px;font-size:12px;font-weight:700;line-height:20px;display:inline-block}.bid-dday--danger{color:var(--c-danger);background:var(--c-danger-soft)}.bid-dday--warning{color:#a8370a;background:var(--c-accent-soft)}.bid-dday--muted{color:var(--c-muted);background:var(--c-surface-soft)}.bid-acts{white-space:nowrap;text-align:right}.bid-acts .icon-btn.is-on .ico{color:#d97706;fill:#f59e0b}.bid-detail-title{color:var(--c-ink);margin:0 0 14px;font-size:17px;line-height:1.5}.bid-detail-kv{grid-template-columns:110px 1fr!important}.bid-set-note{color:var(--c-muted);margin:0 0 4px;font-size:13px;line-height:1.6}.bid-words{flex-wrap:wrap;gap:6px;display:flex}.bid-word{border-radius:var(--r-full);background:var(--c-brand-soft);height:28px;color:var(--c-brand-ink);align-items:center;gap:2px;padding:0 4px 0 10px;font-size:13px;font-weight:500;display:inline-flex}.bid-word.is-no{background:var(--c-danger-soft);color:var(--c-danger)}.bid-word button{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.bid-word-add{border:1px dashed var(--c-hairline-strong);border-radius:var(--r-full);align-items:center;gap:2px;height:28px;padding:0 4px 0 10px;display:inline-flex}.bid-word-add input{width:130px;font:inherit;background:0 0;border:0;outline:none;font-size:13px}.bid-kinds{gap:16px;display:flex}.bid-price{align-items:center;gap:8px;display:flex}.bid-price .gb-input{width:160px}.ico.spin{animation:1s linear infinite bid-spin}@keyframes bid-spin{to{transform:rotate(360deg)}}.bid-m-meta{display:none}.bid-title-cell{min-width:300px;max-width:460px}.bid-acts{width:1%}@media (width<=768px){.bid-table th:not(:first-child),.bid-table td:not(:first-child){display:none}.bid-table .bid-title-cell{min-width:0;max-width:none;position:static}.bid-m-meta{color:var(--c-ink);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.bid-m-meta .bid-dday{margin-left:0}}.bid-title-cell{max-width:420px}.bid-org{max-width:180px}.bid-acts .icon-btn.is-lead .ico{color:var(--c-brand)}.gp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:4px;display:flex}.gp-head .bid-source{margin:8px 0 10px}.gp-head-acts{gap:8px;display:flex}.gp-subtabs .tab-item{height:44px;font-size:14px}.gp-exec{color:var(--c-muted);margin-top:2px;font-size:12px;display:block}.gp-apply-text{color:var(--c-muted);font-family:inherit;font-size:13px}.gp-realms{flex-wrap:wrap;gap:10px 16px}.gp-summary{border-top:1px solid var(--c-hairline);color:var(--c-body);white-space:pre-line;max-height:320px;margin-top:16px;padding-top:14px;font-size:14px;line-height:1.7;overflow-y:auto}@media (width<=640px){.gp-head-acts{width:100%}.gp-head-acts .btn{flex:1;justify-content:center}}.data-table.bid-table td.bid-title-cell,.data-table.bid-table td.bid-org{white-space:normal}.gp-confirm-title{color:var(--c-ink);margin:0 0 10px;font-weight:600;line-height:1.5}.gp-confirm-desc{color:var(--c-body);margin:0;font-size:14px;line-height:1.7}.srv-sec-note{color:var(--c-muted);align-items:center;gap:6px;margin:-6px 0 12px;font-size:13px;display:flex}.srv-info{border:1px solid var(--c-hairline);background:var(--c-surface-soft);border-radius:12px;margin:20px 0 8px;padding:16px 20px}.srv-info-head{color:var(--c-ink);align-items:center;gap:8px;margin-bottom:10px;display:flex}.srv-info-head .icon-btn{margin-left:auto}.srv-kv{grid-template-columns:110px 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.srv-kv dt{color:var(--c-muted)}.srv-kv dd{color:var(--c-ink);margin:0}.srv-toolbar{flex-wrap:wrap;gap:8px}.srv-groups{flex-wrap:wrap;gap:6px;display:flex}.srv-table td{vertical-align:middle}.srv-table .r{text-align:right}.srv-name{white-space:normal;min-width:160px}.srv-name b{color:var(--c-ink);display:block}.srv-url{color:var(--c-brand);white-space:nowrap;align-items:center;gap:4px;font-size:13px;line-height:1.7;text-decoration:none;display:flex}.srv-url:not(a){color:var(--c-body)}.srv-url:hover{text-decoration:underline}.srv-code{font-family:var(--font-mono,ui-monospace, monospace);background:var(--c-surface-soft);color:var(--c-ink);border-radius:4px;padding:2px 6px;font-size:13px}.srv-mini{width:26px;height:26px}.srv-pw{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.srv-acc{background:var(--c-surface-soft);height:20px;color:var(--c-body);border-radius:4px;margin-right:4px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;display:inline-block}.srv-acc--ssh{background:var(--c-brand-soft);color:var(--c-brand-ink)}.srv-more{font:inherit;color:var(--c-brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:13px;display:inline-flex}.srv-note{color:var(--c-body);white-space:normal;font-size:13px;display:block}.srv-sub td{background:var(--c-surface-soft)}.srv-sub-label{color:var(--c-body);font-size:13px;font-weight:600;display:block}.srv-m{display:none}.srv-grant-note{color:var(--c-body);margin:0 0 12px;font-size:13px;line-height:1.6;display:block}.srv-grant .c{text-align:center}.srv-admin{background:var(--c-ink);color:#fff;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px}.srv-grp{color:var(--c-muted);margin-top:3px;font-size:12px;display:inline-block}.srv-notecell{white-space:normal;min-width:140px;max-width:280px}.srv-log-target{white-space:normal}.srv-act{background:var(--c-surface-soft);height:22px;color:var(--c-body);border-radius:4px;padding:0 8px;font-size:12px;font-weight:600;line-height:22px;display:inline-block}.srv-act--view_password,.srv-act--copy_password{background:var(--c-accent-soft);color:#a8370a}.srv-act--delete{background:var(--c-danger-soft);color:var(--c-danger)}.srv-form{flex-direction:column;gap:14px;display:flex}.srv-f{flex-direction:column;gap:6px;min-width:0;display:flex}.srv-f .form-label small{color:var(--c-muted);margin-left:4px;font-weight:400}.srv-f2{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.srv-input{border:1px solid var(--c-hairline-strong);width:100%;min-height:40px;font:inherit;color:var(--c-ink);background:#fff;border-radius:8px;padding:8px 12px;font-size:14px}.srv-input:focus{border-color:var(--c-ink);outline:none}.srv-input:disabled{background:var(--c-surface-soft);color:var(--c-muted)}textarea.srv-input{resize:vertical}.srv-row-in{align-items:center;gap:6px;display:flex}.srv-row-in .srv-input{flex:1}.srv-add-line{font:inherit;color:var(--c-brand);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:4px 0;font-size:13px;display:inline-flex}.srv-extra-in{border:1px solid var(--c-hairline);background:var(--c-surface-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.srv-info-in{grid-template-columns:140px 1fr auto;align-items:start;gap:8px;display:grid}.srv-acc-pick{align-items:center;gap:14px;min-height:40px;display:flex}.srv-clear{margin-top:2px;font-size:12px}.srv-del{color:var(--c-danger)}.srv-del-q{color:var(--c-danger);font-size:13px}.srv-viewers{grid-template-columns:1fr 1fr;gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.srv-viewers .bid-check{color:var(--c-ink);font-size:14px}.srv-role{background:var(--c-surface-soft);color:var(--c-body);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px}.srv-cards{display:none}.srv-card{border-bottom:1px solid var(--c-hairline);padding:14px 0}.srv-card-head{align-items:baseline;gap:8px;display:flex}.srv-card-head b{color:var(--c-ink);font-size:15px}.srv-card-head .icon-btn{margin-left:auto}.srv-card-links{margin:4px 0 6px}.srv-card-kv{grid-template-columns:72px 1fr;align-items:center;gap:6px 10px;margin:6px 0 0;font-size:13px;display:grid}.srv-card-kv dt{color:var(--c-muted)}.srv-card-kv dd{min-width:0;margin:0}.srv-card-kv .srv-code{word-break:break-all}.srv-card-extra{background:var(--c-surface-soft);border-radius:8px;margin-top:10px;padding:10px 12px}@media (width<=768px){.srv-kv{grid-template-columns:1fr;gap:2px}.srv-kv dt{margin-top:6px}.srv-desk{display:none}.srv-cards{border-top:2px solid var(--c-ink);display:block}.srv-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.srv-tabs .tab-item{white-space:nowrap}.srv-f2,.srv-viewers{grid-template-columns:1fr}.srv-info-in{grid-template-columns:1fr auto}.srv-info-in textarea{grid-column:1/2}}.srv-portacc{white-space:nowrap}.srv-port{min-width:44px;color:var(--c-ink);margin-right:6px;display:inline-block}.srv-name{min-width:140px}.srv-notecell{min-width:100px}.srv-table th,.srv-table td{padding-left:12px;padding-right:12px}.srv-acct .srv-pw{display:flex}.srv-acct .srv-pw+.srv-pw{margin-top:4px}.srv-acct>.empty-value{display:block}.srv-table .srv-sub td,.srv-table .srv-sub td.col-sticky{background:var(--c-surface-soft)}.srv .srv-toolbar{margin:16px 0}.srv .srv-info{margin-bottom:0}.srv .srv-toolbar .search-pill{height:40px}.srv-ro{background:var(--c-surface-soft);height:18px;color:var(--c-muted);border-radius:4px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.srv-grant td{vertical-align:middle}.srv-grant .srv-lv-sel{min-width:120px}.srv-lv{border-radius:4px;height:24px;padding:0 8px;font-size:12px;font-weight:600;line-height:24px;display:inline-block}.srv-lv--write{background:var(--c-brand-soft);color:var(--c-brand-ink)}.rail{border-left:1px solid var(--c-hairline);background:var(--c-surface-soft);flex-direction:column;flex:none;align-items:center;gap:6px;width:52px;padding:12px 0;display:flex}.rail-btn{width:36px;height:36px;color:var(--c-body);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;text-decoration:none;display:grid;position:relative}.rail-btn:hover{background:var(--c-canvas);box-shadow:var(--s-raised,0 1px 2px #14151714)}.rail-btn.is-on{background:var(--c-ink);color:#fff}.rail-btn--memo:not(.is-on){color:#b45309}.rail-btn--violet{color:#6d28d9}.rail-btn--ink{color:var(--c-ink)}.rail-btn--add{border:1px dashed var(--c-hairline-strong);width:32px;height:32px;color:var(--c-muted);margin-top:2px}.rail-sep{background:var(--c-hairline);width:24px;height:1px;margin:4px 0}.rail-tip{background:var(--c-ink);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;border-radius:6px;padding:4px 8px;font-size:12px;transition:opacity .12s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.rail-btn:hover .rail-tip,.rail-btn:focus-visible .rail-tip{opacity:1}.rail-btn.is-on .rail-tip{display:none}.rail-panel{border-left:1px solid var(--c-hairline);background:var(--c-canvas);flex-direction:column;flex:none;width:360px;min-height:0;display:flex}.rail-panel-head{border-bottom:1px solid var(--c-hairline);height:52px;color:var(--c-ink);align-items:center;gap:6px;padding:0 10px 0 14px;display:flex}.rail-panel-head b{font-size:15px}.rail-count{color:var(--c-muted);font-size:13px}.rail-search{border:1px solid var(--c-hairline);height:36px;color:var(--c-muted);border-radius:8px;align-items:center;gap:6px;margin:12px 14px 8px;padding:0 10px;display:flex}.rail-search input{font:inherit;color:var(--c-ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.rail-quick{border:1px dashed var(--c-hairline-strong);color:var(--c-muted);cursor:text;border-radius:8px;margin:0 14px 10px;padding:10px 12px;font-size:13px}.rail-quick:hover{border-color:var(--c-ink);color:var(--c-body)}.rail-memos{flex-direction:column;gap:8px;margin:0;padding:0 14px 14px;list-style:none;display:flex;overflow-y:auto}.rail-memo{text-align:left;border:1px solid var(--memo-line);background:var(--memo-bg);width:100%;color:var(--memo-ink);font:inherit;cursor:pointer;border-radius:10px;padding:10px 12px;display:block}.rail-memo:hover{filter:brightness(.98)}.rail-memo-top{align-items:center;gap:6px;display:flex}.rail-memo-top b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.rail-memo-top time{opacity:.7;flex:none;font-size:11px}.rail-pin{flex:none}.rail-memo-body{-webkit-line-clamp:2;opacity:.85;white-space:pre-line;-webkit-box-orient:vertical;margin-top:4px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.rail-empty{text-align:center;color:var(--c-muted);padding:32px 0;font-size:13px}.rail-editor{border:1px solid var(--memo-line);background:var(--memo-bg);min-height:0;color:var(--memo-ink);border-radius:12px;flex-direction:column;flex:1;margin:12px 14px 14px;display:flex}.rail-ed-title{font:inherit;color:inherit;background:0 0;border:0;outline:none;padding:12px 14px 4px;font-size:15px;font-weight:700}.rail-ed-body{resize:none;min-height:200px;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:6px 14px;font-size:14px;line-height:1.7}.rail-ed-foot{border-top:1px solid var(--memo-line);align-items:center;gap:4px;padding:8px 10px;display:flex}.rail-colors{flex:1;gap:6px;display:flex}.rail-color{border:1px solid var(--memo-line);background:var(--memo-bg);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0}.rail-color.memo--default{border-color:var(--c-hairline-strong)}.rail-color.is-on{outline:2px solid var(--c-ink);outline-offset:1px}.rail-ed-state{opacity:.7;align-items:center;gap:4px;margin:0;padding:0 14px 10px;font-size:11px;display:flex}@media (width<=1024px){.rail,.rail-panel{display:none}}.rail{--rail-bg:#141517;--rail-line:#2a2c30;--rail-ink:#f2f3f5;--rail-sub:#9a9da3;--rail-hover:#24262a;background:var(--rail-bg);border-left-color:var(--rail-line)}.rail .rail-btn{color:var(--rail-ink)}.rail .rail-btn:hover{background:var(--rail-hover);box-shadow:none}.rail .rail-btn.is-on{color:#141517;background:#fff}.rail .rail-btn--memo:not(.is-on){color:#fbbf24}.rail .rail-btn--violet{color:#c4b5fd}.rail .rail-sep{background:var(--rail-line)}.rail .rail-tip{color:#141517;background:#fff}.rail-img{object-fit:contain;width:20px;height:20px;display:block}.rail-img--tile{border-radius:5px;width:22px;height:22px}.rail-tile{color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;line-height:1;display:grid}.rail-mng-note{color:var(--c-muted);margin:0 0 12px;font-size:13px;line-height:1.6}.rail-mng-form{grid-template-columns:1fr 1.4fr auto auto;gap:8px;margin-bottom:14px;display:grid}.rail-mng-list{border-top:1px solid var(--c-hairline);margin:0;padding:0;list-style:none}.rail-mng-list li{border-bottom:1px solid var(--c-hairline);align-items:center;gap:10px;padding:10px 0;display:flex}.rail-mng-text{flex-direction:column;flex:1;min-width:0;display:flex}.rail-mng-text b{color:var(--c-ink);font-size:14px}.rail-mng-text small{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.rail{gap:14px;padding:16px 0}.rail .rail-sep{margin:0}.rail .rail-btn--box{background:var(--box);color:#fff;width:34px;height:34px;box-shadow:none;border-radius:9px}.rail .rail-btn--box:hover{background:var(--box);filter:brightness(1.12);box-shadow:none}.rail .rail-btn--box .rail-img{filter:brightness(0)invert();width:18px;height:18px}.rail .rail-btn--memo.is-on{background:var(--box);color:#fff;box-shadow:0 0 0 2px #141517,0 0 0 4px #fff}.rail .rail-letter{color:#fff;font-size:15px;font-weight:700;line-height:1}.rail .rail-btn--add{border-radius:9px;width:34px;height:34px}*{scrollbar-width:thin;scrollbar-color:#d5d7db transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d5d7db;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#b9bcc2}.rail .rail-btn--box.rail-btn--memo{color:#fff}.rail{--rail-bg:#2f3136;--rail-line:#43464c;--rail-hover:#3b3e44;background:var(--rail-bg);border-left-color:var(--rail-line)}.rail .rail-btn--memo.is-on{box-shadow:0 0 0 2px var(--rail-bg), 0 0 0 4px #fff}.rail .rail-btn--add{color:#a9adb4;border-color:#5a5e66}.rail .rail-btn--refresh{color:#c9ccd1;margin-top:auto}.rail .rail-btn--refresh:hover{color:#fff}.rail .rail-btn--refresh.has-update{color:#fff;background:#3b3e44}.rail-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--rail-bg,#2f3136);background:#ef4444;border-radius:50%;position:absolute;top:4px;right:4px}.rail .rail-tip.is-sticky{opacity:1;color:#fff;background:#ef4444}@media (width>=1025px){body:has(.rail) .refresh-fab-wrap{display:none}}.memo--default{--memo-bg:var(--c-canvas);--memo-line:var(--c-hairline);--memo-ink:var(--c-ink)}.memo--yellow{--memo-bg:#fef7da;--memo-line:#f2e3a8;--memo-ink:#6b5307}.memo--green{--memo-bg:#e4f6ea;--memo-line:#bce5cb;--memo-ink:#0f5a31}.memo--blue{--memo-bg:#e4eefc;--memo-line:#bcd4f3;--memo-ink:#12406f}.memo--pink{--memo-bg:#fce7ec;--memo-line:#f3c3ce;--memo-ink:#7a1f35}.memo--purple{--memo-bg:#efe7fb;--memo-line:#d5c3f0;--memo-ink:#46257a}:root[data-theme=dark] .memo--default{--memo-bg:var(--c-surface-soft);--memo-line:var(--c-hairline);--memo-ink:var(--c-ink)}:root[data-theme=dark] .memo--yellow{--memo-bg:#3a320f;--memo-line:#574a16;--memo-ink:#f7e9ae}:root[data-theme=dark] .memo--green{--memo-bg:#123324;--memo-line:#1d4c36;--memo-ink:#b6e7cb}:root[data-theme=dark] .memo--blue{--memo-bg:#12294a;--memo-line:#1d3d69;--memo-ink:#bbd6f7}:root[data-theme=dark] .memo--pink{--memo-bg:#421a26;--memo-line:#5f2838;--memo-ink:#f5c3d0}:root[data-theme=dark] .memo--purple{--memo-bg:#2c1e4a;--memo-line:#422e6c;--memo-ink:#d7c4f5}.memo-section{margin-top:4px}.memo-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.memo-count{font-size:var(--fs-md);color:var(--c-muted)}.memo-count .num{font-weight:var(--fw-bold);color:var(--c-ink)}.memo-loading{text-align:center;color:var(--c-muted);font-size:var(--fs-md);padding:40px 0}.memo-group-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-normal);color:var(--c-muted);align-items:center;gap:5px;margin:18px 0 8px;display:flex}.memo-grid{column-count:3;column-gap:12px}.memo-card{break-inside:avoid;border:1px solid var(--memo-line);border-radius:var(--r-lg);background:var(--memo-bg);margin:0 0 12px;position:relative;overflow:hidden}.memo-card:hover{box-shadow:var(--s-elevated)}.memo-card-body{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:14px 40px 14px 14px;font-family:inherit;display:block}.memo-card-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--memo-ink);overflow-wrap:anywhere;margin:0 0 6px}.memo-card-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-md);color:var(--memo-ink);-webkit-line-clamp:12;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.memo-card-pin{border-radius:var(--r-full);width:26px;height:26px;color:var(--memo-ink);opacity:.35;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px}.memo-card:hover .memo-card-pin,.memo-card-pin:focus-visible{opacity:.8}.memo-card-pin.is-on{opacity:1}.memo-card-pin.is-on svg{fill:currentColor}.memo-form{border:1px solid var(--memo-line);border-radius:var(--r-md);background:var(--memo-bg);margin:-4px 0;padding:14px}.memo-form-title,.memo-form-content{box-sizing:border-box;width:100%;color:var(--memo-ink);background:0 0;border:0;outline:none;font-family:inherit;display:block}.memo-form-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:8px}.memo-form-content{resize:vertical;min-height:160px;font-size:var(--fs-md);line-height:1.65}.memo-form-title::placeholder,.memo-form-content::placeholder{color:var(--c-muted)}.memo-form-tools{border-top:1px solid var(--memo-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.memo-swatches{gap:6px;display:inline-flex}.memo-swatch{border:1px solid var(--memo-line);border-radius:var(--r-full);background:var(--memo-bg);cursor:pointer;width:22px;height:22px;padding:0}.memo-swatch.is-active{border-color:var(--c-brand);box-shadow:0 0 0 2px var(--c-brand-soft)}.memo-pin-on{fill:currentColor}.memo-delete-btn{color:var(--c-danger);margin-right:auto}@media (width<=1024px){.memo-grid{column-count:2}}@media (width<=640px){.memo-grid{column-count:1}.memo-head{flex-wrap:wrap}.memo-form-content{min-height:200px}}.home-kpis{gap:var(--sp-md);margin-bottom:var(--sp-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.home-cols{gap:var(--sp-md);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.home-stack{gap:var(--sp-md);min-width:0;display:grid}.home-card{padding:22px var(--sp-xl);background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);min-width:0}.home-card-head{justify-content:space-between;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-sm);display:flex}.home-card-head h2{font-size:var(--fs-card-title);font-weight:var(--fw-title);letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0}.home-more{font-size:var(--fs-md);color:var(--c-muted);cursor:pointer;letter-spacing:var(--ls-normal);background:0 0;border:0;flex-shrink:0;padding:0;font-family:inherit;text-decoration:none}.home-more:hover{color:var(--c-ink)}.home-foot{margin:var(--sp-sm) 0 0;font-size:var(--fs-md);color:var(--c-muted)}.home-empty{padding:var(--sp-lg) 0;font-size:var(--fs-md);color:var(--c-soft);text-align:center;margin:0}.home-kpi{gap:var(--sp-cozy);padding:var(--sp-lg);background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);color:inherit;min-width:0;text-decoration:none;display:flex}.home-kpi:hover{border-color:var(--c-hairline-strong)}.home-kpi-ico{border-radius:var(--r-lg);background:var(--c-surface-strong);width:38px;height:38px;color:var(--c-muted);flex-shrink:0;place-items:center;display:grid}.home-kpi.is-hot .home-kpi-ico{background:var(--c-danger-soft);color:var(--c-danger)}.home-kpi-body{min-width:0;display:block}.home-kpi-label{font-size:var(--fs-lg);color:var(--c-body);display:block}.home-kpi-num{font-family:var(--f-display);letter-spacing:var(--ls-tight);color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1;display:block}.home-kpi.is-hot .home-kpi-num{color:var(--c-danger)}.home-kpi-num small{font-size:var(--fs-lg);color:var(--c-muted);letter-spacing:var(--ls-normal);margin-left:2px;font-weight:500;display:inline}.home-kpi-desc{margin-top:var(--sp-2xs);font-size:var(--fs-md);color:var(--c-muted);display:block}.home-notice{align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md);padding:var(--sp-sm) var(--sp-lg);background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-xl);color:inherit;text-decoration:none;display:flex}.home-notice:hover{border-color:var(--c-hairline-strong)}.home-notice-tag{padding:var(--sp-hair) var(--sp-xs);border-radius:var(--r-xs);background:var(--c-brand-soft);color:var(--c-brand-ink);font-size:var(--fs-sm);flex-shrink:0;font-weight:600}.home-notice-txt{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-item);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.home-notice-meta,.home-notice-more{font-size:var(--fs-md);color:var(--c-muted);flex-shrink:0}.home-rows{margin:0;padding:0;list-style:none}.home-row{align-items:center;gap:var(--sp-cozy);padding:var(--sp-cozy) 0;border-top:1px solid var(--c-hairline-soft);display:flex}.home-row:first-child{border-top:0}.home-row-txt{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.home-row-main{font-size:var(--fs-lg);font-weight:var(--fw-item);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-row-sub{font-size:var(--fs-md);color:var(--c-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-row-time{font-size:var(--fs-md);color:var(--c-soft);flex-shrink:0}.home-row-acts{gap:var(--sp-tight);flex-shrink:0;display:flex}.home-pj{padding:var(--sp-sm) 0;border-top:1px solid var(--c-hairline-soft);color:inherit;text-decoration:none;display:block}.home-pj:first-of-type{padding-top:var(--sp-2xs);border-top:0}.home-pj-top{align-items:baseline;gap:var(--sp-xs);display:flex}.home-pj-name{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-item);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.home-pj-pct{font-size:var(--fs-md);color:var(--c-ink);flex-shrink:0;font-weight:600}.home-pj-pct.is-none{font-size:var(--fs-sm);color:var(--c-muted);font-weight:500}.home-pj-sub{align-items:center;gap:var(--sp-tight);font-size:var(--fs-sm);color:var(--c-muted);min-width:0;margin-top:3px;display:flex}.home-pj-sub>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.home-pj-dday{color:var(--c-body);flex-shrink:0;font-weight:600}.home-pj-dday.is-late{color:var(--c-danger)}.home-pj-track{height:5px;margin-top:var(--sp-tight);border-radius:var(--r-full);background:var(--c-surface-strong);display:block;overflow:hidden}.home-pj-track i{background:var(--c-brand);height:100%;display:block}.home-pj-track i.is-late{background:var(--c-danger)}.home-day{align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) 0 var(--sp-tight);font-size:var(--fs-sm);color:var(--c-soft);font-weight:600;display:flex}.home-day:first-of-type{padding-top:0}.home-day:after{content:"";background:var(--c-hairline-soft);flex:1;height:1px}.home-ev{gap:var(--sp-snug);padding:var(--sp-xs) 0;display:flex}.home-ev-bar{border-radius:var(--r-full);background:var(--c-brand);flex-shrink:0;width:3px;display:block}.home-ev-bar.is-soon{background:var(--c-accent)}.home-ev-bar.is-off{background:var(--c-soft)}.home-ev-time{width:46px;font-size:var(--fs-sm);color:var(--c-body);flex-shrink:0;font-weight:600}.home-ev-txt{flex:1;min-width:0;display:block}.home-ev-main{font-size:var(--fs-md);font-weight:var(--fw-item);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.home-ev-sub{font-size:var(--fs-sm);color:var(--c-muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.home-memo{margin:0;padding:0;list-style:none}.home-memo li{padding:var(--sp-xs) 0;border-top:1px solid var(--c-hairline-soft);font-size:var(--fs-md);color:var(--c-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-memo li:first-child{border-top:0}@media (width<=1280px){.home-cols{grid-template-columns:1fr}}@media (width<=900px){.home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.home-card{padding:var(--sp-md)}.home-kpi{padding:var(--sp-md);flex-direction:column;gap:8px}.home-kpi-ico{width:32px;height:32px}.home-kpi-label{font-size:var(--fs-md)}.home-kpi-desc{font-size:12px}.home-kpi-num{font-size:26px}.home-row{flex-wrap:wrap}.home-row-txt{flex-basis:100%}.home-row-acts{margin-left:auto}.home-notice{flex-wrap:wrap}.home-notice-txt{flex-basis:calc(100% - 52px)}.home-notice-meta{margin-left:52px}}.home-pj-top:has(.home-pj-logo){align-items:center}.home-pj-logo{margin-right:4px}:is(.home-pj:has(.home-pj-logo) .home-pj-sub,.home-pj:has(.home-pj-logo) .home-pj-track){margin-left:32px}.nw-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:32px;display:grid}.nw-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.nw-dot--issue{background:var(--c-danger)}.nw-dot--progress{background:var(--c-success)}.nw-dot--memo{background:var(--c-soft)}.nw-dot--all{background:var(--c-ink)}.nw-side{border:1px solid var(--c-hairline);border-radius:var(--r-xl);background:var(--c-surface-soft);padding:18px;position:sticky;top:16px}.nw-side-write{justify-content:center;width:100%;height:40px;margin-bottom:18px}.nw-cal-head{color:var(--c-ink);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:15px;font-weight:600;display:flex}.nw-cal-nav{gap:2px;display:inline-flex}.nw-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.nw-cal-wd{color:var(--c-muted);padding:4px 0;font-size:12px;font-weight:500}.nw-cal-d{border-radius:var(--r-sm);height:38px;font:500 13px var(--f-sans);color:var(--c-body);background:0 0;border:0;flex-direction:column;align-items:center;padding:6px 0 0;display:flex;position:relative}.nw-cal-d:disabled{cursor:default}.nw-cal-d.has-notes{cursor:pointer;color:var(--c-ink);font-weight:600}.nw-cal-d.has-notes:hover{background:var(--c-canvas)}.nw-cal-d.is-out{color:var(--c-soft);font-weight:400}.nw-cal-d.is-picked{background:var(--c-canvas);box-shadow:inset 0 0 0 1px var(--c-hairline-strong)}.nw-cal-d.is-today{background:var(--c-brand);color:#fff;font-weight:700}.nw-cal-dots{justify-content:center;gap:2px;display:flex;position:absolute;bottom:5px;left:0;right:0}.nw-cal-dots .nw-dot{width:5px;height:5px}.nw-cal-d.is-today .nw-dot{box-shadow:0 0 0 1px #fff}.nw-cal-week{display:none}.nw-cats{border-top:1px solid var(--c-hairline);flex-direction:column;gap:2px;margin-top:18px;padding-top:14px;display:flex}.nw-cats-title{color:var(--c-muted);margin-bottom:6px;font-size:13px;font-weight:600}.nw-cat{border-radius:var(--r-sm);font:500 14px var(--f-sans);color:var(--c-body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;display:flex}.nw-cat b{color:var(--c-muted);margin-left:auto;font-weight:600}.nw-cat:hover{background:var(--c-canvas)}.nw-cat.is-active{background:var(--c-canvas);color:var(--c-ink);box-shadow:var(--s-raised);font-weight:600}.nw-main{min-width:0}.nw-compose{border:1px solid var(--c-hairline);border-radius:var(--r-lg);background:var(--c-canvas);text-align:left;cursor:text;align-items:center;gap:12px;width:100%;margin-bottom:28px;padding:14px 16px;display:flex}.nw-compose:hover{border-color:var(--c-hairline-strong)}.nw-compose-ph{color:var(--c-soft);flex:1;font-size:15px}.nw-av{background:var(--c-brand-soft);width:28px;height:28px;color:var(--c-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:inline-grid}.nw-av--sm{width:22px;height:22px;font-size:11px}.nw-none{text-align:center;color:var(--c-muted);margin:40px 0}.note-timeline{flex-direction:column;display:flex}.note-tl-day{margin-bottom:28px;scroll-margin-top:72px}.note-tl-day:last-child{margin-bottom:0}.nw-dh{border-bottom:2px solid var(--c-ink);align-items:baseline;gap:8px;padding-bottom:10px;display:flex}.note-tl-date{letter-spacing:var(--ls-snug);color:var(--c-ink);margin:0;font-size:17px;font-weight:600}.nw-rel{color:var(--c-muted);font-size:13px;font-style:normal;font-weight:500}.nw-rel.is-today{border-radius:var(--r-xs);background:var(--c-brand-soft);color:var(--c-brand-ink);padding:1px 7px;font-size:12px;font-weight:600}.nw-dh-n{color:var(--c-muted);margin-left:auto;font-size:13px;font-weight:500}.note-tl-day.is-picked .nw-dh{border-bottom-color:var(--c-brand)}.note-tl-row{border-bottom:1px solid var(--c-hairline-soft);grid-template-columns:64px minmax(0,1fr) auto;gap:16px;padding:18px 4px;display:grid;position:relative}.note-tl-time{color:var(--c-muted);padding-top:2px;font-size:14px;font-weight:500}.note-tl-card{min-width:0}.nw-title{overflow-wrap:anywhere;color:var(--c-ink);font-size:15px;font-weight:600;line-height:1.5}.nw-tag{border-radius:var(--r-xs);vertical-align:1px;align-items:center;gap:5px;margin-right:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.nw-tag .note-tl-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.nw-tag--issue{background:var(--c-danger-soft);color:var(--c-danger)}.nw-tag--progress{background:var(--c-success-soft);color:var(--c-success)}.nw-tag--memo{background:var(--c-surface-strong);color:var(--c-body)}.nw-content{overflow-wrap:anywhere;color:var(--c-body);white-space:pre-wrap;margin-top:6px;font-size:14px;line-height:1.7}.nw-content.is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.nw-more{font:600 13px var(--f-sans);color:var(--c-brand);cursor:pointer;background:0 0;border:0;margin-top:2px;padding:0}.nw-meta{color:var(--c-muted);align-items:center;gap:7px;margin-top:10px;font-size:13px;display:flex}.nw-acts{align-items:flex-start;gap:2px;display:flex}.nw-acts .icon-btn{color:var(--c-soft)}.nw-acts .icon-btn:hover{color:var(--c-ink)}.nw-acts .nw-del:hover{color:var(--c-danger)}.nwf{flex-direction:column;gap:18px;display:flex}.nwf-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.nwf-field{flex-direction:column;min-width:0;display:flex}.nwf-lab{color:var(--c-ink);margin-bottom:8px;font-size:13px;font-weight:600}.nwf-lab small{color:var(--c-muted);margin-left:4px;font-weight:400}.nwf-seg{border:1px solid var(--c-hairline);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.nwf-seg-btn{background:var(--c-canvas);height:40px;font:500 14px var(--f-sans);color:var(--c-body);cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.nwf-seg-btn+.nwf-seg-btn{border-left:1px solid var(--c-hairline)}.nwf-seg-btn.is-active{background:var(--c-ink);color:#fff;font-weight:600}.nwf-seg-btn.is-active .nw-dot{box-shadow:0 0 0 1.5px #fff}.nwf-date{align-items:center;gap:6px;display:flex}.nwf-date .date-field{width:150px}.nwf-date .note-date-input{border:1px solid var(--c-hairline);border-radius:var(--r-md);height:40px;font-family:var(--f-sans);padding:0 12px;font-size:14px}.nwf-quick{border-radius:var(--r-full);background:var(--c-surface-soft);height:30px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;border:0;padding:0 11px}.nwf-quick.is-active{background:var(--c-brand-soft);color:var(--c-brand-ink);font-weight:600}.nwf-input{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:46px;font:500 16px var(--f-sans);color:var(--c-ink);padding:0 14px}.nwf-input:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft);outline:none}.nwf-area{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);overflow:hidden}.nwf-area:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.nwf-tool{border-bottom:1px solid var(--c-hairline-soft);background:var(--c-surface-soft);align-items:center;gap:6px;padding:8px 10px;display:flex}.nwf-tool em{color:var(--c-muted);margin-left:auto;font-size:12px;font-style:normal}.nwf-tool-btn{border:1px solid var(--c-hairline);border-radius:var(--r-sm);background:var(--c-canvas);height:28px;font:500 13px var(--f-sans);color:var(--c-body);cursor:pointer;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.nwf-tool-btn:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.nwf-textarea{resize:vertical;width:100%;min-height:280px;font:400 15px/1.75 var(--f-sans);color:var(--c-ink);background:0 0;border:0;outline:none;padding:14px;display:block}.nwf-hint{color:var(--c-muted);align-self:center;margin-right:auto;font-size:13px}.nwf-hint kbd{border:1px solid var(--c-hairline);font:600 11px var(--f-sans);color:var(--c-body);background:var(--c-canvas);border-bottom-width:2px;border-radius:4px;padding:2px 6px}@media (width<=1100px){.nw-layout{grid-template-columns:240px minmax(0,1fr);gap:24px}}@media (width<=640px){.nw-layout{grid-template-columns:minmax(0,1fr);gap:16px}.nw-side{padding:14px;position:static}.nw-side-write{margin-bottom:12px}.nw-cal-month{display:none}.nw-cal-week{grid-template-columns:24px repeat(7,1fr) 24px;align-items:center;gap:2px;display:grid}.nw-cal-week .icon-btn{width:24px;height:32px;color:var(--c-muted);padding:0}.nw-cal-week .nw-cal-d{border-radius:var(--r-md);height:54px;padding-top:4px}.nw-cal-week .nw-cal-d small{opacity:.8;font-size:11px;font-weight:500}.nw-cal-week .nw-cal-d span:not(.nw-cal-dots){font-size:15px}.nw-cats{scrollbar-width:none;border-top:0;flex-direction:row;gap:6px;margin-top:12px;padding-top:0;overflow-x:auto}.nw-cats::-webkit-scrollbar{display:none}.nw-cats-title{display:none}.nw-cat{border:1px solid var(--c-hairline);border-radius:var(--r-full);background:var(--c-canvas);flex:none;gap:6px;height:32px;padding:0 11px;font-size:13px}.nw-cat b{margin-left:0}.nw-cat.is-active{background:var(--c-ink);border-color:var(--c-ink);color:#fff;box-shadow:none}.nw-cat.is-active b{color:#fff;opacity:.75}.nw-cat.is-active .nw-dot--all{background:#fff}.nw-compose{margin-bottom:20px;padding:12px}.note-tl-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:16px 0}.note-tl-time{padding:0;font-size:13px;position:absolute;bottom:18px;right:0}div:has(>[role=dialog] #note-form){padding:0!important}[role=dialog]:has(#note-form){height:100dvh;border-radius:0!important;max-width:none!important;max-height:100dvh!important}[role=dialog]:has(#note-form)>:nth-child(3){flex:1}.nwf-row>.nwf-field{width:100%}.nwf-seg{display:flex}.nwf-seg-btn{flex:1;padding:0 6px}.nwf-hint{display:none}.nwf-textarea{min-height:220px}}.nw-dot--meeting{background:#2f58b0}.nw-dot--call{background:var(--c-success)}.nw-dot--email{background:#6b4fd0}.nw-dot--proposal{background:var(--c-accent)}.nw-dot--demo{background:var(--c-soft)}.nw-tag--meeting{background:var(--c-brand-soft);color:var(--c-brand-ink)}.nw-tag--call{background:var(--c-success-soft);color:var(--c-success)}.nw-tag--email{color:#5b32b4;background:#eee8fb}.nw-tag--proposal{background:var(--c-accent-soft);color:#a8370a}.nw-tag--demo{background:var(--c-surface-strong);color:var(--c-body)}.nw-last{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);margin-bottom:16px;padding:12px 14px}.nw-last span{color:var(--c-muted);font-size:12px;display:block}.nw-last b{color:var(--c-ink);margin-top:2px;font-size:16px;font-weight:700;display:block}.nw-last small{color:var(--c-muted);margin-top:2px;font-size:12px;display:block}.nw-last.is-stale b{color:#a8370a}.nwf-time{border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas);height:40px;font:400 14px var(--f-sans);color:var(--c-ink);padding:0 10px}@media (width<=640px){.nw-last{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.nw-last b{margin:0;font-size:15px}.nw-last small{margin:0}}.lg{min-height:calc(100vh / var(--app-zoom,1));min-height:calc(100dvh / var(--app-zoom,1));color:var(--c-ink);background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.lg-side{color:#fff;background:#0b0c0e;flex-direction:column;justify-content:space-between;padding:44px 52px;display:flex;position:relative;overflow:hidden}.lg-waves{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lg-logo,.lg-quote{position:relative}.lg-logo{width:172px;height:auto;display:block}.lg-quote{max-width:440px}.lg-quote p{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600;line-height:1.5}.lg-quote span{color:#fff9;margin-top:14px;font-size:13px;display:block}.lg-main{justify-content:center;align-items:center;padding:48px 32px;display:flex}.lg-box{width:100%;max-width:380px}.lg-title{letter-spacing:-.02em;color:var(--c-ink);margin:0;font-size:28px;font-weight:700}.lg-sub{color:var(--c-muted);margin:8px 0 28px;font-size:14px;line-height:1.6}.lg-fld{margin-bottom:16px}.lg-fld label{color:var(--c-ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.lg-in{border:1px solid var(--c-hairline);width:100%;height:48px;font:400 15px var(--f-sans);color:var(--c-ink);background:#fff;border-radius:10px;padding:0 14px;transition:border-color .12s,box-shadow .12s;display:block}.lg-in::placeholder{color:var(--c-soft,#9aa1ab)}.lg-in:focus{border-color:var(--c-ink);outline:none;box-shadow:0 0 0 3px #14151714}.lg-pw{position:relative}.lg-pw .lg-in{padding-right:46px}.lg-eye{width:36px;height:36px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.lg-eye:hover{background:var(--c-surface-soft);color:var(--c-ink)}.lg-row{justify-content:space-between;align-items:center;margin:4px 0 22px;display:flex}.lg-chk{color:var(--c-body);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.lg-chk input{width:18px;height:18px;accent-color:var(--c-ink);margin:0}.lg-submit{background:var(--c-ink);width:100%;height:50px;font:600 15px var(--f-sans);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;transition:opacity .12s;display:flex}.lg-submit:hover:not(:disabled){opacity:.9}.lg-submit:disabled{opacity:.6;cursor:default}.lg-help{text-align:center;color:var(--c-muted);margin:14px 0 0;font-size:13px}.lg-foot{text-align:center;color:var(--c-soft,#9aa1ab);margin:36px 0 0;font-size:12px}.lg .alert{margin-bottom:18px}@media (width<=900px){.lg-side{padding:36px}.lg-quote p{font-size:19px}}@media (width<=640px){.lg{grid-template-rows:auto 1fr;grid-template-columns:1fr}.lg-side{gap:28px;min-height:190px;padding:24px 22px}.lg-logo{width:140px}.lg-quote p{font-size:17px}.lg-quote span{display:none}.lg-main{align-items:flex-start;padding:32px 22px 28px}.lg-title{font-size:24px}.lg-sub{margin-bottom:24px}.lg-foot{margin-top:28px}}.oa-box .lg-sub{line-height:1.7}.oa-list{background:var(--c-surface-soft);border-radius:10px;margin:16px 0;padding:14px 16px}.oa-list-t{color:var(--c-success);margin-bottom:4px;font-size:13px;font-weight:600}.oa-list-t.is-no{color:var(--c-muted);margin-top:10px}.oa-list ul{color:var(--c-ink);margin:0;padding-left:18px;font-size:13px;line-height:1.8}.oa-note{color:var(--c-muted);margin:0 0 16px;font-size:13px;line-height:1.7}.oa-note code{font-family:var(--f-mono);color:var(--c-ink)}.oa-actions{flex-direction:column;gap:8px;display:flex}.oa-deny{justify-content:center;width:100%}
