@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:#f7f8fa;--c-surface-strong:#eef1f5;--c-surface-sunken:#e5e9f0;--c-surface-dark:#0b1020;--c-surface-dark-elevated:#161c2e;--c-hairline:#dfe3ea;--c-hairline-soft:#eceff3;--c-hairline-strong:#c8cfd9;--c-ink:#0b1020;--c-body:#41495a;--c-muted:#616a78;--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:#616a78;--c-neutral-soft:#eef1f5;--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;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--s-elevated:0 6px 24px -8px #0b10201f, 0 2px 6px -2px #0b10200f;--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;--lh-tight:1.36;--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;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{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;width:240px;height:calc(100vh - 56px);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:.06em;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{z-index:50;height:calc(100vh - 57px);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:-.02em;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-elevated:0 8px 28px -8px #000000b3, 0 2px 8px -2px #0006;--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:.06em;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{height:44px;color:var(--c-muted);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--f-sans);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:7px;margin-bottom:-1px;padding:0 16px;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-brand);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{font-family:var(--f-mono);background:var(--c-surface-strong);color:var(--c-muted);border-radius:var(--r-full);padding:1px 6px;font-size:11px;font-weight:600;line-height:1.6}.tab-item.is-active .tab-count{background:var(--c-brand-soft);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:600;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);background:0 0}.btn-ghost:hover{background:var(--c-surface-soft)}.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 #0b102014, 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}.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:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);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;letter-spacing:0;color:var(--c-body);border-bottom:1px solid var(--c-hairline);background:var(--c-surface-soft);white-space:nowrap;padding:10px 16px;font-size:12px;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:12px 16px}.data-table tbody tr:last-child td{border-bottom:none}.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 #0b102029}.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}}.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:.08em;text-transform:uppercase;color:var(--c-muted);margin-bottom:14px;font-weight:600}.pagination{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.page-btn{border-radius:var(--r-md);min-width:36px;height:36px;font-size:13px;font-weight:500;font-family:var(--f-mono);color:var(--c-body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 8px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.page-btn:hover{background:var(--c-surface-soft);color:var(--c-ink)}.page-btn.is-active{background:var(--c-brand-solid);color:#fff;border-color:var(--c-brand-solid);font-weight:600}.page-btn.is-active:hover{background:var(--c-brand-solid-hover)}.page-btn.is-disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.page-btn.is-nav{border-color:var(--c-hairline);background:var(--c-canvas);font-family:var(--f-sans)}.page-btn.is-nav:hover{border-color:var(--c-hairline-strong);color:var(--c-ink)}.page-btn:focus-visible{box-shadow:var(--s-focus);outline:none}.page-ellipsis{width:36px;height:36px;color:var(--c-muted);letter-spacing:.05em;font-size:13px;font-family:var(--f-mono);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.pagination-info{font-family:var(--f-mono);color:var(--c-muted);margin-left:8px;font-size:12px}.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{grid-template-columns:repeat(4,1fr);align-items:flex-start;gap:16px;min-height:calc(100vh - 180px);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:.02em;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 #0b102012}.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}.kanban-meta-amount{font-size:12px;font-weight:600}.kanban-progress{margin-bottom:10px}.kanban-progress-track{border-radius:99px;height:4px;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: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}.kanban-mobile-cards .kanban-meta-amount{font-size:11px}}@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}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:-.01em;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:.02em}.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 - 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:40px;padding:8px;font-size:13px}.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{letter-spacing:-.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;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:.08em;text-transform:uppercase;font-size:10px;line-height:1.2}.sb-profile-name{color:var(--c-ink);letter-spacing:-.01em;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:.06em;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:1440px;flex:1;min-width:0;height:100%;padding:32px 40px;overflow-y:auto}.app-main.size-lg{--main-max:1440px}.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:.12em;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:-.012em;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:-.005em;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:.01em;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:-.005em;font-size:14px;font-weight:600}.dd-user-email{font-family:var(--f-mono);color:var(--c-muted);letter-spacing:.01em;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 #0b102014}@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:200px;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-mark-light{width:24px;display:block}[data-theme=dark] .ds-topbar-brand .brand-logo-mark-light{display:none!important}[data-theme=dark] .ds-topbar-brand .brand-logo-mark-dark{width:24px;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:#0b102066;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 #0b10201f,0 2px 6px -2px #0b10200f}.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:180px}.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 #0b102014}}@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:-.02em;margin:0;font-weight:700;line-height:1.3}.btn-back{color:var(--c-muted);cursor:pointer;font-size:13px;font-family:var(--f-sans);background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;transition:color .12s,background .12s;display:inline-flex}.btn-back:hover{color:var(--c-ink);background:var(--c-surface-soft)}@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-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}}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:-.012em;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:.14em;text-transform:uppercase;color:var(--c-brand);margin:0 0 14px;font-size:11px;font-weight:600}.login-title{letter-spacing:-.018em;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:.02em;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:.02em;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:-.005em}.emp-email{color:var(--c-muted);font-size:12px;font-family:var(--f-mono);letter-spacing:.01em}.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{border-top:1px solid var(--c-hairline-soft);background:var(--c-canvas);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.table-foot .pagination-info{margin-left:0}.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{flex-direction:column;align-items:stretch;gap:12px}.table-foot .pagination-info{text-align:center}.pagination{justify-content:center}.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:0 -40px 24px;padding:0 40px;position:sticky;top:-32px;box-shadow:0 2px 8px -2px #0b10200f}.info-grid-2{grid-template-columns:1fr 1fr;gap:24px 40px;display:grid}@media (width<=1024px){.page-tabs-sticky{margin:0 -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:0 -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{color:var(--c-muted);text-transform:uppercase;letter-spacing:0;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:-.03em;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:-.02em;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:.06em;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:.08em;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:.08em;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}}.note-timeline{flex-direction:column;display:flex}.note-tl-day{margin-bottom:24px}.note-tl-day:last-child{margin-bottom:0}.note-tl-date{color:var(--c-muted);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--c-hairline-soft);margin-bottom:4px;padding:0 0 8px 116px;font-size:12px;font-weight:700}.note-tl-row{grid-template-columns:68px 24px 1fr;column-gap:12px;display:grid}.note-tl-time{font-family:var(--f-mono);color:var(--c-muted);text-align:right;padding-top:18px;font-size:12px;line-height:1}.note-tl-axis{position:relative}.note-tl-axis:before{content:"";background:var(--c-hairline);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.note-tl-row.is-last .note-tl-axis:before{bottom:calc(100% - 34px)}.note-tl-dot{z-index:1;border:2px solid var(--c-canvas);width:10px;height:10px;box-shadow:0 0 0 1px var(--c-hairline);border-radius:50%;position:absolute;top:18px;left:50%;transform:translate(-50%)}.note-tl-card{background:var(--c-canvas);border:1px solid var(--c-hairline);border-radius:var(--r-md);min-width:0;margin-bottom:12px;padding:14px 16px;transition:box-shadow .15s}.note-tl-card:hover{box-shadow:var(--s-elevated)}@media (width<=640px){.note-tl-date{padding-left:80px}.note-tl-row{grid-template-columns:44px 18px 1fr;column-gap:8px}.note-tl-time{font-size:11px}.note-tl-dot{width:8px;height:8px;top:19px}.note-tl-row.is-last .note-tl-axis:before{bottom:calc(100% - 32px)}}.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:#f0f5ff}.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:.04em;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:.05em;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}.note-cat--issue{--note-c:var(--c-danger);--note-bg:var(--c-danger-soft)}.note-cat--progress{--note-c:var(--c-success);--note-bg:var(--c-success-soft)}.note-cat--memo{--note-c:var(--c-neutral);--note-bg:var(--c-neutral-soft)}.note-cat-badge{border-radius:var(--r-full);background:var(--note-bg);color:var(--note-c);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;padding:1px 7px}.note-cal{max-width:900px}.note-cal-head{align-items:center;gap:6px;margin-bottom:12px;display:flex}.note-cal-title{font-family:var(--f-display);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--c-ink);text-align:center;min-width:108px}.note-cal-count{font-size:var(--fs-sm);font-family:var(--f-mono);color:var(--c-muted);margin-left:4px}.note-cal-grid{background:var(--c-hairline);border:1px solid var(--c-hairline);border-radius:var(--r-md);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.note-cal-wd{background:var(--c-surface-soft);text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--c-muted);padding:7px 0}.note-cal-wd.is-sun{color:var(--c-danger)}.note-cal-wd.is-sat{color:var(--c-info)}.note-cal-cell{background:var(--c-canvas);text-align:left;cursor:default;border:0;flex-direction:column;align-items:stretch;gap:3px;min-height:88px;padding:5px 5px 6px;font-family:inherit;display:flex}.note-cal-cell.is-empty{background:var(--c-surface-soft)}.note-cal-cell.has-items{cursor:pointer}.note-cal-cell.has-items:hover{background:var(--c-surface-soft)}.note-cal-cell.is-picked{background:var(--c-brand-soft)}.note-cal-daynum{font-size:var(--fs-sm);font-family:var(--f-mono);color:var(--c-muted)}.note-cal-cell.is-today .note-cal-daynum{border-radius:var(--r-full);background:var(--c-brand-solid);width:20px;height:20px;color:var(--c-on-primary);font-weight:var(--fw-bold);justify-content:center;align-items:center;display:inline-flex}.note-cal-items{flex-direction:column;gap:2px;min-width:0;display:flex}.note-cal-item{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-xs);background:var(--note-bg);color:var(--note-c);font-size:var(--fs-xs);line-height:var(--lh-snug);padding:1px 5px;overflow:hidden}.note-cal-more{font-size:var(--fs-xs);color:var(--c-muted);padding-left:5px}.note-cal-detail{border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);background:var(--c-canvas);margin-top:16px}.note-cal-detail-head{border-bottom:1px solid var(--c-hairline);background:var(--c-surface-soft);font-size:var(--fs-sm);font-family:var(--f-mono);color:var(--c-body);padding:9px 14px}.note-cal-detail-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;font-family:inherit;display:flex}.note-cal-detail-item:first-of-type{border-top:0}.note-cal-detail-item:hover{background:var(--c-surface-soft)}.note-cal-detail-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-lg);color:var(--c-ink);flex:auto;overflow:hidden}.note-cal-detail-author{font-size:var(--fs-xs);color:var(--c-muted);flex:none}@media (width<=640px){.note-cal-cell{min-height:52px;padding:4px 3px}.note-cal-item{border-radius:var(--r-full);background:var(--note-c);color:#0000;height:4px;padding:0;font-size:0;overflow:hidden}.note-cal-more{display:none}.note-cal-title{min-width:88px;font-size:var(--fs-md)}}.note-view-meta{border-bottom:1px solid var(--c-hairline-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:14px;display:flex}.note-view-date{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--c-muted)}.note-view-author{font-size:var(--fs-sm);color:var(--c-muted)}.note-view-body{white-space:pre-wrap;word-break:break-word;font-size:var(--fs-lg);color:var(--c-body);max-height:60vh;line-height:1.7;overflow-y:auto}.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-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;display:block;overflow:hidden}.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:240px;max-width:320px}@media (width<=640px){.helpdesk-search{flex:100%;max-width: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:.04em;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}.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:-.01em;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:-.012em;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:.01em}.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:56px}.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:-.008em;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:.01em}.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:.01em}.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 #0b10201f}.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}}.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}.calendar-section{flex-direction:column;gap:16px;display:flex}.calendar-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-nav{align-items:center;gap:6px;display:flex}.calendar-nav-btn{border:1px solid var(--c-hairline);background:var(--c-canvas);width:32px;height:32px;color:var(--c-body);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,border-color .12s;display:inline-flex}.calendar-nav-btn:hover{background:var(--c-canvas);border-color:var(--c-hairline-strong)}.calendar-month-label{font-family:var(--f-mono);font-size:var(--fs-card-title);letter-spacing:.02em;color:var(--c-ink);text-align:center;min-width:120px;font-weight:600}.calendar-today-btn{border:1px solid var(--c-hairline);background:var(--c-canvas);height:32px;color:var(--c-muted);cursor:pointer;border-radius:8px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s}.calendar-today-btn:hover{background:var(--c-canvas);color:var(--c-body)}.calendar-filter-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.cal-add-btn{flex-shrink:0;align-items:center;gap:4px;margin-left:8px;display:inline-flex}.cal-filter-chip{background:var(--c-canvas);color:var(--c-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1.5px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.cal-filter-chip:hover{border-color:var(--c-hairline-strong);color:var(--c-body)}.cal-filter-chip.active{color:var(--c-body)}.cal-filter-chip.active[data-type=project_milestone]{border-color:var(--cal-color-milestone);background:var(--cal-color-milestone-bg);color:var(--cal-color-milestone)}.cal-filter-chip.active[data-type=leave]{border-color:var(--cal-color-leave);background:var(--cal-color-leave-bg);color:var(--cal-color-leave)}.cal-filter-chip.active[data-type=business_trip]{border-color:var(--cal-color-trip);background:var(--cal-color-trip-bg);color:var(--cal-color-trip)}.cal-filter-chip.active[data-type=company_event]{border-color:var(--cal-color-company);background:var(--cal-color-company-bg);color:var(--cal-color-company)}.cal-filter-chip.active[data-type=schedule]{border-color:var(--cal-color-amber);background:var(--cal-color-amber-bg);color:var(--cal-color-amber)}.cal-filter-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}[data-type=project_milestone] .cal-filter-dot{background:var(--cal-color-milestone)}[data-type=leave] .cal-filter-dot{background:var(--cal-color-leave)}[data-type=business_trip] .cal-filter-dot{background:var(--cal-color-trip)}[data-type=company_event] .cal-filter-dot{background:var(--cal-color-company)}[data-type=schedule] .cal-filter-dot{background:var(--cal-color-amber)}.calendar-grid{border:1px solid var(--c-hairline);background:var(--c-canvas);border-radius:12px;overflow:hidden}.calendar-weekdays{border-bottom:1px solid var(--c-hairline);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{text-align:center;color:var(--c-muted);letter-spacing:.04em;text-transform:uppercase;padding:8px 0;font-size:11px;font-weight:600}.calendar-weekday:first-child{color:#dc2626}.calendar-weekday:last-child{color:#2563eb}.calendar-cells{grid-template-columns:repeat(7,1fr);display:grid}.calendar-cell{border-right:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline);flex-direction:column;gap:2px;min-height:110px;padding:6px 5px 4px;display:flex;overflow:hidden}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:nth-last-child(-n+7){border-bottom:none}.calendar-cell.other-month{background:var(--c-surface-sunken);opacity:.55}.calendar-cell.today .cell-date-num{background:var(--c-brand-solid);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.cell-date-row{align-items:center;margin-bottom:2px;display:flex}.cell-date-num{font-family:var(--f-mono);color:var(--c-body);text-align:center;min-width:22px;padding:3px 0;font-size:12px;font-weight:500;line-height:1}.cell-date-num.sun{color:#dc2626}.cell-date-num.sat{color:#2563eb}.cal-event-pill{background:var(--c-canvas);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:4px;min-width:0;padding:2px 5px;transition:opacity .1s,filter .1s;display:flex;overflow:hidden}.cal-event-pill:hover{filter:brightness(.95)}.cal-event-stripe{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;min-height:12px}.cal-event-stripe.blue{background:var(--cal-color-milestone)}.cal-event-stripe.green{background:var(--cal-color-leave)}.cal-event-stripe.orange{background:var(--cal-color-trip)}.cal-event-stripe.purple{background:var(--cal-color-company)}.cal-event-stripe.amber{background:var(--cal-color-amber)}.cal-event-stripe.slate{background:var(--cal-color-slate)}.cal-event-pill-bg-blue{background:var(--cal-color-milestone-bg)}.cal-event-pill-bg-green{background:var(--cal-color-leave-bg)}.cal-event-pill-bg-orange{background:var(--cal-color-trip-bg)}.cal-event-pill-bg-purple{background:var(--cal-color-company-bg)}.cal-event-pill-bg-amber{background:var(--cal-color-amber-bg)}.cal-event-pill-bg-slate{background:var(--cal-color-slate-bg)}.cal-event-title{color:var(--c-body);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.cal-event-title.blue{color:#1a3bcc}.cal-event-title.green{color:#15803d}.cal-event-title.orange{color:#b45309}.cal-event-title.purple{color:#5b21b6}.cal-event-title.amber{color:#92400e}.cal-event-title.slate{color:#334155}.cal-more-link{color:var(--c-muted);cursor:pointer;padding:1px 4px;font-size:10px;font-weight:600;transition:color .1s}.cal-more-link:hover{color:var(--c-body)}.calendar-loading{background:var(--c-hairline);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:1px;min-height:440px;display:grid;overflow:hidden}.calendar-list{border:1px solid var(--c-hairline);border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.calendar-list-day{border-bottom:1px solid var(--c-hairline)}.calendar-list-day:last-child{border-bottom:none}.calendar-list-day-header{background:var(--c-canvas);align-items:center;gap:10px;padding:10px 14px 6px;display:flex}.calendar-list-day-date{font-family:var(--f-mono);color:var(--c-body);font-size:12px;font-weight:700}.calendar-list-day-date.today-label{background:var(--c-brand-solid);color:#fff;border-radius:6px;padding:2px 7px;font-size:11px}.calendar-list-day-name{color:var(--c-muted);font-size:11px}.calendar-list-events{flex-direction:column;gap:4px;padding:6px 12px 8px;display:flex}.cal-list-event{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;transition:filter .1s;display:flex}.cal-list-event:hover{filter:brightness(.96)}.cal-list-event.blue{background:var(--cal-color-milestone-bg)}.cal-list-event.green{background:var(--cal-color-leave-bg)}.cal-list-event.orange{background:var(--cal-color-trip-bg)}.cal-list-event.purple{background:var(--cal-color-company-bg)}.cal-list-event.amber{background:var(--cal-color-amber-bg)}.cal-list-event.slate{background:var(--cal-color-slate-bg)}.cal-list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cal-list-dot.blue{background:var(--cal-color-milestone)}.cal-list-dot.green{background:var(--cal-color-leave)}.cal-list-dot.orange{background:var(--cal-color-trip)}.cal-list-dot.purple{background:var(--cal-color-company)}.cal-list-dot.amber{background:var(--cal-color-amber)}.cal-list-dot.slate{background:var(--cal-color-slate)}.cal-list-info{flex:1;min-width:0}.cal-list-title{color:var(--c-body);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.cal-list-type{color:var(--c-muted);margin-top:1px;font-size:11px}.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<=640px){.calendar-header{row-gap:8px}.cal-add-btn{width:36px;height:36px;min-width:unset;border-radius:50%;order:0;justify-content:center;margin-left:auto;padding:0}.cal-add-label{display:none}.calendar-filter-chips{order:1;width:100%;margin-left:0}.calendar-cell{min-height:72px;padding:4px 3px 3px}.calendar-grid{display:none}.calendar-list{display:flex}}@media (width>=641px){.calendar-list{display:none}.calendar-grid{display:block}}.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-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] .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)}.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}.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);scrollbar-width:none;-ms-overflow-style:none;max-height:calc(100vh - 220px);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:.06em;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:8px 0}.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}@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-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}}.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:.05em;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}}
