:root{--bg:#f1f0ed;--panel:#fff;--panel-soft:#fbfaf8;--surface:#fff;--surface-soft:#fbfaf8;--line:#1412101a;--line-strong:#14121029;--text:#26241f;--ink:#14120f;--muted:#6f6b64;--primary:#1b1916;--primary-soft:#1412100f;--primary-rgb:27, 25, 22;--muted-rgb:111, 107, 100;--accent:#cc3b1e;--accent-soft:#cc3b1e1a;--amber:#9a6a10;--amber-soft:#fbf3df;--success:#1c8043;--success-soft:#1c80431f;--warning:#a86a12;--warning-soft:#a86a1226;--danger:#c0322a;--danger-soft:#c0322a1c;--neutral-soft:#f1f1ee;--glow:#ff3d2e;--glow-2:#ff5747;--magenta:#ff5a2e;--magenta-deep:#b23a14;--accent-pop:#c8ff00;--accent-pop-ink:#0a0a0a;--border-active:#14121024;--cta:linear-gradient(120deg, #ff3d2e 0%, #ff5747 100%);--focus-ring:#ff3d2e38;--shadow-red-soft:0 8px 24px #ff3d2e29;--shadow-red:0 10px 34px #ff3d2e38;--glass-fill:linear-gradient(150deg, #ffffff9e 0%, #ffffff61 100%);--glass-fill-soft:linear-gradient(150deg, #ffffff80 0%, #ffffff4d 100%);--glass-border:#1c16121f;--glass-edge:inset 0 1.5px 0 #fffffff2, inset 0 0 0 1px #ffffff59, inset 0 -14px 30px #785a500f;--glass-shadow:0 18px 44px #1414121f, 0 3px 8px #1414120f;--glass-blur:12px;--glass-sat:1.3;--shadow:0 1px 2px #1414120d, 0 14px 32px #14141214;--shadow-soft:0 8px 20px #1414120f;--control-bg:#fffffff5;--body-gradient:radial-gradient(900px 760px at 92% -14%, #1a1a1d29, transparent 60%), radial-gradient(820px 760px at -8% 112%, #27272a1f, transparent 58%), radial-gradient(640px 600px at 54% -18%, #1a1a1d17, transparent 60%), linear-gradient(180deg, #f6f5f2 0%, #efeeea 100%);--radius-xl:28px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--font-sans:var(--font-geist-sans,"Geist Sans"), Arial, sans-serif;--font-display:var(--font-archivo,"Archivo"), var(--font-geist-sans,"Geist Sans"), Arial, sans-serif;--font-serif:var(--font-instrument-serif,"Instrument Serif"), Georgia, "Times New Roman", serif;--font-mono:var(--font-sans)}:root[data-theme=dark],.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--panel:#ffffff0a;--panel-soft:#ffffff05;--surface:#ffffff0a;--surface-soft:#ffffff12;--line:#ffffff0f;--line-strong:#ffffff1a;--text:#f5f5f5;--ink:#fff;--muted:#888;--primary:#f5f5f5;--primary-soft:#ffffff12;--primary-rgb:245, 245, 245;--muted-rgb:136, 136, 136;--accent:#ff5747;--accent-soft:#ff3d2e29;--amber:#fbbf24;--amber-soft:#fbbf2424;--success:#7de08a;--success-soft:#7de08a21;--warning:#fbbf24;--warning-soft:#fbbf2424;--danger:#ff5a45;--danger-soft:#ff5a4529;--neutral-soft:#ffffff0f;--border-active:#ffffff24;--focus-ring:#ff3d2e4d;--shadow-red-soft:0 6px 24px #ff3d2e29;--shadow-red:0 8px 40px #ff3d2e47;--glass-fill:#ffffff0a;--glass-fill-soft:#ffffff0f;--glass-border:#ffffff0f;--glass-edge:inset 0 1px 0 #ffffff0f;--glass-shadow:0 8px 32px #00000080;--glass-sat:1.2;--shadow:0 8px 32px #00000080;--shadow-soft:0 6px 24px #0006;--control-bg:#ffffff0f;--body-gradient:radial-gradient(900px 900px at 88% -12%, #1a1a1d4d, transparent 60%), radial-gradient(820px 820px at -8% 112%, #27272a42, transparent 58%), radial-gradient(640px 640px at 54% -18%, #1a1a1d26, transparent 60%), #0a0a0a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);color:var(--text);background:var(--body-gradient);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6,.page-header h1,.hero-banner h2,.dashboard-title-row h2,.dashboard-empty-control h2,.section-head h3,.section-head h4,.surface-card h3,.surface-card h4,.project-card h4,.asset-card h4,.template-card strong,.empty-state h3,.empty-state strong,.project-file-title-row strong,.drawing-file-title-row strong,.drawing-library-copy h3,.drawing-library-group-head h4,.drawing-toolbar-title h3,.drawing-upload-modal-head h3,.model-toolbar-card .drawing-toolbar-title h3,.viewer-head-copy h4,.model-title-line strong,.workspace-rename-modal h3,.boq-template-preview-title h3,.bbs-topbar h4,.bbs-panel-head h4,.steel-cutting-header h4,.steel-section-head h4,.asset-card-title-row h4,.work-item-title-row strong,.report-type-title-row strong,.report-builder-title h4,.report-summary-card h5,.eyebrow,.metric-label{font-family:var(--font-display);font-stretch:100%}.metric-card strong,.dashboard-summary-tile strong,.dashboard-kpi-card strong,.settings-metric-row strong,.pricing-metric strong,.team-summary-card strong,.work-summary-card strong,.task-summary-card strong,.bbs-dashboard-cards strong,.bbs-status-summary strong,.bbs-summary-card b,.file-stat-card strong,.inventory-summary-card strong,.inventory-status-bar button strong,.asset-status-bar button strong,.vendor-group-stats strong,.steel-cutting-metric strong,.steel-profile-card dd,.report-preview-summary strong,.message-channel-stats strong,.chat-thread-summary-grid strong,.daily-report-summary strong,.daily-log-date-summary span,.detail-metrics strong,.model-visual-stats strong,code,pre,kbd,samp,.technical-id,.drawing-number,.drawing-code,.issue-id,.issue-code,.task-code,.boq-code,.boq-item-code,.mark-code,.member-mark,.bar-mark,.measurement-value,.dimension-value,.quantity-value,.metric-value,.drawing-file-title-row small,.project-file-title-row small,.boq-template-row-quantity,.material-request-quantity,.inventory-quantity-input-shell strong,.asset-quantity-badge,.measure-label,.measure-status,.measure-snap-indicator>span,.steel-mono,.steel-pattern-card p,.steel-profile-card dd,.steel-cutting-metric strong,.drawing-debug-panel pre,.drawing-page-stepper-inline input,.page-stepper button,.page-thumbnail span,.schedule-status-cell,.gantt-milestone-marker,.material-request-status{font-family:var(--font-mono)}.auth-page,.auth-loading{background:radial-gradient(1100px 620px at 82% -8%,#c46a4821,#0000 58%),radial-gradient(900px 680px at -12% 112%,#787c821a,#0000 56%),linear-gradient(#f7f5f0,#efebe3),repeating-linear-gradient(0deg,#1f1a1508 0 1px,#0000 1px 40px),repeating-linear-gradient(90deg,#1f1a1508 0 1px,#0000 1px 40px);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-page{grid-template-columns:minmax(320px,.92fr) minmax(340px,430px);gap:22px;width:min(1040px,100%);margin:0 auto}.auth-hero,.auth-card,.auth-loading-card{border:1px solid var(--line);background:#ffffffe6;border-radius:28px;box-shadow:0 24px 70px #11111114}.auth-hero{background:linear-gradient(145deg,#fffffffa,#f6f6f2d6);align-content:space-between;gap:28px;min-height:500px;padding:34px;display:grid}.auth-brand{align-items:center;gap:12px;display:flex}.auth-logo{background:#fff;border:1px solid #11111114;border-radius:16px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden;box-shadow:0 12px 26px #1111111a}.auth-logo img{object-fit:contain;width:38px;height:38px;display:block}.auth-brand strong,.auth-copy h1,.auth-card strong,.auth-loading-card strong{color:var(--ink)}.auth-brand p,.auth-copy p,.auth-card span,.auth-loading-card p{color:var(--muted)}.auth-copy h1{letter-spacing:-.055em;max-width:560px;margin:8px 0 12px;font-size:clamp(2.35rem,5vw,4rem);line-height:.98}.auth-benefit-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-benefit-list span{color:var(--muted);background:#ffffffb8;border:1px solid #11111114;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:780}.auth-card,.auth-loading-card{gap:13px;width:100%;padding:26px;display:grid}.auth-loading-card{justify-items:start;max-width:420px}.auth-confirmation-loading{background:radial-gradient(120% 120% at 50% 6%,#1a1a1d29,#0000 46%),radial-gradient(90% 90% at 84% 98%,#486ec81f,#0000 52%),repeating-linear-gradient(90deg,#ffffff06 0 1px,#0000 1px 96px),radial-gradient(150% 130% at 50% 38%,#16161a,#0b0b0d 78%);position:relative;overflow:hidden}.auth-confirmation-card{isolation:isolate;-webkit-backdrop-filter:blur(20px)saturate(1.1);backdrop-filter:blur(20px)saturate(1.1);background:linear-gradient(160deg,#222227d1,#131317e0);border:1px solid #ffffff1a;border-radius:26px;gap:20px;width:min(520px,100vw - 32px);max-width:520px;min-height:290px;padding:34px;animation:.56s cubic-bezier(.2,.8,.2,1) both authCardEnter;position:relative;overflow:hidden;box-shadow:0 44px 120px #0009,inset 0 1px #ffffff12}.auth-confirmation-card:after{content:"";background:linear-gradient(90deg, transparent, var(--accent) 28%, #ff8a6a 50%, var(--accent) 72%, transparent);height:2px;position:absolute;inset:0 0 auto}.auth-confirmation-card:before{content:"";z-index:-1;opacity:.5;background:linear-gradient(120deg,#0000 0 36%,#ffffff1a 48%,#0000 60% 100%);animation:2.6s ease-in-out infinite authCardSheen;position:absolute;inset:0;transform:translate(-120%)}.auth-confirmation-grid{z-index:-2;opacity:.55;background-color:#0000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:22px;position:absolute;inset:14px;-webkit-mask-image:radial-gradient(circle at 34% 26%,#000,#0000 74%);mask-image:radial-gradient(circle at 34% 26%,#000,#0000 74%)}.auth-confirmation-logo-wrap{place-items:center;width:76px;height:76px;display:grid;position:relative}.auth-confirmation-logo{z-index:2;border:1px solid #ffffff1f;border-radius:20px;width:60px;height:60px;animation:1.8s ease-in-out infinite authLogoFloat;transform:translateZ(0);box-shadow:0 16px 36px #0000008c,0 0 0 6px #1a1a1d12}.auth-confirmation-logo img{width:44px;height:44px}.auth-confirmation-pulse{border:1.5px solid #1a1a1d8c;border-radius:24px;animation:1.8s ease-out infinite authLogoPulse;position:absolute;inset:0}.auth-confirmation-copy{gap:9px;max-width:400px;display:grid}.auth-confirmation-copy strong{color:#fff;letter-spacing:-.015em;font-size:clamp(1.5rem,3vw,2.05rem);font-weight:600;font-stretch:100%;line-height:1.05}.auth-confirmation-copy p{color:#ffffffa3;margin:0;font-size:1rem;line-height:1.55}.auth-confirmation-progress{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;padding-top:4px;display:grid}.auth-confirmation-progress span{background:#ffffff1a;border-radius:999px;height:6px;overflow:hidden}.auth-confirmation-progress span:after{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--accent), #ff8a6a);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 12px #1a1a1d80}.auth-confirmation-progress span.active:after{animation:.9s forwards authProgressFill}.auth-confirmation-status{color:#ffffffd1;letter-spacing:.01em;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:9px;width:fit-content;padding:9px 13px;font-size:.76rem;font-weight:600;display:inline-flex}.auth-confirmation-spinner{border:2px solid #ffffff2e;border-top-color:#ff7a5c;border-radius:999px;width:14px;height:14px;animation:.86s linear infinite authSpin}@keyframes authCardEnter{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes authCardSheen{0%,42%{transform:translate(-120%)}72%,to{transform:translate(120%)}}@keyframes authLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes authLogoPulse{0%{opacity:.72;transform:scale(.82)}to{opacity:0;transform:scale(1.22)}}@keyframes authProgressFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-card label{color:var(--ink);gap:7px;font-weight:700;display:grid}.auth-card-header strong{font-size:1.4rem;line-height:1.1}.auth-card-header p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.auth-card-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:820}.auth-card input,.auth-card select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background-color:var(--control-bg);font:inherit;border-radius:14px;padding:0 14px}.auth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-primary{color:#fff;background:var(--primary);min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:16px;font-weight:800}.auth-primary:disabled,.auth-secondary:disabled{cursor:not-allowed;opacity:.52}.auth-google-button{margin-top:2px}.auth-secondary{border:1px solid var(--line);min-height:44px;color:var(--primary);background:var(--primary-soft);font:inherit;cursor:pointer;border-radius:14px;font-weight:800}.auth-divider{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.68rem;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);height:1px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.auth-links a,.auth-links button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:none}.auth-hero{background:linear-gradient(158deg,#fffffff7,#f3f0e9e6);border-color:#1f1a151a;padding:40px;position:relative;overflow:hidden;box-shadow:0 30px 80px #1f1a151a,inset 0 1px #ffffffbf}.auth-hero:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#1f1a150b 0 1px,#0000 1px 34px),repeating-linear-gradient(90deg,#1f1a150b 0 1px,#0000 1px 34px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(135% 110% at 0 0,#000 32%,#0000 80%);mask-image:radial-gradient(135% 110% at 0 0,#000 32%,#0000 80%)}.auth-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#c46a482e,#0000 68%);width:320px;height:320px;position:absolute;bottom:-110px;right:-90px}.auth-brand strong{letter-spacing:.16em;font-size:.84rem}.auth-copy .eyebrow,.auth-card-kicker{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:#9a5a3c;font-size:.66rem;font-weight:600}.auth-copy .eyebrow{align-items:center;gap:9px;display:inline-flex}.auth-copy .eyebrow:before{content:"";opacity:.55;background:currentColor;width:22px;height:1px}.auth-copy h1{font-family:var(--font-serif);letter-spacing:-.012em;color:#211b16;font-size:clamp(3rem,6.4vw,5rem);font-weight:400;line-height:.9}.auth-copy>p:last-child{max-width:32ch;font-size:.95rem;line-height:1.55}.auth-benefit-list span{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#5b5048;background:#fff9;border-color:#1f1a1524;padding:7px 11px;font-size:.64rem;font-weight:500;transition:transform .16s,border-color .16s,color .16s}.auth-benefit-list span:hover{color:#211b16;border-color:#9a5a3c80;transform:translateY(-2px)}.auth-card{background:#fffffff5;border-color:#1f1a151a;padding:30px 28px;box-shadow:0 30px 80px #1f1a151a,inset 0 1px #fffc}.auth-card-header strong{font-family:var(--font-serif);letter-spacing:-.01em;font-size:1.95rem;font-weight:400}.auth-card input,.auth-card select{transition:border-color .16s,box-shadow .16s,background .16s}.auth-card input:focus,.auth-card select:focus{background-color:#fff;border-color:#9a5a3ca6;outline:none;box-shadow:0 0 0 4px #9a5a3c21}.auth-primary,.auth-secondary{transition:transform .15s,box-shadow .2s,border-color .2s}.auth-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 26px #1f1a1542}.auth-secondary:not(:disabled):hover{border-color:#9a5a3c73;transform:translateY(-1px)}.auth-divider{font-family:var(--font-mono);letter-spacing:.18em;color:#8a7d72;font-size:.62rem}.auth-links a,.auth-links button{position:relative}.auth-links a:after,.auth-links button:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.auth-links a:hover:after,.auth-links button:hover:after{transform:scaleX(1)}@keyframes authRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.auth-brand{animation:.7s cubic-bezier(.2,.7,.2,1) both authRise}.auth-copy .eyebrow{animation:.7s cubic-bezier(.2,.7,.2,1) 80ms both authRise}.auth-copy h1{animation:.85s cubic-bezier(.2,.7,.2,1) .14s both authRise}.auth-copy>p{animation:.7s cubic-bezier(.2,.7,.2,1) .24s both authRise}.auth-benefit-list{animation:.7s cubic-bezier(.2,.7,.2,1) .32s both authRise}.auth-card{animation:.85s cubic-bezier(.2,.7,.2,1) .18s both authRise}}.auth-message,.auth-setup-note{border-radius:14px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.35}.auth-message.error{color:var(--danger);background:var(--danger-soft)}.auth-message.success{color:var(--success);background:var(--success-soft)}.auth-message.loading,.auth-message.info,.auth-setup-note{color:var(--primary);background:var(--primary-soft)}.auth-message.compact{padding:9px 11px}.auth-setup-note{gap:4px;display:grid}.auth-setup-note.error{color:var(--danger);background:var(--danger-soft)}.database-setup-checks{border:1px solid var(--line);background:var(--panel-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.database-setup-checks strong{width:100%;color:var(--ink)}.database-setup-checks span{border-radius:999px;padding:7px 10px;font-size:.85rem;font-weight:800}.database-setup-checks span.ok{color:var(--success);background:var(--success-soft)}.database-setup-checks span.missing{color:var(--danger);background:var(--danger-soft)}.onboarding-page{place-items:center;min-height:100vh;padding:28px;display:grid}.onboarding-panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(circle at 14% 12%, rgba(var(--primary-rgb), .12), transparent 32%), #ffffffeb;width:min(980px,100%);box-shadow:var(--shadow);gap:18px;padding:28px;display:grid}.onboarding-stepper,.setup-checklist{flex-wrap:wrap;gap:8px;display:flex}.onboarding-step,.setup-checklist span,.company-chip{border:1px solid var(--line);background:var(--neutral-soft);color:var(--muted);border-radius:999px;font-size:.82rem;font-weight:800}.onboarding-step{padding:9px 12px}.onboarding-step.active,.onboarding-step.done,.setup-checklist span.done{background:var(--primary-soft);color:var(--primary);border-color:#11111129}.onboarding-copy h1{color:var(--ink);letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.98}.onboarding-copy p:last-child{max-width:720px;color:var(--muted);line-height:1.55}.onboarding-card{max-width:none;box-shadow:none}.landing-page{align-content:center;gap:28px;width:min(1120px,100% - 40px);min-height:100vh;margin:0 auto;padding:72px 0;display:grid}.landing-hero{gap:18px;max-width:760px;display:grid}.landing-hero h1{color:var(--ink);letter-spacing:-.07em;margin:0;font-size:clamp(3rem,9vw,6.4rem);line-height:.94}.landing-hero p{max-width:640px;color:var(--muted);margin:0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.landing-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.landing-actions .shell-button,.landing-nav-card{text-decoration:none}.landing-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.landing-nav-card{border:1px solid var(--line);min-height:160px;color:inherit;border-radius:24px;gap:12px;padding:20px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.landing-nav-card:hover{border-color:rgba(var(--primary-rgb), .3);box-shadow:var(--shadow);transform:translateY(-3px)}.landing-nav-card span{color:var(--ink);font-size:1.05rem;font-weight:800}.landing-nav-card p{color:var(--muted);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:96px minmax(0,1fr);gap:20px;width:min(1640px,100% - 32px);margin:0 auto;padding:16px 0 80px;transition:grid-template-columns .28s ease-out;display:grid}.app-shell:not(.sidebar-collapsed){grid-template-columns:272px minmax(0,1fr)}.sidebar{--sidebar-control-size:40px;--sidebar-icon-size:30px;--sidebar-collapsed-control-size:42px;--sidebar-collapsed-icon-size:30px;z-index:70;isolation:isolate;-webkit-backdrop-filter:blur(18px)saturate(1.05);background:linear-gradient(#fffffffa,#f6f6f2ed),#fffffff0;border:1px solid #16161414;border-radius:24px;flex-direction:column;align-self:start;gap:9px;width:248px;height:calc(100vh - 32px);padding:12px;transition:width .28s ease-out,padding .28s ease-out,background .22s,box-shadow .22s;display:flex;position:sticky;top:16px;overflow:hidden;box-shadow:0 18px 50px #11111114,inset 0 1px #ffffffb8}.sidebar:after{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 28% 12%,#ffffffb8,#0000 24%),linear-gradient(#ffffff38,#ffffff0a);position:absolute;inset:1px}.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{width:72px;padding:12px 9px}.app-shell.sidebar-collapsed .sidebar:hover{z-index:75;background:linear-gradient(#fffffffb,#f7f7f4f4),#fffffff5;width:248px;padding-inline:12px;box-shadow:0 24px 64px #1111111c,inset 0 1px #ffffffc2}.brand-lockup{align-items:center;gap:10px;min-height:46px;padding:2px 0;display:flex;overflow:hidden}.brand-copy,.sidebar-label,.pin-label,.sidebar-project-card{opacity:1;transition:max-width .28s ease-out,opacity .18s,transform .22s ease-out;transform:translate(0)}.brand-copy{white-space:nowrap;min-width:0;max-width:168px;overflow:hidden}.brand-copy p{text-overflow:ellipsis;max-width:100%;margin:4px 0 0;font-size:.82rem;line-height:1.2;overflow:hidden}.brand-mark,.avatar-shell,.icon-button,.sidebar-icon,.asset-thumb{place-items:center;display:grid}.brand-mark{color:#fff;letter-spacing:-.03em;background:radial-gradient(circle at 30% 18%,#fff3,#0000 34%),linear-gradient(145deg,#111,#3a3a35);border-radius:16px;flex:none;width:44px;min-width:44px;height:44px;font-weight:800;position:relative;box-shadow:0 12px 26px #11111124,inset 0 1px #ffffff52;opacity:1!important;visibility:visible!important;transform:none!important}.brand-mark:after{content:"BF";color:#fff;letter-spacing:-.04em;place-items:center;font-weight:850;display:grid;position:absolute;inset:0}.brand-mark.has-logo{background:var(--panel);overflow:hidden}.brand-mark.has-logo:after{content:none}.brand-mark img,.settings-logo-preview img{object-fit:cover;width:100%;height:100%}.brand-lockup p,.sidebar-hint p,.page-header p,.hero-copy,.project-card p,.surface-card p,.task-card p,.issue-card small,.detail-copy,.empty-state p,.team-row p{color:var(--muted)}.brand-lockup strong,.page-header h1,.hero-banner h2,.surface-card h3,.surface-card h4,.project-card h4,.asset-card h4,.template-card strong{margin:0}.collapse-toggle,.sidebar-item,.segmented-control button,.viewer-controls button,.floor-tabs button,.template-card,.quick-panel button{border:1px solid var(--line);background:var(--control-bg)}.collapse-toggle{width:100%;min-height:var(--sidebar-control-size);color:var(--muted);font:inherit;white-space:nowrap;background:0 0;border-color:#0000;border-radius:14px;align-items:center;gap:11px;padding:0 8px;font-weight:700;line-height:1;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:flex;overflow:hidden}.collapse-toggle:focus-visible,.sidebar-item:focus-visible{outline-offset:2px;outline:2px solid #1111113d}.collapse-toggle:hover{color:var(--primary);background:#ffffffad;transform:translateY(-1px);box-shadow:0 10px 22px #1111110f}.pin-icon{flex:0 0 var(--sidebar-icon-size);width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);color:var(--primary);background:#ffffffb8;border-radius:12px;place-items:center;transition:background .18s,color .18s,transform .26s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;box-shadow:inset 0 0 0 1px #11111114,0 8px 16px #1111110a}.pin-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;transform-origin:50%;transform-box:fill-box;width:18px;height:18px;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.collapse-toggle.is-pinned .pin-icon{color:var(--primary);background:#11111117}.collapse-toggle.is-pinned .pin-icon svg{transform:scale(1.05)}.collapse-toggle.is-unpinned .pin-icon svg{transform:scale(1)}.sidebar-nav{scrollbar-width:none;flex:auto;align-content:start;gap:3px;min-height:0;padding-block:2px;display:grid;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-item{min-height:var(--sidebar-control-size);color:#484844eb;cursor:pointer;font:inherit;text-align:left;background:0 0;border-color:#0000;border-radius:14px;align-items:center;gap:11px;width:100%;padding:0 9px;line-height:1;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.sidebar-item.active,.sidebar-item:hover,.template-card:hover,.shell-button:hover,.project-card:hover,.task-card:hover,.issue-card:hover,.asset-card:hover{transform:translateY(-1px)}.sidebar-item:hover{color:var(--text);-webkit-backdrop-filter:blur(12px);background:#ffffffb8;border-color:#16161414;box-shadow:0 10px 22px #1111110e}.sidebar-item.active{color:var(--primary);background:#11111112;border-color:#1111111f}.sidebar-item.active:before{content:"";background:linear-gradient(#111,#6a6a63);border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:4px;box-shadow:0 0 18px #1111112e}.sidebar-icon{width:var(--sidebar-icon-size);height:var(--sidebar-icon-size);color:currentColor;background:#ffffff80;border-radius:11px;flex:none;font-size:.78rem;font-weight:700;position:relative;box-shadow:inset 0 0 0 1px #1111110e}.sidebar-item-badge{border:2px solid var(--surface-card);color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:.64rem;font-weight:900;line-height:14px;position:absolute;top:-5px;right:-6px;box-shadow:0 8px 18px #ef444447}.sidebar-svg-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:18px;height:18px}.sidebar-svg-icon path:first-child{fill:none}.sidebar-fallback-icon{font-size:.74rem;font-weight:800}.sidebar-label{letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.94rem;font-weight:600;line-height:1.1;display:inline-block;overflow:hidden}.pin-label{letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:.93rem;line-height:1.1;display:inline-block;overflow:hidden}.sidebar-hint,.sidebar-project-card{border-radius:var(--radius-md);background:var(--neutral-soft);padding:14px}.sidebar-project-card{background:linear-gradient(#ffffffbd,#f5f5f2ad);border:1px solid #16161414;gap:6px;min-width:0;max-height:112px;padding:10px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.sidebar-bottom{flex:none;gap:6px;margin-top:auto;display:grid}.sidebar-utility-nav{gap:5px;display:grid}.sidebar-user-mini{width:42px;height:42px;color:var(--primary);letter-spacing:-.03em;background:#ffffffb8;border:1px solid #1111111a;border-radius:14px;justify-self:center;place-items:center;font-weight:800;line-height:1;display:none;box-shadow:0 12px 24px #1111110f}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-copy,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-project-card{pointer-events:none;opacity:0;transform:translate(-8px)}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-copy,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-label{width:0;max-width:0;transform:none}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-lockup{justify-content:center;gap:0;width:42px;min-width:0;max-width:42px;margin-inline:auto;overflow:visible}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-mark{border-radius:15px;width:42px;min-width:42px;height:42px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .collapse-toggle,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item{justify-content:center;justify-self:center;gap:0}.app-shell.sidebar-collapsed .sidebar:not(:hover) .collapse-toggle{width:var(--sidebar-collapsed-control-size);min-height:var(--sidebar-collapsed-control-size);background:#ffffff6b;border-color:#0000;align-self:center;padding:0}.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-icon{flex-basis:var(--sidebar-collapsed-icon-size);width:var(--sidebar-collapsed-icon-size);height:var(--sidebar-collapsed-icon-size);background:#ffffffb8;border-radius:10px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-icon svg{width:17px;height:17px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-nav{justify-items:center;gap:6px;width:100%;padding-block:1px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item{width:var(--sidebar-collapsed-control-size);min-height:var(--sidebar-collapsed-control-size);border-radius:13px;padding:0}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-icon{width:var(--sidebar-collapsed-icon-size);height:var(--sidebar-collapsed-icon-size);background:#ffffff94;border-radius:10px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item.active:before{top:11px;bottom:11px;left:2px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-project-card{border-width:0;max-height:0;margin-block:-6px;padding-block:0}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-bottom{border-top:1px solid #11111114;justify-items:center;gap:7px;width:100%;padding-top:7px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-utility-nav{justify-items:center;gap:6px;width:100%}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-user-mini{border-radius:14px;width:42px;height:42px;display:grid}.sidebar-project-card strong{line-height:1.25}.sidebar-project-card>span,.sidebar-health-grid span,.context-strip span,.notification-button{color:var(--muted);font-size:.78rem}.sidebar-progress-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.sidebar-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.sidebar-health-grid span{background:#ffffffc2;border:1px solid #0f766e1f;border-radius:10px;place-items:center;min-height:26px;font-weight:700;display:grid}@media (max-height:860px){.sidebar{--sidebar-collapsed-control-size:40px;--sidebar-collapsed-icon-size:28px;gap:7px;padding-block:10px}.brand-lockup{min-height:42px}.brand-mark{width:42px;min-width:42px;height:42px}.sidebar-project-card{display:none}.app-shell.sidebar-collapsed .sidebar:not(:hover){gap:6px;padding-block:10px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-lockup{width:40px;max-width:40px;min-height:40px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-mark,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-user-mini{width:40px;min-width:40px;height:40px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .collapse-toggle,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item{width:var(--sidebar-collapsed-control-size);min-height:var(--sidebar-collapsed-control-size)}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-nav,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-utility-nav{gap:5px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-bottom{gap:5px;padding-top:5px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-icon,.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-icon{width:var(--sidebar-collapsed-icon-size);height:var(--sidebar-collapsed-icon-size)}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-svg-icon{width:16px;height:16px}}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:.76rem}.main-shell{min-width:0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:8px 4px 14px;display:flex}.topbar-left,.topbar-right,.hero-actions,.toolbar-group,.viewer-controls,.resource-rack,.card-actions,.detail-actions,.form-actions,.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-left{flex:420px;min-width:0;max-width:100%}.topbar-right{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;min-width:0}.topbar-right>*{min-width:0}.toolbar-group.wrap,.resource-rack{flex-wrap:wrap}.search-shell{flex:220px;width:auto;min-width:180px;max-width:360px;position:relative}.search-shell input,.ui-select,.field-group input,.field-group textarea,.field-group select,.form-grid input,.form-grid textarea{width:100%;min-width:0;max-width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--control-bg);color:var(--text);padding:0 14px;box-shadow:inset 0 1px #ffffffb8}.form-grid textarea{resize:vertical;min-height:110px;padding-top:12px}.ui-select{padding-right:38px}.search-shell input:focus,.ui-select:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#11111138;outline:2px solid #1111111f}.search-shell input{padding-left:38px;padding-right:34px}.search-shell.is-open input{border-color:var(--accent)}.search-shell-icon{pointer-events:none;width:18px;height:18px;color:var(--muted);display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-shell-icon svg,.search-shell-clear svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.search-shell-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:5px;transition:background .16s,color .16s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-shell-clear:hover{color:var(--text);background:#7f7f7f29}.search-dropdown{z-index:80;border:1px solid var(--line);background:#fff;border-radius:18px;max-height:min(70vh,460px);padding:8px;animation:.14s search-dropdown-in;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow-y:auto;box-shadow:0 24px 60px #0000002e}.app-shell[data-theme=dark] .search-dropdown{background:#18181c;box-shadow:0 24px 60px #00000080}.app-shell[data-theme=light] .search-dropdown{background:#fff}@keyframes search-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-group+.search-group{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.search-group-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:6px 10px 4px;font-size:.64rem;font-weight:700}.search-result{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:9px 10px;transition:background .14s,border-color .14s;display:flex}.search-result.active,.search-result:hover{border-color:var(--accent);background:#1a1a1d14}.search-result-icon{width:32px;height:32px;color:var(--muted);background:#7f7f7f1f;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.search-result-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.search-result-task{color:#2e7d32;background:#388e3c24}.search-result-drawing{color:#1976d2;background:#1976d224}.search-result-material{color:var(--accent);background:#1a1a1d24}.search-result-team{color:#7b61ff;background:#7b61ff29}.search-result-copy{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.search-result-copy strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.search-result-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.search-result-badge{color:var(--muted);white-space:nowrap;background:#7f7f7f24;border-radius:999px;flex:none;padding:2px 9px;font-size:.68rem;font-weight:600}.search-empty-state{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;display:flex}.search-empty-state strong{color:var(--text);font-size:.92rem}.search-empty-state span{color:var(--muted);font-size:.78rem}.project-switcher{flex:180px;min-width:160px;max-width:280px}.icon-button,.avatar-shell,.quick-add{border:1px solid var(--line);background:var(--control-bg);width:46px;height:46px;color:var(--text);border-radius:14px;font-weight:700}@keyframes chatFabSparkPulse{0%,to{box-shadow:0 3px 10px rgba(var(--muted-rgb), .5)}50%{box-shadow:0 3px 15px rgba(var(--muted-rgb), .78)}}@keyframes floating-chat-in{0%{opacity:0;transform:translateY(10px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes floating-chat-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.975)}}.ai-assistant-embedded{background:var(--panel);flex-direction:column;flex:auto;gap:9px;min-height:0;padding:12px 14px;display:flex;overflow:hidden}.app-shell[data-theme=dark] .ai-assistant-embedded,:root[data-theme=dark] .ai-assistant-embedded{background:#121417}.ai-assistant-embedded-bar{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.ai-embedded-context{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.floating-chat-panel .chat-thread{background:linear-gradient(#ffffffdb, #ffffffdb), radial-gradient(circle at 16% 12%, rgba(var(--muted-rgb), .08), transparent 28%), radial-gradient(circle at 84% 18%, #f59e0b14, transparent 28%);grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;height:100%;min-height:0;display:grid}.floating-chat-panel .chat-thread-header{display:none}.floating-chat-panel .message-alert{border-radius:999px;margin:8px 10px 0;padding:6px 9px;font-size:.72rem;line-height:1.2}.floating-chat-panel .message-alert.info{text-overflow:ellipsis;white-space:nowrap;justify-self:start;max-width:calc(100% - 20px);overflow:hidden}.floating-chat-panel .message-filter-bar{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:8px 10px 6px;display:grid}.floating-chat-panel .message-search-box{min-width:0;font-size:0;display:block}.floating-chat-panel .message-search-box span{display:none}.floating-chat-panel .message-search-box input{border-radius:999px;min-height:32px;padding:0 11px;font-size:.78rem}.floating-chat-panel .message-scope-toggle{flex-wrap:nowrap;gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.floating-chat-panel .message-scope-toggle button{white-space:nowrap;border-radius:999px;flex:none;min-height:28px;padding:0 10px;font-size:.72rem}.floating-chat-panel .message-search-results{border-radius:12px;margin:0 10px 6px;padding:6px}.floating-chat-panel .message-search-results article{padding:7px 58px 7px 8px}.floating-chat-panel .message-search-results p,.floating-chat-panel .message-search-results small{font-size:.74rem}.floating-chat-panel .messages-list{background:0 0;border:0;border-radius:0;height:100%;min-height:0;max-height:none;padding:12px 10px;scroll-padding-bottom:12px}.floating-chat-panel .message-bubble,.floating-chat-panel .message-bubble.own{grid-template-columns:30px minmax(0,1fr);max-width:100%}.floating-chat-panel .message-bubble.own{grid-template-columns:minmax(0,1fr) 30px}.floating-chat-panel .message-avatar{border-radius:10px;width:30px;height:30px;font-size:.68rem}.floating-chat-panel .message-body{border-radius:14px;padding:9px 10px}.floating-chat-panel .message-composer-card{background:#fffffff5;border-width:1px 0 0;border-radius:0;align-self:end;max-height:220px;margin:0;padding:8px 10px 10px;overflow:auto}.floating-chat-panel .message-composer-head,.floating-chat-panel .message-visibility-select{display:none}.floating-chat-panel .message-composer-card textarea{resize:none;border-radius:18px;min-height:42px;max-height:96px;padding:10px 12px}.floating-chat-panel .message-composer-actions{margin-top:7px}.floating-chat-panel .message-composer-actions>span{display:none}.theme-toggle{border:1px solid var(--line);background:var(--control-bg);min-height:46px;color:var(--text);border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.theme-toggle:before{content:"";background:linear-gradient(135deg,#f8d36b,#f59e0b);border-radius:999px;width:18px;height:18px;box-shadow:inset -4px -4px #ffffff8c}.theme-toggle.active{background:var(--primary-soft);border-color:#11111129}.theme-toggle.active:before{background:#dbeafe;box-shadow:inset -6px -2px #475569}.theme-toggle:hover{border-color:#1111112e;transform:translateY(-1px)}.notification-button{border:1px solid var(--line);background:var(--control-bg);border-radius:14px;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-weight:700;display:inline-flex}.notification-button span{background:var(--danger-soft);min-width:24px;height:24px;color:var(--danger);border-radius:999px;place-items:center;font-size:.78rem;display:grid}.notification-center-shell{display:inline-flex;position:relative}.ai-assistant-trigger{color:#fff;letter-spacing:0;background:#16161a;border:1px solid #1111111f;border-radius:14px;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 12px 28px #14141729}.ai-assistant-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:19px;height:19px}.ai-assistant-trigger:hover{background:#16161a;transform:translateY(-1px);box-shadow:0 16px 34px #14141738}.ai-assistant-layer{z-index:1200;pointer-events:none;position:fixed;inset:0}.ai-assistant-backdrop{pointer-events:auto;background:#1414177a;border:0;position:absolute;inset:0}.ai-assistant-drawer{border-left:1px solid var(--line);background:var(--panel);width:min(460px,100vw);color:var(--text);pointer-events:auto;flex-direction:column;gap:9px;padding:16px 18px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-24px 0 70px #14141752}.app-shell[data-theme=dark] .ai-assistant-drawer,:root[data-theme=dark] .ai-assistant-drawer{background:#121417}.ai-assistant-header{justify-content:space-between;align-items:center;gap:10px;padding-bottom:2px;display:flex}.ai-assistant-title-row{align-items:center;gap:8px;min-width:0;display:flex}.ai-assistant-header h2{letter-spacing:0;margin:0;font-size:1.22rem}.ai-assistant-header span{color:var(--muted);margin-top:3px;font-size:.78rem;line-height:1.4;display:block}.ai-provider-badge{border:1px solid rgba(var(--muted-rgb), .28);background:rgba(var(--muted-rgb), .12);white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:4px 8px;font-weight:800;line-height:1;color:var(--ink)!important;margin-top:0!important;font-size:.72rem!important;display:inline-flex!important}.ai-assistant-close{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--text);border-radius:10px;flex:none;place-items:center;display:grid}.ai-assistant-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:20px;height:20px}.ai-context-panel{min-height:28px;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;padding:0;font-size:.72rem;display:flex;overflow:hidden}.ai-prompt-chips{flex-wrap:wrap;gap:6px;padding:2px 0 4px;display:flex}.ai-prompt-chips::-webkit-scrollbar{display:none}.ai-prompt-chip{border:1px solid var(--line);background:var(--control-bg);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:999px;align-items:center;padding:6px 11px;font-size:.76rem;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.ai-prompt-chip:hover{border-color:rgba(var(--muted-rgb), .5);background:rgba(var(--muted-rgb), .08);transform:translateY(-1px)}.ai-context-panel strong{max-width:190px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.ai-context-panel span{color:var(--muted);flex:none;font-weight:800}.ai-context-panel em{border-left:1px solid var(--line);max-width:130px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-left:8px;font-style:normal;font-weight:700;overflow:hidden}.ai-usage-strip{border:1px solid rgba(var(--muted-rgb), .18);background:rgba(var(--muted-rgb), .06);min-height:26px;color:var(--ink);border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-size:.7rem;font-weight:800;display:flex}.ai-usage-strip.near-limit{border-color:var(--warning-soft);background:var(--warning-soft);color:var(--warning)}.ai-usage-strip.limit-reached{border-color:var(--danger-soft);background:var(--danger-soft);color:var(--danger)}.ai-upgrade-card{border:1px solid var(--warning-soft);border-color:var(--warning-soft);background:linear-gradient(135deg,#f59e0b24,#ffffffc7);border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:10px 11px;display:grid;box-shadow:0 10px 24px #92400e14}.ai-upgrade-icon{border:1px solid var(--warning-soft);width:34px;height:34px;color:var(--warning);letter-spacing:0;background:#ffffffbd;border-radius:10px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.ai-upgrade-copy{min-width:0}.ai-upgrade-card strong{color:var(--warning);margin-bottom:3px;font-size:.82rem;line-height:1.2;display:block}.ai-upgrade-card span{color:#854d0e;max-width:360px;font-size:.72rem;font-weight:700;line-height:1.38;display:block}.ai-prompt-intro{align-items:center;min-height:32px;padding:2px 0 3px;display:flex}.ai-prompt-intro span{color:var(--text-muted);font-size:.82rem;font-weight:600;line-height:1.4}.ai-answer-actions{border-top:1px solid var(--line);padding-top:4px}.ai-answer-actions summary{cursor:pointer;color:var(--muted);font-size:.76rem;font-weight:800;list-style-position:inside}.ai-answer-actions div{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.ai-answer-actions button{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--text);border-radius:8px;padding:0 8px;font-size:.72rem;font-weight:800}.ai-answer-actions button:hover:not(:disabled){background:var(--primary-soft);border-color:#1113}.ai-answer-actions button:disabled{cursor:not-allowed;opacity:.55}.ai-debug-panel{border-top:1px solid var(--line);padding-top:4px}.ai-debug-panel summary{cursor:pointer;color:var(--muted);font-size:.76rem;font-weight:900;list-style-position:inside}.ai-debug-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.ai-debug-actions button{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--text);border-radius:8px;padding:0 8px;font-size:.7rem;font-weight:800}.ai-debug-actions button:hover:not(:disabled){background:var(--primary-soft);border-color:#14141733}.ai-debug-actions button:disabled{cursor:not-allowed;opacity:.55}.ai-debug-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.ai-debug-summary span,.ai-debug-tests span,.ai-debug-empty,.ai-debug-error{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent);min-width:0;color:var(--muted);border-radius:8px;padding:6px 7px;font-size:.68rem;font-weight:700}.ai-debug-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ai-debug-tests{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-debug-tests span.pass{border-color:rgba(var(--muted-rgb), .22);background:rgba(var(--muted-rgb), .08);color:var(--ink)}.ai-debug-tests span.fail,.ai-debug-error{border-color:var(--danger-soft);background:var(--danger-soft);color:var(--danger)}.ai-debug-panel pre{border:1px solid var(--line);color:#e5e7eb;white-space:pre-wrap;background:#16161a;border-radius:8px;max-height:220px;margin:8px 0 0;padding:9px;font-size:.68rem;line-height:1.45;overflow:auto}.ai-chat-history{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 58%, transparent);border-radius:10px;flex-direction:column;flex:auto;gap:9px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-message{border:1px solid var(--line);background:var(--panel);border-radius:10px;max-width:86%;padding:10px 12px;font-size:.86rem}.ai-message.from-user{color:#fff;background:#16161a;border-color:#14141733;align-self:flex-end;min-width:116px;max-width:78%}.ai-message span{color:var(--muted);font-size:.68rem;font-weight:800;display:block}.ai-message.from-user span{color:#ffffffb8}.ai-message p{white-space:pre-wrap;margin:4px 0 0;line-height:1.42}.ai-message.loading p{color:var(--muted)}.ai-message-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-message-actions button{border:1px solid rgba(var(--muted-rgb), .22);background:rgba(var(--muted-rgb), .08);min-height:30px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:.72rem;font-weight:800}.ai-message-actions button:hover:not(:disabled){background:rgba(var(--muted-rgb), .14)}.ai-message-actions button:disabled{cursor:not-allowed;opacity:.6}.ai-error-message{border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:0;padding:9px 11px;font-size:.8rem;font-weight:700}.ai-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.ai-input-row textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:44px;max-height:104px;color:var(--text);resize:vertical;border-radius:8px;padding:10px 11px;line-height:1.4}.app-shell[data-theme=dark] .ai-assistant-close,.app-shell[data-theme=dark] .ai-answer-actions button,.app-shell[data-theme=dark] .ai-debug-actions button,.app-shell[data-theme=dark] .ai-message,.app-shell[data-theme=dark] .ai-input-row textarea,:root[data-theme=dark] .ai-assistant-close,:root[data-theme=dark] .ai-answer-actions button,:root[data-theme=dark] .ai-debug-actions button,:root[data-theme=dark] .ai-message,:root[data-theme=dark] .ai-input-row textarea{background:#191b1f}.ai-submit-button{color:#fff;background:#9ca3af;border:0;border-radius:999px;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;font-weight:800;transition:background .14s,transform .14s,opacity .14s;display:grid;box-shadow:inset 0 1px #ffffff29}.ai-submit-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.ai-submit-button:hover:not(:disabled){background:#6b7280}.ai-submit-button:active:not(:disabled){transform:translateY(1px)}.ai-submit-spinner{border:2px solid #ffffff47;border-top-color:#fff;border-radius:999px;width:16px;height:16px;animation:.85s linear infinite spin}.ai-submit-button:disabled{cursor:not-allowed;opacity:.58}.ai-submit-button.is-loading:disabled{opacity:.84}.ai-disclaimer{color:var(--muted);margin:0;font-size:.7rem;line-height:1.3}@media (max-width:720px){.ai-assistant-trigger{justify-content:center;width:46px;min-width:46px;padding:0}.ai-assistant-trigger span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ai-assistant-drawer{width:100vw;padding:12px}.ai-assistant-header h2{font-size:1.08rem}.ai-input-row{grid-template-columns:minmax(0,1fr) auto}.ai-submit-button{width:42px}.ai-answer-actions div{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-debug-actions,.ai-debug-summary{grid-template-columns:1fr}}.notification-button.active,.notification-button:hover{background:#1111110e;border-color:#1111112e}.notification-button.active span,.notification-button:hover span{background:var(--primary);color:#fff}.notification-button.notification-icon-button{justify-content:center;gap:0;width:46px;min-width:46px;padding:0;position:relative}.notification-button.notification-icon-button .notification-button-glyph{color:currentColor;background:0 0;border-radius:0;width:22px;min-width:22px;height:22px}.notification-button.notification-icon-button .notification-button-glyph svg,.quick-add-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:22px;height:22px}.notification-button.notification-icon-button .notification-count-badge{min-width:17px;height:17px;padding:0 4px;font-size:.66rem;line-height:1;position:absolute;top:5px;right:5px}.notification-button.notification-icon-button.active .notification-button-glyph,.notification-button.notification-icon-button:hover .notification-button-glyph{color:currentColor;background:0 0}.quick-add-icon-button{place-items:center;min-width:46px;padding:0;line-height:1;display:grid}.notification-dropdown{z-index:80;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-radius:24px;width:min(420px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 24px 60px #1111111f}.notification-dropdown-head,.notification-page-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-dropdown-head{padding:4px 4px 12px}.notification-dropdown-head strong{color:var(--ink);margin-top:2px;display:block}.notification-dropdown-head button,.notification-view-all{border:1px solid var(--line);color:var(--primary);cursor:pointer;background:#fff;border-radius:12px;font-weight:800}.notification-dropdown-head button{padding:9px 12px}.notification-dropdown-list{gap:8px;max-height:380px;display:grid;overflow-y:auto}.notification-menu-item,.notification-page-main{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.notification-menu-item{border:1px solid #0000;border-radius:18px;grid-template-columns:38px 1fr auto;align-items:start;gap:10px;padding:12px;display:grid;position:relative}.notification-menu-item:hover,.notification-menu-item.unread{border-color:var(--accent);background:#1a1a1d12}.notification-icon-badge{width:36px;height:36px;color:var(--primary);background:#1a1a1d1f;border-radius:13px;place-items:center;display:grid}.notification-category-icon{width:18px;height:18px}.notification-icon-issues{background:var(--danger-soft);color:var(--danger)}.notification-icon-daily_logs{background:var(--info-soft);color:var(--info)}.notification-icon-materials{background:var(--warning-soft);color:var(--warning)}.notification-icon-inventory{background:var(--success-soft);color:var(--success)}.notification-icon-team{color:#7e22ce;background:#a855f721}.notification-icon-reminders{color:#4f46e5;background:#6366f121}.notification-menu-copy,.notification-page-main span:last-child{min-width:0}.notification-menu-copy strong,.notification-page-main strong{color:var(--ink);display:block}.notification-menu-copy small,.notification-page-main small{color:var(--muted);line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;display:-webkit-box;overflow:hidden}.notification-menu-copy em,.notification-page-main em{color:var(--muted);margin-top:5px;font-size:.78rem;font-style:normal;display:block}.notification-unread-dot{background:var(--primary);border-radius:999px;width:9px;height:9px;margin-top:7px}.notification-view-all{width:100%;margin-top:12px;padding:12px}.notification-empty-state,.notification-empty-large{color:var(--muted);text-align:center;padding:22px}.notification-empty-state strong{color:var(--ink);margin-bottom:4px;display:block}.notifications-page{gap:18px}.notification-filter-bar{border:1px solid var(--line);background:#ffffffb8;border-radius:20px;gap:10px;padding:6px;display:flex;overflow-x:auto}.notification-filter-bar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:14px;flex:none;align-items:center;gap:8px;padding:11px 14px;font-weight:800;display:inline-flex}.notification-filter-bar button.active{color:var(--primary);background:#fff;box-shadow:0 12px 28px #14141714}.notification-filter-bar span{background:var(--neutral-soft);min-width:24px;height:24px;color:var(--ink);border-radius:999px;place-items:center;font-size:.78rem;display:grid}.notification-page-list{background:0 0;gap:0;display:grid}.notification-page-item{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.notification-page-item:first-child{border-top:1px solid var(--line)}.notification-page-item.unread{border-color:var(--line);background:0 0}.notification-page-main{grid-template-columns:42px 1fr;align-items:start;gap:12px;display:grid}.notification-preferences-card{margin-top:8px}.notification-preference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notification-preference-row{border:1px solid var(--line);background:#fafaf9c2;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.notification-preference-row strong,.notification-preference-row small{display:block}.notification-preference-row small{color:var(--muted);margin-top:3px}.notification-preference-row input{width:20px;height:20px;accent-color:var(--primary)}.settings-center{gap:18px}.settings-context-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-center-shell{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-subnav{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffffb3, #ffffff6b), var(--panel);box-shadow:var(--shadow-soft);gap:8px;padding:10px;display:grid;position:sticky;top:86px}.settings-subnav button{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;gap:3px;padding:12px 13px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:grid}.settings-subnav span{font-size:.95rem;font-weight:850}.settings-subnav small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:750}.settings-panel{gap:16px;min-width:0;display:grid}.settings-panel-head{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffffdb, #ffffff8c), var(--panel);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px;display:flex}.settings-panel-head h3,.settings-card h4{color:var(--ink);margin:0}.settings-panel-head p:not(.eyebrow),.settings-card p{color:var(--muted);margin:8px 0 0}.settings-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, #ffffffdb, #ffffff94), var(--panel);min-width:0;box-shadow:var(--shadow-soft);align-content:start;gap:14px;padding:18px;display:grid}.settings-card.wide{grid-column:span 2}.settings-card.muted{background:var(--surface-soft)}.settings-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-form-grid.single{grid-template-columns:1fr}.settings-field{gap:7px;min-width:0;display:grid}.settings-field span{color:var(--muted);font-size:.84rem;font-weight:800}.settings-field.readonly{border:1px solid var(--line);background:var(--control-bg);border-radius:14px;min-height:44px;padding:10px 12px}.settings-field.readonly strong{color:var(--ink);font-size:.98rem}.settings-field.readonly small{color:var(--muted);line-height:1.35}.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:14px;outline:none;padding:10px 12px}.settings-inline-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.settings-inline-control button{border:1px solid var(--line);background:var(--ink);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:14px;padding:0 14px;font-size:.84rem;font-weight:800}.settings-inline-control button:disabled{cursor:not-allowed;opacity:.5}.settings-field-error{color:var(--danger);font-size:.78rem;font-weight:800}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:color-mix(in srgb, var(--primary) 34%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.settings-toggle-row,.settings-role-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.settings-toggle-row span,.settings-role-row span{gap:3px;display:grid}.settings-toggle-row strong,.settings-role-row strong{color:var(--ink)}.settings-toggle-row small,.settings-role-row span{color:var(--muted);font-size:.84rem}.settings-toggle-row input{width:20px;height:20px;accent-color:var(--primary)}.settings-role-list{gap:8px;display:grid}.settings-role-system{grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;display:grid}.settings-role-panel{grid-column:auto}.settings-role-actions,.settings-role-row-actions,.settings-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.settings-role-tabs,.settings-role-toolbar{flex-wrap:wrap;gap:8px;display:flex}.settings-role-tabs button,.settings-permission-group-head button{border:1px solid var(--line);background:var(--control-bg);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.82rem;font-weight:900}.settings-role-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--panel)}.settings-role-toolbar{grid-template-columns:minmax(0,1fr) minmax(160px,220px);display:grid}.settings-role-toolbar input{border:1px solid var(--line);background:var(--control-bg);min-height:40px;color:var(--ink);font:inherit;border-radius:14px;padding:0 12px}.settings-role-row.editable{align-items:flex-start}.settings-role-row.editable>div:first-child{gap:5px;min-width:0;display:grid}.settings-role-badges{flex-wrap:wrap;gap:6px;display:flex}.settings-role-summary{position:sticky;top:92px}.settings-assignment-list,.settings-project-role-grid,.settings-project-role-list,.settings-permission-matrix{gap:10px;display:grid}.settings-assignment-row,.settings-project-role-member,.settings-project-role-row,.settings-permission-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px}.settings-assignment-row,.settings-project-role-row{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:12px;padding:10px 12px;display:grid}.settings-assignment-row>div,.settings-project-role-member-head{gap:3px;display:grid}.settings-assignment-row span,.settings-project-role-member-head span,.settings-project-role-row span,.settings-muted-line{color:var(--muted);font-size:.84rem}.settings-project-role-member{gap:10px;padding:12px;display:grid}.settings-project-role-list{gap:8px}.settings-modal-backdrop{z-index:80;background:#14141752;justify-content:end;align-items:stretch;display:grid;position:fixed;inset:0}.settings-role-editor{background:var(--panel);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:14px;width:min(760px,100vw);height:100vh;padding:20px;display:grid;overflow:auto;box-shadow:-20px 0 60px #14141733}.settings-role-editor .settings-card-head button{border:1px solid var(--line);background:var(--control-bg);width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;font-weight:900}.settings-field.wide,.settings-inline-actions.wide,.settings-field-error.wide{grid-column:span 2}.settings-inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-inline-actions small{color:var(--muted);font-weight:700}.settings-permission-group{padding:12px}.settings-permission-group-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.settings-permission-group-head span{gap:6px;display:flex}.settings-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-permission-item{min-height:34px;color:var(--ink);align-items:center;gap:8px;font-size:.86rem;font-weight:700;display:flex}.settings-permission-item input{width:18px;height:18px;accent-color:var(--primary)}.settings-error-banner,.settings-success-banner{border-radius:12px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:800}.settings-error-banner{background:color-mix(in srgb, var(--danger) 10%, var(--panel));color:var(--danger)}.settings-success-banner{background:color-mix(in srgb, var(--success) 10%, var(--panel));color:var(--success)}.settings-logo-preview{background:linear-gradient(135deg, var(--primary), var(--accent));width:70px;height:70px;color:var(--panel);letter-spacing:-.06em;border-radius:22px;place-items:center;font-size:1.35rem;font-weight:950;display:grid;overflow:hidden}.settings-logo-preview.has-logo{background:var(--control-bg);border:1px solid var(--line)}.settings-tag-list{flex-wrap:wrap;gap:8px;display:flex}.settings-day-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.settings-day-grid label{border:1px solid var(--line);background:var(--surface-soft);min-height:40px;color:var(--ink);border-radius:13px;justify-content:center;align-items:center;gap:6px;font-weight:800;display:flex}.settings-preview-tag{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:9.5px;font-style:normal;font-weight:700}.settings-holiday-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.settings-holiday-list li{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.settings-holiday-list li button{color:var(--primary);cursor:pointer;background:0 0;border:none;font-weight:700}.settings-holiday-list li button:disabled{color:var(--muted);cursor:not-allowed}.settings-workflow-row{flex-wrap:wrap;gap:8px;display:flex}.settings-workflow-row span{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:999px;padding:10px 12px;font-weight:850}.settings-metric-row{background:var(--surface-soft);border-radius:16px;justify-content:space-between;align-items:baseline;gap:10px;padding:12px;display:flex}.settings-metric-row strong{color:var(--ink);font-size:1.8rem}.settings-metric-row span{color:var(--muted);font-weight:750}.settings-usage-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;display:grid}.settings-usage-grid div{background:var(--surface-soft);border-radius:18px;gap:4px;padding:14px;display:grid}.settings-usage-grid strong{color:var(--ink);font-size:1.65rem}.settings-usage-grid .settings-usage-compact strong{font-size:1.2rem;line-height:1.3}.settings-storage-modules{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.settings-storage-chip{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;gap:2px;padding:8px 12px;display:grid}.settings-storage-chip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.98rem}.settings-storage-chip span{color:var(--muted);font-size:.74rem;font-weight:750}.settings-storage-projects{gap:12px;margin:0;padding:0;list-style:none;display:grid}.settings-storage-project-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:5px;display:flex}.settings-storage-project-head strong{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-size:.88rem}.settings-storage-project-head span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;font-weight:750}.settings-storage-bar{background:var(--primary-soft);border-radius:999px;height:6px;overflow:hidden}.settings-storage-bar i{border-radius:inherit;background:var(--ink);height:100%;display:block}.settings-usage-grid span{color:var(--muted);font-weight:750}.settings-billing-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.settings-billing-meta div{background:#ffffffb8;border:1px solid #23483a1a;border-radius:12px;gap:4px;padding:12px;display:grid}.settings-billing-meta span,.settings-muted-note{color:var(--muted);font-size:.82rem}.settings-billing-meta strong{color:var(--ink);overflow-wrap:anywhere;font-size:.95rem}.card-actions.vertical{align-items:stretch;gap:8px;display:grid}.settings-usage-progress{background:var(--surface-soft);border-radius:999px;width:100%;height:9px;overflow:hidden}.settings-usage-progress span{border-radius:inherit;background:linear-gradient(90deg, #14b8a6, var(--accent));height:100%;transition:width .18s;display:block}.settings-center .notification-preference-row{background:var(--surface-soft)}:root[data-theme=dark] .settings-subnav,.app-shell[data-theme=dark] .settings-subnav,:root[data-theme=dark] .settings-panel-head,.app-shell[data-theme=dark] .settings-panel-head,:root[data-theme=dark] .settings-card,.app-shell[data-theme=dark] .settings-card{background:linear-gradient(180deg, #ffffff0d, #ffffff05), var(--panel)}:root[data-theme=dark] .settings-logo-preview,.app-shell[data-theme=dark] .settings-logo-preview{color:#090a0c}@media (max-width:1100px){.settings-center-shell{grid-template-columns:1fr}.settings-subnav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.settings-subnav,.settings-role-system,.settings-role-toolbar,.settings-assignment-row,.settings-project-role-row,.settings-permission-grid,.settings-card-grid,.settings-form-grid,.settings-billing-meta,.settings-usage-grid,.notification-preference-grid{grid-template-columns:1fr}.settings-card.wide{grid-column:auto}.settings-role-summary{position:static}.settings-field.wide,.settings-inline-actions.wide,.settings-field-error.wide{grid-column:auto}.settings-panel-head,.settings-card-head{display:grid}.settings-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.avatar-shell{background:var(--neutral-soft)}.user-menu{border:1px solid var(--line);background:#ffffffc7;border-radius:18px;align-items:center;gap:10px;max-width:min(360px,100%);min-height:46px;padding:4px 6px 4px 4px;display:flex;overflow:hidden}.company-chip{background:var(--panel-soft);border-radius:16px;align-content:center;gap:2px;min-height:46px;padding:6px 13px;display:grid}.company-chip span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.company-chip strong{max-width:130px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.company-chip-button{border:1px solid var(--line);cursor:pointer;text-align:left;min-width:116px;font-family:inherit;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;position:relative}.company-chip-button:not(:disabled):hover{background:#ffffffd6;border-color:#1111112e;transform:translateY(-1px);box-shadow:0 14px 30px #11111114}.company-chip-button:disabled{cursor:not-allowed;opacity:.74}.company-chip-button em{color:var(--primary);letter-spacing:.02em;opacity:0;pointer-events:none;font-size:.62rem;font-style:normal;font-weight:900;transition:opacity .16s;position:absolute;bottom:5px;right:10px}.company-chip-button:not(:disabled):hover em{opacity:1}.user-menu-copy{flex:auto;min-width:0;line-height:1.1;display:grid}.user-menu-copy strong{max-width:150px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.user-menu-copy span{color:var(--muted);font-size:.76rem}.user-logout{border:1px solid var(--line);min-height:34px;color:var(--muted);background:var(--panel-soft);font:inherit;cursor:pointer;border-radius:12px;flex:none;padding:0 10px;font-size:.82rem;font-weight:800}.team-profile-meta,.permission-grid{flex-wrap:wrap;gap:8px;display:flex}.team-profile-meta span{color:var(--muted);background:var(--neutral-soft);text-transform:capitalize;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:700}.auth-permissions-card{gap:12px;display:grid}.invite-team-card{gap:14px;padding:18px;display:grid}.invite-copy-link{background:var(--primary-soft);color:var(--primary);overflow-wrap:anywhere;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.invite-copy-link>div{gap:4px;min-width:0;display:grid}.invite-copy-link span{overflow-wrap:anywhere;min-width:0;display:block}.invite-copy-link strong{color:var(--text);margin-bottom:4px;display:block}.invite-accept-card,.invite-summary{gap:14px;display:grid}.invite-summary{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;grid-template-columns:max-content 1fr;align-items:center;padding:14px}.invite-summary span{color:var(--muted);font-weight:700}.team-member-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:12px;padding:16px;display:grid}.compact-select{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);font:inherit;border-radius:999px;padding:0 12px}.invite-list{gap:10px;display:grid}.invite-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.invite-row>div:first-child{flex:260px;min-width:0}.invite-row strong,.invite-row span,.invite-row p{overflow-wrap:anywhere}.invite-row p{color:var(--muted);margin:4px 0 0}.team-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.team-summary-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffd1;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.team-summary-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}.team-summary-card strong{color:var(--ink);font-size:1.18rem}.team-management-card{gap:10px;padding:12px;display:grid}.team-filter-bar{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(128px,1fr));gap:8px;display:grid}.team-filter-bar label,.team-field{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:.72rem;font-weight:800;display:grid}.team-filter-bar input,.team-filter-bar select,.team-field select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:34px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;border-radius:10px;padding:0 10px;font-size:.84rem}.team-table-wrap{border:1px solid var(--line);background:#ffffffb3;border-radius:12px;overflow-x:hidden}.team-members-table{table-layout:fixed;border-collapse:collapse;width:100%}.team-col-name{width:17%}.team-col-email{width:20%}.team-col-phone,.team-col-role{width:10%}.team-col-access{width:16%}.team-col-status,.team-col-active{width:7%}.team-col-actions{width:13%}.team-members-table th,.team-members-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:10px 8px}.team-members-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#fafaf8e6;font-size:.65rem;font-weight:900}.team-members-table tbody tr{transition:background .16s}.team-members-table tbody tr:hover{background:#1a1a1d0d}.team-members-table tbody tr:last-child td{border-bottom:0}.team-member-identity,.team-project-access{align-items:center;gap:8px;display:flex}.team-member-identity strong,.team-project-access strong{color:var(--ink);font-size:.88rem;line-height:1.2;display:block}.team-member-identity small,.team-project-access small{color:var(--muted);margin-top:2px;font-size:.72rem;line-height:1.25;display:block}.team-avatar{width:30px;height:30px;color:var(--primary);background:linear-gradient(135deg,#1a1a1d24,#0e74901f);border-radius:10px;flex:none;place-items:center;font-size:.72rem;font-weight:900;display:grid}.team-project-access{gap:2px;min-width:0;display:grid}.team-role-badge,.team-status-badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:900;display:inline-flex}.team-role-badge.role-owner{color:#7e22ce;background:#a855f721}.team-role-badge.role-admin{color:var(--accent);background:#1a1a1d1f}.team-role-badge.role-project_manager{color:#4338ca;background:#4f46e51f}.team-role-badge.role-supervisor{background:var(--success-soft);color:var(--success)}.team-role-badge.role-worker{color:#475569;background:#7a76701f}.team-role-badge.role-client_viewer{background:var(--warning-soft);color:var(--warning)}.team-status-badge.status-active{background:var(--success-soft);color:var(--success)}.team-status-badge.status-inactive,.team-status-badge.status-removed{background:var(--neutral-soft);color:var(--muted)}.team-status-badge.status-invited,.team-status-badge.status-pending{background:var(--warning-soft);color:var(--warning)}.team-action-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;display:grid}.team-action-menu button,.team-modal-head button,.access-type-toggle button{border:1px solid var(--line);min-height:28px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;background:#ffffffe6;border-radius:9px;padding:0 8px;font-size:.72rem;font-weight:800;line-height:1}.team-action-menu button.danger{color:var(--danger)}.team-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#14141733;position:fixed;inset:0}.team-modal{z-index:91;align-content:start;gap:16px;width:min(520px,100vw - 44px);padding:22px;animation:.22s ease-out teamModalIn;display:grid;position:fixed;top:22px;bottom:22px;right:22px;overflow:auto}.team-modal.compact{animation:none;top:50%;bottom:auto;transform:translateY(-50%)}.team-modal.wide{width:min(680px,100vw - 44px)}@keyframes teamModalIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.team-modal-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.team-modal-head h4{margin:2px 0 0}.team-profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.team-profile-detail-grid span,.role-editor-current,.role-description-preview,.team-warning-note,.project-access-row{background:var(--panel-soft);border-radius:16px;padding:12px}.team-profile-detail-grid span,.role-editor-current{color:var(--muted);gap:4px;font-size:.82rem;display:grid}.team-profile-detail-grid strong,.role-editor-current strong{color:var(--ink)}.role-description-preview{gap:5px;display:grid}.role-description-preview p,.team-warning-note{color:var(--muted);margin:0}.access-type-toggle{background:var(--panel-soft);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;display:grid}.access-type-toggle button.active{color:var(--primary);box-shadow:var(--shadow-soft);background:#fff}.project-access-list{gap:10px;display:grid}.project-access-row{grid-template-columns:minmax(0,1fr) minmax(170px,220px);align-items:center;gap:10px;display:grid}.project-access-row label{color:var(--ink);align-items:center;gap:10px;font-weight:850;display:flex}.project-access-row select{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background-color:#fff;border-radius:12px;padding:0 10px}@media (max-width:720px){.invite-row,.invite-copy-link{grid-template-columns:1fr;align-items:stretch}.team-summary-grid,.team-filter-bar,.team-profile-detail-grid,.project-access-row{grid-template-columns:1fr}.team-modal{width:auto;inset:12px}}.shell-button{border:1px solid var(--line);background:var(--control-bg);min-width:0;max-width:100%;min-height:44px;color:var(--text);overflow-wrap:anywhere;text-align:center;border-radius:14px;justify-content:center;align-items:center;padding:0 16px;line-height:1.1;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 1px #ffffffb8}.shell-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.shell-button-primary{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 10px 22px #1111111f}.shell-button-success{border-color:var(--success-soft);background:var(--success-soft);color:var(--success)}.shell-button-danger{border-color:var(--danger-soft);color:var(--danger);background:#ffffffe0}.shell-button-secondary{background:var(--control-bg)}.page-header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.page-header h1{color:var(--ink);letter-spacing:-.055em;font-size:clamp(2rem,3vw,2.75rem);font-weight:780;line-height:1.04}.page-header p:last-child{max-width:720px;color:var(--muted);margin:10px 0 0;line-height:1.55}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.context-strip{border:1px solid var(--line);background:#ffffffdb;border-radius:18px;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) repeat(2,minmax(130px,.6fr));gap:12px;margin-bottom:18px;padding:12px;display:grid;box-shadow:0 10px 26px #1111110b}.context-strip>div{background:var(--panel-soft);border-radius:14px;gap:4px;min-width:0;padding:10px 12px;display:grid}.setup-checklist{border:1px solid var(--line);background:#ffffffbd;border-radius:18px;align-items:center;margin:-6px 0 18px;padding:10px 12px}.setup-checklist strong{margin-right:6px}.setup-checklist span{padding:7px 10px}.context-strip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.explore-mode-banner{background:linear-gradient(135deg,#f1f7ffeb,#ffffffe0);border:1px solid #1a1a1d29;grid-template-columns:minmax(0,1.8fr) auto;align-items:center;gap:18px;margin:-4px 0 18px;padding:18px 20px;display:grid}.explore-mode-banner h3{margin:4px 0 6px}.explore-mode-banner p:last-child{margin-bottom:0}.explore-mode-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.upgrade-required-modal{z-index:80;width:min(520px,100vw - 32px);padding:22px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.upgrade-required-modal h3{margin:6px 0 8px}.project-required-modal{z-index:80;width:min(520px,100vw - 32px);padding:22px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.project-required-modal h3{margin:6px 0 8px}.project-required-modal p{color:var(--muted);line-height:1.45}.project-required-icon{border:1px solid rgba(var(--primary-rgb), .18);width:46px;height:46px;box-shadow:0 16px 34px rgba(var(--primary-rgb), .1);background:linear-gradient(#fafaf8fa,#fffffffa);border-radius:16px;place-items:center;margin-bottom:12px;display:grid;position:relative}.project-required-icon span:first-child{border:2px solid var(--primary);border-radius:3px;width:20px;height:15px}.project-required-icon span:last-child{background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;bottom:12px;right:12px}.project-required-log{border:1px solid rgba(var(--primary-rgb), .12);background:#fafaf8db;border-radius:16px;gap:8px;margin:16px 0 14px;padding:12px;display:grid}.project-required-log div{color:var(--muted);grid-template-columns:10px minmax(0,1fr);align-items:start;gap:8px;font-size:.82rem;display:grid}.project-required-log i{border:2px solid rgba(var(--primary-rgb), .35);border-radius:999px;width:8px;height:8px;margin-top:5px}.project-required-log .active{color:var(--text);font-weight:700}.project-required-log .active i{border-color:var(--accent);background:var(--accent)}.project-required-meta{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.upgrade-required-meta{flex-wrap:wrap;gap:10px;margin:14px 0 18px;display:flex}.pricing-page{background:linear-gradient(180deg, #fafaf9f5, #f5f5f3e0), var(--bg);min-height:100vh;padding:40px clamp(18px,4vw,52px) 56px}.billing-result-page{background:var(--bg);align-items:center;min-height:100vh;padding:24px;display:flex}.billing-result-card{gap:16px;max-width:620px;margin:0 auto;padding:28px;display:grid}.billing-result-card h1{color:var(--ink);margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.billing-result-card p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.65}.billing-result-actions{flex-wrap:wrap;gap:10px;display:flex}.pricing-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;max-width:1280px;margin:0 auto 20px;padding:8px 0 12px;display:grid}.pricing-hero h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(2rem,3vw,3.3rem);line-height:1.02}.pricing-hero p:not(.eyebrow){max-width:780px;color:var(--muted);margin:14px 0 0;font-size:1rem;line-height:1.7}.pricing-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:220px;display:flex}.pricing-status-strip{border:1px solid var(--line);background:#ffffffd1;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1280px;margin:0 auto 22px;padding:16px;display:grid;box-shadow:0 10px 30px #1414170a}.pricing-status-strip div{gap:4px;min-width:0;display:grid}.pricing-status-strip span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.pricing-status-strip strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pricing-message{max-width:1280px;margin:0 auto 16px}.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1280px;margin:0 auto;display:grid}.pricing-card{grid-template-rows:auto auto auto auto 1fr auto;gap:18px;min-width:0;min-height:620px;padding:26px;display:grid;overflow:hidden}.pricing-card.featured{border-color:color-mix(in srgb, var(--accent) 46%, var(--line));box-shadow:0 18px 48px #1414171f}.pricing-card-head{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.pricing-card-head .eyebrow{max-width:130px;margin:0;line-height:1.2}.pricing-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pricing-plan-badge{background:var(--neutral-soft);max-width:100%;min-height:28px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.pricing-plan-badge.current{background:var(--success-soft);color:var(--success)}.pricing-plan-title{gap:10px;display:grid}.pricing-plan-title h2{color:var(--ink);margin:0;font-size:1.75rem;line-height:1.1}.pricing-plan-title p{min-height:76px;color:var(--muted);margin:0;line-height:1.55}.pricing-price{gap:4px;padding:4px 0;display:grid}.pricing-price strong{color:var(--text);letter-spacing:0;font-size:clamp(1.85rem,2.2vw,2.5rem);line-height:1}.pricing-price span{color:var(--muted);font-size:.88rem}.pricing-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pricing-metric{border:1px solid var(--line);background:#f5f5f2bd;border-radius:8px;min-width:0;padding:10px}.pricing-metric strong,.pricing-metric span{overflow-wrap:break-word;min-width:0;display:block}.pricing-metric strong{color:var(--ink);font-size:clamp(.85rem,1.1vw,1rem);line-height:1.15}.pricing-metric span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-top:3px;font-size:.68rem;font-weight:700}.pricing-list{color:var(--muted);align-content:start;gap:10px;margin:0;padding:0;line-height:1.5;list-style:none;display:grid}.pricing-list li{grid-template-columns:10px minmax(0,1fr);gap:10px;display:grid}.pricing-list li:before{content:"";background:var(--accent);border-radius:999px;width:6px;height:6px;margin-top:9px}.pricing-card-actions{align-items:end;display:flex}.pricing-card .shell-button{width:100%;min-height:52px}.pricing-detail-section{border:1px solid var(--line);background:#ffffffd6;border-radius:16px;max-width:1280px;margin:24px auto 0;padding:28px;box-shadow:0 14px 42px #1414170f}.pricing-detail-head{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:24px;margin-bottom:20px;display:grid}.pricing-detail-head h2{color:var(--ink);margin:0;font-size:clamp(1.55rem,2.2vw,2.25rem);line-height:1.1}.pricing-detail-head p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.6}.pricing-compare-scroll{overflow-x:auto}.pricing-compare-table{border-collapse:collapse;width:100%;min-width:640px}.pricing-compare-table th,.pricing-compare-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 16px}.pricing-compare-table thead th{border-bottom-width:2px}.pricing-compare-table thead th.featured,.pricing-compare-table tbody td.featured{background:color-mix(in srgb, var(--accent) 5%, transparent)}.pricing-compare-feature-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.pricing-compare-plan{color:var(--ink);font-size:1.05rem;font-weight:850;display:block}.pricing-compare-badge{background:var(--primary);min-height:22px;color:var(--panel);white-space:nowrap;border-radius:999px;align-items:center;margin-top:5px;padding:0 9px;font-size:.7rem;font-weight:700;display:inline-flex}.pricing-compare-price{color:var(--muted);margin-top:5px;font-size:.85rem;font-weight:600;display:block}.pricing-compare-table tbody th{color:var(--text);font-size:.92rem;font-weight:650}.pricing-compare-table tbody td{color:var(--muted);font-size:.92rem}.pricing-compare-check{background:var(--success-soft);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);border-radius:999px;width:22px;height:22px;display:inline-block;position:relative}.pricing-compare-check:after{content:"";border:solid var(--success);border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:4px;left:7px;transform:rotate(45deg)}.pricing-compare-dash{color:color-mix(in srgb, var(--muted) 55%, transparent)}@media (max-width:1180px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.pricing-detail-section{padding:20px}.pricing-detail-head{grid-template-columns:1fr;gap:10px}.pricing-status-strip{grid-template-columns:1fr}}.status-pill{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:34px;padding:0 12px;font-size:.88rem;font-weight:600;display:inline-flex;overflow:hidden}.tone-primary,.tone-neutral{background:var(--neutral-soft);color:var(--text)}.tone-success{background:var(--success-soft);color:var(--success)}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.tone-info{background:var(--primary-soft);color:var(--primary)}.quick-panel,.surface-card,.hero-banner,.table-card,.issue-card,.project-card,.task-card,.kanban-column,.inventory-card,.asset-card,.timeline-card,.template-card,.empty-state,.phone-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow);background:linear-gradient(180deg, #fffffffa, #fafaf7f5), var(--panel)}.quick-panel{border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:12px;display:grid}.quick-panel button{text-align:left;background:#ffffffe6;border-radius:14px;align-content:center;gap:4px;min-height:72px;padding:12px 14px;display:grid}.quick-panel button strong{color:var(--text)}.quick-panel button span{color:var(--muted);font-size:.84rem}.page-body,.dashboard-shell,.page-stack,.drawing-shell{gap:14px;display:grid}.dashboard-state-card{place-items:center;min-height:320px;display:grid}.drawing-shell{position:relative}.drawing-focus-bar{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.drawing-drawer-toggles{z-index:18;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:110px;left:18px;right:18px}.drawing-drawer-toggles.in-viewer{top:18px;left:18px;right:18px}.drawing-shell.viewer-open .viewer-stage>.drawing-drawer-toggles.in-viewer,.drawing-shell.viewer-open .cad-aps-stage>.drawing-drawer-toggles.in-viewer{display:none}.drawing-drawer-toggles.drawing-drawer-toggle-layer.in-viewer{z-index:58;position:fixed;top:50%;left:18px;right:18px;transform:translateY(-50%)}.drawing-drawer-toggle-layer.issue-open{left:min(414px,100vw - 82px)}.drawing-drawer-toggle-layer.detail-open{right:min(414px,100vw - 82px)}.drawing-drawer-toggle-layer .drawer-toggle{color:#f8fafc;-webkit-backdrop-filter:blur(16px)saturate(1.18);backdrop-filter:blur(16px)saturate(1.18);background:linear-gradient(145deg,#fff3,#ffffff0a),#141417d6;border-color:#ffffff47;border-radius:999px;width:58px;min-width:58px;height:58px;min-height:58px;box-shadow:inset 0 0 0 1px #ffffff29,0 16px 42px #14141738}.drawing-drawer-toggle-layer .drawer-toggle:hover,.drawing-drawer-toggle-layer .drawer-toggle.active{background:linear-gradient(145deg,#ffffff42,#ffffff0f),#141417eb;border-color:#fff6}.drawer-toggle,.drawing-drawer-head button{border:1px solid var(--line);min-height:44px;color:var(--text);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:0 16px}.drawer-toggle{pointer-events:auto;border-radius:16px;width:48px;min-width:48px;padding:0;font-weight:700}.drawer-toggle span{place-items:center;width:100%;height:100%;font-size:0;display:grid;position:relative}.drawer-toggle-left span:after,.drawer-toggle-right span:after{width:16px;height:16px;display:block}.drawer-toggle-left span:after{content:"";border-top:2px solid;border-bottom:2px solid;box-shadow:-5px 0,5px 0}.drawer-toggle-right span:after{content:"";border:2px solid;border-radius:5px;width:17px;height:13px;box-shadow:inset 0 0 0 2px #ffffff14}.drawer-toggle-right span:before{content:"";background:inherit;border-bottom:2px solid;border-left:2px solid;border-bottom-left-radius:2px;width:7px;height:7px;position:absolute;bottom:calc(50% - 10px);left:calc(50% - 6px);transform:rotate(-22deg)}.drawer-backdrop{z-index:16;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1616192e;border:0;animation:.18s drawerFadeIn;position:fixed;inset:0}.drawing-drawer-shell{z-index:19;border:1px solid var(--line);will-change:transform, opacity;opacity:0;pointer-events:none;visibility:hidden;background:#fffffffa;border-radius:24px;gap:12px;width:min(380px,100vw - 32px);padding:14px;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .22s,visibility .22s;display:grid;position:fixed;top:20px;bottom:20px;box-shadow:0 24px 60px #1616192e}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}.drawing-drawer-shell.open{opacity:1;pointer-events:auto;visibility:visible}.drawer-left{left:16px;transform:translate(calc(-100% - 16px))}.drawer-left.open{transform:translate(0)}.drawer-right{right:16px;transform:translate(calc(100% + 16px))}.drawer-right.open{transform:translate(0)}.drawing-drawer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawing-drawer-shell .drawing-left,.drawing-drawer-shell .drawing-right{min-width:0;max-width:100%;height:100%;position:relative;top:auto;overflow:hidden auto}.hero-banner{background:linear-gradient(135deg,#fffffffa,#f6f6f2d6),linear-gradient(#fff,#f7f7f4);grid-template-columns:minmax(0,1.3fr) 320px;gap:18px;padding:22px;display:grid}.hero-banner h2{max-width:780px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.06}.hero-badge-panel{gap:12px;display:grid}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;box-shadow:0 1px 2px #11111109}.metric-card strong{letter-spacing:-.04em;margin:8px 0;font-size:2rem;display:block}.metric-card small,.metric-label,.progress-row span,.project-card-meta span,.issue-card-meta span,.viewer-head small,.task-meta span,.file-row small{color:var(--muted)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.surface-card,.project-card,.task-card,.asset-card,.inventory-card,.template-card,.empty-state,.phone-card{padding:20px}.span-two{grid-column:span 2}.section-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:0;display:flex}.section-head.compact{align-items:center}.project-portfolio-page{gap:12px}.project-portfolio-page>.section-head{align-items:center;margin-bottom:0}.project-portfolio-page>.section-head>div{gap:4px;display:grid}.project-portfolio-page>.section-head h3{margin:0;line-height:1.15}.project-portfolio-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.project-bulk-toolbar{border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex;box-shadow:0 12px 34px #1414170f}.project-bulk-toolbar>div:first-child{gap:2px;display:grid}.project-bulk-toolbar strong{color:var(--ink);font-size:.92rem}.project-bulk-toolbar span{color:var(--muted);font-size:.82rem}.project-bulk-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (max-width:760px){.project-portfolio-actions,.project-bulk-toolbar,.project-bulk-toolbar>div:last-child{flex-direction:column;align-items:stretch}.project-portfolio-actions .shell-button,.project-bulk-toolbar .shell-button{width:100%}}.project-portfolio-page .project-empty-state{gap:8px;padding:18px 24px;display:grid}.project-portfolio-page .project-empty-state h3,.project-portfolio-page .project-empty-state p{margin:0}.project-portfolio-page .project-empty-state .shell-button{justify-self:start;margin-top:8px}.progress-list,.activity-feed,.usage-list,.template-list,.team-grid,.issue-list,.kanban-cards,.report-grid,.mobile-preview-grid{gap:12px;display:grid}.progress-row,.activity-row,.usage-item,.team-row,.file-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-track{background:#eef3fb;border-radius:999px;flex:1;height:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #6ea0ff);height:100%;display:block}.progress-track.compact{max-width:180px}.category-chart,.trend-chart{gap:12px;display:grid}.category-bar{grid-template-columns:110px minmax(0,1fr) 36px;align-items:center;gap:12px;display:grid}.trend-chart{grid-template-columns:repeat(7,1fr);align-items:end;min-height:220px}.trend-bar{justify-items:center;gap:8px;display:grid}.trend-bar span{background:linear-gradient(180deg, var(--primary), #7eaaff);border-radius:14px 14px 6px 6px;width:32px}.mobile-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-control-center{gap:14px}.dashboard-hero-control{background:radial-gradient(circle at 0 0,#1a1a1d1f,#0000 34%),linear-gradient(135deg,#fffffffa,#f0f7ffe0);grid-template-columns:1fr;align-items:start;gap:12px;padding:18px 20px;display:grid;box-shadow:0 24px 70px #14141714}.dashboard-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.dashboard-title-row h2,.dashboard-empty-control h2{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,4rem);line-height:.98}.dashboard-hero-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-summary-tile,.dashboard-kpi-card,.dashboard-action-item,.dashboard-today-item,.dashboard-activity-row,.dashboard-project-row,.dashboard-quick-action-card,.dashboard-onboarding-card{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#ffffffdb;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.dashboard-summary-tile:hover,.dashboard-kpi-card:hover,.dashboard-action-item:hover,.dashboard-today-item:hover,.dashboard-activity-row:hover,.dashboard-project-row:hover,.dashboard-quick-action-card:hover,.dashboard-onboarding-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 18px 42px #14141714}.dashboard-summary-tile{border-radius:var(--radius-lg);align-content:center;gap:8px;min-height:118px;padding:18px;display:grid}.dashboard-summary-tile span,.dashboard-kpi-card span,.dashboard-quick-action-card span,.dashboard-onboarding-card small,.dashboard-health-row span,.dashboard-today-item span,.dashboard-action-item span,.dashboard-activity-row span,.dashboard-project-row span{color:var(--muted)}.dashboard-summary-tile strong{font-size:1.2rem}.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-kpi-card{border-radius:var(--radius-lg);gap:8px;min-height:150px;padding:18px;display:grid}.dashboard-kpi-card strong{font-size:2.45rem;line-height:1}.dashboard-kpi-card small{color:var(--muted);line-height:1.35}.dashboard-kpi-card.tone-success{border-color:var(--success-soft);background:linear-gradient(#fff,#ecfdf5eb)}.dashboard-kpi-card.tone-warning{border-color:var(--warning-soft);background:linear-gradient(#fff,#fff7edf0)}.dashboard-kpi-card.tone-danger{border-color:var(--danger-soft);background:linear-gradient(#fff,#fef2f2f0)}.dashboard-kpi-card.tone-info,.dashboard-kpi-card.tone-primary{border-color:var(--accent);background:linear-gradient(#fff,#fafaf8f0)}.dashboard-main-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:16px;display:grid}.dashboard-main-grid .span-two{grid-column:span 2}.dashboard-main-grid .span-three{grid-column:1/-1}.dashboard-panel-list,.dashboard-health-list,.dashboard-quick-action-grid,.dashboard-onboarding-grid{gap:12px;display:grid}.dashboard-action-item,.dashboard-today-item,.dashboard-activity-row,.dashboard-project-row{border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:12px;display:grid}.dashboard-action-item strong,.dashboard-activity-row strong,.dashboard-project-row strong{margin-bottom:4px;display:block}.dashboard-today-item{grid-template-columns:auto minmax(0,1fr)}.dashboard-health-row{background:var(--panel-soft);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.dashboard-health-row .progress-track{grid-column:1/-1}.progress-track span.tone-success{background:linear-gradient(90deg,#10b981,#34d399)}.progress-track span.tone-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-track span.tone-danger{background:linear-gradient(90deg,#ef4444,#fb7185)}.progress-track span.tone-info{background:linear-gradient(90deg, var(--primary), #38bdf8)}.dashboard-project-row{grid-template-columns:minmax(160px,1fr) minmax(120px,1.2fr) auto}.dashboard-quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-quick-action-card{border-radius:var(--radius-lg);gap:8px;padding:16px;display:grid}.dashboard-quick-action-card small{background:var(--warning-soft);width:fit-content;color:var(--warning);border-radius:999px;padding:6px 10px;font-weight:700}.dashboard-empty-control{background:radial-gradient(circle at 0 0,#1a1a1d1f,#0000 32%),#fff;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.dashboard-empty-control p{max-width:760px;margin-top:12px}.dashboard-empty-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.dashboard-onboarding-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-onboarding-card{border-radius:var(--radius-lg);align-content:start;gap:10px;min-height:170px;padding:18px;display:grid}.dashboard-onboarding-card span{background:var(--primary-soft);width:fit-content;color:var(--primary);border-radius:999px;padding:7px 10px;font-weight:800}@media (max-width:1320px){.dashboard-main-grid{grid-template-columns:1fr 1fr}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-onboarding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:920px){.dashboard-main-grid,.dashboard-hero-summary,.dashboard-quick-action-grid,.dashboard-onboarding-grid{grid-template-columns:1fr}.dashboard-main-grid .span-two,.dashboard-main-grid .span-three{grid-column:auto}.dashboard-empty-control{display:grid}.dashboard-empty-actions{justify-content:stretch}}@media (max-width:640px){.dashboard-kpi-grid,.dashboard-project-row,.dashboard-action-item,.dashboard-today-item,.dashboard-activity-row{grid-template-columns:1fr}}.phone-card{background:var(--panel-soft)}.skeleton-card,.skeleton-block{border-radius:var(--radius-lg);background:linear-gradient(90deg,#eef3fb 25%,#f9fbff 45%,#eef3fb 65%) 0 0/200% 100%;min-height:140px;animation:1.4s linear infinite shimmer}.skeleton-block.large{min-height:300px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card.active{background:linear-gradient(#f1f1eef0,#fffffffa);border-color:#1111112e}.project-card.selection-enabled{position:relative;overflow:hidden}.project-card.selected{background:radial-gradient(circle at 1px 1px,#1111111f 1.15px,#0000 1.25px) 0 0/11px 11px,linear-gradient(#fffffff5,#f8f8f4ed);border-color:#11111157;box-shadow:0 22px 60px #1414171a,0 0 0 3px #1111110d}.project-select-control{width:42px;height:42px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffffe6,#f5f5f1c2);border:1px solid #14141724;border-radius:18px;justify-content:center;align-items:center;margin:-2px 0 12px;padding:0;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #14141714}.project-select-control input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.project-select-control:hover{border-color:#1111113d;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 14px 28px #1414171c}.project-select-glyph{background:#ffffffb8;border:1.5px solid #11111194;border-radius:7px;width:20px;height:20px;transition:border-color .18s,background .18s,box-shadow .18s;position:relative}.project-select-glyph:after{content:"";opacity:0;border:2px solid #0000;border-width:0 2px 2px 0;width:6px;height:11px;transition:opacity .16s,transform .16s,border-color .16s;position:absolute;top:2px;left:5px;transform:rotate(45deg)scale(.72)}.project-select-control:has(input:checked){background:radial-gradient(circle at 30% 20%,#ffffff47,#0000 30%),linear-gradient(#111111f5,#222222f0);border-color:#11111180;box-shadow:inset 0 1px #ffffff29,0 16px 34px #14141733}.project-select-control:has(input:checked) .project-select-glyph{background:#ffffff2e;border-color:#ffffffdb;box-shadow:0 0 0 4px #ffffff14}.project-select-control:has(input:checked) .project-select-glyph:after{opacity:1;border-color:#fff;transform:rotate(45deg)scale(1)}.project-workspace-page{gap:14px;max-width:100%;overflow-x:clip}.project-workspace-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.drawing-back-button{width:38px;height:38px;color:var(--ink);cursor:pointer;background:linear-gradient(#fffffff5,#f7f8f6e6);border:1px solid #1414171f;border-radius:12px;justify-content:center;align-items:center;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex;box-shadow:0 10px 22px #1414170f,inset 0 1px #ffffffd1}.drawing-back-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:19px;height:19px}.drawing-back-button:hover{color:#fff;background:#111;border-color:#1414172e;transform:translate(-1px);box-shadow:0 14px 30px #14141729}.drawing-back-button:focus-visible{outline-offset:3px;outline:3px solid #1a1a1d3d}.drawing-shell button:focus-visible,.drawing-shell select:focus-visible,.drawing-shell input:focus-visible,.drawing-shell textarea:focus-visible,.drawing-shell a:focus-visible,.drawing-shell [role=button]:focus-visible,.drawing-shell [tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-workspace-hero h3{color:var(--ink);margin:2px 0 4px;font-size:1.2rem;font-weight:650}.project-workspace-hero span{color:var(--muted);font-size:.86rem}.project-workspace-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.project-card-head,.issue-card-head,.viewer-head,.drawing-topbar{justify-content:space-between;align-items:start;gap:14px;display:flex}.drawing-library-shell{gap:18px;margin-bottom:18px;padding:22px;display:grid}.drawing-library-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.drawing-library-copy{gap:6px;max-width:720px;display:grid}.drawing-library-copy h3{margin:0;font-size:1.8rem}.drawing-library-copy p:last-child{color:var(--muted);margin:0;line-height:1.55}.drawing-library-actions{justify-items:end;gap:12px;display:grid}.drawing-library-tabs{background:#dde7ffad;border:1px solid #abc1ffb3;border-radius:999px;align-items:center;gap:8px;padding:6px;display:inline-flex}.drawing-library-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 16px;font-weight:600}.drawing-library-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 8px 20px #284a941f}.drawing-library-toolbar{grid-template-columns:minmax(280px,1.6fr) minmax(180px,.7fr) auto;align-items:end;gap:14px;display:grid}.drawing-library-search,.drawing-library-filter{gap:8px;display:grid}.drawing-library-search span,.drawing-library-filter span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.drawing-library-search input{border:1px solid var(--line);min-height:50px;font:inherit;background:#fff;border-radius:16px;padding:0 16px}.drawing-library-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.drawing-library-grid{gap:20px;display:grid}.drawing-library-group{gap:14px;display:grid}.drawing-library-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawing-library-group-head h4{margin:0;font-size:1.1rem}.drawing-library-group-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.drawing-file-card{text-align:left;cursor:pointer;background:linear-gradient(#fffffff5,#f7fafffa);border:1px solid #cddaf6f2;border-radius:22px;gap:14px;padding:14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;box-shadow:0 18px 38px #213c7614}.drawing-file-card:hover{border-color:#7899f5c7;transform:translateY(-2px);box-shadow:0 22px 42px #213c761f}.drawing-file-card.active{border-color:#426ae0e0;box-shadow:0 22px 44px #2f59cb29}.drawing-file-card-topbar{justify-content:flex-end;margin-bottom:-8px;display:flex}.drawing-file-open{text-align:left;cursor:pointer;background:0 0;border:0;gap:14px;padding:0;display:grid}.drawing-file-thumb{background:linear-gradient(#f7faff,#eef4ff);border:1px solid #d2d0cdf5;border-radius:18px;min-height:156px;position:relative;overflow:hidden}.drawing-file-thumb img{object-fit:cover;width:100%;height:156px;display:block}.drawing-file-thumb .status-pill{position:absolute;top:12px;left:12px}.drawing-file-thumb.mode-3d{background:radial-gradient(circle at 0 0,#5b84f72e,#ecf2fff0 58%,#fafcfffa)}.drawing-file-thumb.mode-2d{background:linear-gradient(#f7fafffa,#eff5fffa)}.drawing-file-thumb-fallback{place-items:center;min-height:156px;display:grid;position:relative}.drawing-file-thumb-fallback:before,.drawing-file-thumb-fallback:after{content:"";border:1px dashed #91aae985;border-radius:14px;position:absolute;inset:18px}.drawing-file-thumb-fallback:after{opacity:.5;border-style:solid;inset:32px}.drawing-file-thumb-fallback span{z-index:1;min-width:68px;min-height:68px;color:var(--primary);background:#ffffffeb;border-radius:18px;justify-content:center;align-items:center;padding:0 18px;font-weight:800;display:inline-flex;position:relative;box-shadow:0 12px 26px #4468c124}.drawing-file-meta{gap:10px;display:grid}.drawing-file-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawing-file-title-row strong{color:var(--ink);margin-bottom:4px;display:block}.drawing-file-title-row small{color:var(--muted);line-height:1.4;display:block}.drawing-file-menu{min-width:44px;min-height:44px;color:var(--muted);letter-spacing:.16em;cursor:pointer;background:#fffffff0;border:1px solid #d2d0cdfa;border-radius:999px;font-weight:800}.drawing-file-actions-menu{z-index:3;-webkit-backdrop-filter:blur(22px)saturate(1.38);background:linear-gradient(118deg,#ffffff38,#0000 32%),radial-gradient(circle at 70% 12%,#ffffff47,#0000 42%),linear-gradient(145deg,#1c2636ad,#14141780);border:1px solid #ffffff57;border-radius:18px;min-width:170px;padding:8px;display:grid;position:absolute;top:56px;right:14px;overflow:hidden;box-shadow:0 24px 60px #14141747,inset 0 1px #ffffff61,inset 0 -1px #ffffff1f}.drawing-file-actions-menu button{text-align:left;color:#ffffffeb;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 12px}.drawing-file-actions-menu button:hover{background:#ffffff24}.drawing-file-actions-menu button.danger{color:var(--danger)}.drawing-file-info-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.drawing-file-tags{flex-wrap:wrap;gap:8px;display:flex}.drawing-library-empty{text-align:center;background:#fafaf8d1;border:1px dashed #b6c6ecf2;border-radius:22px;grid-column:1/-1;padding:28px}.drawing-library-empty p{color:var(--muted);margin:8px 0 0}.project-files-page{gap:18px;display:grid}.project-files-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;display:grid}.project-files-copy{gap:8px;min-width:0;display:grid}.project-files-breadcrumb{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.project-files-copy h2{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3vw,2.35rem)}.project-files-copy p:last-child{color:var(--muted);margin:0;line-height:1.55}.project-files-header-side{justify-items:end;gap:12px;display:grid}.file-stats-cards{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-stat-card{border:1px solid var(--line);background:#ffffffe0;border-radius:16px;min-width:92px;padding:10px 12px;box-shadow:0 10px 26px #0e16280a}.file-stat-card span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.file-stat-card strong{color:var(--ink);margin-top:4px;font-size:1.2rem;display:block}.project-file-library-card{border-radius:24px;gap:18px;padding:18px;display:grid}.file-library-card-head{gap:14px;display:grid}.file-library-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:4px;display:flex}.file-library-tabs button,.file-view-toggle button{min-height:44px;color:var(--muted);font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 14px;font-weight:700}.file-library-tabs button.active,.file-library-tabs button:hover,.file-view-toggle button.active,.file-view-toggle button:hover{border-color:rgba(var(--primary-rgb), .16);background:var(--primary-soft);color:var(--primary)}.file-library-controls{grid-template-columns:minmax(260px,1.3fr) minmax(170px,.5fr) auto auto;align-items:end;gap:12px;display:grid}.file-search-box,.file-filter-select{gap:7px;display:grid}.file-search-box span,.file-filter-select span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.file-search-box input{border:1px solid var(--line);min-height:44px;font:inherit;background:#fff;border-radius:14px;padding:0 14px}.file-view-toggle{border:1px solid var(--line);background:#f7faffe6;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.daily-task-remove{border:1px solid var(--line);background:var(--surface,#fff);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.daily-task-remove:hover{color:var(--st-red,#d2443a);border-color:color-mix(in srgb, var(--st-red,#d2443a) 40%, transparent);background:color-mix(in srgb, var(--st-red,#d2443a) 6%, transparent)}.project-file-sections{gap:20px;display:grid}.project-file-section{gap:12px;display:grid}.project-file-section-head h4{color:var(--ink);margin:0;font-size:1rem}.project-file-section-head span{color:var(--muted);font-size:.9rem;font-weight:600}.project-file-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.project-file-card{border:1px solid var(--line);background:#fff;border-radius:18px;gap:12px;min-width:0;padding:10px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;box-shadow:0 12px 28px #0e16280b}.project-file-card:hover,.project-file-card.active{border-color:rgba(var(--primary-rgb), .24);box-shadow:0 18px 36px #0e162814}.project-file-card.menu-open{z-index:12}.project-file-thumb{aspect-ratio:16/9;background:linear-gradient(#f8fbff,#eef4ff);border:1px solid #d2d0cdf2;border-radius:16px;position:relative;overflow:hidden}.project-file-thumb.mode-3d{background:radial-gradient(circle at 28% 18%, rgba(var(--primary-rgb), .16), transparent 36%), linear-gradient(180deg, #f8fbff, #eef4ff)}.project-file-thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-file-model-thumb{background:linear-gradient(135deg,#fafaf8fa,#f6f5f3eb);position:absolute;inset:0;overflow:hidden}.project-file-model-thumb:before{content:"";pointer-events:none;border:1px dashed #7c9ade6b;border-radius:16px;position:absolute;inset:16px}.project-file-model-canvas,.project-file-model-canvas canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.project-file-pdf-thumb{background:linear-gradient(#f8fbff 0%,#eef4ff 100%);place-items:center;display:grid;position:absolute;inset:0}.project-file-pdf-thumb canvas{object-fit:cover;display:block;width:100%!important;height:100%!important}.project-file-thumb-loading{background:linear-gradient(90deg,#e0dedbb8,#fafaf9f5,#e0dedbb8) 0 0/200% 100%;border-radius:14px;animation:1.15s ease-in-out infinite skeleton-pulse;position:absolute;inset:18px}.project-file-thumb>.status-pill:first-of-type{z-index:2;position:absolute;top:10px;left:10px}.project-file-thumb>.status-pill:nth-of-type(2){z-index:2;position:absolute;top:10px;right:10px}.project-file-thumb-placeholder{place-items:center;display:grid;position:absolute;inset:0}.vector-card-thumb{position:absolute;inset:0}.vector-card-thumb-svg{width:100%;height:100%;padding:10px;display:block}.vector-card-thumb-svg path{fill:none;stroke:#1f2430d1;stroke-width:.9px;vector-effect:non-scaling-stroke;stroke-linecap:round}.project-file-thumb-placeholder small{color:var(--muted);font-size:.72rem;position:absolute;bottom:14px}.project-file-thumb-placeholder:before,.project-file-thumb-placeholder:after{content:"";border:1px solid #91aae970;border-radius:14px;position:absolute}.project-file-thumb-placeholder:before{border-style:dashed;inset:24px}.project-file-thumb-placeholder:after{opacity:.58;inset:42px}.project-file-thumb-placeholder span{z-index:1;width:58px;height:58px;color:var(--primary);box-shadow:0 14px 30px rgba(var(--primary-rgb), .1);background:#fff;border-radius:18px;place-items:center;font-weight:900;display:grid;position:relative}.file-thumb-overlay{z-index:3;opacity:0;background:#14141733;place-items:center;transition:opacity .16s;display:grid;position:absolute;inset:0}.project-file-card:hover .file-thumb-overlay{opacity:1}.file-thumb-overlay button{min-height:40px;color:var(--primary);font:inherit;background:#fff;border:0;border-radius:999px;padding:0 16px;font-weight:800;box-shadow:0 14px 30px #0e16282e}.file-thumb-overlay button:disabled{color:var(--muted);cursor:not-allowed}.project-file-body{gap:10px;min-width:0;display:grid}.project-file-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.project-file-title-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;display:block;overflow:hidden}.project-file-title-row small{color:var(--muted);margin-top:3px;font-size:.8rem;display:block}.project-file-menu-wrap{position:relative}.project-file-actions-menu{top:42px;right:0}.project-file-card.menu-open .project-file-actions-menu{width:190px;min-width:190px;max-height:none;position:absolute;top:-2px;right:46px}.project-file-actions-menu a{color:#ffffffeb;border-radius:12px;padding:10px 12px;text-decoration:none}.project-file-actions-menu a:hover{background:#ffffff24}.project-file-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.project-file-meta-item{gap:2px;min-width:0;display:grid}.project-file-meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);opacity:.72;font-size:.62rem;font-weight:700;line-height:1.2}.project-file-meta-value{color:var(--ink);overflow-wrap:anywhere;font-size:.8rem;line-height:1.35}.file-issue-stats{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.78rem;display:flex}.file-issue-stats span{align-items:center;gap:5px;display:inline-flex}.dot{border-radius:999px;width:7px;height:7px}.dot.open{background:var(--danger)}.dot.progress{background:var(--warning)}.dot.closed{background:var(--success)}.processing-file-state{text-align:center;align-content:center;place-items:center;gap:8px;padding:18px;display:grid;position:absolute;inset:0}.processing-skeleton{background:linear-gradient(90deg,#e8eef9,#f7faff,#e8eef9) 0 0/220% 100%;border-radius:16px;width:min(180px,72%);height:64px;animation:1.4s linear infinite skeletonSlide}.processing-file-state p{color:var(--muted);margin:0;font-size:.82rem}.processing-bar{background:#d2d0cdb8;border-radius:999px;width:min(190px,76%);height:7px;overflow:hidden}.processing-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}.project-file-sections.view-list .project-file-grid{grid-template-columns:1fr;gap:8px}.project-file-sections.view-list .project-file-card{border-radius:18px;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px}.project-file-sections.view-list .project-file-thumb{aspect-ratio:16/9;border-radius:13px;min-height:66px}.project-file-sections.view-list .project-file-thumb:before,.project-file-sections.view-list .project-file-thumb:after{inset:10px}.project-file-sections.view-list .project-file-thumb .status-pill{min-height:22px;padding-inline:7px;font-size:.62rem}.project-file-sections.view-list .project-file-thumb>.status-pill:first-of-type{top:6px;left:6px}.project-file-sections.view-list .project-file-thumb>.status-pill:nth-of-type(2){top:6px;right:6px}.project-file-sections.view-list .project-file-model-thumb:before{border-radius:10px;inset:8px}.project-file-sections.view-list .project-file-body{grid-template-columns:minmax(0,1.5fr) minmax(180px,.9fr) minmax(180px,.75fr) auto;align-items:center;gap:12px;display:grid}.project-file-sections.view-list .project-file-title-row{grid-template-columns:minmax(0,1fr);gap:0}.project-file-sections.view-list .project-file-title-row strong{font-size:.9rem}.project-file-sections.view-list .project-file-title-row small{margin-top:2px;font-size:.72rem}.project-file-sections.view-list .project-file-menu-wrap{grid-area:1/4}.project-file-sections.view-list .project-file-card.menu-open .project-file-actions-menu{top:38px;right:0}.project-file-sections.view-list .project-file-meta-grid{flex-wrap:wrap;gap:5px 10px;font-size:.72rem;display:flex}.project-file-sections.view-list .project-file-meta-grid span:nth-child(2),.project-file-sections.view-list .project-file-meta-grid span:nth-child(4){display:none}.project-file-sections.view-list .file-issue-stats{justify-content:flex-start;gap:6px;font-size:.72rem}.project-file-sections.view-list .file-thumb-overlay button{min-height:30px;padding:0 10px;font-size:.72rem}.project-file-sections.view-list .project-file-section{gap:8px}.project-file-sections.view-list .project-file-section-head h4{font-size:.9rem}.project-file-sections.view-list .project-file-section-head span{font-size:.78rem}.project-file-empty{text-align:center;border:1px dashed var(--line);background:linear-gradient(#fafaf8e6,#fffffffa);border-radius:22px;place-items:center;gap:14px;min-height:360px;padding:40px 24px;display:grid}.project-file-empty-icon{width:86px;height:86px;color:var(--ink);background:#fff;border-radius:26px;place-items:center;display:grid;position:relative;box-shadow:0 18px 40px #0f0f141a}.project-file-empty-icon svg{width:38px;height:38px;color:var(--ink)}.project-file-empty-icon span{background:rgba(var(--primary-rgb), .16);border-radius:999px;position:absolute}.project-file-empty-icon span:first-child{inset:24px 22px 42px}.project-file-empty-icon span:nth-child(2){height:9px;bottom:28px;left:22px;right:22px}.project-file-empty-icon span:nth-child(3){background:var(--primary);width:20px;height:20px;top:30px;right:22px}.project-file-empty h3{color:var(--ink);margin:0;font-size:1.35rem}.project-file-empty p{max-width:560px;color:var(--muted);margin:0;line-height:1.55}.project-file-empty-actions,.supported-format-chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.project-file-loading-state{text-align:center;background:radial-gradient(circle at 50% 38%, rgba(var(--primary-rgb), .12), transparent 28%), linear-gradient(135deg, #fafaf8f5, #fffffffa);border:1px solid #b6c6ecf2;border-radius:22px;place-items:center;gap:16px;min-height:420px;padding:44px 24px;display:grid;position:relative;overflow:hidden}.project-file-loading-state:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--primary-rgb), .12), transparent), repeating-linear-gradient(0deg, rgba(var(--primary-rgb), .06) 0 1px, transparent 1px 28px), repeating-linear-gradient(90deg, rgba(var(--primary-rgb), .05) 0 1px, transparent 1px 28px);opacity:.7;background-size:220% 100%,auto,auto;border-radius:20px;animation:2.4s linear infinite drawingScanSweep;position:absolute;inset:18px}.drawing-upload-orbit{z-index:1;width:104px;height:104px;box-shadow:0 24px 60px rgba(var(--primary-rgb), .16);background:#ffffffeb;border-radius:30px;position:relative}.drawing-upload-orbit:before{content:"";border:1px dashed rgba(var(--primary-rgb), .22);border-radius:999px;animation:2.6s linear infinite drawingOrbitSpin;position:absolute;inset:19px}.drawing-upload-orbit:after{content:"";background:linear-gradient(135deg, rgba(var(--primary-rgb), .16), rgba(var(--muted-rgb), .14));border-radius:16px;position:absolute;inset:33px}.drawing-upload-orbit span{z-index:2;border-radius:999px;position:absolute}.drawing-upload-orbit span:first-child{background:rgba(var(--primary-rgb), .18);width:42px;height:10px;top:25px;left:31px}.drawing-upload-orbit span:nth-child(2){background:rgba(var(--primary-rgb), .18);width:42px;height:10px;bottom:30px;left:31px}.drawing-upload-orbit span:nth-child(3){background:var(--ink);width:24px;height:24px;box-shadow:0 0 0 8px rgba(var(--primary-rgb), .08);animation:1.1s ease-in-out infinite drawingPulseDot;top:39px;right:26px}.project-file-loading-copy{z-index:1;gap:8px;max-width:620px;display:grid;position:relative}.project-file-loading-copy h3{color:var(--ink);margin:0;font-size:1.32rem}.project-file-loading-copy p:last-child{color:var(--muted);margin:0;line-height:1.55}.drawing-upload-progress{z-index:1;background:#d2d0cd9e;border-radius:999px;width:min(560px,78%);height:10px;position:relative;overflow:hidden}.drawing-upload-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #14b8a6, var(--primary));background-size:200% 100%;height:100%;transition:width .28s;animation:1.25s linear infinite drawingProgressGlow;display:block}.drawing-upload-log{z-index:1;text-align:left;background:#ffffffb8;border:1px solid #d2d0cda8;border-radius:18px;gap:7px;width:min(560px,88%);padding:12px;display:grid;position:relative;box-shadow:0 18px 40px #1414170f}.drawing-upload-log div{color:var(--muted);align-items:center;gap:9px;font-size:.82rem;display:flex}.drawing-upload-log i{background:#7a767073;border-radius:999px;flex:none;width:7px;height:7px}.drawing-upload-log div.active{color:var(--ink);font-weight:700}.drawing-upload-log div.active i{box-shadow:0 0 0 5px rgba(var(--muted-rgb), .12);background:#14b8a6}@keyframes drawingScanSweep{0%{background-position:220% 0,0 0,0 0}to{background-position:-220% 0,0 0,0 0}}@keyframes drawingOrbitSpin{to{transform:rotate(360deg)}}@keyframes drawingPulseDot{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes drawingProgressGlow{to{background-position:200% 0}}.upload-stepper{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:2px;display:flex}.upload-stepper span{border:1px solid var(--line);color:var(--muted);background:#fafaf9db;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800}.upload-stepper span.active{border-color:rgba(var(--primary-rgb), .2);background:var(--primary-soft);color:var(--primary)}@keyframes skeletonSlide{0%{background-position:0 0}to{background-position:-220% 0}}.viewer-return-bar{background:#ffffffeb;border:1px solid #cddaf6f2;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex;box-shadow:0 16px 34px #213c7614}.viewer-return-bar>div{text-align:right}.viewer-return-bar strong{margin-top:4px;display:block}.drawing-shell.viewer-open{gap:12px}.drawing-shell.viewer-open .drawing-toolbar-card{border-radius:16px;box-shadow:0 10px 28px #213c760f}.drawing-shell.viewer-open .drawing-layout{min-height:calc(100vh - 220px)}.drawing-shell.viewer-open .drawing-center{min-height:calc(100vh - 260px)}.drawing-shell.viewer-open .viewer-stage,.drawing-shell.viewer-open .viewer-stage-3d{min-height:calc(100vh - 340px)}.drawing-shell.viewer-page-open{z-index:120;background:#fff;width:100vw;height:100dvh;display:block;position:fixed;inset:0;overflow:hidden}.drawing-shell.viewer-page-open .drawing-layout{width:100%;height:100%;min-height:0;display:block;overflow:hidden}.drawing-shell.viewer-page-open .drawing-center.fullscreen{z-index:auto;width:100%;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0;flex-direction:column;padding:14px;display:flex;position:relative;inset:auto;overflow:hidden}.drawing-shell.model-page-open .model-viewer-shell.fullscreen{background:var(--surface,#fff);box-shadow:none;border:0;padding:0}.drawing-shell.model-page-open .viewer-stage-3d{height:100dvh;min-height:100dvh!important}.drawing-shell.viewer-page-open .viewer-head-floating{flex:none;margin-bottom:8px;padding-left:58px}.drawing-shell.viewer-page-open .model-viewer-head{padding-left:0}.drawing-shell.viewer-page-open .drawing-center.fullscreen .viewer-stage{flex:auto;min-height:0!important}.drawing-shell.viewer-page-open .drawing-center.fullscreen .viewer-canvas{height:100%;min-height:100%!important}.drawing-library-placeholder{display:none}.drawing-library-placeholder p:last-child{color:var(--muted);margin:0;line-height:1.55}.drawing-library-placeholder-actions{flex:none}.project-card-meta,.issue-card-meta,.task-meta{flex-wrap:wrap;gap:10px;min-width:0;margin:12px 0;display:flex}.issue-card-meta span,.task-meta span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.issue-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.viewer-shortcut-hint{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.issue-card-ref{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.project-card-schedule-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.project-card-schedule-row>span,.project-card-major-works{border-top:1px solid var(--line)}.project-card-schedule-row>span{gap:3px;min-width:0;padding:10px;display:grid}.project-card-schedule-row small,.project-card-major-works span,.project-card-major-works p{color:var(--muted)}.project-card-schedule-row strong,.project-card-major-works strong{color:var(--ink)}.project-card-health.tone-success{border-top-color:#16a34a6b}.project-card-health.tone-warning{border-top-color:#d977066b}.project-card-health.tone-danger{border-top-color:#dc26266b}.project-card-major-works{gap:9px;margin:12px 0;padding:12px;display:grid}.project-card-major-works>div:first-child,.project-card-major-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.project-card-major-works>div:first-child span{text-align:right;font-size:.8rem}.project-card-major-row{grid-template-columns:minmax(120px,1fr) minmax(96px,.8fr) auto;font-size:.84rem}.project-card-major-row>span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.project-card-major-row strong{font-size:.82rem}.project-card-major-works p{margin:0;font-size:.84rem}.project-card-footer{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.project-card-actions{align-items:center;gap:10px;display:flex;position:relative}.project-actions-menu{top:44px;right:0}.project-modal{z-index:1290;width:min(760px,100vw - 32px);max-height:calc(100vh - 40px);padding:24px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 28px 90px #101d3a3d}.project-create-modal{z-index:1290;border:1px solid var(--line);background:var(--surface);border-radius:22px;width:min(760px,100vw - 32px);max-height:calc(100vh - 40px);padding:24px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 28px 90px #101d3a3d}.project-modal-backdrop{z-index:1280;-webkit-backdrop-filter:blur(12px)saturate(1.08);background:#1414172e;border:0;animation:.18s drawerFadeIn;position:fixed;inset:0}.project-modal .form-actions,.project-create-modal .form-actions,.project-create-modal .modal-actions{margin-top:18px}.project-modal.is-busy{pointer-events:auto}.project-modal-saving{color:var(--text);background:#fafaf8e6;border:1px solid #1a1a1d29;border-radius:16px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.project-modal-saving div{gap:2px;display:grid}.project-modal-saving strong{font-size:.86rem}.project-modal-saving small{color:var(--muted);font-size:.76rem;font-weight:700}.project-modal .form-error{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2db;border-radius:14px;margin:12px 0 0;padding:10px 12px;font-size:.82rem;font-weight:700}.required-mark{color:var(--danger);margin-left:2px;font-weight:700}.field-hint{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.92em;font-weight:500}.field-error{color:var(--danger);margin-top:6px;font-size:.76rem;font-weight:600;line-height:1.3;display:block}.form-grid input.is-invalid,.form-grid textarea.is-invalid,.form-grid .ui-select.is-invalid{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.form-error-summary{border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger);border-radius:12px;margin:0 0 4px;padding:9px 12px;font-size:.8rem;font-weight:600}.form-grid input::placeholder,.form-grid textarea::placeholder,.form-grid .ui-select.is-placeholder{color:var(--muted)}.form-grid .ui-select.is-placeholder option{color:var(--text)}.project-delete-modal{z-index:39;text-align:center;width:min(520px,100vw - 32px);padding:28px;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 28px 90px #7f1d1d33}.project-delete-modal h3{margin:8px 0}.project-delete-modal p{color:var(--muted);margin:0;line-height:1.65}.project-delete-icon{background:var(--danger-soft);width:56px;height:56px;color:var(--danger);border-radius:18px;place-items:center;margin:0 auto 14px;font-size:1.45rem;font-weight:900;display:grid}.project-delete-warning{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2e6;border-radius:16px;margin-top:16px;padding:12px 14px;font-weight:800}.project-bulk-delete-list{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.project-bulk-delete-list span,.project-bulk-delete-list em{color:var(--text);background:#fafaf9db;border:1px solid #1414171a;border-radius:999px;padding:7px 10px;font-size:.8rem;font-style:normal;font-weight:800}.project-delete-modal .form-actions{justify-content:center;margin-top:18px}.workspace-rename-modal{z-index:39;gap:16px;width:min(480px,100vw - 32px);padding:28px;display:grid;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.workspace-rename-modal h3{margin:0;font-size:1.45rem}.workspace-rename-field{color:var(--muted);gap:8px;font-weight:800;display:grid}.workspace-rename-field input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#ffffffe6;border-radius:18px;outline:none;padding:14px 16px;font-weight:800}.workspace-rename-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #1a1a1d1f}.workspace-rename-error{border:1px solid var(--danger-soft);color:var(--danger);background:#fee2e2bf;border-radius:16px;margin:0;padding:12px 14px;font-weight:800}.workspace-rename-modal .form-actions{justify-content:flex-end;margin-top:2px}.filter-bar.sticky,.sticky-panel{position:sticky;top:16px}.segmented-control{background:var(--neutral-soft);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:inline-grid}.segmented-control button{background:0 0;border:0;border-radius:10px;min-width:88px;min-height:36px}.segmented-control button.active{background:#fff;box-shadow:0 4px 14px #16161914}.kanban-grid,.data-layout,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.kanban-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kanban-column{background:#fbfcff;padding:14px}.kanban-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.task-card{text-align:left}.task-card-top{justify-content:space-between;align-items:center;display:flex}.work-board-page{gap:10px}.work-board-head{align-items:flex-start}.work-hub-shell{gap:12px;padding:12px;display:grid}.work-hub-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.work-hub-tabs button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fafaf9d1;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;padding:12px;transition:all .15s;display:grid}.work-hub-tabs button:hover,.work-hub-tabs button.active{border-color:var(--accent);background:#fff;transform:translateY(-1px);box-shadow:0 14px 34px #1a1a1d14}.work-hub-tabs button span{color:var(--ink);font-size:.9rem;font-weight:650}.work-hub-tabs button strong{background:var(--neutral-soft);min-width:34px;height:34px;color:var(--primary);border-radius:999px;grid-row:span 2;place-items:center;font-size:.92rem;font-weight:700;display:grid}.work-hub-tabs button small,.work-hub-intro span,.work-area-note span{color:var(--muted);font-size:.78rem}.work-hub-tabs button.active strong{background:var(--primary);color:#fff}.work-hub-intro,.work-area-note{justify-content:space-between;align-items:center;gap:12px;display:flex}.work-hub-intro h4{color:var(--ink);margin:2px 0 4px;font-size:1rem;font-weight:650}.work-area-note{flex-wrap:wrap;justify-content:flex-start}.work-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.work-summary-card{border:1px solid var(--line);background:#ffffffdb;border-radius:14px;padding:9px 11px;box-shadow:0 8px 22px #1616190a}.work-summary-card strong{color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1;display:block}.work-summary-card span{color:var(--muted);margin-top:4px;font-size:.72rem;display:block}.work-board-toolbar{gap:9px;padding:10px;display:grid}.daily-log-archive-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.work-type-tabs,.work-quick-filters,.work-card-actions,.work-card-secondary-actions,.work-list-actions,.work-detail-status,.work-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-type-tabs button,.work-quick-filters button,.work-card-actions button,.work-card-secondary-actions button,.linked-location-button,.inline-status-button,.quick-create-popover button,.work-detail-head button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;font-weight:650;transition:all .14s}.work-type-tabs button{align-items:center;gap:6px;padding:7px 9px;font-size:.82rem;display:inline-flex}.work-type-tabs button strong{background:var(--neutral-soft);min-width:20px;color:var(--primary);border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:700}.work-type-tabs button.active,.work-quick-filters button.active,.linked-location-button{border-color:var(--accent);background:var(--primary-soft);color:var(--primary)}.work-quick-filters button{color:var(--muted);padding:6px 8px;font-size:.76rem}.work-board-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}:is(.work-board-layout:has(.work-detail-panel),.work-board-layout:has(.issue-detail-panel),.work-board-layout:has(.task-detail-panel)){grid-template-columns:minmax(0,1fr) 320px}.task-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.task-summary-card,.task-date-section,.task-group-section,.task-view-switcher,.task-create-panel,.task-filter-panel,.task-detail-panel,.task-empty-state{background:#fffffff0;border:1px solid #dcdad7eb}.task-summary-card{border-radius:14px;padding:12px;box-shadow:0 10px 24px #1616190d}.task-summary-card strong{color:var(--ink);font-size:1.18rem;line-height:1;display:block}.task-summary-card span{color:var(--muted);margin-top:5px;font-size:.78rem;font-weight:650;display:block}.task-create-panel,.task-filter-panel,.task-date-section,.task-group-section,.task-view-switcher,.task-detail-panel{padding:14px}.task-view-switcher{flex-wrap:wrap;gap:8px;display:flex}.task-view-switcher button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#f8fafc;border-radius:999px;padding:9px 13px;font-weight:750;transition:all .15s}.task-view-switcher button:hover,.task-view-switcher button.active{border-color:var(--accent);color:var(--ink);background:#fff;box-shadow:0 10px 22px #1a1a1d14}.task-create-modal-backdrop{z-index:190}.task-create-modal{border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(760px,100vw - 32px);max-height:min(86vh,780px);padding:18px;display:grid;overflow:hidden;box-shadow:0 28px 70px #1414173d}.task-create-modal-body{padding-right:4px;overflow:auto}.issue-create-hint{color:var(--muted);margin:-2px 2px 12px;font-size:.82rem;line-height:1.45}.issue-create-link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.issue-create-link:hover{color:var(--ink)}.task-create-panel{flex-direction:column;gap:14px;display:flex}.task-panel-head,.task-date-head,.task-create-footer,.task-command-top,.task-review-actions,.task-evidence-actions,.task-comment-form{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-panel-head h4,.task-date-head h4{color:var(--ink);margin:2px 0 0;font-size:1.02rem}.task-panel-head span,.task-create-footer span,.task-evidence-box p,.task-review-box p,.task-command-card p,.task-command-top span{color:var(--muted);font-size:.82rem}.task-panel-head button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font-weight:650}.task-form-grid,.task-detail-grid,.task-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-filter-panel{grid-template-columns:repeat(4,minmax(150px,1fr))}.task-form-wide,.task-detail-wide,.task-assignee-field{grid-column:1/-1}.task-form-grid label,.task-detail-grid label,.task-filter-panel label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:650;display:grid}.task-form-grid input,.task-form-grid textarea,.task-form-grid select,.task-detail-grid input,.task-detail-grid textarea,.task-detail-grid select,.task-filter-panel input,.task-filter-panel select,.task-comment-form input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background-color:#fff;border-radius:12px;padding:10px 12px}.task-filter-toggle{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-self:end;align-items:center;padding:0 12px}.task-filter-toggle input{width:auto;padding:0}.task-assignee-picker{flex-wrap:wrap;gap:8px;display:flex}.task-assignee-picker label{border:1px solid var(--line);color:var(--ink);background:#f8fafc;border-radius:999px;grid-template-columns:none;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.task-module-layout{align-items:start}.task-date-board,.task-group-board,.task-command-list,.task-detail-panel,.task-evidence-box,.task-review-box,.task-comments-box{gap:10px;display:grid}.task-status-board{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;align-items:start;padding-bottom:6px;display:grid;overflow-x:auto}.task-group-section{border-radius:18px;box-shadow:0 12px 24px #1616190b}.task-status-column{background:#fafaf9eb;min-height:520px}.task-group-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.task-group-title{align-items:center;gap:10px;min-width:0;display:flex}.task-group-title h4{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:1.02rem;overflow:hidden}.task-group-avatar{width:34px;height:34px;color:var(--primary);background:linear-gradient(135deg,#fafaf8fa,#fffffff5);border:1px solid #1a1a1d2e;border-radius:999px;flex:0 0 34px;place-items:center;font-weight:800;display:grid}.task-group-summary{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.task-group-summary span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.73rem;font-weight:700}.task-group-summary span.danger{color:var(--danger);background:#fee2e2e6}.task-command-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #d2d0cdf2;border-radius:16px;gap:10px;width:100%;padding:14px;transition:all .15s;display:grid;box-shadow:0 12px 24px #1616190e}.task-command-card:hover,.task-command-card.selected{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 16px 32px #1a1a1d1a}.task-command-card.completed{background:linear-gradient(135deg,#f0fdf4f5,#ecfdf5d6);border-color:#22c55e6b}.task-command-top strong{color:var(--ink);font-size:.98rem;display:block}.task-command-progress{background:var(--neutral-soft);border-radius:999px;height:8px;overflow:hidden}.task-command-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #22c55e);height:100%;display:block}.task-command-meta{flex-wrap:wrap;gap:7px;display:flex}.task-command-meta>span:not(.status-pill){background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.75rem;font-weight:650}.task-detail-panel{border-radius:18px;max-height:calc(100vh - 120px);position:sticky;top:12px;overflow:auto}.task-detail-panel.completed{border-color:var(--success-soft);background:linear-gradient(135deg,#f0fdf4fa,#fffffff0)}.task-status-hero{border:1px solid var(--success-soft);background:linear-gradient(135deg,#f0fdf4f2,#ffffffd9);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.task-status-hero span,.task-status-hero small{color:var(--muted);font-size:.78rem;font-weight:650;display:block}.task-status-hero strong{color:#147d3d;margin:3px 0;font-size:1.14rem;display:block}.task-evidence-box,.task-review-box,.task-comments-box{border:1px solid var(--line);background:#fafaf9d1;border-radius:16px;padding:12px}.task-evidence-box h5,.task-review-box h5,.task-comments-box h5{color:var(--ink);margin:0 0 4px;font-size:.92rem}.task-evidence-actions label{color:var(--primary);cursor:pointer;background:#fff;border:1px dashed #1a1a1d59;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:650;position:relative;overflow:hidden}.task-evidence-actions input{opacity:0;cursor:pointer;position:absolute;inset:0}.task-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.task-evidence-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;padding:8px;display:grid;overflow:hidden}.task-evidence-grid img,.task-file-icon{aspect-ratio:4/3;object-fit:cover;background:#eef2f7;border-radius:9px;width:100%}.task-file-icon{color:var(--muted);place-items:center;font-weight:750;display:grid}.task-evidence-grid strong,.task-evidence-grid small,.task-comment-list strong,.task-comment-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.task-review-actions,.task-comment-form{flex-wrap:wrap}.task-comment-list{gap:8px;display:grid}.task-comment-list article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px}.task-comment-list p{color:var(--ink);margin:4px 0;font-size:.84rem}.work-kanban-grid{grid-template-columns:repeat(4,minmax(220px,1fr));padding-bottom:6px;overflow-x:auto}.work-kanban-column{border:1px solid var(--line);background:#f8fafc;border-radius:18px;min-height:500px;padding:10px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.work-kanban-column.drag-over{border-color:var(--success-soft);background:linear-gradient(#22c55e1a,#fafaf9eb);box-shadow:inset 0 0 0 1px #22c55e1f,0 18px 38px #0f766e14}.work-kanban-column .kanban-head{margin-bottom:8px}.work-kanban-column .kanban-head strong{font-size:.88rem;font-weight:650}.work-board-page .section-head h3{font-size:1.18rem;font-weight:650}.work-board-page .status-pill{font-size:.74rem;font-weight:650}.work-kanban-cards{gap:8px}.work-item-card{cursor:grab;will-change:transform;background:#fffffff5;border:1px solid #d2d0cdeb;border-radius:16px;gap:10px;padding:12px;transition:transform .22s,opacity .18s,box-shadow .22s,border-color .18s,background .18s;display:grid;position:relative;box-shadow:0 10px 26px #1616190e}.work-item-card:hover,.work-item-card.selected{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 28px #1a1a1d17}.work-item-card.dragging{opacity:.42;cursor:grabbing;transform:scale(.985)}.work-item-card.moving{animation:.32s cubic-bezier(.2,.8,.2,1) issue-card-settle}.work-item-card-top,.work-item-title-row,.work-detail-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.work-card-type{color:var(--muted);background:#f5f5f3f2;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:850}.work-item-title-row strong{color:var(--ink);font-size:1.02rem;font-weight:850;line-height:1.18}.work-item-title-row span,.work-card-meta span,.work-card-indicators span,.work-indicator{color:var(--muted);font-size:.72rem;font-weight:750}.work-card-area{color:var(--muted);margin:0;font-size:.82rem;line-height:1.38}.work-card-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.work-card-keyfacts>div{background:#fafaf9eb;border:1px solid #e0dedbeb;border-radius:12px;gap:2px;min-width:0;padding:9px 10px;display:grid}.work-card-keyfacts span{color:var(--muted);font-size:.68rem;font-weight:800}.work-card-keyfacts strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;overflow:hidden}.work-item-card p{margin:0}.work-card-meta,.work-card-indicators{flex-wrap:wrap;gap:5px;display:flex}.work-card-meta span,.work-card-indicators span{background:var(--neutral-soft);border-radius:999px;padding:5px 8px}.danger-text{color:var(--danger)!important}.blocker-badge{border:1px solid var(--warning-soft);width:fit-content;color:var(--warning);background:#fff7ede6;border-radius:999px;padding:4px 7px;font-size:.7rem;font-weight:700}.work-card-secondary-actions button,.linked-location-button,.inline-status-button{border-radius:999px;min-height:34px;padding:0 10px;font-size:.75rem;font-weight:850}.work-card-secondary-actions.primary{flex-wrap:wrap;gap:7px;padding-top:2px;display:flex}.empty-column-hint{border:1px dashed var(--line);min-height:58px;color:var(--muted);border-radius:12px;place-items:center;font-size:.82rem;font-weight:600;display:grid}.work-detail-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #d2d0cddb;border-radius:18px;gap:10px;padding:12px;display:grid;position:sticky;top:14px;box-shadow:0 16px 40px #16161917}.work-detail-panel h4{color:var(--ink);margin:0;font-size:.98rem;font-weight:650}.work-detail-panel p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.work-detail-grid{background:var(--neutral-soft);border-radius:14px;grid-template-columns:86px 1fr;gap:7px 10px;padding:10px;display:grid}.work-detail-grid span{color:var(--muted);font-size:.73rem}.work-detail-section{border-top:1px solid var(--line);gap:6px;padding-top:10px;display:grid}.work-detail-section label{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:flex}.quick-create-menu{position:relative}.quick-create-popover{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #d2d0cde6;border-radius:18px;gap:6px;width:260px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 70px #16161929}.quick-create-popover button{text-align:left;border-radius:12px;padding:8px 10px}.quick-create-popover small{color:var(--muted)}.work-list-card{width:100%;overflow-x:auto}.work-list-actions{border-bottom:1px solid var(--line);padding:10px}.work-list-table{min-width:100%}.reject-fix-modal{max-width:520px}.overview-card-grid,.work-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.overview-action-card,.work-plan-card,.daily-log-card,.issue-board-card{gap:10px;display:grid}.overview-action-card strong{color:var(--ink);font-size:1.8rem;font-weight:700;line-height:1}.overview-action-card p,.work-plan-card p,.daily-log-card p,.issue-board-card p{color:var(--muted);margin:0;font-size:.86rem}.compact-feed{gap:10px;display:grid}.work-plan-layout{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.work-plan-list{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafaf9e0;border:1px solid #d2d0cde0;border-radius:18px;gap:8px;padding:8px;display:flex;position:relative;overflow-x:auto;box-shadow:0 14px 34px #16161914}.work-plan-selector{text-align:left;cursor:pointer;flex:0 0 290px;min-width:260px;max-width:290px;padding:10px;transition:all .15s;position:relative}.work-plan-selector:hover,.work-plan-selector.active{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 34px #1a1a1d14}.work-plan-selector.active{background:linear-gradient(#fafaf8f0,#fffffffa)}.work-plan-selector .work-plan-head{align-items:center;gap:8px}.work-plan-selector .work-plan-head h4{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.2;overflow:hidden}.work-plan-selector .eyebrow{letter-spacing:.16em;font-size:.62rem}.work-plan-selector .status-pill{white-space:nowrap;padding:6px 8px;font-size:.64rem}.work-plan-card-tools{align-items:center;gap:6px;display:flex;position:relative}.work-plan-loading-state{min-width:250px;max-width:280px;color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:14px;font-size:.85rem;font-weight:800;display:grid;position:relative;overflow:hidden}.work-plan-loading-state:before{content:"";background:linear-gradient(110deg,#0000 0%,#1a1a1d14 42%,#0000 72%);animation:1.35s ease-in-out infinite workPlanLoadingSweep;position:absolute;inset:0;transform:translate(-100%)}.work-plan-loading-spinner{z-index:1;border:3px solid #1a1a1d24;border-top-color:var(--accent);border-radius:999px;width:28px;height:28px;animation:.78s linear infinite workPlanLoadingSpin;position:relative}.work-plan-loading-copy{z-index:1;gap:3px;min-width:0;display:grid;position:relative}.work-plan-loading-copy strong{color:var(--ink);font-size:.82rem;line-height:1.15}.work-plan-loading-copy span{color:var(--muted);font-size:.7rem;font-weight:750}.work-plan-loading-skeleton{z-index:1;grid-column:1/-1;gap:6px;display:grid;position:relative}.work-plan-loading-skeleton i{background:#1a1a1d1a;border-radius:999px;height:7px;display:block}.work-plan-loading-skeleton i:first-child{width:86%}.work-plan-loading-skeleton i:nth-child(2){width:62%}.work-plan-loading-skeleton i:nth-child(3){width:74%}:root[data-theme=dark] .work-plan-loading-state,.app-shell[data-theme=dark] .work-plan-loading-state{background:linear-gradient(#ffffff0e,#ffffff06),#141417eb;border-color:#96949133}:root[data-theme=dark] .work-plan-loading-state:before,.app-shell[data-theme=dark] .work-plan-loading-state:before{background:linear-gradient(110deg,#0000 0%,#1a1a1d24 42%,#0000 72%)}:root[data-theme=dark] .work-plan-loading-copy strong,.app-shell[data-theme=dark] .work-plan-loading-copy strong{color:#f8fafc}:root[data-theme=dark] .work-plan-loading-spinner,.app-shell[data-theme=dark] .work-plan-loading-spinner{border-color:var(--accent);border-top-color:var(--accent)}:root[data-theme=dark] .work-plan-loading-skeleton i,.app-shell[data-theme=dark] .work-plan-loading-skeleton i{background:#1a1a1d24}@keyframes workPlanLoadingSpin{to{transform:rotate(360deg)}}@keyframes workPlanLoadingSweep{to{transform:translate(100%)}}.work-plan-menu-trigger{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;place-items:center;font-weight:800;display:grid}.work-plan-menu-trigger:hover{border-color:var(--accent);color:var(--primary)}.work-plan-actions-menu{z-index:20;background:#fffffff5;border:1px solid #d2d0cdeb;border-radius:12px;min-width:112px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 44px #16161929}.work-plan-actions-menu button{width:100%;color:var(--danger);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 9px;font-weight:700}.work-plan-actions-menu button:hover{background:var(--danger-soft)}.work-plan-selector .progress-track{height:7px}.work-plan-selector .work-plan-meta{gap:5px;margin-top:6px}.work-plan-selector .work-plan-meta span{padding:4px 6px;font-size:.66rem}.work-plan-add-card{min-height:106px;color:var(--primary);cursor:pointer;background:#fafaf89e;border:1px dashed #1a1a1d57;border-radius:16px;flex:0 0 88px;align-content:center;place-items:center;gap:4px;transition:all .15s;display:grid}.work-plan-add-card:hover{background:#fff;transform:translateY(-1px);box-shadow:0 14px 34px #1a1a1d14}.work-plan-add-card:disabled{cursor:wait;opacity:.72;transform:none}.work-plan-add-card strong{background:var(--primary);color:#fff;border-radius:999px;place-items:center;width:34px;height:34px;font-size:1.4rem;line-height:1;display:grid}.work-plan-add-card span{color:var(--primary);text-align:center;font-size:.7rem;font-weight:700}.work-plan-breakdown-card{gap:14px;min-width:0;padding:14px;display:grid;overflow:visible}.work-plan-breakdown-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.work-plan-edit-header{grid-template-columns:minmax(120px,.7fr) minmax(220px,1.3fr);gap:8px;width:min(720px,100%);display:grid}.work-plan-edit-header label,.work-plan-facts label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:4px;font-size:.7rem;font-weight:700;display:grid}.work-plan-edit-header label.wide{min-width:0}.work-plan-edit-header input,.work-plan-facts input,.work-plan-facts select{border:1px solid var(--line);background-color:var(--control-bg);min-height:34px;color:var(--text);font:inherit;text-transform:none;letter-spacing:0;border-radius:10px;padding:0 10px;font-size:.86rem;font-weight:600}.work-plan-edit-header p{color:var(--muted);grid-column:1/-1;margin:0;font-size:.82rem}.work-plan-save-message{color:var(--muted);margin-top:6px;font-size:.82rem;display:block}.work-plan-breakdown-head h4{color:var(--ink);margin:2px 0 4px;font-size:1.04rem;font-weight:650}.work-plan-breakdown-head span{color:var(--muted);font-size:.82rem}.work-plan-progress-badge{background:var(--primary-soft);min-width:112px;color:var(--primary);border-radius:18px;place-items:center;padding:12px;display:grid}.work-plan-progress-badge strong{font-size:1.45rem;line-height:1}.work-plan-progress-badge span{color:var(--primary);font-size:.72rem;font-weight:650}.work-plan-sticky-actions{z-index:24;background:linear-gradient(180deg, #fffffff5, #f8f8f5f0), var(--panel);border:1px solid #1414171a;border-radius:22px;width:fit-content;max-width:100%;margin:10px 0 0;padding:10px;position:sticky;bottom:14px;box-shadow:0 20px 55px #14141724,inset 0 1px #fffc}.work-plan-sticky-actions .shell-button{min-height:46px}@media (max-width:720px){.work-plan-sticky-actions{justify-content:stretch;width:100%;bottom:10px;right:12px}.work-plan-sticky-actions .shell-button{flex:150px}}.work-plan-facts{flex-wrap:wrap;gap:7px;display:flex}.work-plan-facts span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:600}.work-plan-mode-toolbar{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:inline-flex}.work-plan-mode-switch{background:var(--neutral-soft);border-radius:999px;flex-wrap:wrap;width:fit-content;max-width:100%;padding:4px;display:inline-flex}.work-plan-mode-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 13px;font-weight:700}.work-plan-mode-switch button.active{color:var(--primary);background:#fff;box-shadow:0 8px 20px #16161914}.boq-quantity-workspace{gap:10px;width:100%;display:grid}.boq-quantity-summary-strip,.boq-quantity-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.boq-quantity-summary-strip span,.boq-quantity-summary-grid span{border:1px solid var(--line);background:var(--surface-soft);min-height:68px;color:var(--muted);border-radius:14px;gap:4px;padding:12px 14px;font-size:.74rem;font-weight:760;display:grid}.boq-quantity-summary-strip strong,.boq-quantity-summary-grid strong{color:var(--ink);letter-spacing:-.01em;font-size:1.08rem;font-weight:860}.boq-quantity-summary-panel .boq-quantity-summary-group-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;grid-column:1/-1;margin:8px 0 0;font-size:.62rem;font-weight:820}.boq-quantity-summary-panel .boq-quantity-summary-group-label:first-child{margin-top:0}.boq-quantity-subtabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;display:inline-flex}.boq-quantity-subtabs button{min-height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:820}.boq-quantity-subtabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 8px 18px #14141714}.boq-quantity-module-panel,.boq-quantity-summary-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:12px;min-width:0;padding:14px;display:grid}.boq-quantity-summary-panel>div:first-child{gap:3px;display:grid}.boq-quantity-summary-panel h4{margin:0;font-size:1rem}.boq-quantity-summary-panel p{color:var(--muted);margin:0}.schedule-mode-strip{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.schedule-mode-switcher{border:1px solid var(--line);background:var(--neutral-soft);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.schedule-mode-switcher button{min-width:92px;min-height:34px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 14px;font-weight:850;transition:background .16s,color .16s,box-shadow .16s,transform .16s}.schedule-mode-switcher button:hover:not(:disabled){color:var(--primary);transform:translateY(-1px)}.schedule-mode-switcher button.active{color:#fffaf0;background:#111;box-shadow:0 10px 22px #11111124}.schedule-mode-switcher button:disabled{cursor:wait;opacity:.72}.schedule-mode-helper{color:var(--muted);font-size:.78rem;font-weight:650}.upgrade-schedule-modal{z-index:90;border:1px solid var(--line);width:min(520px,100vw - 32px);box-shadow:var(--shadow);gap:14px;padding:22px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.upgrade-schedule-modal h3{margin:0}.upgrade-schedule-modal p{color:var(--muted);margin:0}.upgrade-schedule-list{flex-wrap:wrap;gap:8px;display:flex}.upgrade-schedule-list span{background:var(--neutral-soft);color:var(--ink);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.advanced-schedule-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;gap:16px;padding:18px;display:grid;box-shadow:0 14px 40px #1414170f}.advanced-schedule-panel.compact{grid-template-columns:minmax(0,1fr);align-items:center}.advanced-schedule-panel h4{margin:2px 0 4px;font-size:1.05rem}.advanced-schedule-panel p{color:var(--muted);margin:0}.advanced-schedule-table{grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(130px,1fr));align-items:stretch;gap:8px;display:grid;overflow-x:auto}.advanced-schedule-table.activity-details-table{grid-template-columns:minmax(180px,1.15fr) minmax(90px,.62fr) minmax(90px,.58fr) minmax(110px,.72fr) minmax(90px,.56fr) minmax(155px,.92fr) minmax(180px,1.05fr)}.advanced-schedule-table.material-plan-table{grid-template-columns:minmax(170px,1.05fr) repeat(6,minmax(110px,.8fr))}.advanced-schedule-table.procurement-table{grid-template-columns:minmax(170px,1.05fr) repeat(7,minmax(110px,.8fr))}.advanced-schedule-table.critical-path-table{grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(150px,1fr))}.advanced-schedule-table.dependency-table{grid-template-columns:64px minmax(190px,1.1fr) minmax(180px,1fr)}.material-plan-panel{gap:12px}.material-plan-head,.material-plan-actions,.material-plan-bottom-actions,.material-plan-filters,.material-plan-row-actions{align-items:center;gap:8px;display:flex}.material-plan-head{justify-content:space-between;align-items:flex-start}.material-plan-actions,.material-plan-bottom-actions,.material-plan-filters{flex-wrap:wrap}.material-plan-actions button,.material-plan-bottom-actions button,.material-plan-filters button,.material-plan-row-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:850}.material-plan-actions button:disabled,.material-plan-bottom-actions button:disabled,.material-plan-row-actions button:disabled{opacity:.5;cursor:not-allowed}.material-plan-bottom-actions{justify-content:flex-end;padding-top:2px}.material-plan-bottom-actions button.primary,.material-plan-actions button.primary,.resource-allocation-panel .material-plan-actions button:nth-child(2),.service-plan-panel .material-plan-actions button:nth-child(2){background:var(--ink);color:var(--surface)}.material-plan-filters button,.material-plan-row-actions button.subtle,.service-plan-panel .material-plan-actions button:nth-child(4),.service-plan-panel .material-plan-actions button:nth-child(5){background:var(--control-bg);color:var(--ink)}.material-plan-filters button.active{border-color:var(--accent);background:var(--ink);color:var(--surface)}.material-plan-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.material-plan-summary span{border:1px solid var(--line);background:var(--surface-soft);min-height:66px;color:var(--muted);border-radius:14px;gap:3px;padding:11px;font-size:.72rem;font-weight:780;display:grid}.material-plan-summary strong{color:var(--ink);font-size:1.05rem}.material-plan-summary .warning strong{color:var(--warning)}.material-plan-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:auto}.material-plan-table,.material-request-checklist{align-items:stretch;min-width:1420px;display:grid}.material-plan-table{grid-template-columns:42px minmax(210px,1.3fr) minmax(170px,1fr) minmax(110px,.7fr) minmax(82px,.45fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(128px,.75fr) minmax(140px,.8fr) minmax(130px,.8fr) minmax(170px,1fr) minmax(146px,.8fr)}.material-plan-table>span,.material-plan-table>label,.material-plan-table>input,.material-plan-table>button,.material-plan-table>.material-plan-row-actions,.material-request-checklist>span,.material-request-checklist>label,.material-request-checklist>input,.material-request-checklist>strong{border-bottom:1px solid var(--line);min-width:0;color:var(--ink);padding:9px 10px;font-size:.78rem}.material-plan-table>span:nth-child(-n+12),.material-request-checklist>span:nth-child(-n+9){z-index:1;background:var(--surface-soft);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:900;position:sticky;top:0}.material-plan-table input,.material-request-checklist input,.material-plan-batch-note textarea{border:1px solid var(--line);background:var(--control-bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:8px 9px;font-size:.78rem;font-weight:760}.material-plan-table small{color:var(--muted);margin-top:3px;font-size:.7rem;font-weight:700;display:block}.material-plan-checkbox{place-items:center;display:grid}.material-plan-checkbox input{width:18px;height:18px;padding:0}.material-plan-status{background:var(--neutral-soft);min-height:30px;color:var(--muted);border-radius:999px;place-self:center start;align-items:center;padding:5px 9px;font-weight:850;display:inline-flex}.material-plan-status.status-requested,.material-plan-status.status-approved,.material-plan-status.status-ordered{background:var(--primary-soft);color:var(--primary)}.material-plan-status.status-partially_requested{background:var(--warning-soft);color:var(--warning)}.material-plan-status.status-delivered{background:var(--success-soft);color:var(--success)}.material-plan-status.status-cancelled{background:var(--danger-soft);color:var(--danger)}.material-plan-request-modal{width:min(1280px,100vw - 40px);max-height:min(760px,100vh - 36px);padding:18px;overflow:auto}.material-request-checklist{border:1px solid var(--line);border-radius:14px;grid-template-columns:42px minmax(170px,1.05fr) minmax(190px,1.1fr) repeat(4,minmax(104px,.7fr)) minmax(126px,.75fr) minmax(160px,1fr);overflow:auto}.material-plan-batch-note{color:var(--muted);gap:6px;margin-top:12px;font-size:.78rem;font-weight:850;display:grid}.material-plan-batch-note textarea{resize:vertical;min-height:74px}.service-plan-panel{gap:12px}.service-plan-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:auto}.service-plan-table,.service-request-checklist{align-items:stretch;min-width:1680px;display:grid}.service-plan-table{grid-template-columns:42px minmax(190px,1.05fr) minmax(190px,1fr) minmax(230px,1.25fr) minmax(130px,.75fr) minmax(130px,.75fr) minmax(92px,.55fr) minmax(150px,.86fr) minmax(170px,.95fr) minmax(136px,.76fr) minmax(116px,.65fr) minmax(126px,.7fr) minmax(160px,.9fr) minmax(138px,.78fr)}.service-request-checklist{border:1px solid var(--line);border-radius:14px;grid-template-columns:42px minmax(180px,1fr) minmax(190px,1fr) minmax(130px,.74fr) minmax(130px,.74fr) minmax(260px,1.35fr) minmax(170px,.95fr) minmax(180px,1fr);overflow:auto}.service-plan-table>span,.service-plan-table>label,.service-plan-table>input,.service-plan-table>textarea,.service-plan-table>.material-plan-row-actions,.service-request-checklist>span,.service-request-checklist>label,.service-request-checklist>input,.service-request-checklist>textarea{border-bottom:1px solid var(--line);min-width:0;color:var(--ink);padding:9px 10px;font-size:.78rem}.service-plan-table>span:nth-child(-n+14),.service-request-checklist>span:nth-child(-n+8){z-index:1;background:var(--surface-soft);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:900;position:sticky;top:0}.service-plan-table input,.service-plan-table textarea,.service-request-checklist input,.service-request-checklist textarea{border:1px solid var(--line);background:var(--control-bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:8px 9px;font-size:.78rem;font-weight:760}.service-plan-table textarea,.service-request-checklist textarea{resize:vertical;min-height:42px}.service-plan-table small{color:var(--muted);margin-top:3px;font-size:.68rem;font-weight:750;line-height:1.25;display:block}.service-plan-status{background:var(--neutral-soft);min-height:30px;color:var(--muted);border-radius:999px;place-self:center start;align-items:center;padding:5px 9px;font-weight:850;display:inline-flex}.service-plan-status-cell{align-content:center;gap:4px;display:grid}.service-plan-status-cell .service-plan-status{appearance:none;cursor:pointer;border:0;outline:0;width:100%;min-height:32px}.service-plan-status-cell small{color:var(--muted);margin:0}.service-plan-status.status-requested,.service-plan-status.status-rfq_sent,.service-plan-status.status-quotation_received,.service-plan-status.status-awarded,.service-plan-status.status-contracted,.service-plan-status.status-mobilized,.service-plan-status.status-in_progress{background:var(--primary-soft);color:var(--primary)}.service-plan-status.status-under_review{background:var(--warning-soft);color:var(--warning)}.service-plan-status.status-completed{background:var(--success-soft);color:var(--success)}.service-plan-status.status-cancelled{background:var(--danger-soft);color:var(--danger)}.resource-allocation-panel{gap:12px}.resource-allocation-summary span{min-height:62px}.resource-allocation-tabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;width:fit-content;padding:4px}.resource-library-panel{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;gap:12px;padding:12px;display:grid}.resource-library-panel>div:first-child{gap:3px;display:grid}.resource-library-panel span,.resource-library-panel small{color:var(--muted);font-size:.75rem;font-weight:760}.resource-library-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.resource-library-grid button{border:1px solid var(--line);background:var(--surface);min-height:76px;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;gap:3px;padding:10px;display:grid}.resource-activity-list,.resource-by-resource-list{gap:10px;display:grid}.resource-activity-group,.resource-resource-card,.resource-utilization-grid article{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.resource-activity-group{overflow:auto hidden}.resource-activity-group-head,.resource-resource-head{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.resource-activity-group-head div,.resource-resource-head div{gap:2px;display:grid}.resource-activity-group-head span,.resource-resource-head span,.resource-activity-title span{color:var(--muted);font-size:.73rem;font-weight:760}.resource-activity-table-head,.resource-activity-row{grid-template-columns:minmax(190px,1.25fr) minmax(116px,.58fr) minmax(320px,1.7fr) minmax(140px,.8fr) 92px;align-items:center;gap:10px;min-width:860px;display:grid}.resource-activity-table-head{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#fafaf9d1;padding:8px 14px;font-size:.66rem;font-weight:900}.resource-activity-row{background:var(--surface);border-bottom:1px solid #e0dedbe6;padding:10px 14px;transition:background .16s,box-shadow .16s}.resource-activity-row:hover{background:#fafaf9b8;box-shadow:inset 3px 0 #1414171f}.resource-activity-row:last-child{border-bottom:0}.resource-activity-title{gap:3px;min-width:0;display:grid}.resource-activity-title strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:900;overflow:hidden}.resource-activity-title span{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.resource-warning-list,.resource-row-actions,.resource-empty-assignment,.resource-empty-assignment div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.resource-warning-badge,.resource-type-chip,.resource-status-badge{background:var(--neutral-soft);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:.7rem;font-weight:850;display:inline-flex}.resource-warning-badge.tone-warning{background:var(--warning-soft);color:var(--warning)}.resource-warning-badge.tone-danger{background:var(--danger-soft);color:var(--danger)}.resource-warning-badge.tone-success{background:var(--success-soft);color:var(--success)}.resource-type-chip.type-equipment{background:var(--primary-soft);color:var(--primary)}.resource-type-chip.type-crew,.resource-type-chip.type-staff{background:var(--neutral-soft);color:var(--ink)}.resource-status-badge.status-confirmed,.resource-status-badge.status-on_site{background:var(--primary-soft);color:var(--primary)}.resource-status-badge.status-assigned{background:var(--warning-soft);color:var(--warning)}.resource-status-badge.status-completed{background:var(--success-soft);color:var(--success)}.resource-status-badge.status-cancelled{background:var(--danger-soft);color:var(--danger)}.resource-assignment-list{gap:5px;display:grid}.resource-assignment-row{border:1px solid var(--line);background:var(--surface-soft);min-height:42px;color:var(--ink);border-radius:12px;grid-template-columns:minmax(98px,.62fr) minmax(160px,1fr) minmax(84px,.45fr) minmax(150px,.9fr) minmax(104px,.62fr) minmax(150px,1fr) minmax(110px,.64fr);align-items:center;gap:8px;padding:8px;font-size:.76rem;display:grid}.resource-activity-row .resource-assignment-row{background:#fafaf9db;border-radius:10px;grid-template-columns:auto minmax(90px,1fr) auto auto auto minmax(58px,.7fr) auto;min-height:32px;padding:5px 6px;font-size:.68rem}.resource-activity-row .resource-assignment-row>strong,.resource-activity-row .resource-assignment-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-activity-row .resource-row-actions button{min-height:24px;padding:0 8px;font-size:.64rem}.resource-row-actions button,.resource-empty-assignment button,.resource-assign-button{border:1px solid var(--line);background:var(--control-bg);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.72rem;font-weight:850}.resource-empty-assignment{min-height:38px;color:var(--muted);background:linear-gradient(#fafaf9e0,#fffffff0);border:1px dashed #9694917a;border-radius:11px;padding:7px 8px;font-weight:780}.resource-empty-assignment>span{color:#64748b;margin-right:3px;font-size:.72rem}.resource-empty-assignment button{background:#fff;min-height:26px;padding:0 9px;font-size:.68rem}.resource-assign-button{background:var(--ink);min-height:30px;color:var(--surface);justify-self:end;padding:0 12px}.resource-schedule-chip{width:fit-content;max-width:100%;min-height:28px;color:var(--ink);white-space:nowrap;background:#fafaf9e6;border:1px solid #d2d0cddb;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:.7rem;font-weight:850;display:inline-flex}.resource-schedule-chip.warning{border-color:var(--warning-soft);background:var(--warning-soft);color:var(--warning)}.resource-resource-card,.resource-resource-assignments{display:grid}.resource-resource-assignments div{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.2fr) minmax(90px,.5fr) minmax(150px,.85fr);gap:8px;padding:9px 12px;font-size:.76rem;display:grid}.resource-resource-assignments div:last-child{border-bottom:0}.resource-timeline{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:0;display:grid;overflow:auto}.resource-timeline-head,.resource-timeline-row{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(520px,1fr) 90px;align-items:center;gap:8px;min-width:760px;padding:9px 10px;display:grid}.resource-timeline-head{z-index:1;background:var(--surface-soft);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;font-weight:900;position:sticky;top:0}.resource-timeline-row:last-child{border-bottom:0}.resource-timeline-track{grid-template-columns:repeat(var(--timeline-days), minmax(18px, 1fr));background:linear-gradient(90deg, #96949129 1px, transparent 1px) 0 0 / 28px 100%, var(--surface-soft);border-radius:10px;gap:2px;min-height:32px;display:grid;overflow:hidden}.resource-timeline-bar{background:var(--ink);min-width:0;height:22px;color:var(--surface);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-self:center;padding:3px 8px;font-size:.68rem;font-weight:850;overflow:hidden}.resource-timeline-bar.conflict{background:var(--danger)}.resource-utilization-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;display:grid}.resource-utilization-grid article{gap:8px;padding:12px;display:grid}.resource-utilization-grid article>span{color:var(--muted);font-size:.8rem;font-weight:760}.resource-utilization-row{grid-template-columns:minmax(130px,.8fr) minmax(0,1fr) 54px;align-items:center;gap:8px;font-size:.76rem;display:grid}.resource-utilization-row i{background:var(--ink);border-radius:999px;height:8px;display:block}.resource-assignment-modal{width:min(860px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto}.resource-assignment-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.resource-assignment-form label{color:var(--muted);gap:6px;font-size:.74rem;font-weight:850;display:grid}.resource-assignment-form input,.resource-assignment-form select,.resource-assignment-form textarea{border:1px solid var(--line);background-color:var(--control-bg);width:100%;color:var(--ink);font:inherit;border-radius:12px;padding:9px 10px;font-size:.82rem;font-weight:760}.resource-assignment-notes{grid-column:1/-1}.resource-assignment-notes textarea{resize:vertical;min-height:78px}.resource-assignment-preview{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:.78rem;font-weight:760;display:flex}.resources-services-panel{gap:12px}.resources-services-head{align-items:flex-start}.resources-services-head h4{font-size:1.02rem}.resources-services-head p{max-width:620px}.resources-services-actions{justify-content:flex-end;max-width:760px}.resources-services-summary span{min-height:62px}.resources-services-tabs,.resources-services-status-filter{width:fit-content}.resources-services-activity-list,.resources-services-card-list{gap:10px;display:grid}.resources-services-group,.resources-services-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.resources-services-group-head,.resources-services-card-head{border-bottom:1px solid var(--line);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.resources-services-group-head div,.resources-services-card-head div{gap:2px;display:grid}.resources-services-group-head span,.resources-services-card-head span,.resources-services-activity-title small{color:var(--muted);font-size:.72rem;font-weight:760}.resources-services-activity-row{border-bottom:1px solid #e0dedbdb;gap:10px;padding:12px 14px;display:grid}.resources-activity-compact-card{border-bottom:1px solid #e0dedbdb;gap:10px;padding:11px 12px;display:grid}.resources-activity-compact-card:last-child{border-bottom:0}.resources-activity-compact-card:hover{background:#fafaf99e}.resources-activity-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(310px,auto);align-items:stretch;gap:8px;display:grid}.resources-activity-summary-cell{background:#fafaf99e;border:1px solid #e0dedbe6;border-radius:12px;gap:2px;min-width:0;padding:8px 10px;display:grid}.resources-activity-summary-cell span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:900}.resources-activity-summary-cell strong,.resources-activity-summary-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resources-activity-summary-cell strong{color:var(--ink);font-size:.78rem;font-weight:850}.resources-activity-summary-cell strong.tone-warning{color:var(--warning)}.resources-activity-summary-cell strong.tone-success{color:var(--success)}.resources-activity-summary-cell small{color:var(--muted);font-size:.68rem;font-weight:720}.resources-activity-quick-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.resources-activity-quick-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.7rem;font-weight:850}.resources-activity-quick-actions button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.resources-services-activity-row:last-child{border-bottom:0}.resources-services-activity-row:hover{background:#fafaf99e}.resources-services-activity-head,.resources-services-meta-row,.resources-services-lane-head,.resources-services-chip-list,.resources-services-empty-inline,.resources-services-card-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.resources-services-activity-head{justify-content:space-between}.resources-services-activity-title{align-items:center;gap:9px;min-width:220px;display:flex}.resources-services-activity-title>div{gap:2px;min-width:0;display:grid}.resources-services-activity-title strong{max-width:420px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:850;overflow:hidden}.resources-services-wbs{border:1px solid var(--line);background:var(--control-bg);min-width:42px;min-height:30px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;font-size:.74rem;font-weight:850;display:inline-flex}.resources-services-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.resources-planning-table{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:auto}.resources-planning-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,1.4fr) repeat(10,minmax(92px,.7fr)) minmax(118px,.8fr);min-width:1320px;display:grid}.resources-planning-table.equipment .resources-planning-row{grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) repeat(9,minmax(92px,.7fr)) minmax(118px,.8fr)}.resources-planning-table.services .resources-planning-row{grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(220px,1.2fr) repeat(8,minmax(88px,.65fr)) minmax(168px,1fr);min-width:1620px}.resources-planning-table.requests .resources-planning-row{grid-template-columns:minmax(210px,1.3fr) minmax(100px,.55fr) minmax(190px,1fr) repeat(7,minmax(96px,.65fr)) minmax(130px,.8fr);min-width:1420px}.resources-planning-row:last-child{border-bottom:0}.resources-planning-row.head{z-index:2;background:var(--surface-soft);position:sticky;top:0}.resources-planning-row>span{border-right:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);align-content:center;padding:8px 10px;font-size:.73rem;font-weight:760;display:grid}.resources-planning-row>span:last-child{border-right:0}.resources-planning-row.head>span{min-height:38px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:900}.resources-planning-row strong,.resources-planning-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resources-planning-row small{color:var(--muted);font-size:.66rem;font-weight:720}.resources-planning-actions{align-content:center;align-items:center;gap:6px;display:flex!important}.resources-planning-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.68rem;font-weight:850}.resources-planning-actions button.danger,.resources-planning-actions button.subtle{color:var(--danger)}.resources-services-lanes section{background:#fafaf98f;border:1px solid #e0dedbe6;border-radius:14px;gap:8px;min-width:0;padding:10px;display:grid}.resources-services-lane-head{justify-content:space-between}.resources-services-lane-head span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.resources-services-lane-head button,.resources-services-empty-inline button,.resources-services-card-actions button,.resources-services-card-lines button{border:1px solid var(--line);background:var(--control-bg);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.7rem;font-weight:850}.resources-services-empty-inline{background:var(--surface);min-height:34px;color:var(--muted);border:1px dashed #9694916b;border-radius:11px;padding:7px 8px;font-size:.74rem;font-weight:760}.resources-resource-chip,.resources-service-chip{border:1px solid var(--line);background:var(--surface);max-width:260px;min-height:42px;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:minmax(80px,auto) auto;align-items:center;gap:2px 8px;padding:7px 9px;display:inline-grid}.resources-resource-chip strong,.resources-service-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:850;overflow:hidden}.resources-resource-chip span,.resources-service-chip span,.resources-resource-chip small,.resources-service-chip small{color:var(--muted);white-space:nowrap;font-size:.67rem;font-weight:760}.resources-resource-chip small,.resources-service-chip small{grid-column:1/-1}.resources-resource-chip.type-equipment,.resources-service-chip.status-rfq_sent,.resources-service-chip.status-requested,.resources-service-chip.status-awarded,.resources-service-chip.status-contracted,.resources-service-chip.status-mobilized,.resources-service-chip.status-in_progress{border-color:var(--accent);background:var(--primary-soft)}.resources-service-chip.status-under_review{border-color:var(--warning-soft);background:var(--warning-soft)}.resources-service-chip.status-completed{border-color:var(--success-soft);background:var(--success-soft)}.resources-service-chip.status-cancelled{border-color:var(--danger-soft);background:var(--danger-soft)}.resources-services-card{display:grid}.resources-services-card-head{justify-content:flex-start}.resources-services-card-head>div{flex:1;min-width:0}.resources-services-card-head strong{text-overflow:ellipsis;white-space:nowrap;max-width:620px;font-size:.9rem;font-weight:850;overflow:hidden}.resources-services-card .service-plan-status{min-height:26px;padding:4px 9px;font-size:.68rem}.resources-services-service-meta{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:10px 12px;display:grid}.resources-services-service-meta span{color:var(--ink);gap:2px;font-size:.76rem;font-weight:780;display:grid}.resources-services-service-meta strong{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.63rem;font-weight:900}.resources-services-card>p{border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding:10px 12px;font-size:.78rem;font-weight:720;line-height:1.45}.resources-services-card-actions{justify-content:flex-end;padding:10px 12px}.resources-services-card-actions button.subtle{color:var(--danger)}.resources-services-card-lines{display:grid}.resources-services-card-lines button{background:var(--surface);text-align:left;border-width:0 0 1px;border-radius:0;grid-template-columns:minmax(180px,1.2fr) minmax(90px,.5fr) minmax(140px,.8fr);align-items:center;gap:8px;min-height:42px;padding:9px 12px;display:grid}.resources-services-card-lines button:last-child{border-bottom:0}.resources-services-card-lines strong,.resources-services-card-lines span,.resources-services-card-lines small{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.resources-services-card-lines small{color:var(--muted)}.resources-services-timeline .resource-timeline-bar.service{background:var(--primary)}.resource-plan-drawer-backdrop{background:#14141738}.resource-plan-drawer{z-index:90;border:1px solid var(--line);width:min(520px,100vw - 32px);box-shadow:var(--shadow-lg);border-radius:22px;grid-template-rows:auto auto 1fr;gap:10px;padding:16px;animation:.18s ease-out resource-drawer-in;display:grid;position:fixed;top:18px;bottom:18px;right:18px;overflow:auto}@keyframes resource-drawer-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.resource-plan-drawer-head,.resource-plan-drawer-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.resource-plan-drawer-head>div,.resource-plan-drawer-section-head>div{gap:3px;min-width:0;display:grid}.resource-plan-drawer-head h3{margin:0;font-size:1rem}.resource-plan-drawer-head span,.resource-plan-drawer-section-head span{color:var(--muted);font-size:.74rem;font-weight:740}.resource-plan-drawer-schedule{grid-template-columns:1fr 1fr;gap:8px;display:grid}.resource-plan-drawer-schedule span{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:2px;padding:8px 10px;font-size:.76rem;font-weight:780;display:grid}.resource-plan-drawer-schedule strong{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:900}.resource-plan-drawer-section{border:1px solid var(--line);background:#fafaf99e;border-radius:16px;gap:8px;padding:12px;display:grid}.resource-plan-drawer-section-head button{border:1px solid var(--line);background:var(--control-bg);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.7rem;font-weight:850}.resource-plan-drawer-item,.resource-drawer-empty{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);text-align:left;border-radius:12px;gap:3px;padding:9px 10px;display:grid}.resource-plan-drawer-item{cursor:pointer}.resource-plan-drawer-item strong,.resource-drawer-empty strong{font-size:.82rem;font-weight:850}.resource-plan-drawer-item span,.resource-plan-drawer-item small,.resource-drawer-empty span{color:var(--muted);font-size:.72rem;font-weight:720}.resource-plan-drawer-section.notes p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.45}.service-plan-item-modal{width:min(900px,100vw - 36px)}@media (max-width:920px){.resources-services-head,.resources-services-activity-head{flex-direction:column;align-items:stretch}.resources-services-actions,.resources-services-tabs,.resources-services-status-filter{width:100%}.resources-services-lanes,.resources-activity-compact-grid,.resource-plan-drawer-schedule{grid-template-columns:1fr}.resources-activity-quick-actions{justify-content:flex-start}}.advanced-warning-value{color:var(--warning);font-weight:850}.critical-path-shell{border:1px solid var(--line);background:var(--surface);border-radius:22px;gap:12px;padding:16px;display:grid;box-shadow:0 14px 40px #1414170f}.critical-path-shell.is-fullscreen{z-index:10000;background:#fff;border-radius:0;width:100vw;height:100dvh;padding:0;display:block;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 80px #14141747}.critical-path-shell.is-fullscreen:before{content:"";z-index:-1;background:#fff;position:fixed;inset:0}.critical-path-toolbar,.critical-path-actions,.critical-path-filters{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.critical-path-toolbar{justify-content:space-between}.critical-path-shell.is-fullscreen .critical-path-toolbar{z-index:12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #d2d0cdd1;border-radius:18px;align-items:center;gap:8px;width:auto;padding:8px;position:absolute;top:10px;left:10px;right:10px;box-shadow:0 16px 44px #1414171a}.critical-path-shell.is-fullscreen .critical-path-toolbar>div:first-child{display:none}.critical-path-toolbar h4{margin:2px 0 4px;font-size:1.05rem}.critical-path-toolbar p{color:var(--muted);margin:0}.critical-path-actions button,.critical-path-filters button,.critical-path-detail-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.76rem;font-weight:850}.critical-path-actions .critical-path-icon-action{place-items:center;width:38px;min-width:38px;padding:0;display:inline-grid}.critical-path-actions .critical-path-icon-action svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.critical-path-actions button:first-child,.critical-path-actions button:nth-child(2),.critical-path-filters button.active{background:var(--ink);color:var(--surface)}.critical-path-actions .critical-path-fullscreen-close{background:var(--ink);color:var(--surface);border-color:#1414171f}.critical-path-modebar{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.critical-path-shell.is-fullscreen .critical-path-modebar{z-index:12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafaf9e0;width:auto;max-width:min(560px,100vw - 20px);position:absolute;top:68px;left:10px;box-shadow:0 12px 34px #14141714}.critical-path-modebar span,.critical-path-modebar strong{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:0 12px;font-size:.73rem;font-weight:820;display:inline-flex}.critical-path-modebar strong{color:var(--primary)}.critical-path-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.critical-path-summary-grid span{border:1px solid var(--line);background:var(--surface-soft);min-height:64px;color:var(--muted);border-radius:14px;gap:3px;padding:11px;font-size:.72rem;font-weight:780;display:grid}.critical-path-summary-grid strong{color:var(--ink);font-size:1rem}.critical-path-filters{align-items:center}.critical-path-shell.is-fullscreen .critical-path-filters{z-index:12;justify-content:flex-end;width:auto;max-width:min(740px,100vw - 20px);padding:0;position:absolute;top:68px;right:10px}.critical-path-filters label,.critical-path-add-link{color:var(--muted);gap:5px;font-size:.7rem;font-weight:850;display:grid}.critical-path-filters select,.critical-path-add-link select,.critical-path-add-link input{border:1px solid var(--line);background-color:var(--control-bg);min-height:34px;color:var(--ink);font:inherit;border-radius:10px;padding:0 10px;font-size:.78rem;font-weight:780}.critical-path-layout{grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:clamp(620px,68vh,860px);display:grid;position:relative;overflow:hidden}.critical-path-map-card{background:linear-gradient(135deg,#fafaf9f5,#fafaf8d1);border:1px solid #b7c9e6eb;border-radius:18px;min-height:clamp(620px,68vh,860px);position:relative;overflow:hidden}.critical-path-shell.is-fullscreen .critical-path-summary-grid{display:none}.critical-path-shell.is-fullscreen .critical-path-layout,.critical-path-shell.is-fullscreen .critical-path-map-card,.critical-path-shell.is-fullscreen .critical-path-map{height:100%;min-height:0}.critical-path-shell.is-fullscreen .critical-path-layout{position:absolute;inset:0;overflow:hidden}.critical-path-shell.is-fullscreen .critical-path-map-card{box-shadow:none;border:0;border-radius:0}.critical-path-shell.is-fullscreen .critical-path-chain{display:none}.critical-path-map{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:clamp(620px,68vh,860px)}.critical-path-map.is-panning,.critical-path-map:active{cursor:grabbing}.critical-map-viewport{transform-box:fill-box;transform-origin:0 0;will-change:transform}.critical-map-grid-bg{fill:url(#critical-map-grid);opacity:1}.critical-lane-band{fill:color-mix(in srgb, var(--muted) 6%, transparent)}.critical-lane-band.is-alt{fill:color-mix(in srgb, var(--muted) 12%, transparent)}.critical-lane-tab{fill:color-mix(in srgb, var(--muted) 42%, transparent)}.critical-lane-label{fill:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.critical-path-map.is-tracing .critical-node.is-faded,.critical-path-map.is-tracing .critical-edge.is-faded{opacity:.12;pointer-events:none}.critical-path-map.is-tracing .critical-edge.is-traced path{stroke-width:2.4px}.critical-edge path{fill:none;stroke:#7a76709e;stroke-width:1.35px;vector-effect:non-scaling-stroke}.critical-edge{cursor:pointer}.critical-edge.critical path{stroke:var(--danger);stroke-width:2px}.critical-edge.selected path{stroke:var(--primary);stroke-width:2.1px}.critical-edge:hover path{stroke:#1a1a1dd1}.critical-edge text{fill:var(--muted);paint-order:stroke;stroke:#ffffffe6;stroke-width:3px;font-size:10px;font-weight:850}#critical-arrow path{fill:#475569c2}.critical-edge-handle{fill:#fff;stroke:var(--primary);stroke-width:2px;cursor:grab;filter:drop-shadow(0 4px 8px #1a1a1d38)}.critical-edge-handle:active{cursor:grabbing}.critical-edge-preview{fill:none;stroke:var(--primary);stroke-width:1.6px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.critical-edge-popover,.critical-dependency-confirm{z-index:8;background:#fffffff5;border:1px solid #b7c9e6f5;border-radius:14px;gap:6px;min-width:180px;max-width:320px;padding:10px;display:grid;position:absolute;box-shadow:0 18px 42px #14141724}.critical-edge-popover{transform:translate(-50%,-50%)}.critical-edge-popover strong,.critical-dependency-confirm strong{color:var(--ink);font-size:.78rem}.critical-edge-popover span,.critical-dependency-confirm span,.critical-dependency-confirm small{color:var(--muted);font-size:.72rem;font-weight:760}.critical-edge-popover button,.critical-dependency-confirm button{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:.7rem;font-weight:850}.critical-dependency-confirm{border-radius:16px;gap:9px;width:min(376px,100% - 28px);max-width:376px;padding:16px 18px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 30px 80px #14141747}.critical-dependency-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.critical-dependency-actions button:nth-child(3){margin-left:auto}.critical-dependency-actions button:nth-child(2){background:var(--ink);color:var(--surface)}.critical-relation-picker{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px;gap:6px!important;display:grid!important}.critical-relation-picker button{text-align:left;border-radius:12px;gap:2px;min-height:46px;padding:6px 8px;display:grid}.critical-relation-picker button.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.critical-relation-picker button strong{color:inherit;font-size:.78rem;line-height:1}.critical-relation-picker button span{color:inherit;opacity:.78;font-size:.6rem;line-height:1.05}.critical-lag-input{color:var(--muted);grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:7px;font-size:.7rem;font-weight:820;display:grid}.critical-lag-input input{border:1px solid var(--line);background:var(--control-bg);width:100%;min-height:30px;color:var(--ink);font:inherit;border-radius:9px;padding:0 8px;font-size:.75rem;font-weight:850}.critical-node{cursor:grab}.critical-node:active{cursor:grabbing}.critical-path-shell.mode-move .critical-node{cursor:grab}.critical-path-shell.mode-move .critical-node:active{cursor:grabbing}.critical-node rect:first-child{fill:#fff;stroke:#969491cc;stroke-width:1.4px;filter:drop-shadow(0 8px 18px #14141714)}.critical-node.selected rect:first-child{stroke:var(--primary);stroke-width:2.4px}.critical-node-receive-handle{fill:#fff;stroke:#7a7670d1;stroke-width:1.5px;cursor:crosshair;filter:drop-shadow(0 4px 8px #1414171f)}.critical-node-receive-handle:hover,.critical-node.is-connection-target .critical-node-receive-handle{fill:#1a1a1d14;stroke:var(--primary)}.critical-node-connect-handle{fill:#fff;stroke:var(--ink);stroke-width:1.6px;cursor:crosshair;filter:drop-shadow(0 5px 10px #14141729)}.critical-node-connect-handle:hover{fill:var(--ink);stroke:var(--ink)}.critical-node-connect-label{fill:var(--ink);pointer-events:none;text-anchor:middle;font-size:12px;font-weight:900}.critical-node.node-critical rect:first-child{fill:#fff7f7;stroke:#dc2626e6}.critical-node.node-delayed rect:first-child{fill:#fff8ed;stroke:#d97706e6}.critical-node.node-near-critical rect:first-child{fill:#fffbeb;stroke:#f59e0bcc}.critical-node.node-completed rect:first-child{fill:#f0fdf4;stroke:#16a34acc}.node-critical .critical-node-progress{fill:var(--danger)}.node-delayed .critical-node-progress,.node-near-critical .critical-node-progress{fill:var(--warning)}.node-completed .critical-node-progress{fill:var(--success)}.critical-path-detail-panel{z-index:7;border:1px solid var(--line);opacity:0;pointer-events:none;background:#fafaf9f5;border-radius:18px;align-content:start;gap:12px;width:min(380px,100% - 32px);max-height:calc(100% - 32px);padding:16px;transition:opacity .22s,transform .26s cubic-bezier(.2,.78,.2,1);display:grid;position:absolute;top:16px;bottom:16px;right:16px;overflow:auto;transform:translate(calc(100% + 24px));box-shadow:0 24px 60px #14141729}.critical-path-detail-panel.open{opacity:1;pointer-events:auto;transform:translate(0)}.critical-path-drawer-close{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;justify-self:end;padding:0 11px;font-size:.72rem;font-weight:850}.critical-path-detail-panel h4{margin:0;font-size:1rem}.critical-path-detail-panel dl{gap:7px;margin:0;display:grid}.critical-path-detail-panel dl div{border-bottom:1px solid #d2d0cdc7;justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.critical-path-detail-panel dt{color:var(--muted);font-size:.72rem;font-weight:800}.critical-path-detail-panel dd{color:var(--ink);text-align:right;margin:0;font-size:.78rem;font-weight:850}.critical-path-linked-list{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:5px;padding:10px;display:grid}.critical-path-linked-list strong{font-size:.75rem}.critical-path-linked-list span{color:var(--muted);font-size:.72rem;font-weight:760}.critical-path-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.critical-path-chain{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:5px;padding:12px;display:grid}.critical-path-chain span{color:var(--ink);font-weight:850}.critical-path-chain small{color:var(--muted);font-weight:720}.advanced-schedule-table>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:850}.advanced-schedule-row{display:contents}.advanced-schedule-row>*{border:1px solid var(--line);background:#fafaf9b8;border-radius:13px;min-width:0;padding:10px}.advanced-schedule-row.lite-level-summary-row>*{color:var(--text);background:#fafaf8b8;font-weight:500}.lite-schedule-panel{border-radius:16px;gap:12px;padding:14px;box-shadow:0 10px 28px #1414170b}.lite-schedule-panel h4{margin:0 0 2px;font-size:.98rem}.lite-schedule-panel p{font-size:.88rem}.lite-schedule-panel .advanced-schedule-cards{grid-template-columns:repeat(5,minmax(120px,1fr));gap:7px}.lite-schedule-panel .advanced-schedule-cards span{border-radius:11px;gap:2px;min-height:54px;padding:9px 10px;font-size:.75rem}.lite-schedule-panel .advanced-schedule-cards strong{font-size:1rem}.lite-wbs-table{grid-template-columns:minmax(220px,1.45fr) minmax(130px,.82fr) minmax(110px,.68fr);gap:5px 8px}.lite-level-children{max-height:calc((var(--lite-child-count,1) * 46px) + 12px);opacity:1;will-change:max-height, opacity, transform;grid-column:1/-1;grid-template-columns:minmax(220px,1.45fr) minmax(130px,.82fr) minmax(110px,.68fr);gap:5px 8px;transition:max-height .32s cubic-bezier(.2,.78,.2,1),opacity .22s,transform .32s cubic-bezier(.2,.78,.2,1);display:grid;overflow:hidden;transform:translateY(0)}.lite-level-children.collapsed{opacity:0;pointer-events:none;max-height:0;transform:translateY(-6px)}.lite-wbs-table>span{letter-spacing:.07em;padding:0 2px 2px;font-size:.66rem}.lite-wbs-table .advanced-schedule-row>*{border-radius:10px;min-height:34px;padding:7px 10px;font-size:.82rem;font-weight:500}.lite-wbs-table .lite-level-summary-row>*{background:#fafaf894;min-height:36px;font-weight:500}.lite-level-title,.lite-work-item-title{align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.lite-level-title span,.lite-work-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lite-collapse-toggle{width:22px;height:22px;color:var(--ink);font:inherit;cursor:pointer;background:#ffffffdb;border:1px solid #1a1a1d3d;border-radius:999px;flex:none;place-items:center;font-size:.82rem;font-weight:900;line-height:1;transition:background .16s,border-color .16s,transform .26s cubic-bezier(.2,.78,.2,1);display:inline-grid}.lite-collapse-toggle:hover{border-color:var(--accent);background:#fff;transform:translateY(-1px)}.lite-work-item-row>*{color:var(--ink);background:#fafaf98a;font-weight:720;transition:background .18s,border-color .18s,transform .26s cubic-bezier(.2,.78,.2,1);transform:translateY(0)}.lite-level-children.collapsed .lite-work-item-row>*{transform:translateY(-4px)}.advanced-schedule-row input,.advanced-schedule-row select{border:1px solid var(--line);background-color:var(--surface);width:100%;color:var(--ink);border-radius:12px;font-weight:700}.advanced-schedule-row button,.advanced-panel-actions button{border:1px solid var(--line);background:var(--ink);color:var(--surface);cursor:pointer;border-radius:999px;padding:8px 12px;font-weight:850}.advanced-schedule-row button:disabled,.advanced-panel-actions button:disabled{opacity:.55;cursor:not-allowed}.advanced-bbs-module{border:1px solid var(--line);background:var(--surface);border-radius:20px;gap:12px;padding:16px;display:grid;box-shadow:0 10px 28px #1414170b}.bbs-topbar,.bbs-panel-head,.bbs-table-actions,.bbs-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bbs-topbar h4,.bbs-panel-head h4,.bbs-detail-head h4{color:var(--ink);margin:2px 0 4px;font-size:.98rem;font-weight:720;line-height:1.25}.bbs-topbar p:not(.eyebrow),.bbs-panel-head p,.bbs-formula-box span{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.bbs-topbar-actions,.bbs-workflow-actions,.bbs-view-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.advanced-bbs-module .shell-button{min-height:34px;box-shadow:none;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:680}.advanced-bbs-module .shell-button-primary{box-shadow:none}.bbs-message,.bbs-warning-banner{border:1px solid var(--line);background:var(--neutral-soft);color:var(--ink);border-radius:12px;padding:9px 11px;font-size:.82rem;font-weight:650}.bbs-warning-banner{background:var(--warning-soft);color:var(--warning)}.bbs-dashboard-cards,.bbs-status-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.bbs-dashboard-cards span,.bbs-status-summary span{border:1px solid var(--line);min-height:58px;color:var(--muted);background:#fafaf9b8;border-radius:12px;gap:3px;padding:10px;font-size:.72rem;font-weight:610;line-height:1.3;display:grid}.bbs-dashboard-cards span.warning,.bbs-boq-source-metrics span.warning{border-color:color-mix(in srgb, var(--warning) 34%, var(--line));background:var(--warning-soft);color:var(--warning)}.bbs-dashboard-cards strong,.bbs-status-summary strong{color:var(--ink);font-size:.98rem;font-weight:700;line-height:1.15}.bbs-sheet-toolbar{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.4fr) repeat(3,minmax(120px,.8fr)) minmax(84px,.45fr) auto;align-items:center;gap:8px;display:grid}.bbs-sheet-toolbar label,.bbs-workflow-actions label,.bbs-detail-fields label{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;gap:4px;font-size:.66rem;font-weight:700;display:grid}.bbs-sheet-toolbar input,.bbs-workflow-actions input,.bbs-detail-fields input,.bbs-detail-fields select,.bbs-import-mode-row input,.bbs-mapping-grid select,.bbs-sheet-table input,.bbs-sheet-table select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:30px;color:var(--ink);font:inherit;border-radius:8px;padding:0 8px;font-size:.72rem;font-weight:560}.bbs-workflow-actions{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:9px}.bbs-boq-source-panel,.bbs-boq-variance-detail{border:1px solid var(--line);background:linear-gradient(135deg,#fafaf8b8,#ffffffe6);border-radius:16px;grid-template-columns:minmax(240px,1fr) minmax(360px,1.2fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.bbs-boq-variance-detail{grid-template-columns:minmax(240px,.9fr) minmax(420px,1.4fr)}.bbs-boq-source-panel h4,.bbs-boq-variance-detail h4{color:var(--ink);margin:2px 0 4px;font-size:.94rem;font-weight:700;line-height:1.3}.bbs-boq-source-panel p,.bbs-boq-variance-detail p{color:var(--muted);margin:0;font-size:.84rem}.bbs-boq-source-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bbs-boq-source-metrics span{border:1px solid var(--line);min-height:52px;color:var(--muted);background:#ffffffc7;border-radius:12px;gap:3px;padding:9px;font-size:.7rem;font-weight:610;line-height:1.3;display:grid}.bbs-boq-source-metrics strong{color:var(--ink);font-size:.92rem;font-weight:700}.bbs-boq-source-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.bbs-workflow-actions label{min-width:150px}.bbs-view-tabs button,.bbs-table-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 11px;font-size:.78rem;font-weight:680}.bbs-view-tabs button.active{background:var(--ink);color:var(--surface)}.bbs-main-grid{grid-template-columns:minmax(0,1fr) minmax(300px,328px);align-items:start;gap:12px;display:grid}.bbs-main-grid-full{grid-template-columns:minmax(0,1fr)}.bbs-sheet-card,.bbs-detail-panel,.bbs-panel-card,.bbs-import-modal{border:1px solid var(--line);background:var(--surface);border-radius:16px}.bbs-sheet-card,.bbs-panel-card{gap:11px;padding:12px;display:grid}.bbs-detail-panel{gap:11px;padding:12px;display:grid;position:sticky;top:92px}.bbs-table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:auto}.bbs-sheet-table{border-collapse:collapse;background:var(--surface);table-layout:fixed;width:max(1760px,100%)}.bbs-sheet-table th,.bbs-sheet-table td{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;vertical-align:top;padding:5px 6px;font-size:.72rem;line-height:1.25}.bbs-sheet-table th{z-index:2;background:var(--surface-soft);color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.62rem;font-weight:760;position:sticky;top:0}.bbs-sheet-table thead tr:nth-child(2) th{z-index:3;text-align:center;top:30px}.bbs-sheet-table th[rowspan="2"]{vertical-align:middle}.bbs-length-group{text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line)}.bbs-length-head{border-top:1px solid var(--line)}.bbs-sheet-table tbody tr{cursor:pointer}.bbs-sheet-table tbody tr:hover,.bbs-sheet-table tbody tr.selected{background:color-mix(in srgb, var(--primary-soft) 70%, transparent)}.bbs-col-work{width:176px}.bbs-col-type{width:128px}.bbs-col-code{width:116px}.bbs-col-qty-type{width:78px}.bbs-col-name{width:164px}.bbs-col-dia{width:72px}.bbs-col-count{width:82px}.bbs-col-shape{width:224px}.bbs-col-length{width:72px}.bbs-col-total{width:106px}.bbs-col-total-count{width:126px}.bbs-col-weight{width:100px}.bbs-col-actions{width:112px}.bbs-table-actions>div,.bbs-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bbs-row-actions{flex-wrap:nowrap}.bbs-row-actions button{border:1px solid var(--line);background:var(--control-bg);min-height:26px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:4px 6px;font-size:.66rem;font-weight:650}.bbs-row-actions button:last-child{border-color:color-mix(in srgb, var(--danger) 30%, var(--line));background:var(--danger-soft);color:var(--danger)}.bbs-row-actions .bbs-warning-chip{border-color:color-mix(in srgb, var(--warning) 40%, var(--line));background:var(--warning-soft);min-width:26px;color:var(--warning)}.bbs-table-actions button:disabled{opacity:.52;cursor:not-allowed}.bbs-boq-source-tag{border:1px solid color-mix(in srgb, var(--primary) 18%, var(--line));background:var(--primary-soft);max-width:210px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:640;display:inline-flex;overflow:hidden}.bbs-boq-source-tag.compact{max-width:100%;padding:3px 6px;font-size:.62rem}.bbs-row-actions button:first-child{border-color:var(--line);background:var(--control-bg);color:var(--ink)}.bbs-row-actions button.bbs-warning-chip,.bbs-row-actions button.bbs-warning-chip:first-child{border-color:color-mix(in srgb, var(--warning) 40%, var(--line));background:var(--warning-soft);color:var(--warning)}.bbs-work-cell,.bbs-shape-table-cell{min-width:0}.bbs-work-cell{gap:5px;display:grid}.bbs-work-cell small,.bbs-shape-controls small{color:var(--muted);font-size:.62rem;font-weight:620}.bbs-length-cell input,.bbs-col-dia input,.bbs-col-count input,.bbs-calculated-cell{text-align:right}.bbs-shape-preview{border:1px solid var(--line);background:var(--surface-soft);min-height:116px;color:var(--ink);border-radius:14px;place-items:center;display:grid}.bbs-shape-preview svg{width:min(210px,100%);height:112px}.bbs-shape-preview.empty{color:var(--muted);font-size:.8rem;font-weight:650}.bbs-shape-cell{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:7px;display:grid}.bbs-shape-preview-button{min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:grid}.bbs-shape-preview-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:11px}.bbs-shape-preview.compact{background:#fff;border-radius:10px;min-height:52px}.bbs-shape-preview.compact svg{width:70px;height:48px}.bbs-shape-preview.compact.empty{text-align:center;padding:4px;font-size:.64rem}.bbs-shape-controls{gap:4px;min-width:0;display:grid}.bbs-shape-select-button{border:1px solid var(--line);background:var(--control-bg);min-width:0;min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:0 8px;font-size:.7rem;font-weight:760;display:flex}.bbs-shape-select-button span{min-width:30px;min-height:20px;color:var(--ink);background:#fff;border:1px solid #96949173;border-radius:6px;place-items:center;font-size:.68rem;font-weight:850;display:inline-grid}.bbs-shape-select-button:hover,.bbs-shape-preview-button:hover .bbs-shape-preview{border-color:color-mix(in srgb, var(--primary) 36%, var(--line));background:#fff}.bbs-custom-formula-input{min-height:28px}.bbs-shape-picker-modal{z-index:12020;border-radius:20px;grid-template-rows:auto auto minmax(0,1fr);gap:12px;width:min(820px,100vw - 32px);max-height:min(760px,100dvh - 32px);padding:18px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 80px #1414173d}.bbs-shape-picker-tools{justify-content:space-between;align-items:end;gap:12px;display:flex}.bbs-shape-picker-tools label{min-width:min(320px,100%);color:var(--muted);gap:5px;font-size:.72rem;font-weight:800;display:grid}.bbs-shape-picker-tools input{border:1px solid var(--line);background:var(--control-bg);min-height:36px;color:var(--ink);font:inherit;border-radius:10px;padding:0 10px;font-size:.78rem;font-weight:760}.bbs-shape-picker-tools>span{color:var(--muted);font-size:.72rem;font-weight:800}.bbs-shape-code-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;padding:2px 2px 6px;display:grid;overflow:auto}.bbs-shape-code-grid button{min-height:104px;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:linear-gradient(#f8fafc,#eef2f7);border:1px solid #9694918c;border-radius:8px;gap:4px;padding:6px;display:grid}.bbs-shape-code-grid button:hover,.bbs-shape-code-grid button.selected{border-color:var(--primary);background:#fff;box-shadow:0 12px 26px #1a1a1d1f}.bbs-shape-code-grid .bbs-shape-preview.compact{background:#ffffffc2;border-color:#9694916b;min-height:52px}.bbs-shape-code-grid .bbs-shape-preview.compact svg{width:74px;height:48px}.bbs-shape-code-grid strong{color:var(--ink);font-size:.8rem;font-weight:850;line-height:1}.bbs-shape-code-grid span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:720;line-height:1.1;overflow:hidden}.bbs-calculated-cell{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:12px;font-weight:700}.bbs-formula-box,.bbs-warning-list{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;gap:6px;padding:10px;display:grid}.bbs-formula-box strong{color:var(--ink);font-size:.86rem;font-weight:700}.bbs-formula-box small{color:var(--muted);font-size:.76rem;font-weight:620}.bbs-detail-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.bbs-detail-fields label:nth-child(3),.bbs-detail-fields label:nth-child(4),.bbs-detail-fields label:last-child{grid-column:1/-1}.bbs-warning-list span{background:var(--warning-soft);color:var(--warning);border-radius:10px;padding:7px 9px;font-size:.76rem;font-weight:650}.bbs-warning-list span.ok{background:var(--success-soft);color:var(--success)}.bbs-warning-list.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.bbs-optimization-list,.bbs-revision-list{gap:9px;display:grid}.bbs-optimization-list article,.bbs-revision-list article,.bbs-summary-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;gap:7px;padding:10px;display:grid}.bbs-optimization-list article>div,.bbs-summary-card span{justify-content:space-between;align-items:center;gap:10px;display:flex}.bbs-optimization-list p,.bbs-optimization-list span,.bbs-revision-list p,.bbs-revision-list small,.bbs-summary-card p{color:var(--muted);margin:0}.bbs-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.bbs-summary-card>strong{color:var(--ink);font-size:.86rem;font-weight:700}.bbs-summary-card span{border-top:1px solid var(--line);padding-top:8px}.bbs-summary-card small{color:var(--muted);font-weight:620}.bbs-summary-card b{color:var(--ink);font-weight:700}.bbs-import-modal{z-index:90;gap:14px;width:min(980px,100vw - 32px);max-height:calc(100vh - 48px);padding:20px;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #14141738}.bbs-import-mode-row{flex-wrap:wrap;gap:14px;display:flex}.bbs-import-mode-row label{color:var(--ink);align-items:center;gap:8px;font-weight:800;display:flex}.bbs-mapping-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.bbs-mapping-grid label{color:var(--muted);gap:6px;font-size:.72rem;font-weight:850;display:grid}.bbs-import-preview{border:1px solid var(--line);border-radius:13px;overflow:auto}.bbs-import-preview table{border-collapse:collapse;width:100%;min-width:760px}.bbs-import-preview th,.bbs-import-preview td{border-bottom:1px solid var(--line);text-align:left;padding:8px;font-size:.78rem}.bbs-boq-sync-modal{width:min(1120px,100vw - 32px)}.bbs-boq-source-table{border:1px solid var(--line);border-radius:14px;grid-template-columns:42px minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(120px,.8fr) minmax(120px,.75fr) minmax(120px,.75fr) minmax(150px,.8fr);display:grid;overflow:auto}.bbs-boq-source-table>span{z-index:1;border-bottom:1px solid var(--line);background:var(--surface-soft);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:10px;font-size:.68rem;font-weight:900;position:sticky;top:0}.bbs-boq-source-row{display:contents}.bbs-boq-source-row>*{border-bottom:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);padding:10px;font-size:.8rem}.bbs-boq-source-row strong{font-size:.82rem}.bbs-boq-source-check{place-items:center;display:grid}.bbs-source-status-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bbs-source-status-cell button{border:1px solid var(--line);background:var(--control-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850}@media (max-width:1100px){.bbs-main-grid,.bbs-summary-grid,.bbs-boq-source-panel,.bbs-boq-variance-detail,.bbs-sheet-toolbar{grid-template-columns:1fr}.bbs-detail-panel{position:static}.bbs-dashboard-cards,.bbs-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bbs-boq-source-metrics{grid-template-columns:1fr}}@media (max-width:720px){.bbs-dashboard-cards,.bbs-status-summary,.bbs-detail-fields,.bbs-warning-list.expanded,.bbs-mapping-grid{grid-template-columns:1fr}}.lite-wbs-table .lite-collapse-toggle{color:var(--ink);background:#ffffffdb;border-radius:999px;padding:0}.lite-wbs-table .lite-collapse-toggle:hover{background:#fff}.advanced-panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.advanced-warning{color:#b42318;background:#b4231814;border:1px solid #b423183d;border-radius:999px;align-items:center;min-height:34px;padding:7px 12px;font-weight:850;display:inline-flex}.advanced-inline-toggle,.advanced-notes-cell{align-items:center;gap:8px;display:flex}.advanced-notes-cell{flex-direction:column;align-items:stretch}.advanced-inline-toggle{color:var(--muted);justify-content:flex-start;font-size:.78rem;font-weight:850}.advanced-inline-toggle input{width:auto}.advanced-readonly-value,.advanced-risk-value,.advanced-calculated-duration{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-weight:800;display:flex}.advanced-risk-value{color:#b42318}.advanced-calculated-duration button{color:#fffaf0;cursor:pointer;background:#111;border:0;border-radius:999px;padding:6px 10px;font-weight:800}.advanced-schedule-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.advanced-schedule-cards span{border:1px solid var(--line);background:var(--neutral-soft);color:var(--muted);border-radius:16px;gap:4px;padding:14px;font-weight:750;display:grid}.advanced-schedule-cards strong{color:var(--ink);font-size:1.25rem}.advanced-gantt-controls{flex-wrap:wrap;flex:420px;justify-content:flex-end;gap:10px;display:flex}.gantt-scale-toggle,.baseline-controls,.advanced-report-tabs{border:1px solid var(--line);background:var(--neutral-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;padding:5px;display:inline-flex}.gantt-scale-toggle button,.baseline-controls button,.advanced-report-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:850}.gantt-scale-toggle button.active,.advanced-report-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 8px 22px #14141714}.baseline-controls{border-radius:16px}.baseline-controls input,.baseline-controls select{border:1px solid var(--line);background-color:var(--surface);min-height:34px;color:var(--ink);border-radius:12px;font-weight:750}.baseline-controls button{background:var(--ink);color:var(--surface)}.baseline-variance-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:14px;display:grid}.baseline-variance-panel>div:first-child{gap:3px;display:grid}.baseline-variance-panel>div:first-child span{color:var(--muted);font-size:.78rem;font-weight:750}.baseline-variance-table{grid-template-columns:minmax(160px,1.6fr) repeat(3,minmax(70px,.6fr));align-items:center;gap:6px;display:grid}.schedule-preview-table{grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(82px,.65fr))}.baseline-variance-table>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.baseline-variance-row{display:contents}.baseline-variance-row>*{background:var(--neutral-soft);border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:800}.schedule-curve-preview{border:1px solid var(--line);background:var(--neutral-soft);border-radius:18px;gap:10px;padding:14px;display:grid;position:relative}.schedule-curve-preview span{color:#fffaf0;background:#111;border-radius:999px;align-items:center;min-width:90px;height:18px;display:flex}.schedule-curve-preview span.actual{background:var(--primary)}.schedule-curve-preview b{white-space:nowrap;padding-left:10px;font-size:.72rem}.advanced-scurve-chart{border:1px solid var(--line);background:var(--neutral-soft);border-radius:18px;gap:10px;padding:14px;display:grid}.real-scurve-chart{overflow:hidden}.scurve-chart-head,.scurve-chart-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.scurve-chart-head>div:first-child,.scurve-chart-footer{color:var(--muted);font-size:.78rem;font-weight:760}.scurve-chart-head strong,.scurve-chart-footer strong{color:var(--ink)}.advanced-scurve-svg{background:linear-gradient(#9694911f 1px,#0000 1px) 0 0/100% 25%,linear-gradient(90deg,#9694911a 1px,#0000 1px) 0 0/12.5% 100%;border-radius:14px;width:100%;min-height:260px;display:block}.scurve-grid-line{stroke:#7a767038;stroke-width:1px}.scurve-line{stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 8px 14px #14141714)}.scurve-line.planned,.scurve-marker.planned{stroke:#16161a}.scurve-line.actual,.scurve-marker.actual{stroke:#3b6f9f}.scurve-marker{fill:var(--surface);stroke-width:2.4px}.scurve-cutoff-marker line{stroke:#ef4444b8;stroke-dasharray:6 6;stroke-width:2px}.scurve-cutoff-marker text{fill:#b91c1c;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900}.scurve-axis-label{fill:var(--muted);font-size:12px;font-weight:800}.advanced-scurve-grid{background:linear-gradient(#9694911f 1px,#0000 1px) 0 0/100% 25%,linear-gradient(90deg,#9694911f 1px,#0000 1px) 0 0/12.5% 100%;border-radius:14px;min-height:190px;position:relative}.advanced-scurve-point{border:2px solid var(--surface);border-radius:999px;width:12px;height:12px;position:absolute;transform:translate(-50%,50%);box-shadow:0 8px 18px #14141724}.advanced-scurve-point.planned{background:#16161a}.advanced-scurve-point.actual{background:#3b6f9f}.advanced-scurve-legend{color:var(--muted);gap:14px;font-weight:800;display:flex}.advanced-scurve-legend span{align-items:center;gap:6px;display:inline-flex}.advanced-scurve-legend i{background:#16161a;border-radius:999px;width:10px;height:10px}.advanced-scurve-legend i.actual{background:#3b6f9f}.scurve-panel-head,.scurve-toolbar{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.scurve-toolbar{flex-wrap:wrap;align-items:center}.scurve-dashboard-panel{gap:16px}.scurve-dashboard-titlebar{align-items:center}.scurve-cutoff-field{border:1px solid var(--line);background:var(--neutral-soft);min-height:38px;color:var(--muted);border-radius:16px;align-items:center;gap:7px;padding:4px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.scurve-cutoff-field input{background:var(--surface);min-height:28px;color:var(--ink);font:inherit;border:0;border-radius:10px;outline:none;padding:0 8px;font-size:.72rem;font-weight:850}.scurve-summary-cards{grid-template-columns:repeat(6,minmax(130px,1fr))}.scurve-summary-cards span.negative strong{color:var(--warning)}.scurve-summary-cards span.positive strong{color:#3b6f9f}.segmented-control.compact{background:var(--neutral-soft);border:1px solid var(--line);border-radius:16px;padding:4px;display:inline-flex}.segmented-control.compact button{color:var(--muted);background:0 0;border:0;border-radius:12px;padding:9px 12px;font-weight:850}.segmented-control.compact button.active{background:var(--surface);color:var(--ink);box-shadow:0 10px 24px #14141714}.scurve-warning-list{flex-wrap:wrap;gap:6px;display:flex}.scurve-warning-list span{color:#7c5f3f;background:#fbf7f0;border:1px solid #9478563d;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:780}.scurve-construction-board{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(500px,540px) minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 12px 26px #14141709}.scurve-board-left{z-index:3;border-right:1px solid var(--line);background:var(--surface);position:relative}.scurve-left-header,.scurve-left-work-row{grid-template-columns:48px minmax(210px,1fr) 130px 74px;display:grid}.scurve-left-header{z-index:4;color:#475569;letter-spacing:.05em;text-transform:uppercase;background:#f4f6f8;min-height:54px;font-size:.66rem;font-weight:900;position:sticky;top:0}.scurve-left-header span,.scurve-left-work-row>span,.scurve-left-work-row>strong{border-right:1px solid #1414171a;border-bottom:1px solid var(--line);align-content:center;min-width:0;padding:8px 10px;display:grid}.scurve-left-work-row{min-height:50px;color:var(--ink);font-size:.76rem}.scurve-left-work-row>span{color:var(--muted);font-weight:760}.scurve-left-work-row>strong{gap:3px;font-size:.76rem;font-weight:780}.scurve-left-work-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:650;display:block;overflow:hidden}.scurve-left-work-row button{border:1px solid var(--line);background:var(--surface-soft);width:fit-content;min-height:21px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;margin-top:3px;padding:0 8px;font-size:.62rem;font-weight:800}.scurve-left-curve-spacer{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fafaf9fa,#f5f5f3d1);align-content:start;min-height:136px;padding:14px;display:grid}.scurve-left-curve-spacer strong{color:var(--ink);font-size:.9rem}.scurve-left-curve-spacer span{color:var(--muted);font-size:.72rem;font-weight:700}.scurve-board-right{background:var(--surface);min-width:0}.scurve-board-scroll{overflow:auto hidden}.scurve-timeline-canvas{--period-width:58px;min-width:max(100%, calc(var(--scurve-period-count) * var(--period-width)))}.scurve-month-row,.scurve-period-row,.scurve-timeline-work-row,.scurve-timeline-footer-row{grid-template-columns:repeat(var(--scurve-period-count), var(--period-width));display:grid}.scurve-month-row{z-index:3;color:#475569;letter-spacing:.05em;text-transform:uppercase;background:#f4f6f8;min-height:28px;font-size:.66rem;font-weight:900;position:sticky;top:0}.scurve-period-row{z-index:3;color:#64748b;background:#eef2f6;min-height:30px;font-size:.66rem;font-weight:900;position:sticky;top:28px}.scurve-month-row span,.scurve-period-row span,.scurve-timeline-work-row span,.scurve-timeline-footer-row span{border-right:1px solid #96949142;border-bottom:1px solid var(--line);text-align:center;place-items:center;min-width:0;display:grid}.scurve-timeline-curve-strip{border-bottom:1px solid var(--line);background:linear-gradient(#9694911a 1px,#0000 1px),linear-gradient(90deg,#9694911a 1px,#0000 1px);background-size:100% 25%, var(--period-width) 100%;min-height:128px;position:relative}.scurve-timeline-overlay-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scurve-timeline-overlay-grid{stroke:#7a767024;stroke-width:1px}.scurve-timeline-overlay-label{fill:var(--muted);font-size:9px;font-weight:800}.scurve-line.timeline{stroke-width:2.2px;filter:none}.scurve-timeline-work-row{min-height:50px}.scurve-timeline-work-row>span{color:var(--ink);background:#fff;align-content:center;font-size:.62rem;font-weight:760;position:relative}.scurve-timeline-work-row>span.scheduled{background:linear-gradient(#0000 34%,#1414170b 34% 66%,#0000 66%)}.scurve-timeline-work-row>span.scheduled:before{content:"";background:#16161a;border-radius:999px;height:7px;position:absolute;top:50%;left:5px;right:5px;transform:translateY(-50%)}.scurve-timeline-work-row>span.has-actual:after{content:"";background:#3b6f9f;border-radius:999px;height:3px;position:absolute;bottom:10px;left:8px;right:8px}.scurve-timeline-work-row>span.behind:after{background:#b45f3b}.scurve-left-footer-row,.scurve-timeline-footer-row{color:#475569;background:#f4f6f8;min-height:34px;font-size:.62rem;font-weight:850}.scurve-left-footer-row{display:grid}.scurve-left-footer-row span{text-transform:uppercase;border-bottom:1px solid #96949138;align-content:center;padding:7px 12px;display:grid}.scurve-left-footer-row.highlight,.scurve-timeline-footer-row.highlight{color:var(--muted);background:#eef2f6}.scurve-left-footer-row.variance,.scurve-timeline-footer-row.variance{color:#475569;background:#f8fafc}.scurve-timeline-footer-row span{text-overflow:ellipsis;white-space:nowrap;padding:4px 3px;overflow:hidden}.scurve-manual-weight-list{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;gap:8px;padding:12px;display:grid}.scurve-manual-weight-list>strong{color:var(--ink)}.scurve-manual-weight-list label{color:var(--muted);grid-template-columns:minmax(180px,1fr) 100px;align-items:center;gap:8px;font-size:.76rem;font-weight:760;display:grid}.scurve-manual-weight-list input{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);font:inherit;border-radius:10px;padding:0 8px;font-weight:800}.actual-progress-table{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(220px,1.4fr) minmax(82px,.45fr) minmax(82px,.45fr) minmax(82px,.45fr) minmax(96px,.5fr) minmax(70px,.35fr) minmax(110px,.55fr) minmax(112px,.55fr) minmax(160px,1fr) minmax(88px,.45fr);display:grid;overflow-x:auto}.actual-progress-table.scurve-detail-table{grid-template-columns:minmax(58px,.35fr) minmax(220px,1.45fr) minmax(120px,.7fr) minmax(105px,.55fr) minmax(105px,.55fr) minmax(82px,.45fr) minmax(82px,.45fr) minmax(82px,.45fr) minmax(110px,.55fr) minmax(124px,.65fr) minmax(164px,.8fr)}.actual-progress-table>span{background:var(--neutral-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:12px 14px;font-size:.76rem;font-weight:900}.actual-progress-row{display:contents}.actual-progress-row>*{border-top:1px solid var(--line);min-height:52px;color:var(--muted);align-items:center;padding:10px 14px;font-weight:760;display:flex}.actual-progress-row strong{color:var(--ink)}.actual-progress-row button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:999px;justify-content:center;align-self:center;margin:8px 10px;font-weight:900}.scurve-weight-cell{align-content:center;gap:2px;display:grid!important}.scurve-weight-cell input{border:1px solid var(--line);background:var(--surface);width:76px;min-height:28px;color:var(--ink);font:inherit;border-radius:10px;padding:0 8px;font-weight:850}.scurve-weight-cell small{color:var(--muted);font-size:.62rem;font-weight:800}.scurve-row-actions{flex-wrap:wrap;gap:6px}.scurve-row-actions button{min-height:28px;margin:0;padding:0 10px;font-size:.68rem}.actual-progress-modal{max-width:720px}.actual-progress-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.actual-progress-form label{color:var(--muted);gap:7px;font-weight:850;display:grid}.actual-progress-form input,.actual-progress-form select,.actual-progress-form textarea{border:1px solid var(--line);background-color:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:14px;padding:12px 14px;font-weight:820}.actual-progress-form textarea{resize:vertical;min-height:88px}.actual-progress-notes{grid-column:1/-1}.actual-progress-notes small{color:var(--muted);font-weight:760}.actual-progress-preview{background:var(--neutral-soft);color:var(--muted);border-radius:16px;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;font-weight:820;display:flex}.actual-progress-preview strong{color:var(--ink);font-size:1.15rem;display:block}.actual-progress-history{border:1px solid var(--line);background:#fafaf9b8;border-radius:16px;gap:6px;margin-top:14px;padding:12px;display:grid}.actual-progress-history>strong{color:var(--ink)}.actual-progress-history>div{background:var(--surface);color:var(--muted);border-radius:12px;grid-template-columns:90px 64px 110px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;font-size:.72rem;font-weight:760;display:grid}@media (max-width:860px){.scurve-panel-head,.scurve-chart-head,.scurve-chart-footer,.actual-progress-preview{flex-direction:column;align-items:flex-start}.actual-progress-form{grid-template-columns:1fr}.scurve-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.scurve-construction-board{grid-template-columns:1fr}.scurve-board-left{border-right:0}.scurve-board-right{border-top:1px solid var(--line)}.actual-progress-history>div{grid-template-columns:1fr}}.advanced-baseline-note{border:1px solid var(--line);background:var(--neutral-soft);color:var(--muted);border-radius:14px;padding:10px 12px;font-weight:750}.advanced-report-table{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(220px,1fr)}.schedule-mode-confirm-modal{text-align:left;max-width:560px}.schedule-mode-confirm-modal.is-saving{overflow:hidden}.schedule-mode-confirm-modal.is-saving:before{background:linear-gradient(90deg, transparent, var(--ink), transparent);content:"";background-repeat:no-repeat;background-size:42% 100%;height:3px;animation:1.15s ease-in-out infinite scheduleUpgradeSweep;position:absolute;inset:0 0 auto}.schedule-mode-confirm-modal .project-delete-icon{margin-inline:0}.schedule-mode-loader-icon{place-items:center;display:grid}.schedule-mode-loader-ring{border:3px solid var(--danger-soft);border-top-color:var(--danger);border-radius:999px;width:24px;height:24px;animation:.8s linear infinite scheduleUpgradeSpin}.confirm-benefits-row{flex-wrap:wrap;gap:8px;margin:18px 0 20px;display:flex}.confirm-benefits-row span{background:var(--neutral-soft);color:var(--ink);border-radius:999px;padding:8px 10px;font-size:.8rem;font-weight:750}.schedule-mode-loading-state{background:linear-gradient(135deg,#fafaf9f5,#ffffffeb);border:1px solid #14141717;border-radius:16px;gap:12px;margin:4px 0 20px;padding:14px;display:grid;box-shadow:inset 0 1px #fffc}.schedule-mode-loading-state div:first-child{gap:4px;display:grid}.schedule-mode-loading-state strong{color:var(--ink);font-size:.94rem}.schedule-mode-loading-state span{color:var(--muted);font-size:.84rem;font-weight:700}.schedule-mode-progress-line{background:#14141714;border-radius:999px;height:8px;overflow:hidden}.schedule-mode-progress-line span{border-radius:inherit;background:linear-gradient(90deg,#16161a,#525252);width:42%;height:100%;animation:1.1s ease-in-out infinite scheduleUpgradeProgress;display:block}.schedule-mode-busy-button{align-items:center;gap:8px;display:inline-flex}.schedule-mode-button-spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:999px;width:15px;height:15px;animation:.75s linear infinite scheduleUpgradeSpin}@keyframes scheduleUpgradeSpin{to{transform:rotate(360deg)}}@keyframes scheduleUpgradeProgress{0%{transform:translate(-110%)}to{transform:translate(250%)}}@keyframes scheduleUpgradeSweep{0%{background-position:-42% 0}to{background-position:142% 0}}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.schedule-settings-modal{z-index:80;border:1px solid var(--line);background:var(--surface);border-radius:24px;gap:16px;width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);padding:22px;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #14141738}.schedule-settings-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.schedule-settings-head h3{margin:2px 0 4px;font-size:1.05rem}.schedule-settings-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.schedule-settings-head button,.schedule-holiday-form button,.schedule-holiday-row button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:14px;font-weight:750}.schedule-settings-head button{padding:10px 14px}.schedule-setting-switch,.schedule-settings-section{border:1px solid var(--line);background:var(--neutral-soft);border-radius:18px;gap:12px;padding:16px;display:grid}.schedule-setting-switch{grid-template-columns:1fr auto;align-items:center}.schedule-setting-switch span{gap:4px;display:grid}.schedule-setting-switch small{color:var(--muted);font-size:.8rem;line-height:1.45}.schedule-setting-switch strong,.schedule-settings-section>div>strong{font-size:.92rem;font-weight:650}.schedule-setting-switch input{width:20px;height:20px;accent-color:var(--primary)}.schedule-settings-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.schedule-settings-days button{border:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--muted);cursor:pointer;border-radius:16px;gap:4px;padding:9px;display:grid}.schedule-settings-days button.active{border-color:var(--success-soft);background:var(--success-soft);color:var(--ink)}.schedule-settings-days button span{font-weight:850}.schedule-settings-days button small{font-size:.68rem;font-weight:700}.schedule-holiday-form{grid-template-columns:150px 1fr auto;gap:8px;display:grid}.schedule-holiday-form input{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:14px;padding:0 12px;font-weight:650}.schedule-holiday-form button{padding:0 14px}.schedule-holiday-list{gap:8px;display:grid}.schedule-holiday-list>p{border:1px dashed var(--line);color:var(--muted);border-radius:14px;margin:0;padding:12px}.schedule-holiday-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.schedule-holiday-row span{gap:2px;display:grid}.schedule-holiday-row small{color:var(--muted)}.schedule-holiday-row button{color:var(--danger);padding:8px 10px}@media (max-width:720px){.schedule-settings-days{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-holiday-form{grid-template-columns:1fr}}.work-breakdown-table{gap:5px;padding-bottom:3px;display:grid;overflow-x:visible}.work-breakdown-table.schedule-mode{scroll-behavior:smooth;max-width:100%;overflow:clip visible}.work-breakdown-table.schedule-mode .work-level-group,.work-breakdown-table.schedule-mode .work-breakdown-group,.work-breakdown-table.schedule-mode .work-sub-breakdown,.work-breakdown-table.schedule-mode .work-breakdown-row.schedule>*{min-width:0}.work-schedule-board{--schedule-sticky-top:69px;isolation:isolate;background:#fafaf98f;border:1px solid #d2d0cdc7;border-radius:18px;grid-template-columns:minmax(520px,560px) minmax(0,1fr);max-width:100%;display:grid;position:relative;overflow:visible}.work-schedule-board.advanced-gantt-board{grid-template-columns:minmax(940px,1.25fr) minmax(420px,.75fr)}.work-schedule-board.advanced-gantt-board.planner-advanced{grid-template-columns:minmax(1160px,1.4fr) minmax(420px,.7fr)}.work-schedule-left-pane,.work-schedule-timeline-pane{min-width:0}.work-schedule-left-pane{background:#ffffffd1;border-right:1px solid #d2d0cdc7;align-content:start;display:grid;overflow:clip visible}.work-schedule-timeline-pane{min-width:0;overflow:visible}.work-schedule-left-head{top:var(--schedule-sticky-top);z-index:80;background:#fafaf9fa;height:72px;position:sticky;box-shadow:0 1px #d2d0cdc7,0 10px 22px #1414170b}.work-schedule-timeline-head{background:#fafaf9f5;height:72px}.work-schedule-left-head{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:minmax(190px,1fr) 210px 92px;align-items:end;gap:8px;padding:0 10px 8px;font-size:.72rem;font-weight:800;display:grid}.work-schedule-board.advanced-gantt-board .work-schedule-left-head{grid-template-columns:56px minmax(170px,1.15fr) 74px 112px 112px minmax(150px,.9fr) 62px 70px 82px}.work-schedule-timeline-head{align-items:end;padding-bottom:8px;display:grid}.schedule-header-scroll{top:var(--schedule-sticky-top);z-index:80;scrollbar-color:rgba(var(--muted-rgb), .62) #e0dedbdb;scrollbar-width:thin;background:#fafaf9fa;border-radius:0 18px 0 0;position:sticky;overflow:auto hidden;box-shadow:0 1px #d2d0cdc7,0 10px 22px #1414170b}.schedule-header-scroll::-webkit-scrollbar{height:8px;display:block}.schedule-header-scroll::-webkit-scrollbar-track{background:#e0dedbdb;border-radius:999px}.schedule-header-scroll::-webkit-scrollbar-thumb{background:rgba(var(--muted-rgb), .68);border:2px solid #e0dedbdb;border-radius:999px}.schedule-header-scroll::-webkit-scrollbar-thumb:hover{background:#334155c2}.schedule-main-scroll{border-radius:0;height:100%}.work-schedule-timeline-inner{align-content:start;width:max-content;min-width:100%;display:grid;position:relative}.work-schedule-level-block,.work-schedule-timeline-level{border-top:1px solid #d2d0cdb8;gap:8px;padding:10px;display:grid}.work-schedule-level-row,.work-schedule-level-timeline-row{height:72px}.work-schedule-level-row{justify-content:space-between;align-items:center;gap:10px;padding:0 2px;display:flex}.work-schedule-level-row>div:first-child{align-content:center;justify-items:start;gap:2px;min-width:0;display:grid}.work-schedule-level-row strong{color:var(--ink);font-size:.92rem}.work-schedule-level-row span{color:var(--muted);font-size:.72rem;font-weight:500}.work-schedule-level-row>div:first-child>span{margin-left:23px;line-height:1.15;display:block}.work-schedule-item-stack,.work-schedule-timeline-stack{gap:8px;display:grid}.work-schedule-fixed-row,.work-schedule-gantt-row{height:92px}.work-schedule-fixed-row.child,.work-schedule-gantt-row.child{height:78px}.work-schedule-fixed-row{border:1px solid var(--line-strong);background:var(--neutral-soft);border-radius:14px;grid-template-columns:minmax(190px,1fr) 210px 92px;align-items:center;gap:8px;padding:8px;transition:transform .18s,background .18s,border-color .18s;display:grid}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{grid-template-columns:56px minmax(170px,1.15fr) 74px 112px 112px minmax(150px,.9fr) 62px 70px 82px}.work-schedule-fixed-row.child{background:var(--surface);border-style:dashed;border-color:var(--line);margin-left:28px}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child{margin-left:18px}.work-schedule-fixed-row:hover{background:#fffffff0;border-color:#14141724;box-shadow:0 14px 36px #1414170f}.work-schedule-fixed-row.selected{background:#fffffffa;border-color:#23231f57;box-shadow:inset 4px 0 #23231f,0 16px 42px #14141714}.work-schedule-fixed-row.picking{border-color:#f5730070;box-shadow:inset 4px 0 #f57300,0 16px 42px #f573001a}.work-schedule-fixed-row.summary-row{background:color-mix(in srgb, var(--ink) 9%, var(--surface))}.work-schedule-gantt-row{align-items:center;display:grid}.work-schedule-gantt-row .work-gantt-chart{min-height:58px}.work-schedule-gantt-row.child .work-gantt-chart{min-height:50px}.work-schedule-add-row{align-items:center;height:44px;padding-left:36px;display:flex}.work-schedule-add-row.timeline{padding-left:0}.schedule-name-with-action{align-items:center;gap:4px;min-width:0;display:grid}.schedule-name-with-action .breakdown-name-cell{grid-template-columns:28px 18px minmax(0,1fr)}.schedule-name-with-action .schedule-main-name-cell{grid-template-columns:57px 16px minmax(0,1fr);align-items:center}.schedule-row-primary-actions{justify-content:flex-start;align-items:center;gap:5px;min-width:0;display:inline-flex}.schedule-inline-delete{opacity:0;pointer-events:none;border-radius:8px;width:24px;min-width:24px;height:24px;min-height:24px;transform:scale(.92)}.work-schedule-fixed-row:hover .schedule-inline-delete,.work-schedule-fixed-row:focus-within .schedule-inline-delete,.schedule-inline-delete:hover,.schedule-inline-delete:focus-visible{opacity:1;pointer-events:auto;transform:scale(1)}.schedule-wbs-cell{min-height:34px;color:var(--muted);letter-spacing:.04em;background:#f5f5f2b8;border:1px solid #52524c24;border-radius:11px;justify-content:center;align-items:center;font-size:.72rem;font-weight:850;display:inline-grid}.schedule-wbs-cell.child{background:#ffffffd1;font-size:.68rem}.work-schedule-fixed-row .breakdown-name-cell input{min-height:36px;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:10px;outline:none;padding:0 8px;font-size:.96rem;font-weight:800;transition:background .16s,box-shadow .16s}.work-schedule-fixed-row.child .breakdown-name-cell input{color:var(--ink);font-size:.88rem;font-weight:700}.work-schedule-fixed-row .breakdown-name-cell input:hover,.work-schedule-fixed-row .breakdown-name-cell input:focus{background:#1414170a;box-shadow:inset 0 0 0 1px #96949138}.schedule-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.schedule-row-actions:empty{display:none}.schedule-row-reset{width:fit-content;min-height:24px;color:var(--muted);cursor:pointer;background:#ffffffb8;border:1px solid #52524c2e;border-radius:999px;padding:0 8px;font-size:.68rem;font-weight:700;transition:background .16s,transform .16s,border-color .16s,color .16s}.schedule-row-reset:hover{color:var(--ink);background:#f5f5f2f5;border-color:#52524c47;transform:translateY(-1px)}.schedule-row-delete{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--danger);cursor:pointer;background:#fff0f0c2;border:1px solid #d6454533;border-radius:9px;place-items:center;padding:0;transition:background .16s,transform .16s,border-color .16s;display:inline-grid}.schedule-row-delete svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px;height:13px}.schedule-row-delete:hover{background:#ffe4e4eb;border-color:#d6454557;transform:translateY(-1px)}.schedule-click-helper{color:var(--muted);margin:-4px 0 12px;font-size:.82rem;font-weight:650}.work-schedule-board .schedule-date-cell,.work-schedule-board .duration-edit-cell{width:100%;min-width:0}.work-schedule-board .schedule-date-cell{align-content:center;gap:3px;min-height:58px;max-height:70px;padding:6px 8px}.work-schedule-board .schedule-date-cell strong{font-size:.7rem}.work-schedule-board .schedule-auto-summary{font-size:.54rem}.work-schedule-board .schedule-date-cell span{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.work-schedule-board .schedule-date-cell input{min-height:23px;padding:0 6px;font-size:.58rem}.work-schedule-board .duration-edit-cell{min-height:58px;max-height:70px;padding:6px 8px}.work-breakdown-group{gap:6px;transition:transform .18s,opacity .18s;display:grid}.work-level-group{background:#fafaf97a;border:1px solid #d2d0cdb8;border-radius:14px;gap:6px;min-width:0;padding:8px;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s;display:grid}.work-level-group.dragging,.work-breakdown-group.dragging,.work-breakdown-row.dragging,.work-schedule-level-row.dragging,.work-schedule-fixed-row.dragging{opacity:.52;border-color:var(--accent);transform:scale(.995);box-shadow:0 18px 44px #1a1a1d1f}.work-level-group.drag-over,.work-breakdown-group.drag-over{transform:none}.work-level-group.drag-over{border-color:var(--accent)}.work-breakdown-group.drag-over .work-breakdown-row:first-child,.work-breakdown-row.sub.drag-over{border-color:var(--accent);box-shadow:none;background:#fffffff0;transform:none}.work-level-group,.work-breakdown-group,.work-breakdown-row,.work-schedule-level-row,.work-schedule-fixed-row{position:relative}.work-level-group.drop-before:before,.work-level-group.drop-after:after,.work-breakdown-group.drop-before:before,.work-breakdown-group.drop-after:after,.work-breakdown-row.drop-before:before,.work-breakdown-row.drop-after:after,.work-schedule-level-row.drop-before:before,.work-schedule-level-row.drop-after:after,.work-schedule-fixed-row.drop-before:before,.work-schedule-fixed-row.drop-after:after{content:"";z-index:12;background:var(--accent);pointer-events:none;border-radius:999px;height:3px;animation:.12s ease-out dropIndicatorIn;position:absolute;left:0;right:0;box-shadow:0 0 0 1px #1a1a1d24,0 5px 16px #1a1a1d5c}.work-level-group.drop-before:before,.work-breakdown-group.drop-before:before,.work-breakdown-row.drop-before:before,.work-schedule-level-row.drop-before:before,.work-schedule-fixed-row.drop-before:before{top:-6px}.work-level-group.drop-after:after,.work-breakdown-group.drop-after:after,.work-breakdown-row.drop-after:after,.work-schedule-level-row.drop-after:after,.work-schedule-fixed-row.drop-after:after{bottom:-6px}@keyframes dropIndicatorIn{0%{opacity:0;transform:scaleX(.96)}to{opacity:1;transform:scaleX(1)}}:root[data-theme=dark] .work-level-group.drop-before:before,:root[data-theme=dark] .work-level-group.drop-after:after,:root[data-theme=dark] .work-breakdown-group.drop-before:before,:root[data-theme=dark] .work-breakdown-group.drop-after:after,:root[data-theme=dark] .work-breakdown-row.drop-before:before,:root[data-theme=dark] .work-breakdown-row.drop-after:after,:root[data-theme=dark] .work-schedule-level-row.drop-before:before,:root[data-theme=dark] .work-schedule-level-row.drop-after:after,:root[data-theme=dark] .work-schedule-fixed-row.drop-before:before,:root[data-theme=dark] .work-schedule-fixed-row.drop-after:after,.app-shell[data-theme=dark] .work-level-group.drop-before:before,.app-shell[data-theme=dark] .work-level-group.drop-after:after,.app-shell[data-theme=dark] .work-breakdown-group.drop-before:before,.app-shell[data-theme=dark] .work-breakdown-group.drop-after:after,.app-shell[data-theme=dark] .work-breakdown-row.drop-before:before,.app-shell[data-theme=dark] .work-breakdown-row.drop-after:after,.app-shell[data-theme=dark] .work-schedule-level-row.drop-before:before,.app-shell[data-theme=dark] .work-schedule-level-row.drop-after:after,.app-shell[data-theme=dark] .work-schedule-fixed-row.drop-before:before,.app-shell[data-theme=dark] .work-schedule-fixed-row.drop-after:after{background:var(--accent);box-shadow:0 0 0 1px #1a1a1d2e,0 5px 18px #1a1a1d6b}.work-level-header{border-bottom:1px solid #d2d0cdb8;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:2px 2px 6px;display:flex}.work-level-header strong{color:var(--ink);font-size:.86rem;font-weight:700}.work-level-header span{color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:600;display:block}.work-level-header button{color:var(--primary);cursor:pointer;background:#fff;border:1px solid #1a1a1d47;border-radius:999px;padding:8px 11px;font-weight:700}.work-level-header button:hover{background:var(--primary-soft)}.work-level-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.work-level-header .work-level-actions button{min-height:31px;padding:0 10px;font-size:.76rem}.work-level-header .work-level-actions .icon-delete-button{width:28px;min-width:28px;padding:0}.work-schedule-level-row .work-level-actions .icon-delete-button{border-radius:9px;width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.work-schedule-level-row .work-level-actions button{min-height:34px;color:var(--primary);cursor:pointer;background:#ffffffdb;border:1px solid #1a1a1d3d;border-radius:999px;padding:0 13px;font-size:.82rem;font-weight:760;transition:background .16s,transform .16s,border-color .16s,color .16s;box-shadow:0 10px 28px #1414170d}.work-schedule-level-row .work-level-actions button:hover{border-color:var(--accent);background:var(--primary-soft);transform:translateY(-1px)}.work-schedule-level-row .work-level-actions button.danger{color:var(--danger);background:#fff0f0d1;border-color:#d6454538}.work-schedule-level-row .work-level-actions button.danger:hover{background:#ffe4e4eb;border-color:#d645455c}.work-level-header button.danger{background:var(--danger-soft);color:var(--danger);border-color:#d6454538}.work-level-header button.danger:hover{background:#d645451f}.work-breakdown-row{border:1px solid var(--line);background:#fafaf9b8;border-radius:10px;grid-template-columns:minmax(180px,1.25fr) minmax(110px,.75fr) minmax(100px,.75fr) minmax(78px,.55fr) minmax(78px,.5fr) minmax(150px,1fr) 34px;align-items:center;gap:5px;min-width:0;padding:4px 6px;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:grid}.work-breakdown-row>*{min-width:0}.work-breakdown-table.progress-cost-mode .work-breakdown-row{grid-template-columns:minmax(188px,1.35fr) minmax(76px,.55fr) minmax(70px,.46fr) minmax(88px,.55fr) minmax(88px,.55fr) minmax(128px,.78fr) minmax(86px,.56fr) minmax(86px,.56fr) 34px;min-width:0}.work-breakdown-table.boq-mode .work-breakdown-row{grid-template-columns:minmax(260px,1.9fr) minmax(126px,.78fr) minmax(110px,.64fr) minmax(96px,.56fr) minmax(142px,.84fr) minmax(108px,.62fr) 30px;min-width:0}.work-breakdown-row.schedule{grid-template-columns:250px 220px 104px minmax(0,1fr) 74px;width:100%;min-width:0;max-width:100%}.work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:nth-child(4){width:100%;min-width:0;max-width:100%;overflow:hidden}.work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:first-child{z-index:5;background:#fafaf9fa;position:static;left:0}.work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:last-child{z-index:6;background:#fafaf9fa;position:static;right:0}.work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule>:first-child,.work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule>:last-child{background:linear-gradient(90deg,#f8fafc 0%,#fafaf9eb 100%)}.work-breakdown-row.sub{background:#ffffffd6;border-style:dashed;min-width:0;margin-left:22px}.work-breakdown-row.sub.schedule{width:calc(100% - 34px);min-width:0}.work-breakdown-row.sub:not(.schedule){margin-left:0}.work-breakdown-row.sub:not(.schedule) .breakdown-name-cell{padding-left:22px}.work-breakdown-row.head{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;padding:0 6px;font-size:.66rem;font-weight:700}.breakdown-name-cell{grid-template-columns:23px 15px minmax(0,1fr);align-items:center;gap:4px;min-width:0;display:grid}.breakdown-name-cell:has(>.boq-status-dot){grid-template-columns:auto 23px 15px minmax(0,1fr)}.breakdown-add-sub{border:1px solid var(--line);width:23px;min-width:23px;height:23px;min-height:23px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;padding:0;transition:color .15s,border-color .15s;display:grid}.breakdown-add-sub:hover{color:var(--primary);border-color:var(--primary)}.breakdown-add-sub svg{width:14px;height:14px}.breakdown-name-cell:has(>.breakdown-add-sub){grid-template-columns:23px 23px 15px minmax(0,1fr)}.breakdown-name-cell:has(>.boq-status-dot):has(>.breakdown-add-sub){grid-template-columns:auto 23px 23px 15px minmax(0,1fr)}.work-breakdown-row:not(.sub) .breakdown-name-cell:has(>.boq-status-dot):not(:has(>.breakdown-toggle)){grid-template-columns:auto 15px minmax(0,1fr)}.drag-handle{color:#94a3b8;cursor:grab;opacity:0;-webkit-user-select:none;user-select:none;place-items:center;width:14px;height:18px;transition:opacity .14s,transform .14s,color .14s;display:inline-grid;transform:scale(.92)}.drag-grip-dots{color:currentColor;width:12px;height:16px;display:block;position:relative}.drag-grip-dots:before{content:"";background:currentColor;border-radius:999px;width:2.5px;height:2.5px;position:absolute;top:2px;left:2px;box-shadow:5px 0,0 5px,5px 5px,0 10px,5px 10px}.drag-handle:hover,.drag-handle:active,.work-level-header:hover .drag-handle,.work-level-header:focus-within .drag-handle,.work-schedule-level-row:hover .drag-handle,.work-schedule-level-row:focus-within .drag-handle,.work-breakdown-row:hover .drag-handle,.work-breakdown-row:focus-within .drag-handle,.work-schedule-fixed-row:hover .drag-handle,.work-schedule-fixed-row:focus-within .drag-handle{opacity:1;transform:scale(1)}.drag-handle:active{cursor:grabbing}.work-level-header strong,.work-schedule-level-row strong{align-items:center;gap:7px;min-width:0;display:inline-flex}.work-level-header .drag-handle,.work-schedule-level-row .drag-handle{width:16px;min-width:16px;height:18px;vertical-align:initial;flex:0 0 16px;margin:0;display:inline-grid}.work-level-header .drag-grip-dots,.work-schedule-level-row .drag-grip-dots{width:12px;min-width:12px;height:16px}.breakdown-toggle,.duplicate-sub-work-button{width:23px;min-width:23px;height:23px;min-height:23px;color:var(--primary);background:#fff;border:1px solid #d2d0cdf2;border-radius:8px;place-items:center;padding:0;font-weight:750;display:grid}.breakdown-toggle{cursor:pointer}.breakdown-toggle:hover,.duplicate-sub-work-button:hover{border-color:var(--accent);background:var(--primary-soft)}.breakdown-toggle .breakdown-chevron{fill:none;width:13px;height:13px;stroke:var(--muted);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s,stroke .14s}.breakdown-toggle:hover .breakdown-chevron{stroke:var(--ink)}.breakdown-toggle[aria-expanded=false] .breakdown-chevron{transform:rotate(-90deg)}.duplicate-sub-work-button{cursor:pointer;opacity:0;transition:opacity .14s,transform .14s,border-color .14s,background .14s;transform:scale(.92)}.duplicate-sub-work-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:12px;height:12px}.work-breakdown-row.sub:hover .duplicate-sub-work-button,.work-breakdown-row.sub:focus-within .duplicate-sub-work-button,.work-schedule-fixed-row.child:hover .duplicate-sub-work-button,.work-schedule-fixed-row.child:focus-within .duplicate-sub-work-button,.duplicate-sub-work-button:hover,.duplicate-sub-work-button:focus-visible{opacity:1;transform:scale(1)}:root[data-theme=dark] .duplicate-sub-work-button,.app-shell[data-theme=dark] .duplicate-sub-work-button{color:var(--info);background:#141417d1;border-color:#96949142}:root[data-theme=dark] .duplicate-sub-work-button:hover,:root[data-theme=dark] .duplicate-sub-work-button:focus-visible,.app-shell[data-theme=dark] .duplicate-sub-work-button:hover,.app-shell[data-theme=dark] .duplicate-sub-work-button:focus-visible{border-color:var(--accent);background:#1a1a1d2e}.work-sub-breakdown,.work-sub-breakdown-stack{gap:4px;display:grid}.add-sub-breakdown-button{width:fit-content;min-height:26px;color:var(--primary);cursor:pointer;background:#fafaf8b8;border:1px dashed #1a1a1d52;border-radius:999px;margin-left:28px;padding:3px 8px;font-size:12.75px;font-weight:500;line-height:1.2}.work-breakdown-row input,.work-breakdown-row select{width:100%;min-height:28px;color:var(--ink);font:inherit;background-color:#fff;border:1px solid #d2d0cdf2;border-radius:8px;outline:none;padding:0 7px;font-size:12.75px;font-weight:400}.work-breakdown-row input:focus,.work-breakdown-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a1a1d14}.work-breakdown-row input:disabled,.work-breakdown-row select:disabled{color:var(--muted);cursor:not-allowed;background-color:#f5f5f3cc}.work-readonly-cell,.boq-source-note{min-width:0;min-height:28px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#ffffffb8;border:1px solid #d2d0cdb8;border-radius:8px;align-items:center;padding:0 7px;font-size:12.75px;font-weight:400;display:grid;overflow:hidden}.boq-source-note{color:var(--muted);justify-content:center}.boq-template-modal{z-index:1290;width:min(1040px,100vw - 32px);max-height:calc(100vh - 40px);padding:24px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 28px 90px #101d3a3d}.boq-add-modal{flex-direction:column;width:min(1360px,100vw - 20px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:12px;display:flex;overflow:hidden}.boq-add-modal.flow-step{width:min(1440px,100vw - 8px);height:calc(100dvh - 4px);max-height:calc(100dvh - 4px);inset:0 auto auto 50%;transform:translate(-50%)}.boq-add-modal.choice-step{width:min(980px,100vw - 32px);height:auto;max-height:calc(100dvh - 24px);overflow:hidden}.boq-add-modal.manual-step{width:min(560px,100vw - 32px);height:auto;max-height:calc(100dvh - 24px);padding:20px;overflow:auto}.boq-add-modal .drawing-upload-modal-head,.boq-add-modal .boq-template-preview-title,.boq-add-modal .form-actions{flex:none}.boq-add-modal .drawing-upload-modal-head{margin-bottom:10px}.boq-add-modal.flow-step .drawing-upload-modal-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:2px;display:grid}.boq-add-modal.flow-step .drawing-upload-modal-head .eyebrow{margin:0 0 2px;font-size:.62rem}.boq-add-modal.flow-step .drawing-upload-modal-head h3{margin:0;font-size:.98rem;line-height:1.12}.boq-add-modal.flow-step .drawing-upload-modal-head p:not(.eyebrow){color:var(--muted);margin:2px 0 0;font-size:.78rem;line-height:1.25}.boq-add-modal.flow-step .drawing-upload-close{min-height:30px;padding:0 11px;font-size:.78rem}.boq-add-header-actions{align-items:center;gap:8px;display:flex}.boq-add-modal .boq-template-library-toolbar{flex:none;gap:4px;max-height:none;margin-top:0;overflow:visible}.boq-add-modal .boq-template-library-toolbar>input{border-radius:11px;min-height:29px;padding:0 10px;font-size:.8rem}.boq-add-modal .boq-template-scope-tabs button,.boq-add-modal .boq-template-category-tabs button{min-height:24px;padding:0 9px;font-size:.72rem}.boq-template-workspace{flex:auto;grid-template-columns:minmax(300px,.28fr) minmax(780px,.72fr);gap:14px;min-height:0;margin-top:0;display:grid;overflow:hidden}.boq-template-left-column,.boq-template-right-column{flex-direction:column;min-height:0;display:flex;overflow:hidden}.boq-template-left-column{gap:6px}.boq-template-right-column{gap:0}.create-custom-template-button{background:var(--ink);color:#fff;min-height:30px;font:inherit;cursor:pointer;border:1px solid #18181524;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:650}.create-custom-template-button:hover{color:#fff;background:#000}.boq-add-modal .boq-template-list-panel,.boq-add-modal .boq-template-preview-panel{flex:auto;height:auto;max-height:none}.boq-template-left-column .boq-template-list-panel,.boq-template-right-column .boq-template-preview-panel{min-height:0}.boq-template-right-column .boq-modal-drawing-preview{flex:none;width:100%}@media (min-width:1024px) and (hover:hover){.boq-add-modal .boq-template-workspace{grid-template-columns:46px minmax(0,1fr);position:relative}.boq-add-modal .boq-template-workspace>.boq-template-left-column{z-index:40;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:14px;gap:6px;width:46px;padding:10px 5px;transition:width .24s cubic-bezier(.22,1,.36,1),padding .24s,box-shadow .24s;position:absolute;inset:0 auto 0 0;overflow:hidden;box-shadow:0 2px 12px #080c1612}.boq-add-modal .boq-template-workspace>.boq-template-left-column>*{opacity:0;pointer-events:none;transition:opacity .13s}.boq-add-modal .boq-template-workspace>.boq-template-left-column:before{content:"Templates ›";white-space:nowrap;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;pointer-events:none;font-size:.68rem;font-weight:820;transition:opacity .13s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.boq-add-modal .boq-template-workspace>.boq-template-left-column:hover,.boq-add-modal .boq-template-workspace>.boq-template-left-column:focus-within{cursor:default;width:min(338px,80vw);padding:12px;overflow:auto;box-shadow:0 26px 64px #080c1652}.boq-add-modal .boq-template-workspace>.boq-template-left-column:hover>*,.boq-add-modal .boq-template-workspace>.boq-template-left-column:focus-within>*{opacity:1;pointer-events:auto}.boq-add-modal .boq-template-workspace>.boq-template-left-column:hover:before,.boq-add-modal .boq-template-workspace>.boq-template-left-column:focus-within:before{opacity:0}}.boq-add-modal .boq-template-preview{min-height:0;overflow:hidden}.boq-add-modal .boq-template-edit-list{min-height:0;max-height:none;overflow:auto}.boq-add-modal .form-actions{margin-top:10px}.boq-add-modal .boq-template-left-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;gap:8px;margin-top:0;display:grid}.boq-add-modal.flow-step .boq-template-left-actions .shell-button{border-radius:13px;justify-content:center;width:100%;min-height:34px;padding:0 16px;font-size:.82rem}.boq-create-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.boq-create-choice-card{min-height:142px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #d2d0cdf5;border-radius:18px;align-content:start;gap:8px;padding:16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 16px 42px #101d3a14}.boq-create-choice-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 18px 54px #1a1a1d24}.boq-create-choice-icon{width:38px;height:38px;color:var(--primary);background:#1a1a1d1a;border-radius:13px;place-items:center;display:grid}.boq-create-choice-icon.manual{color:var(--ink);background:#23231f14}.boq-choice-svg-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:20px;height:20px}.boq-create-choice-card strong{font-size:.98rem}.boq-create-choice-card p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}:root[data-theme=dark] .boq-create-choice-card,.app-shell[data-theme=dark] .boq-create-choice-card{background:#ffffff0b;border-color:#ffffff1f;box-shadow:0 16px 42px #00000057}:root[data-theme=dark] .boq-create-choice-card:hover,.app-shell[data-theme=dark] .boq-create-choice-card:hover{border-color:#ff7a5c80;box-shadow:0 18px 54px #ff5a3c33}:root[data-theme=dark] .boq-create-choice-icon.manual,.app-shell[data-theme=dark] .boq-create-choice-icon.manual{background:#ffffff1a}.boq-template-library-toolbar{gap:8px;margin-top:18px;display:grid}.boq-template-library-toolbar>input{border:1px solid var(--line);min-height:34px;color:var(--ink);font:inherit;background:#ffffffe6;border-radius:13px;padding:0 12px}.boq-template-category-tabs{flex-wrap:wrap;gap:5px;display:flex}.boq-template-material-filter{align-items:center;gap:6px;max-width:360px;display:flex}.boq-template-material-filter>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:750}.boq-template-material-filter .ui-select{border-radius:10px;width:min(260px,100%);min-height:28px;font-size:.78rem}.boq-template-scope-tabs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:3px;width:100%;display:grid}.boq-template-scope-tabs button,.boq-template-category-tabs button{min-height:28px;color:var(--muted);font:inherit;cursor:pointer;background:#23231f0f;border:1px solid #0000;border-radius:999px;padding:0 10px;font-size:.78rem;font-weight:650}.boq-template-scope-tabs button{color:#1818159e;background:#1818150b;border-radius:8px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:24px;padding:0 8px;font-size:.68rem;font-weight:650;line-height:1;display:inline-flex}.boq-scope-svg-icon{display:none}.boq-template-scope-tabs button.active,.boq-template-category-tabs button.active,.boq-template-category-tabs button:hover{border-color:var(--accent);background:var(--primary-soft);color:var(--primary)}.boq-template-scope-tabs button.active{background:var(--ink);color:#fff;border-color:#1818152e}.boq-template-scope-tabs button:hover:not(.active){color:var(--ink);background:#18181513;border-color:#1818151f}.boq-template-scope-tabs .create-custom-template-button{background:var(--ink);color:#fff;border-color:#18181524;margin-left:auto}.boq-template-scope-tabs .create-custom-template-button:hover{color:#fff;background:#000}.boq-template-picker-layout{grid-template-columns:minmax(280px,.36fr) minmax(560px,.64fr);gap:14px;min-height:min(58vh,560px);margin-top:14px;display:grid}.boq-template-list-panel,.boq-template-preview-panel{background:#ffffffc7;border:1px solid #d2d0cdeb;border-radius:16px;min-height:0;max-height:min(58vh,560px);overflow:auto}.boq-template-list-panel{align-content:start;gap:4px;padding:8px;display:grid}.boq-template-list-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;gap:3px;padding:10px 11px;display:grid}.boq-template-list-item:hover,.boq-template-list-item.active{border-color:var(--accent);background:#1a1a1d12}.boq-template-list-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.boq-template-list-item span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.3;display:-webkit-box;overflow:hidden}.boq-template-preview-panel{grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:10px;padding:16px;display:grid}.boq-template-right-column .boq-template-preview-panel{flex:auto;max-height:none;overflow:hidden}.boq-template-preview-body{grid-template-rows:minmax(0,1fr);gap:12px;min-height:0;display:grid}.boq-template-visual-workspace{grid-template-rows:minmax(180px,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:stretch;gap:12px;min-height:0;display:grid;overflow:hidden}.boq-template-visual-workspace>.boq-modal-drawing-preview{grid-area:1/1}.boq-template-visual-workspace>.boq-template-parameter-zone{grid-area:2/1;min-height:0;overflow:auto}.boq-template-visual-workspace>.boq-template-item-side{grid-area:1/2/-1;min-height:0}.boq-template-item-side{align-content:start;gap:12px;min-height:0;padding-right:2px;display:grid;overflow:auto}@media (max-width:1023.98px),(min-width:1024px) and (max-width:1100px) and (hover:none){.boq-add-modal .boq-template-workspace{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;overflow:hidden auto}.boq-add-modal .boq-template-workspace>.boq-template-left-column,.boq-add-modal .boq-template-workspace>.boq-template-right-column{min-width:0;overflow:visible}.boq-add-modal .boq-template-list-panel{max-height:38vh;overflow-y:auto}.boq-add-modal .boq-template-preview-panel,.boq-add-modal .boq-template-right-column .boq-template-preview-panel{max-height:none;overflow:visible}.boq-add-modal .boq-template-preview-body,.boq-add-modal .boq-template-visual-workspace{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);overflow:visible}.boq-add-modal .boq-template-visual-workspace>.boq-modal-drawing-preview,.boq-add-modal .boq-template-visual-workspace>.boq-template-parameter-zone,.boq-add-modal .boq-template-visual-workspace>.boq-template-item-side{grid-area:auto/1;min-width:0;max-height:none;overflow:visible}.boq-add-modal .boq-modal-drawing-preview{grid-template-columns:minmax(0,1fr)}}.boq-template-parameter-zone{min-height:0;padding-right:2px;overflow:auto}.boq-template-visual-workspace .boq-modal-drawing-preview{height:100%;min-height:0}.boq-template-visual-workspace .boq-modal-drawing-preview .boq-live-preview-panel{background:0 0;border:0;height:100%;min-height:0;padding:0}.boq-template-visual-workspace .boq-modal-drawing-preview .boq-live-preview-panel svg{flex:auto;height:100%;min-height:0}.boq-template-right-column .boq-template-preview-head,.boq-template-right-column .boq-template-preview-meta,.boq-template-visual-workspace .boq-live-preview-panel>div:first-child,.boq-template-visual-workspace .boq-live-preview-metrics{display:none}.boq-template-visual-workspace .boq-modal-drawing-preview-canvas{height:100%;min-height:0}.boq-template-preview-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.boq-template-preview-head h3,.boq-template-preview-head p{margin:0}.boq-template-preview-head h3{font-size:1.2rem}.boq-template-preview-head p:not(.eyebrow){color:var(--muted);margin-top:4px;font-size:.88rem;line-height:1.45}.boq-template-preview-meta span,.boq-template-parameter-chips span{color:var(--muted);background:#23231f0f;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:750}.boq-modal-drawing-preview,.boq-template-drawing-preview{background:linear-gradient(135deg,#1a1a1d14,#ffffffeb),#fafaf9e6;border:1px solid #d2d0cdeb;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:10px;display:grid}.boq-template-drawing-icon{width:42px;height:42px;color:var(--primary);background:#ffffffd1;border:1px solid #1a1a1d2e;border-radius:13px;place-items:center;display:grid}.boq-modal-drawing-preview{grid-template-columns:minmax(0,1fr);align-self:stretch;min-height:118px;padding:10px}.boq-modal-drawing-preview-main{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.boq-modal-drawing-preview-canvas{background:linear-gradient(135deg,#1a1a1d14 25%,#0000 25%) 0 0/22px 22px,linear-gradient(135deg,#0000 75%,#1a1a1d14 75%) 0 0/22px 22px,#ffffffc7;border:1px solid #1a1a1d29;border-radius:12px;min-height:112px;position:relative;overflow:hidden}.boq-modal-drawing-preview-canvas span{background:#ffffff8a;border:1px solid #1a1a1d5c;border-radius:6px;position:absolute}.boq-modal-drawing-preview-canvas span:first-child{inset:16px 18px 22px 26px}.boq-modal-drawing-preview-canvas span:nth-child(2){width:46%;height:34%;bottom:16px;right:30px}.boq-modal-drawing-preview-canvas span:nth-child(3){background:0 0;border-width:0 0 2px;border-radius:0;width:36%;height:1px;top:28px;left:34px}.boq-drawing-preview-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px;height:22px}.boq-modal-drawing-preview strong,.boq-modal-drawing-preview span,.boq-template-drawing-preview strong,.boq-template-drawing-preview span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.boq-modal-drawing-preview strong,.boq-template-drawing-preview strong{color:var(--ink);font-size:.84rem;font-weight:750}.boq-modal-drawing-preview span,.boq-template-drawing-preview span{color:var(--muted);font-size:.72rem}.boq-template-preview-meta,.boq-template-parameter-chips{flex-wrap:wrap;gap:6px;display:flex}.boq-template-preview-section{gap:8px;display:grid}.boq-template-preview-section>strong{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.boq-template-preview-section ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.boq-template-preview-section li{background:#fafaf9ad;border:1px solid #d2d0cdcc;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.boq-template-preview-section li span{color:var(--ink);font-size:.82rem;line-height:1.35}.boq-template-preview-section li b{color:var(--muted);white-space:nowrap;font-size:.75rem}.boq-template-preview-actions{flex-wrap:wrap;gap:8px;margin-top:0;padding-top:0;display:flex}.boq-template-accordion-list{gap:7px;display:grid}.boq-template-accordion-row{background:#ffffffd1;border:1px solid #d2d0cddb;border-radius:12px;overflow:hidden}.boq-template-accordion-row.excluded{background:radial-gradient(circle at 1px 1px,#7a76702e 1px,#0000 1.7px) 0 0/8px 8px,linear-gradient(#fafaf9b8,#f5f5f394) 0 0/100% 100%;border-style:dashed;border-color:#96949157;box-shadow:inset 0 0 0 1px #ffffff75}.boq-template-accordion-row.excluded summary strong,.boq-template-accordion-row.excluded .boq-template-row-quantity{color:#141417ad;font-weight:560}.boq-template-accordion-row.excluded summary span{color:#4755699e}.boq-template-accordion-row summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:10px;min-height:46px;padding:9px 10px;list-style:none;display:grid}.boq-template-accordion-row summary::-webkit-details-marker{display:none}.boq-template-accordion-row summary div{gap:2px;min-width:0;display:grid}.boq-template-accordion-row summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.boq-template-accordion-row summary span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.boq-template-row-quantity{color:var(--ink);white-space:nowrap;font-size:.84rem;font-weight:400}.boq-template-toggle-button{width:28px;height:28px;color:var(--primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #1a1a1d3d;border-radius:999px;place-items:center;font-size:1rem;font-weight:760;display:grid}.boq-template-accordion-row.excluded .boq-template-toggle-button{border-color:var(--accent);color:var(--primary);background:#ffffffe6}.boq-template-accordion-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px;display:grid}.boq-template-accordion-detail label,.boq-template-accordion-parameters{color:var(--muted);gap:4px;font-size:.7rem;font-weight:730;display:grid}.boq-template-accordion-detail label.wide,.boq-template-accordion-parameters,.boq-template-calculation-box{grid-column:1/-1}.boq-template-accordion-detail input{border:1px solid var(--line);min-height:32px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:0 9px}.boq-template-reset-formula{min-height:32px;color:var(--primary);cursor:pointer;font:inherit;background:#fafaf8b8;border:1px solid #1a1a1d3d;border-radius:9px;align-self:end;padding:0 10px;font-size:.76rem;font-weight:760}.boq-template-accordion-detail b,.boq-template-accordion-parameters p{color:var(--ink);margin:0;font-size:.78rem;font-weight:650}.boq-template-calculation-box{background:#fafaf9c7;border:1px solid #d2d0cdc7;border-radius:11px;gap:5px;padding:9px;display:grid}.boq-template-calculation-box span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.boq-template-calculation-box p,.boq-template-calculation-box em{color:var(--ink);margin:0;font-size:.78rem;font-style:normal;font-weight:620;line-height:1.35}.boq-template-calculation-box em{color:var(--warning)}.boq-template-input-chips{flex-wrap:wrap;gap:5px;display:flex}.boq-template-input-chips i{color:var(--muted);background:#23231f0f;border-radius:999px;padding:4px 7px;font-size:.68rem;font-style:normal;font-weight:700}.boq-template-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:min(54vh,520px);margin-top:16px;padding-right:2px;display:grid;overflow:auto}.boq-template-library-card{background:#ffffffe0;border:1px solid #d2d0cdeb;border-radius:16px;gap:10px;padding:14px;display:grid}.boq-template-library-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.boq-template-library-card-head strong{color:var(--ink);font-size:.95rem}.boq-template-library-card-head p,.boq-template-includes p{color:var(--muted);margin:3px 0 0;font-size:.78rem;line-height:1.35}.boq-template-library-card-head>span{color:var(--muted);background:#23231f0f;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:700}.boq-template-badges{flex-wrap:wrap;gap:5px;display:flex}.boq-template-badges small{color:var(--primary);background:#1a1a1d14;border-radius:999px;padding:4px 8px;font-size:.69rem;font-weight:700}.boq-template-includes span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.boq-template-card-actions{flex-wrap:wrap;gap:6px;display:flex}.boq-template-card-actions button,.boq-template-library-card button{min-height:32px;color:var(--primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #1a1a1d47;border-radius:999px;justify-self:start;padding:0 12px;font-size:.8rem;font-weight:700}.boq-template-card-actions button.danger{border-color:var(--danger-soft);color:var(--danger)}.boq-template-library-card button:hover,.boq-template-card-actions button:hover{background:var(--primary-soft)}.boq-template-empty-state{color:var(--muted);text-align:center;background:#fafaf9b8;border:1px dashed #9aa9beb3;border-radius:16px;gap:5px;margin-top:16px;padding:24px;display:grid}.boq-template-empty-state strong{color:var(--ink)}.boq-template-preview-title{gap:2px;margin-top:14px;display:grid}.boq-template-preview-title h3{margin:0;font-size:1.08rem}.boq-template-grid{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:16px;margin-top:18px;display:grid}.boq-template-form,.boq-template-preview{align-content:start;gap:12px;display:grid}.boq-template-form label{color:var(--muted);gap:6px;font-size:.76rem;font-weight:700;display:grid}.boq-template-form input,.boq-template-form select{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background-color:#fff;border-radius:12px;padding:0 11px}.boq-template-form p{color:var(--muted);margin:0;line-height:1.45}.boq-template-parameters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.boq-template-warning{background:#fff7ede0;border:1px solid #f573003d;border-radius:14px;gap:8px;padding:12px;display:grid}.boq-template-warning strong{color:var(--ink)}.boq-template-warning span,.boq-template-warning label{color:var(--muted);font-size:.78rem;font-weight:560}.boq-template-warning div{gap:6px;display:grid}.boq-template-warning label{align-items:center;display:flex}.boq-template-preview{border:1px solid var(--line);background:#fafaf9b8;border-radius:16px;padding:14px}.boq-template-preview-controls{background:#ffffffc7;border:1px solid #d2d0cdc7;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;padding:10px;display:grid}.boq-template-preview-controls label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:700;display:grid}.boq-template-preview-controls input{border:1px solid var(--line);min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 10px}.boq-template-preview-controls .boq-template-waste-toggle{background:#fff;border:1px solid #d2d0cdc7;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;min-height:34px;padding:0 10px}.boq-template-preview-controls .boq-template-waste-toggle input{width:15px;min-height:15px;accent-color:var(--ink);padding:0}.boq-template-setup-groups{gap:8px;display:grid}.boq-template-control-group{background:linear-gradient(#ffffffe6,#fafaf9c7),#ffffffd1;border:1px solid #d2d0cdd1;border-radius:12px;grid-template-columns:minmax(118px,.16fr) minmax(0,1fr);gap:8px;padding:8px 10px;display:grid}.boq-template-control-group-head{align-content:start;gap:2px;min-width:0;display:grid}.boq-template-control-group-head strong{color:var(--ink);font-size:.78rem;font-weight:760;line-height:1.2}.boq-template-control-group-head span{color:var(--muted);font-size:.64rem;line-height:1.22}.boq-template-control-fields{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:6px;min-width:0;display:grid}.boq-template-control-group.quantity-source{background:linear-gradient(#fafaf9f5,#ffffffe6),#ffffffe0;border-color:#14141724;border-radius:12px;grid-template-columns:minmax(104px,.18fr) minmax(0,1fr);align-items:start;gap:8px;padding:8px}.boq-template-control-group.quantity-source .boq-template-control-group-head{gap:2px}.boq-template-control-group.quantity-source .boq-template-control-group-head strong{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.boq-template-control-group.quantity-source .boq-template-control-group-head span{font-size:.62rem;line-height:1.25}.boq-quantity-source-toggle{background:#f5f5f3c2;border:1px solid #d2d0cde6;border-radius:14px;flex-wrap:nowrap;gap:2px;width:fit-content;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.boq-quantity-source-toggle button{min-height:24px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:11px;padding:0 8px;font-size:.64rem;font-weight:800;line-height:1}.boq-quantity-source-toggle button.active{background:var(--ink);color:#fff;box-shadow:0 6px 14px #1414171f}.boq-model-source-panel{gap:5px;display:grid}.boq-model-source-status,.boq-model-source-card{background:#fff;border:1px solid #d2d0cdeb;border-radius:10px;gap:4px;padding:7px 8px;display:grid}.boq-model-source-status{grid-template-columns:auto minmax(0,max-content) minmax(0,1fr);align-items:center}.boq-model-source-status .status-dot{background:#f97316;border-radius:999px;width:7px;height:7px;margin-top:0;box-shadow:0 0 0 3px #f973161a}.boq-model-source-status .status-dot.drawing{background:var(--accent);box-shadow:0 0 0 3px #1a1a1d1a}.boq-model-source-status strong,.boq-model-source-card strong{color:var(--ink);min-width:0;font-size:.68rem;font-weight:820;line-height:1.15}.boq-model-source-status small,.boq-model-source-card small,.boq-model-source-card em,.boq-quantity-source-note{color:var(--muted);font-size:.62rem;line-height:1.25}.boq-quantity-source-note{margin:0}.boq-model-source-card{max-width:min(420px,100%)}.boq-model-source-card-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.boq-model-source-card-head span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;font-weight:800}.boq-model-source-card-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.boq-model-source-meta{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.boq-model-source-meta span{max-width:100%;min-height:20px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#f5f5f3cc;border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:780;overflow:hidden}.boq-model-source-actions{flex-wrap:wrap;gap:5px;display:flex}.boq-model-source-actions .shell-button{border-radius:10px;min-height:26px;padding:0 9px;font-size:.66rem}.boq-3d-mapping-backdrop{z-index:12;border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1414172e;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.boq-3d-mapping-panel{background:#fffffffa;border:1px solid #d2d0cdf2;border-radius:18px;grid-template-rows:auto auto auto 1fr auto;gap:10px;width:min(920px,100vw - 64px);max-height:min(78vh,760px);padding:14px;display:grid;overflow:hidden;box-shadow:0 24px 70px #1414172e}.boq-3d-mapping-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.boq-3d-mapping-head h4{color:var(--ink);margin:0;font-size:1.05rem;line-height:1.12}.boq-3d-mapping-head span{color:var(--muted);font-size:.76rem;line-height:1.2}.boq-3d-mapping-intro{color:var(--muted);margin:0 0 2px;font-size:.84rem;line-height:1.5}.boq-3d-detected-disclosure{margin:0}.boq-3d-detected-disclosure>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:4px 0;font-size:.8rem;font-weight:650;list-style:none;display:inline-flex}.boq-3d-detected-disclosure>summary::-webkit-details-marker{display:none}.boq-3d-detected-disclosure>summary:before{content:"▸";font-size:.7rem;transition:transform .15s}.boq-3d-detected-disclosure[open]>summary:before{transform:rotate(90deg)}.boq-3d-detected-disclosure[open] .boq-3d-detected-grid{margin-top:8px}.boq-3d-detected-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:6px;max-height:132px;display:grid;overflow:auto}.boq-3d-detected-chip{background:#fafaf9c7;border:1px solid #d2d0cddb;border-radius:11px;gap:2px;min-width:0;padding:8px;display:grid}.boq-3d-detected-chip span,.boq-3d-detected-chip em{color:var(--muted);font-size:.62rem;line-height:1.15}.boq-3d-detected-chip strong{color:var(--ink);font-size:.76rem;font-weight:720;line-height:1.15}.boq-3d-mapping-warning,.boq-3d-mapping-empty{border:1px solid var(--warning-soft);color:var(--warning);background:#fffbebc2;border-radius:11px;padding:8px 10px;font-size:.72rem;line-height:1.3}.boq-3d-mapping-table{align-content:start;gap:5px;min-height:0;display:grid;overflow:auto}.boq-3d-mapping-row{background:#ffffffeb;border:1px solid #d2d0cddb;border-radius:11px;grid-template-columns:minmax(138px,1.2fr) minmax(74px,.58fr) minmax(210px,1.2fr) minmax(110px,.7fr);align-items:center;gap:7px;min-width:620px;padding:7px 8px;display:grid}.boq-3d-mapping-row.header{z-index:1;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;background:#f5f5f3f5;border-color:#96949157;font-size:.62rem;font-weight:820;position:sticky;top:0}.boq-3d-mapping-row.has-warning{border-color:var(--warning-soft);background:#fffbeb85}.boq-3d-mapping-row strong{color:var(--ink);font-size:.76rem;font-weight:720;line-height:1.16;display:block}.boq-3d-mapping-row small,.boq-3d-mapping-row>span{color:var(--muted);font-size:.64rem;line-height:1.2}.boq-3d-mapping-row select{width:100%;min-width:0;min-height:30px;color:var(--ink);background-color:#fff;border:1px solid #d2d0cdf2;border-radius:9px;padding:0 8px;font-size:.72rem;font-weight:560}.boq-3d-mapping-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.boq-template-control-field{min-width:0;color:var(--muted);gap:4px;font-size:.66rem;font-weight:680;line-height:1.15;display:grid}.boq-template-control-field.wide{grid-column:span 2}.boq-template-control-field input,.boq-template-control-field select{border:1px solid var(--line);width:100%;min-width:0;min-height:29px;color:var(--ink);font:inherit;background-color:#fff;border-radius:9px;padding:0 8px;font-size:.76rem;font-weight:500}.boq-template-control-field select{cursor:pointer}.boq-template-input-row{grid-template-columns:minmax(52px,.8fr) minmax(88px,auto);align-items:center;gap:5px;min-width:0;display:grid}.boq-parameter-takeoff-button,.boq-parameter-source-row button,.boq-parameter-linked-measurement button{min-width:0;max-width:116px;min-height:28px;color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d2d0cdeb;border-radius:999px;padding:0 9px;font-size:.64rem;font-weight:700;overflow:hidden}.boq-template-control-field input[type=number]{font-variant-numeric:tabular-nums}.boq-parameter-takeoff-button:hover,.boq-parameter-source-row button:hover,.boq-parameter-linked-measurement button:hover{border-color:var(--accent);background:#fafaf9f5}.boq-parameter-source-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.boq-parameter-source-badge{width:fit-content;min-height:22px;color:var(--accent);background:#fafaf8db;border:1px solid #1a1a1d29;border-radius:999px;align-items:center;padding:0 8px;font-size:.64rem;font-weight:820;display:inline-flex}.boq-parameter-source-badge.muted{color:var(--muted);background:#fafaf9eb;border-color:#96949138}.boq-parameter-linked-measurements{background:#fafaf9b8;border:1px dashed #b1c4e2b8;border-radius:10px;gap:5px;padding:6px;display:grid}.boq-parameter-linked-measurement{color:var(--muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;font-size:.68rem;display:grid}.boq-parameter-linked-measurement span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.boq-parameter-linked-measurement strong{color:var(--ink);white-space:nowrap;font-size:.68rem;font-weight:820}.boq-template-control-field.checkbox{min-height:29px;color:var(--ink);background:#fff;border:1px solid #d2d0cdd1;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:0 8px}.boq-template-control-field.checkbox input{width:16px;min-height:16px;accent-color:var(--ink);padding:0}.boq-template-control-field.checkbox span{color:var(--ink);font-size:.78rem;font-weight:760}.boq-template-control-group.bottomRebar{border-color:var(--accent);background:linear-gradient(#fafaf8d1,#ffffffe6),#ffffffdb}.boq-template-control-group.topRebar{border-color:var(--warning-soft);background:linear-gradient(#fff7edc7,#ffffffe6),#ffffffdb}.boq-template-control-group.earthworkBasic{border-color:var(--accent);background:linear-gradient(#fafaf8bd,#ffffffeb),#ffffffe0}.boq-template-control-group.earthworkMaterial,.boq-template-control-group.earthworkLayer{border-color:var(--success-soft);background:linear-gradient(#f0fdf4ad,#ffffffeb),#ffffffe0}.boq-template-control-group.earthworkTest,.boq-template-control-group.earthworkWatering{background:linear-gradient(#ecfeff9e,#ffffffeb),#ffffffe0;border-color:#0e74902e}.boq-template-validation-box{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2c7;border-radius:12px;gap:4px;padding:10px 12px;font-size:.74rem;font-weight:650;display:grid}.boq-model-takeoff-modal{z-index:1340;border-radius:0;grid-template-rows:auto minmax(0,1fr);width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:14px 18px 16px;display:grid;position:fixed;inset:0;overflow:hidden;transform:none}.boq-model-takeoff-backdrop{z-index:1330}.boq-model-takeoff-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:14px;min-height:0;display:grid}.boq-model-takeoff-sidebar{align-content:start;gap:12px;min-height:0;padding-right:4px;display:grid;overflow:auto}.boq-model-takeoff-sidebar label{color:var(--muted);gap:6px;font-size:.72rem;font-weight:780;display:grid}.boq-model-takeoff-viewer-settings{background:#ffffffeb;border:1px solid #d2d0cddb;border-radius:14px;gap:8px;padding:10px;display:grid}.boq-model-takeoff-viewer-settings .model-visual-panel-head{gap:8px}.boq-model-takeoff-viewer-settings .model-visual-panel-head>div{min-width:0}.boq-model-takeoff-viewer-settings .model-visual-panel-head strong{margin:0;font-size:.82rem}.boq-model-takeoff-collapse{min-height:28px;color:var(--ink);cursor:pointer;background:#fafaf9f0;border:1px solid #d2d0cdf0;border-radius:999px;padding:0 10px;font-size:.66rem;font-weight:820}.boq-model-takeoff-collapse:hover{background:#fff}.boq-model-takeoff-viewer-settings .eyebrow{margin-bottom:1px;font-size:.58rem}.boq-model-takeoff-viewer-settings-body{gap:8px;display:grid}.boq-model-takeoff-viewer-settings-summary{flex-wrap:wrap;gap:5px;display:flex}.boq-model-takeoff-viewer-settings-summary span{color:var(--muted);background:#f5f5f3eb;border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:780}.boq-model-takeoff-viewer-settings .model-projection-toggle{border-radius:999px;padding:3px}.boq-model-takeoff-viewer-settings .model-projection-toggle button{border-radius:999px;min-height:28px;font-size:.68rem}.boq-model-takeoff-viewer-settings label{gap:5px;font-size:.66rem}.boq-model-takeoff-viewer-settings select{width:100%;min-height:32px;color:var(--ink);font:inherit;background-color:#fafaf9eb;border:1px solid #d2d0cdeb;border-radius:10px;padding:0 9px;font-size:.76rem;font-weight:760}.boq-model-takeoff-viewer-settings input[type=range]{accent-color:#14b8a6;width:100%}.boq-model-takeoff-viewer-settings .model-visual-toggle-row{gap:5px}.boq-model-takeoff-viewer-settings .model-visual-toggle-row label{border-radius:10px;min-height:30px;padding:0 6px;font-size:.66rem}.boq-model-takeoff-viewer-settings .model-visual-toggle-row input{accent-color:#14b8a6;width:13px;height:13px}.boq-model-takeoff-viewer-settings .model-visual-stats{gap:5px}.boq-model-takeoff-viewer-settings .model-visual-stats span{padding:4px 7px;font-size:.66rem}.boq-model-takeoff-viewer-settings .model-visual-warning{border:1px solid var(--warning-soft);background:#fff7edc7;border-radius:10px;padding:7px 8px;font-size:.68rem;display:block}.boq-model-takeoff-source-card,.boq-model-takeoff-selection-card{background:#ffffffeb;border:1px solid #d2d0cde6;border-radius:14px;gap:7px;padding:12px;display:grid}.boq-model-takeoff-source-card strong,.boq-model-takeoff-selection-card strong{color:var(--ink);font-size:.86rem}.boq-model-takeoff-source-card span,.boq-model-takeoff-selection-card span{color:var(--ink);font-size:.76rem;font-weight:720}.boq-model-takeoff-source-card small,.boq-model-takeoff-source-card em,.boq-model-takeoff-selection-card em{color:var(--muted);font-size:.72rem;line-height:1.35}.boq-model-takeoff-tools{gap:8px;display:grid}.boq-model-takeoff-mode-switch,.boq-model-takeoff-submode{background:#f6f8fbeb;border:1px solid #d2d0cdcc;border-radius:999px;gap:4px;padding:4px;display:grid}.boq-model-takeoff-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.boq-model-takeoff-submode{grid-template-columns:repeat(2,minmax(0,1fr))}.boq-model-takeoff-mode-switch button,.boq-model-takeoff-submode button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.72rem;font-weight:800}.boq-model-takeoff-mode-switch button.active,.boq-model-takeoff-submode button.active{background:var(--ink);color:#fff;box-shadow:0 10px 22px #1414171f}.boq-model-takeoff-measurements{background:#fafaf9e6;border:1px solid #d2d0cdd1;border-radius:14px;gap:6px;padding:10px;display:grid}.boq-model-takeoff-measurements>strong{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:820}.boq-model-takeoff-measurement{cursor:pointer;background:#fff;border:1px solid #d2d0cdbf;border-radius:12px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px;min-width:0;padding:7px 8px;display:grid}.boq-model-takeoff-measurement.is-selected{border-color:var(--accent);background:#fafaf8b8;box-shadow:0 10px 24px #1a1a1d14}.boq-model-takeoff-measurement span{color:var(--muted);background:#f5f5f3f2;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:820}.boq-model-takeoff-measurement strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:820;overflow:hidden}.boq-model-takeoff-measurement em{color:var(--muted);grid-column:2/-1;font-size:.68rem;font-style:normal;font-weight:700}.boq-model-takeoff-measurement button{min-height:26px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d2d0cde6;border-radius:999px;padding:0 8px;font-size:.66rem;font-weight:800}.boq-model-takeoff-warning{border:1px solid var(--warning-soft);color:var(--warning);background:#fff7edd1;border-radius:12px;padding:10px 12px;font-size:.75rem;font-weight:760}.boq-model-takeoff-hover{width:fit-content;max-width:100%;color:var(--muted);background:#fff;border:1px solid #d2d0cde6;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:780;display:inline-flex}.boq-model-takeoff-viewer{background:#f8fafc;border:1px solid #b1c4e2cc;border-radius:18px;min-width:0;min-height:0;overflow:hidden}.boq-model-takeoff-canvas{cursor:grab;width:100%;height:100%;min-height:520px;position:relative;overflow:hidden}.boq-model-takeoff-canvas.mode-measure{cursor:crosshair}.boq-model-takeoff-canvas:active{cursor:grabbing}.boq-model-takeoff-canvas canvas{display:block;width:100%!important;height:100%!important}.boq-model-takeoff-canvas .model-view-cube{z-index:20;transform-origin:100% 0;top:22px;right:24px;transform:scale(.92)}.boq-model-takeoff-canvas .boq-model-measure-overlay{z-index:12}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line,.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line.draft{stroke:var(--accent);stroke-width:.3px;stroke-dasharray:none;opacity:.86;filter:drop-shadow(0 1px 2px #14141733)}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg polygon.area.takeoff-selected,.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg polygon.area.area-editing{fill:#1a1a1d29;stroke:#1a1a1ddb;stroke-width:.5px;filter:drop-shadow(0 8px 18px #1a1a1d29)}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg polygon.area.face-preview{fill:#1a1a1d12;stroke:#1a1a1d52;stroke-width:.34px;filter:none}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line.takeoff-selected,.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line.area-editing{stroke:var(--accent);stroke-width:.54px;opacity:.95}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line.face-preview{stroke:#1a1a1d75;stroke-width:.32px;opacity:.72}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-svg line.edge-selected{stroke:#16161a;stroke-width:.72px}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-point-dot,.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-point-dot.draft{background:var(--accent);border:2px solid #fff;width:13px;height:13px;box-shadow:0 0 0 4px #1a1a1d29,0 10px 22px #14141733}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-point-dot.area-handle{background:var(--accent);border:2px solid #fff;width:15px;height:15px;box-shadow:0 0 0 4px #1a1a1d2e,0 14px 26px #14141738}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-point-dot.vertex-selected{background:#16161a;width:18px;height:18px;box-shadow:0 0 0 5px #1a1a1d38,0 16px 30px #14141747}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-point-dot.face-preview{background:#1a1a1d8f;border-width:1px;width:10px;height:10px;box-shadow:0 0 0 3px #1a1a1d14}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-label,.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-label.draft{border-color:var(--accent);color:#1e3a8a;background:#fffffff2;font-size:.68rem;font-weight:850}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-label.face-preview{border-color:var(--accent);opacity:.82;background:#ffffffd1}.boq-model-takeoff-canvas .boq-model-measure-overlay .measure-snap-indicator{z-index:13}.boq-boundary-hud{z-index:16;pointer-events:auto;background:#ffffffe6;border:1px solid #1a1a1d2e;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;max-width:720px;padding:10px;display:flex;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 16px 38px #14141729}.boq-boundary-hud>div:first-child{gap:2px;min-width:0;display:grid}.boq-boundary-hud strong{color:var(--ink);font-size:.86rem}.boq-boundary-hud span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:760;overflow:hidden}.boq-boundary-hud>div:last-child{flex:none;gap:8px;display:flex}.boq-boundary-hud button{min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d2d0cdf2;border-radius:999px;padding:0 12px;font-size:.74rem;font-weight:850}.boq-boundary-hud button.primary{color:#fff;background:#16161a;border-color:#16161a}.boq-boundary-hud button:disabled{cursor:not-allowed;opacity:.46}.boq-boundary-hud.is-editing{border-color:var(--accent);background:#fffffff0}.boq-boundary-hud.is-invalid{border-color:var(--danger-soft);background:#fef2f2eb}.boq-model-takeoff-loading,.boq-model-takeoff-empty{z-index:2;color:var(--muted);pointer-events:none;text-align:center;background:#ffffffad;border:1px dashed #96949161;border-radius:16px;place-items:center;font-size:.82rem;font-weight:800;display:grid;position:absolute;inset:18px}.boq-model-takeoff-empty{align-content:center;gap:6px}.boq-model-takeoff-empty strong{color:var(--ink);font-size:1rem}.boq-model-takeoff-empty p{max-width:360px;color:var(--muted);margin:0 auto;font-size:.82rem;font-weight:620}:root[data-theme=dark] .boq-model-takeoff-source-card,:root[data-theme=dark] .boq-model-takeoff-selection-card,:root[data-theme=dark] .boq-model-takeoff-measurements,:root[data-theme=dark] .boq-model-takeoff-viewer-settings,.app-shell[data-theme=dark] .boq-model-takeoff-source-card,.app-shell[data-theme=dark] .boq-model-takeoff-selection-card,.app-shell[data-theme=dark] .boq-model-takeoff-measurements,.app-shell[data-theme=dark] .boq-model-takeoff-viewer-settings{background:#ffffff0b;border-color:#ffffff1a}:root[data-theme=dark] .boq-model-takeoff-mode-switch,:root[data-theme=dark] .boq-model-takeoff-submode,.app-shell[data-theme=dark] .boq-model-takeoff-mode-switch,.app-shell[data-theme=dark] .boq-model-takeoff-submode{background:#00000047;border-color:#ffffff14}:root[data-theme=dark] .boq-model-takeoff-mode-switch button.active,:root[data-theme=dark] .boq-model-takeoff-submode button.active,.app-shell[data-theme=dark] .boq-model-takeoff-mode-switch button.active,.app-shell[data-theme=dark] .boq-model-takeoff-submode button.active{color:#15151a;background:#ffffffeb;box-shadow:0 8px 20px #00000073}:root[data-theme=dark] .boq-model-takeoff-viewer,.app-shell[data-theme=dark] .boq-model-takeoff-viewer{background:#0c0d11;border-color:#ffffff1a}:root[data-theme=dark] .boq-model-takeoff-empty,:root[data-theme=dark] .boq-model-takeoff-loading,.app-shell[data-theme=dark] .boq-model-takeoff-empty,.app-shell[data-theme=dark] .boq-model-takeoff-loading{color:#ffffff9e;background:#0e0f13a8;border-color:#ffffff29}:root[data-theme=dark] .boq-model-takeoff-warning,:root[data-theme=dark] .boq-model-takeoff-viewer-settings .model-visual-warning,.app-shell[data-theme=dark] .boq-model-takeoff-warning,.app-shell[data-theme=dark] .boq-model-takeoff-viewer-settings .model-visual-warning{border-color:var(--warning-soft);color:var(--warning);background:#7c2d1238}:root[data-theme=dark] .boq-model-takeoff-hover,:root[data-theme=dark] .boq-model-takeoff-collapse,:root[data-theme=dark] .boq-model-takeoff-viewer-settings select,:root[data-theme=dark] .boq-model-takeoff-viewer-settings-summary span,.app-shell[data-theme=dark] .boq-model-takeoff-hover,.app-shell[data-theme=dark] .boq-model-takeoff-collapse,.app-shell[data-theme=dark] .boq-model-takeoff-viewer-settings select,.app-shell[data-theme=dark] .boq-model-takeoff-viewer-settings-summary span{background-color:#ffffff12;border-color:#ffffff1f}.boq-drawing-takeoff-modal{inset:clamp(10px,1.5vw,22px)}.boq-drawing-takeoff-shell{grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:14px;min-height:0;display:grid}.boq-drawing-takeoff-sidebar{align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.boq-drawing-takeoff-sidebar label{color:var(--muted);gap:5px;font-size:.7rem;font-weight:780;display:grid}.boq-drawing-takeoff-sidebar input,.boq-drawing-takeoff-sidebar select{width:100%;min-height:34px;color:var(--ink);background-color:#fff;border:1px solid #d2d0cdeb;border-radius:10px;padding:0 10px;font-size:.78rem;font-weight:760}.boq-drawing-scale-card,.boq-drawing-target-card,.boq-drawing-result-card{background:#fffffff0;border:1px solid #d2d0cde6;border-radius:14px;gap:6px;padding:11px;display:grid}.boq-drawing-scale-card strong,.boq-drawing-target-card strong,.boq-drawing-result-card strong{color:var(--ink);font-size:.88rem;font-weight:840}.boq-drawing-scale-card span,.boq-drawing-target-card span,.boq-drawing-result-card span,.boq-drawing-scale-card small,.boq-drawing-target-card small,.boq-drawing-result-card small{color:var(--muted);font-size:.72rem;line-height:1.35}.boq-drawing-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.boq-drawing-tool-grid button{min-height:32px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #d2d0cdeb;border-radius:999px;font-size:.7rem;font-weight:820}.boq-drawing-tool-grid button.active{background:var(--ink);color:#fff;border-color:#141417e6}.boq-drawing-takeoff-actions{flex-wrap:wrap;gap:6px;display:flex}.boq-drawing-warning{border:1px solid var(--warning-soft);color:var(--warning);background:#fff7edd1;border-radius:12px;padding:10px 12px;font-size:.74rem;font-weight:760}.boq-drawing-takeoff-viewer{background-color:#f8fafc;background-image:linear-gradient(#e0dedb70 1px,#0000 1px),linear-gradient(90deg,#e0dedb70 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #b1c4e2cc;border-radius:18px;min-width:0;min-height:0;overflow:hidden}.boq-drawing-takeoff-board{cursor:crosshair;width:100%;height:100%;min-height:560px;position:relative;overflow:auto}.boq-drawing-takeoff-board .pdf-canvas-shell{place-items:start center;min-height:100%;padding:18px;display:grid}.boq-drawing-takeoff-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-width:520px;max-width:none;height:auto;padding:18px;display:block}.boq-drawing-dxf-svg{shape-rendering:geometricprecision;background:#fff;display:block}.boq-drawing-dxf-svg line{stroke:#1f2430;stroke-width:1.1px;stroke-linecap:round}.boq-drawing-dxf-svg .dxf-fill{fill:#64748b;fill-opacity:.2;stroke:none}.boq-drawing-takeoff-overlay{pointer-events:none;width:max(100%,1600px);height:max(100%,1100px);position:absolute;inset:0;overflow:visible}.boq-drawing-takeoff-overlay .scale-line{stroke:#16161a;stroke-width:2px;stroke-dasharray:6 5}.boq-drawing-takeoff-overlay .scale-point{fill:#16161a;stroke:#fff;stroke-width:2px}.boq-drawing-takeoff-overlay .measurement-line,.boq-drawing-takeoff-overlay .draft-line{fill:#1a1a1d14;stroke:var(--accent);stroke-width:2px}.boq-drawing-takeoff-overlay .measurement-line.deduct{fill:#dc262614;stroke:#dc2626}.boq-drawing-takeoff-overlay .draft-line{fill:none;stroke-dasharray:5 5}.boq-drawing-takeoff-overlay .measurement-fill{fill:#1a1a1d14;stroke:var(--accent);stroke-width:2px}.boq-drawing-takeoff-overlay .measurement-point{fill:#fff;stroke:var(--accent);stroke-width:2px}.boq-drawing-takeoff-empty{z-index:2;color:var(--muted);text-align:center;pointer-events:none;background:#ffffffbd;border:1px dashed #96949166;border-radius:16px;place-items:center;padding:18px;font-size:.82rem;font-weight:800;display:grid;position:absolute;inset:18px}.boq-drawing-takeoff-empty strong{color:var(--ink)}@media (max-width:980px){.boq-model-takeoff-shell,.boq-drawing-takeoff-shell{grid-template-columns:1fr}.boq-model-takeoff-canvas{min-height:420px}.boq-boundary-hud{flex-direction:column;align-items:stretch}.boq-boundary-hud>div:last-child{width:100%}.boq-boundary-hud button{flex:1}.boq-drawing-takeoff-board{min-height:420px}}.boq-live-preview-panel{background:linear-gradient(#fafaf9db,#fffffff5);border:1px solid #d2d0cde6;border-radius:14px;gap:10px;padding:12px;display:grid}.boq-live-preview-panel h4,.boq-live-preview-panel p{margin:0}.boq-live-preview-panel h4{font-size:.96rem}.boq-live-preview-panel>div>span{color:var(--muted);font-size:.78rem}.boq-live-preview-panel svg{background:radial-gradient(circle at 18% 16%,#1a1a1d21,#0000 26%),linear-gradient(#f8fbff 0%,#eef4fb 100%);border:1px solid #d2d0cdb8;border-radius:12px;width:100%;min-height:190px}.boq-live-preview-panel.generic-preview svg{min-height:130px}.boq-live-preview-panel.earthwork-backfill-preview svg{min-height:168px}.boq-live-preview-panel .earthwork-plan-area{fill:#1a1a1d14;stroke:#1a1a1d8f;stroke-width:1.5px}.boq-live-preview-panel .earthwork-section-cut{fill:#ffffffbd;stroke:#4755696b;stroke-width:1.35px}.boq-live-preview-panel .earthwork-section-fill{fill:url(#backfillHatch);stroke:#1a1a1d6b;stroke-width:1.3px}.boq-live-preview-panel .earthwork-layer-line{stroke:#14141752;stroke-dasharray:6 5;stroke-width:1px}.boq-live-preview-metrics.earthwork-summary span{background:var(--success-soft);color:#15532de6}.boq-live-preview-panel text{fill:var(--ink);font-size:11px;font-weight:650}.boq-live-preview-panel .footing-dual-preview text{font-size:10px;font-weight:620}.boq-live-preview-panel .preview-view-title{fill:#475569b8;letter-spacing:.12em;font-size:9px;font-weight:760}.boq-live-preview-panel .preview-view-frame{fill:#ffffff7a;stroke:#96949138;stroke-width:1px}.boq-live-preview-panel .preview-view-frame.footing-card{fill:#ffffffad;stroke:#bccbe2db;stroke-width:1.1px}.boq-live-preview-panel .preview-top{fill:url(#footingBlockGradient);stroke:#8798ad;stroke-width:1.7px;stroke-linejoin:round}.boq-live-preview-panel .preview-side{fill:#dbe7f5;stroke:#8798ad;stroke-width:1.7px;stroke-linejoin:round}.boq-live-preview-panel .preview-front{fill:#edf4fb;stroke:#8798ad;stroke-width:1.7px;stroke-linejoin:round}.boq-live-preview-panel .preview-section-concrete{fill:url(#footingSectionGradient);stroke:#8397b0;stroke-width:1.8px}.boq-live-preview-panel .preview-section-cover{fill:#1a1a1d09;stroke:#1a1a1d6b;stroke-dasharray:6 6;stroke-width:1.45px}.structure-preview-card.footing-detail-card{fill:#ffffffb8;stroke:#bccbe2e6}.footing-plan-outline,.footing-section-concrete{fill:url(#structureConcreteFill);stroke:#334155c7;stroke-linejoin:round;stroke-width:1.85px}.footing-cover-line,.footing-section-cover{fill:#1a1a1d09;stroke:#1a1a1d6b;stroke-dasharray:7 6;stroke-linejoin:round;stroke-width:1.25px}.footing-preview-rebar{stroke-linecap:round;stroke-width:1.35px}.footing-preview-rebar.bottom{stroke:#1a1a1dc7}.footing-preview-rebar.top{stroke:#f97316c2;stroke-dasharray:5 4}.footing-preview-hook{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px}.footing-preview-hook.bottom{stroke:var(--accent)}.footing-preview-hook.top{stroke:#f97316}.footing-section-lean{fill:#9694912e;stroke:#4755695c;stroke-width:1.2px}.tapered-footing-plan,.tapered-footing-section{stroke-linejoin:round}.tapered-footing-top-outline{fill:#14141709;stroke:#4755696b;stroke-dasharray:7 6;stroke-linejoin:round;stroke-width:1.15px}.tapered-footing-section-cover{stroke-linejoin:round}.tapered-footing-pedestal-plan,.tapered-footing-pedestal-section{fill:#14141711;stroke:#1414177a;stroke-width:1.25px}.tapered-footing-starter{stroke:#1a1a1dd1;stroke-linecap:round;stroke-width:2.2px}.tapered-section-rebar{stroke-width:2.6px}.structure-preview-note.footing-note{fill:#141417c7;font-size:10.2px;font-weight:720}.boq-live-preview-panel .preview-column-top,.boq-live-preview-panel .preview-beam-top{fill:url(#columnConcreteGradient);stroke:#7f8ea3;stroke-width:1.6px}.boq-live-preview-panel .preview-beam-top{fill:url(#beamTopGradient)}.boq-live-preview-panel .preview-column-front,.boq-live-preview-panel .preview-beam-front{fill:#edf3fa;stroke:#7f8ea3;stroke-width:1.6px}.boq-live-preview-panel .preview-column-side,.boq-live-preview-panel .preview-beam-side{fill:url(#columnSideGradient);stroke:#7f8ea3;stroke-width:1.6px}.boq-live-preview-panel .preview-beam-side{fill:url(#beamConcreteGradient)}.boq-live-preview-panel .beam-section-preview text{font-size:10px;font-weight:620}.boq-live-preview-panel .preview-beam-section-concrete{fill:url(#beamConcreteGradient);stroke:#7f8ea3;stroke-width:1.6px}.boq-live-preview-panel .preview-steel-member{fill:url(#steelProfileGradient);stroke:#7f8ea3;stroke-width:1.6px}.boq-live-preview-panel .preview-steel-profile{fill:url(#steelProfileGradient);stroke:#233042c2;stroke-width:2.2px}.boq-live-preview-panel .preview-steel-profile.custom{fill:#e0dedbbd;stroke-dasharray:9 7}.boq-live-preview-panel .preview-steel-profile-cutout{fill:#fafaf8f5;stroke:#2330426b;stroke-width:1.6px}.boq-live-preview-panel .preview-steel-profile-centerline line{stroke:#1a1a1d3d;stroke-dasharray:7 7;stroke-width:1.2px}.boq-live-preview-panel .preview-steel-dimension-label{fill:#141417b8;font-size:10px;font-weight:560}.boq-live-preview-panel .preview-view-frame.steel-section-card{fill:#fafaf8bd}.boq-live-preview-panel .preview-steel-note{fill:var(--ink);font-size:12px;font-weight:620}.boq-live-preview-panel .preview-steel-note.muted{fill:var(--muted);font-size:10px;font-weight:520}.boq-live-preview-panel .preview-beam-cover{fill:none;stroke:#1a1a1d57;stroke-dasharray:5 5;stroke-width:1.3px}.boq-live-preview-panel .preview-column-core,.boq-live-preview-panel .preview-beam-core{fill:#fafaf95c;stroke:#47556933;stroke-width:1px}.boq-live-preview-panel .preview-column-cover{fill:none;stroke:#1a1a1d61;stroke-dasharray:5 5;stroke-width:1.4px}.boq-live-preview-panel .preview-stirrup{fill:none;stroke:#1414179e;stroke-linejoin:round;stroke-width:1.55px}.boq-live-preview-panel .preview-longitudinal-bar{fill:#16161a;stroke:#ffffffb8;stroke-width:1.1px}.boq-live-preview-panel .preview-rebar.beam-main{stroke-width:3.2px}.boq-live-preview-panel .preview-cover{fill:#1a1a1d06;stroke:#1a1a1d75;stroke-dasharray:5 5;stroke-width:1.45px}.boq-live-preview-panel .preview-rebar{stroke-linecap:round;stroke-width:2.35px}.boq-live-preview-panel .preview-rebar.bottom{stroke:var(--accent);opacity:.78}.boq-live-preview-panel .preview-rebar.top{stroke:#f97316;opacity:.88}.boq-live-preview-panel .preview-section-bar{stroke:#ffffffeb;stroke-width:1.3px}.boq-live-preview-panel .preview-section-bar.bottom{fill:var(--accent)}.boq-live-preview-panel .preview-section-bar.top{fill:#f97316}.boq-live-preview-panel .preview-dimension{stroke:#475569;stroke-dasharray:5 4;stroke-width:1.2px}.boq-live-preview-panel .preview-dimension.solid-cover{stroke:#475569b8;stroke-dasharray:none;stroke-width:1.1px}.boq-live-preview-panel .preview-hidden-line{stroke:#47556957;stroke-dasharray:5 5;stroke-linecap:round;stroke-width:1.2px}.boq-live-preview-panel .preview-generic-block{fill:#edf4ff;stroke:#1a1a1d40;stroke-width:1.5px}.boq-live-preview-panel.structure-template-preview{padding:10px}.boq-live-preview-panel.structure-template-preview svg{background:linear-gradient(135deg,#f1f6ffad,#fffffff5);min-height:210px}.structure-preview-svg text{fill:#141417e6;font-size:11px;font-weight:650}.structure-preview-card{fill:#ffffff94;stroke:#bccbe2c7;stroke-width:1.1px}.structure-preview-subpanel{fill:#ffffffad;stroke:#bccbe2d1;stroke-width:1.05px}.structure-preview-subpanel.column-subpanel{fill:#ffffffbd;stroke:#bacae2eb}.structure-preview-dim-label{fill:#141417d1;font-size:10.5px;font-weight:720}.structure-preview-extension{stroke:#47556975;stroke-width:.95px;stroke-linecap:round}.boq-live-preview-panel .preview-view-title.column-title{fill:#475569c2;letter-spacing:.14em;font-size:8.7px}.structure-preview-concrete{fill:url(#structureConcreteFill);stroke:#475569bd;stroke-linejoin:round;stroke-width:1.8px}.structure-preview-concrete.stroke-only{fill:#e2ecf870}.structure-preview-cover{fill:#1a1a1d09;stroke:#1a1a1d6b;stroke-dasharray:6 6;stroke-width:1.25px}.structure-preview-column-concrete,.structure-preview-column-elevation{fill:url(#structureConcreteFill);stroke:#334155d6;stroke-linejoin:round;stroke-width:1.95px}.structure-preview-column-cover{fill:#1a1a1d0b;stroke:#1a1a1d5c;stroke-dasharray:6 5;stroke-linejoin:round;stroke-width:1.1px}.structure-preview-column-bar{fill:var(--accent);stroke:#fffffff5;stroke-width:1.4px}.structure-preview-column-mainbar{stroke:var(--accent);stroke-linecap:round;stroke-width:3px}.structure-preview-column-stirrup{stroke:#141417bd;stroke-linecap:round;stroke-width:1.35px}.structure-preview-note.column-note{fill:#141417c7;font-size:10.3px;font-weight:720}.structure-preview-rebar-blue,.structure-preview-rebar-orange,.structure-preview-member{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px}.structure-preview-rebar-blue{stroke:var(--accent)}.structure-preview-rebar-orange{stroke:#f97316}.structure-preview-rebar-blue.thin,.structure-preview-rebar-orange.thin,.structure-preview-member.thin{stroke-width:1.55px}.structure-preview-stirrup-line,.structure-preview-stirrup-box{fill:none;stroke:#141417b8;stroke-width:1.35px}.structure-preview-bar-dot{fill:var(--accent);stroke:#fff;stroke-width:1.2px}.structure-preview-bar-dot.orange{fill:#f97316}.structure-preview-dim{fill:none;marker-end:url(#structureArrow);marker-start:url(#structureArrow);stroke:#475569db;stroke-dasharray:6 5;stroke-width:1.1px}.structure-preview-pedestal{fill:#1414170f;stroke:#1414176b;stroke-width:1.2px}.structure-preview-lean{fill:#96949133;stroke:#47556961;stroke-width:1.2px}.structure-preview-top-rebar{fill:none;stroke:#f97316;stroke-dasharray:7 7;stroke-linejoin:round;stroke-width:2px}.structure-preview-steel{fill:url(#structureSteelFill);stroke:#233042cc;stroke-linejoin:round;stroke-width:2.1px}.structure-preview-cutout{fill:#fafaf8f5;stroke:#23304261;stroke-width:1.4px}.structure-preview-centerline{stroke:#1a1a1d3d;stroke-dasharray:7 7;stroke-width:1.1px}.structure-preview-note{fill:var(--muted);font-size:10px;font-weight:600}.structure-preview-member{stroke:#233042d6}.structure-preview-timber{fill:#b4773d2e;stroke:#784820ad;stroke-width:1.8px}.structure-preview-connector{fill:#7a767029;stroke:#47556985;stroke-width:1.4px}.structure-preview-lift{fill:none;stroke:var(--accent);stroke-width:2px}.boq-live-preview-metrics{flex-wrap:wrap;gap:6px;display:flex}.boq-live-preview-metrics span{color:var(--muted);background:#23231f0f;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:700}.boq-template-preview-list{gap:8px;display:grid}.boq-template-preview-row{background:#fff;border:1px solid #d2d0cddb;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.boq-template-preview-row div{gap:2px;min-width:0;display:grid}.boq-template-preview-row strong{color:var(--ink);font-size:.9rem}.boq-template-preview-row span{color:var(--muted);font-size:.76rem}.boq-template-preview-row b{color:var(--ink);white-space:nowrap;font-size:.9rem}.boq-template-edit-list{gap:8px;max-height:min(52vh,520px);padding-right:2px;display:grid;overflow:auto}.boq-template-edit-row{background:#fff;border:1px solid #d2d0cde6;border-radius:14px;grid-template-columns:88px minmax(150px,.8fr) minmax(180px,1fr);align-items:center;gap:8px;padding:10px;display:grid}.boq-template-edit-row.disabled{opacity:.52}.boq-template-check{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;font-weight:650;display:inline-flex}.boq-template-edit-row>input,.boq-template-row-metrics input{border:1px solid var(--line);min-height:34px;color:var(--ink);font:inherit;background:#fafaf9c2;border-radius:10px;padding:0 10px}.boq-template-row-metrics{grid-column:1/-1;grid-template-columns:.7fr .8fr 1fr;gap:8px;display:grid}.boq-template-row-metrics label{color:var(--muted);gap:4px;font-size:.72rem;font-weight:650;display:grid}.custom-template-modal{z-index:1340;width:min(1240px,100vw - 28px)}.custom-template-backdrop{z-index:1330}.custom-template-builder{grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);gap:16px;margin-top:16px;display:grid}.custom-template-main,.custom-template-preview-panel{align-content:start;gap:12px;display:grid}.custom-template-grid,.custom-parameter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.custom-template-grid label,.custom-template-description,.custom-template-item-card label{color:var(--muted);gap:5px;font-size:.74rem;font-weight:700;display:grid}.custom-template-grid input,.custom-template-grid select,.custom-template-description textarea,.custom-template-item-card input,.custom-template-item-card select,.custom-parameter-row input{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;background-color:#fff;border-radius:11px;padding:0 10px}.custom-template-description textarea{resize:vertical;min-height:72px;padding:10px}.custom-template-section-head{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.custom-template-section-head strong{color:var(--ink)}.custom-template-section-head p{color:var(--muted);margin:2px 0 0;font-size:.78rem}.custom-template-section-head button{min-height:32px;color:var(--primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #1a1a1d47;border-radius:999px;padding:0 10px;font-size:.8rem;font-weight:700}.custom-parameter-list,.custom-template-item-list{gap:8px;display:grid}.custom-parameter-row{background:#fafaf9b8;border:1px dashed #d2d0cde6;border-radius:12px;grid-template-columns:1fr 1fr 78px 96px 96px 36px;align-items:center;padding:8px}.custom-parameter-head{background:0 0;border:0;align-items:end;padding:0 8px}.custom-parameter-head span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem;font-weight:700}.custom-parameter-row label{color:var(--muted);align-items:center;gap:5px;font-size:.72rem;font-weight:650;display:inline-flex}.custom-template-item-card{background:#ffffffd6;border:1px solid #d2d0cdeb;border-radius:15px;gap:10px;padding:12px;display:grid}.custom-template-item-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.custom-formula-preview{background:#1a1a1d0f;border:1px solid #1a1a1d29;border-radius:12px;gap:3px;padding:9px;display:grid}.custom-formula-preview span,.custom-preview-row span,.custom-template-preview-panel p{color:var(--muted);font-size:.76rem}.custom-formula-preview strong{color:var(--ink);font-size:.82rem}.custom-formula-preview.error{border-color:var(--danger-soft);background:#fef2f2d1}.custom-formula-preview.error strong{color:var(--danger)}.custom-template-preview-panel{border:1px solid var(--line);background:#fafaf9db;border-radius:16px;padding:14px;position:sticky;top:12px}.custom-template-preview-panel h3,.custom-template-preview-panel p{margin:0}.custom-preview-row{background:#fff;border:1px solid #d2d0cde6;border-radius:12px;gap:3px;padding:10px;display:grid}.custom-preview-row b{color:var(--ink);font-size:.78rem}.work-breakdown-table.boq-mode .work-breakdown-row.sub{width:100%;margin-left:0}.work-breakdown-table.boq-mode .work-breakdown-row .icon-delete-button{justify-self:end}.boq-volume-cell{align-items:center;gap:4px;display:flex}.boq-volume-cell>input{flex:58px;min-width:0}.boq-volume-cell>select{flex:none;width:60px}.boq-volume-cell>.boq-drawing-trigger,.boq-volume-cell>.boq-volume-3d-button,.boq-volume-cell>.boq-model-lock{flex:none}.boq-volume-3d-button{border:1px solid var(--line,#14121024);background:var(--surface-soft,#fbfaf8);width:28px;height:28px;color:var(--muted,#6f6b64);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.boq-volume-3d-button:hover{background:color-mix(in srgb, var(--accent,#cc3b1e) 12%, transparent);color:var(--accent,#cc3b1e);border-color:color-mix(in srgb, var(--accent,#cc3b1e) 40%, transparent)}.boq-status-dot{box-sizing:border-box;border-radius:50%;flex:none;width:9px;height:9px}.boq-status-dot.complete{background:var(--success)}.boq-status-dot.partial{background:var(--warning)}.boq-status-dot.empty{border:1.5px solid color-mix(in srgb, var(--muted) 50%, transparent);background:0 0}.work-breakdown-row input.boq-empty-value{color:var(--muted)!important}.work-breakdown-row input.boq-empty-value:focus{color:var(--ink)!important}.work-value-cell.total-price.is-zero{font-weight:400;color:var(--muted)!important}.boq-source-select.ui-select{max-width:108px;padding-top:3px;padding-bottom:3px;padding-left:8px;font-size:.72rem}.boq-preset-card{grid-template-columns:minmax(0,1.5fr) minmax(180px,.75fr);align-items:stretch;gap:12px;display:grid}.boq-preset-controls{gap:9px;min-width:0;display:grid}.boq-preset-topline{grid-template-columns:minmax(180px,1fr) minmax(120px,.35fr);gap:8px;display:grid}.boq-preset-select,.boq-preset-input-grid label{gap:5px;min-width:0;display:grid}.boq-preset-select span,.boq-preset-input-grid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.boq-preset-input-grid{grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;display:grid}.boq-preset-input-grid.steel-profile-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.boq-formula-strip{color:var(--muted);background:#fafaf9e6;border:1px solid #d2d0cdd1;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:.75rem;font-weight:750;display:flex}.boq-formula-strip strong{color:var(--ink);white-space:nowrap;font-size:.85rem}.boq-preset-controls p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.45}.boq-illustration-card{background:radial-gradient(circle at 35% 25%,#f5f5f2f2,#0000 48%),#ffffffd6;border:1px solid #d2d0cdd1;border-radius:14px;place-items:center;min-height:156px;display:grid}.boq-illustration-card svg{width:min(100%,240px);height:auto}.boq-illustration-card text{fill:var(--muted-strong);font-size:10px;font-weight:800}.boq-illustration-fill{fill:#f5f5f2e6}.boq-illustration-fill.strong{fill:#e1e1dcf5}.boq-illustration-fill.muted{fill:#d2d2ccbd}.boq-illustration-line,.boq-dimension-line,.boq-heavy-line{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}.boq-illustration-line{stroke-width:2px}.boq-dimension-line{stroke-width:1.4px;stroke-dasharray:4 4;opacity:.68}.boq-heavy-line{stroke-width:9px}.boq-opening{fill:#fffffff5;stroke:var(--ink);stroke-width:1.6px}.boq-row-footer{grid-template-columns:minmax(160px,1fr) 34px;align-items:center;gap:6px;display:grid}@media (max-width:980px){.boq-preset-card,.boq-row-footer,.boq-preset-topline{grid-template-columns:1fr}.boq-preset-input-grid,.boq-preset-input-grid.steel-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.work-progress-input{grid-template-columns:minmax(62px,1fr) 50px;align-items:center;gap:4px;min-width:0;display:grid}.work-progress-input input[type=range]{accent-color:var(--primary);padding:0}.work-progress-input input[type=number]{text-align:center}.work-value-cell{min-width:0;min-height:28px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;padding:0 7px;font-size:12.75px;font-weight:400;display:grid;overflow:hidden}.work-value-cell.total-price{font-weight:700}.icon-delete-button{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--danger);cursor:pointer;background:#fff0f0c7;border:1px solid #d6454538;border-radius:9px;place-items:center;padding:0;transition:border-color .16s,background .16s,transform .16s;display:inline-grid}.icon-delete-button:hover{background:#ffe4e4f0;border-color:#d6454566;transform:translateY(-1px)}.icon-delete-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px;height:13px}.work-value-cell.rollup{color:var(--primary);background:#fafaf8e0}.duration-edit-cell{background:#ffffffd1;border:1px solid #d2d0cdd1;border-radius:13px;grid-template-columns:1fr;place-items:center;gap:1px;min-width:104px;min-height:58px;padding:8px 10px;display:grid;box-shadow:inset 0 1px #ffffffbd}.duration-edit-cell input{width:100%;min-height:26px;color:var(--ink);font:inherit;text-align:center;background:0 0;border:0;outline:none;padding:0;font-size:.86rem;font-weight:700}.duration-edit-cell span{color:var(--muted);font-size:.62rem;font-weight:700;line-height:1}.schedule-date-cell{background:#ffffffd1;border:1px solid #d2d0cdd1;border-radius:13px;gap:6px;min-width:220px;min-height:58px;padding:8px 10px;display:grid;box-shadow:inset 0 1px #ffffffbd}.schedule-date-cell strong{color:var(--ink);white-space:nowrap;font-size:.76rem;line-height:1.1}.schedule-auto-summary{color:var(--muted);letter-spacing:.02em;opacity:.78;font-size:.56rem;font-weight:700;line-height:1}.schedule-date-mini{align-content:center;gap:4px;min-width:0;display:grid}.schedule-date-mini input{width:100%;min-width:0;min-height:34px;color:var(--ink);background:#ffffffd6;border:1px solid #d2d0cdd1;border-radius:11px;outline:none;padding:0 8px;font-size:.72rem;font-weight:650}.schedule-date-mini input:focus{border-color:#52524c47;box-shadow:0 0 0 3px #52524c14}.schedule-date-mini input:disabled{color:var(--muted);background:#f5f5f3db;border-color:#0000}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact{border-radius:10px;min-width:0;min-height:44px;max-height:58px;padding:5px 7px}.schedule-dependency-cell{gap:3px;min-width:0;display:grid}.schedule-predecessor-editor{grid-template-columns:minmax(72px,1fr) 40px 38px;align-items:center;gap:3px;width:100%;min-width:0;display:grid}.schedule-dependency-cell select,.schedule-relation-select,.schedule-predecessor-text-input,.schedule-lag-input{width:100%;min-width:0;min-height:30px;color:var(--ink);background-color:#ffffffdb;border:1px solid #d2d0cdd1;border-radius:10px;outline:none;font-size:.68rem;font-weight:750}.schedule-dependency-cell select,.schedule-relation-select{padding:0 7px}.schedule-lag-input{text-align:center;padding:0 6px}.schedule-predecessor-text-input{text-align:left;font-variant-numeric:tabular-nums;padding:0 9px;font-weight:700}.schedule-dependency-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:800;overflow:hidden}.schedule-progress-cell,.schedule-status-cell{min-height:30px;color:var(--ink);background:#ffffffc2;border:1px solid #d2d0cdb8;border-radius:10px;justify-content:center;align-items:center;font-size:.68rem;font-weight:850;display:grid}.schedule-status-cell.status-late{border-color:var(--warning-soft);color:var(--warning);background:#fff7edeb}.schedule-status-cell.status-done{border-color:var(--success-soft);color:var(--success);background:#f0fdf4e6}.schedule-date-cell span{grid-template-columns:1fr;gap:4px;display:grid}.schedule-date-cell input{min-width:0;max-width:100%;min-height:25px;color:var(--ink);background:#ffffffc7;border:1px solid #d2d0cdc2;border-radius:8px;outline:none;padding:0 7px;font-size:.64rem}.schedule-date-cell input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a1a1d14}.schedule-date-cell input:disabled{color:var(--muted);background:#f5f5f3d6;border-color:#0000}.gantt-scroll-window{overscroll-behavior-x:contain;scrollbar-gutter:stable;scrollbar-color:rgba(var(--muted-rgb), .6) #e0dedbd9;scrollbar-width:thin;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.gantt-scroll-window::-webkit-scrollbar{height:8px}.gantt-scroll-window::-webkit-scrollbar-track{background:#e0dedbd9;border-radius:999px}.gantt-scroll-window::-webkit-scrollbar-thumb{background:rgba(var(--muted-rgb), .62);border-radius:999px}.gantt-scroll-window::-webkit-scrollbar-thumb:hover{background:#1a1a1d9e}.gantt-date-header{background:#fafaf9d1;border:1px solid #d2d0cdb8;border-radius:12px;grid-template-rows:28px 42px;width:max-content;min-width:100%;display:grid;overflow:hidden}.gantt-month-row,.gantt-day-row{width:max-content;min-width:100%;display:grid}.gantt-month-row b{min-height:28px;color:var(--primary);letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(#fafaf8f0,#f6f5f3db);border-bottom:1px solid #d2d0cdd1;border-left:1px solid #d2d0cdd1;place-items:center;font-size:.7rem;font-weight:900;display:grid}.gantt-day-row span{min-height:42px;color:var(--muted);border-left:1px solid #d2d0cdb8;align-content:center;place-items:center;display:grid}.gantt-day-row span.weekend{background:#fff7ede6}.gantt-day-row span.non-working{background:#14141709}.gantt-day-row span.holiday{background:var(--danger-soft)}.gantt-day-row span.holiday strong{color:var(--danger)}.gantt-day-row strong{color:var(--ink);font-size:.72rem;line-height:1}.gantt-day-row small{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:.58rem;font-weight:800}.gantt-month-row b:first-child,.gantt-day-row span:first-child{border-left:0}.work-gantt-chart{background-color:#f8fafc;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--gantt-day-width,56px) - 1px), #d2d0cdb8 calc(var(--gantt-day-width,56px) - 1px), #d2d0cdb8 var(--gantt-day-width,56px));border:1px solid #d2d0cdd1;border-radius:12px;align-items:center;width:max-content;min-height:46px;display:grid;position:relative;overflow:hidden}.gantt-grid-line{border-left:1px solid #d2d0cdb8;grid-row:1;height:100%;min-height:46px}.schedule-date-pick-cell{z-index:1;appearance:none;color:inherit;font:inherit;cursor:crosshair;background:0 0;border-top:0;border-bottom:0;border-right:0;padding:0;position:relative}.schedule-date-pick-cell:disabled{cursor:default}.schedule-date-pick-cell.selectable:hover{background:#f573001a}.schedule-date-pick-cell.target-selected{background:#23231f0a}.schedule-date-pick-cell.schedule-preview-cell{background:#f573001a}.schedule-date-pick-cell.schedule-start-cell:after,.schedule-date-pick-cell.schedule-finish-cell:after,.schedule-date-pick-cell.draft-start-cell:after{content:"";background:#f57300;border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:50%;transform:translate(-50%)}.schedule-date-pick-cell.schedule-finish-cell:after{background:#23231f}.gantt-grid-line.non-working{background:#14141708}.gantt-grid-line.holiday{background:var(--danger-soft)}.gantt-grid-line:first-child{border-left:0}.gantt-task-bar{z-index:2;background:#1a1a1d29;border-radius:999px;grid-row:1;height:18px;margin:0 4px;position:relative;overflow:hidden;box-shadow:0 8px 18px #1a1a1d29}.work-schedule-board .gantt-task-bar{pointer-events:none}.work-schedule-board .gantt-task-bar.is-editable{pointer-events:auto;cursor:pointer}.work-schedule-board .gantt-task-bar.is-editable:hover{outline-offset:1px;filter:brightness(1.12);outline:1.5px solid #ffffff8c}.gantt-bar-editor-backdrop{z-index:1200;background:0 0;position:fixed;inset:0}.gantt-bar-editor{z-index:1201;border:1px solid var(--line);background:var(--surface-strong,#15161a);border-radius:12px;align-items:flex-end;gap:10px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 16px 40px #00000080}.gantt-bar-editor-field{color:var(--muted);flex-direction:column;gap:3px;font-size:11px;font-weight:600;display:flex}.gantt-bar-editor-field input{border:1px solid var(--line);background:var(--surface,#1d1f24);color:var(--text,#f5f5f5);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:5px 8px;font-size:13px}.gantt-bar-editor-actions{align-items:center;gap:6px;display:flex}.gantt-bar-editor-save{background:var(--primary,var(--accent));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-weight:700}.gantt-bar-editor-cancel{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;font-size:16px;line-height:1}.gantt-bar-editor-cancel:hover{color:var(--text,#f5f5f5)}.work-schedule-board .gantt-task-bar.is-editable{cursor:grab;touch-action:none}.work-schedule-board .gantt-task-bar.is-editable:active{cursor:grabbing}.gantt-bar-drag-preview{pointer-events:none;opacity:.95;border:1.5px dashed #ffffffd1;z-index:5!important;height:22px!important;box-shadow:none!important;background:#ffffff24!important}.gantt-task-bar.schedule-preview-bar{z-index:3;height:22px;box-shadow:none;background:#f5730033;border:1px dashed #f57300a3}.gantt-today-line,.gantt-dependency-line,.gantt-baseline-bar,.gantt-milestone-marker{pointer-events:none;grid-row:1;position:relative}.gantt-today-line{z-index:5;pointer-events:none;background:#f97316;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 3px #f973161f}.gantt-dependency-line{z-index:2;height:1px;margin:0 calc(var(--gantt-day-width,56px) / 2);border-top:1px solid #52524c47;align-self:center}.gantt-dependency-line:after{content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:5px solid #52524c70;width:0;height:0;position:absolute;top:-3px;right:-2px}.advanced-gantt-link-layer{z-index:6;pointer-events:none;position:absolute;top:0;left:6px;overflow:visible}.advanced-gantt-link-path{fill:none;stroke:#47556961;stroke-linecap:round;stroke-linejoin:round;stroke-width:.82px;pointer-events:stroke;cursor:pointer}.advanced-gantt-link.delayed .advanced-gantt-link-path{stroke:#ea580c8f;stroke-dasharray:none;stroke-width:1px}.advanced-gantt-link-label{fill:#334155c7;paint-order:stroke;stroke:#ffffffeb;stroke-linejoin:round;stroke-width:3px;pointer-events:none;font-size:9px;font-weight:760}.gantt-link-detail-popover{background:#fffffff0;border:1px solid #d2d0cdd1;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;box-shadow:0 10px 24px #14141714}.gantt-link-detail-popover>div{gap:2px;min-width:0;display:grid}.gantt-link-detail-popover strong,.gantt-link-detail-popover span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-link-detail-popover span{color:var(--muted);font-size:.72rem;font-weight:750}.gantt-link-detail-popover button{min-height:28px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d2d0cde6;border-radius:999px;flex:none;padding:0 10px;font-weight:850}.gantt-baseline-bar{z-index:1;background:#52524c52;border-radius:999px;align-self:center;height:8px;margin:28px 8px 0}.gantt-milestone-marker{z-index:4;width:16px;height:16px;margin-left:calc((var(--gantt-day-width,56px) / 2) - 8px);border:2px solid var(--surface);background:#111;align-self:center;transform:rotate(45deg);box-shadow:0 8px 20px #1414172e}.work-schedule-board .gantt-task-bar{background:linear-gradient(90deg, var(--primary), #0ea5e9)}.work-schedule-board .gantt-task-bar.schedule-preview-bar{background:#f5730033}.gantt-task-bar.sub{background:var(--info-soft);height:14px}.work-schedule-board .gantt-task-bar.sub{background:linear-gradient(90deg, var(--accent), #38bdf8)}.gantt-task-bar.critical,.work-schedule-board .gantt-task-bar.critical,.work-schedule-board .gantt-task-bar.sub.critical{background:linear-gradient(90deg,#ef4444,#f97316);box-shadow:0 8px 18px #ef444438}.gantt-task-bar.delayed,.work-schedule-board .gantt-task-bar.delayed,.work-schedule-board .gantt-task-bar.sub.delayed{background:linear-gradient(90deg,#f97316,#facc15);box-shadow:0 8px 18px #f9731633}.gantt-task-bar.critical.delayed,.work-schedule-board .gantt-task-bar.critical.delayed,.work-schedule-board .gantt-task-bar.sub.critical.delayed{background:linear-gradient(90deg,#dc2626,#f97316)}.gantt-task-bar.resource-critical,.work-schedule-board .gantt-task-bar.resource-critical,.work-schedule-board .gantt-task-bar.sub.resource-critical{outline-offset:-3px;background:linear-gradient(90deg,#fb923c,#fbbf24);outline:2px dashed #c2410c;box-shadow:0 8px 18px #ea580c33}.gantt-task-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--primary), #0ea5e9);height:100%;display:block}.work-schedule-board .gantt-task-bar i{background:#ffffffb8;height:4px;position:absolute;bottom:0;left:0}.work-plan-mode-toolbar{align-items:flex-start}.advanced-gantt-controls.planner-toolbar{flex:760px;grid-template-columns:repeat(2,max-content);justify-content:space-between;align-items:center;gap:8px 16px;min-width:0;display:grid}.schedule-toolbar-group{background:#fafaf9e6;border:1px solid #d2d0cdc7;border-radius:14px;align-items:center;gap:6px;min-width:0;padding:4px;display:inline-flex}.schedule-toolbar-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:0 5px;font-size:.62rem;font-weight:900}.schedule-toolbar-select{align-items:center;gap:6px;display:inline-flex}.schedule-toolbar-select .ui-select{cursor:pointer;width:auto;min-width:94px;max-width:none;min-height:32px;padding:0 10px;font-size:.82rem;font-weight:600}.schedule-view-select .ui-select{min-width:112px;font-weight:700}.gantt-scale-toggle.compact-toggle{background:0 0;border:0;gap:3px;padding:0}.gantt-scale-toggle.compact-toggle button{min-height:28px;padding:0 9px;font-size:.72rem}.baseline-controls.schedule-toolbar-group{border-radius:14px;flex-wrap:nowrap}.baseline-toolbar input{width:128px;min-height:30px;padding:0 9px;font-size:.72rem}.baseline-toolbar select{width:156px;min-height:30px;padding:0 8px;font-size:.7rem}.gantt-link-controls{flex-wrap:nowrap}.gantt-link-label-toggle{white-space:nowrap;gap:4px;padding:0 6px;font-size:.66rem}.baseline-toolbar button,.schedule-action-controls button{white-space:nowrap;min-height:30px;padding:0 10px;font-size:.72rem}.schedule-action-controls{justify-content:flex-end}.schedule-action-controls .schedule-preview-action{background:var(--surface);color:var(--ink);border:1px solid #14141724}.schedule-action-controls .schedule-apply-action{background:var(--ink);color:var(--surface)}.schedule-action-controls .schedule-apply-action:disabled{opacity:.45;cursor:not-allowed}.work-schedule-board.advanced-gantt-board{--schedule-header-height:48px;--schedule-group-row-height:46px;--schedule-task-row-height:54px;--schedule-child-row-height:50px;--schedule-table-min-width:660px;--schedule-grid-columns:34px minmax(170px, 1.72fr) 46px 54px 54px minmax(172px, 1.18fr);--schedule-grid-columns-advanced:34px minmax(166px, 1.68fr) 46px 52px 52px minmax(184px, 1.24fr);grid-template-columns:minmax(var(--schedule-table-min-width), 40%) minmax(0, 60%);background:#f8fafc;overflow:hidden}.work-schedule-board.advanced-gantt-board.planner-advanced{--schedule-table-min-width:700px;grid-template-columns:minmax(var(--schedule-table-min-width), 40%) minmax(0, 60%)}.work-schedule-board.advanced-gantt-board .work-schedule-left-pane{scrollbar-width:thin;scrollbar-color:rgba(var(--muted-rgb), .55) #e0dedbcc;background:#fffffff5;overflow:auto hidden}.work-schedule-board.advanced-gantt-board .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{min-width:var(--schedule-table-min-width);width:100%}.work-schedule-board.advanced-gantt-board .work-schedule-left-head{height:var(--schedule-header-height);grid-template-columns:var(--schedule-grid-columns);letter-spacing:.035em;background:#f8fafc;align-items:center;gap:4px;padding:0 6px;font-size:.56rem}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-schedule-board.advanced-gantt-board.planner-advanced .work-schedule-left-head{grid-template-columns:var(--schedule-grid-columns-advanced)}.work-schedule-board.advanced-gantt-board .work-schedule-timeline-head{height:var(--schedule-header-height);background:#f8fafc;padding:0 6px}.work-schedule-board.advanced-gantt-board .schedule-header-scroll{background:#f8fafc;border-radius:0 18px 0 0}.work-schedule-board.advanced-gantt-board .gantt-date-header{background:#f8fafc;border-top:0;border-left:0;border-right:0;border-radius:0;grid-template-rows:20px 28px}.work-schedule-board.advanced-gantt-board .gantt-month-row b{min-height:20px;font-size:.56rem}.work-schedule-board.advanced-gantt-board .gantt-day-row span{min-height:28px}.work-schedule-board.advanced-gantt-board .gantt-day-row strong{font-size:.6rem}.work-schedule-board.advanced-gantt-board .gantt-day-row small{font-size:.48rem}.work-schedule-board.advanced-gantt-board .work-schedule-level-block,.work-schedule-board.advanced-gantt-board .work-schedule-timeline-level{border-top:1px solid #d2d0cdc7;gap:4px;padding:6px}.work-schedule-board.advanced-gantt-board .work-schedule-level-row,.work-schedule-board.advanced-gantt-board .work-schedule-level-timeline-row{height:var(--schedule-group-row-height)}.work-schedule-board.advanced-gantt-board .work-schedule-level-row{background:#fafaf9eb;border:1px solid #d2d0cdc2;border-radius:9px;padding:0 6px}.work-schedule-board.advanced-gantt-board .work-schedule-level-row strong{font-size:.78rem}.work-schedule-board.advanced-gantt-board .work-schedule-level-row span{font-size:.66rem}.work-schedule-board.advanced-gantt-board .work-schedule-level-row .work-level-actions button{min-height:24px;padding:0 8px;font-size:.64rem}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row,.work-schedule-board.advanced-gantt-board .work-schedule-gantt-row{height:var(--schedule-task-row-height)}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child,.work-schedule-board.advanced-gantt-board .work-schedule-gantt-row.child{height:var(--schedule-child-row-height)}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{grid-template-columns:var(--schedule-grid-columns);box-shadow:none;background:#ffffffeb;border-radius:8px;gap:4px;padding:4px 6px}.work-schedule-board.advanced-gantt-board.planner-advanced .work-schedule-fixed-row{grid-template-columns:var(--schedule-grid-columns-advanced)}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child{background:#ffffffd1;margin-left:0}.work-schedule-board.advanced-gantt-board .schedule-name-with-action{gap:2px;min-width:0}.work-schedule-board.advanced-gantt-board .schedule-wbs-cell{font-variant-numeric:tabular-nums;letter-spacing:.02em;border-radius:7px;justify-self:center;width:28px;min-width:28px;min-height:24px;font-size:.56rem}.work-schedule-board.advanced-gantt-board .schedule-wbs-cell.summary{color:#16161a;background:#1414170f;border-color:#14141729}.work-schedule-board.advanced-gantt-board .schedule-name-with-action .schedule-main-name-cell{grid-template-columns:46px minmax(0,1fr);gap:5px;min-width:0}.work-schedule-board.advanced-gantt-board .schedule-row-primary-actions{justify-content:flex-start;align-items:center;gap:3px;width:44px;min-width:44px;display:inline-flex;position:relative;overflow:hidden}.work-schedule-board.advanced-gantt-board .schedule-main-name-cell>.drag-handle{display:none}.work-schedule-board.advanced-gantt-board .breakdown-toggle,.work-schedule-board.advanced-gantt-board .schedule-inline-delete,.work-schedule-board.advanced-gantt-board .duplicate-sub-work-button{border-radius:6px;width:20px;min-width:20px;height:20px;min-height:20px}.work-schedule-board.advanced-gantt-board .schedule-inline-delete{z-index:1;background:#fffffff5;position:static}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row .breakdown-name-cell input{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;min-height:24px;padding:0 6px;font-size:.74rem;overflow:hidden}.work-schedule-board.advanced-gantt-board .schedule-row-actions{min-height:0}.work-schedule-board.advanced-gantt-board .schedule-date-mini{gap:0}.work-schedule-board.advanced-gantt-board .schedule-display-cell{width:100%;min-width:0;min-height:24px;color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;padding:0 5px;font-size:.6rem;font-weight:800;line-height:1;display:inline-grid;overflow:hidden}.work-schedule-board.advanced-gantt-board .schedule-display-cell.duration,.work-schedule-board.advanced-gantt-board .schedule-display-cell.lag{min-width:38px}.work-schedule-board.advanced-gantt-board .schedule-display-cell:hover,.work-schedule-board.advanced-gantt-board .schedule-display-cell:focus-visible{background:#ffffffe6;border-color:#9694915c;outline:none}.work-schedule-board.advanced-gantt-board .schedule-display-cell.readonly{color:var(--muted);cursor:default}.work-schedule-board.advanced-gantt-board .schedule-display-cell.duration,.work-schedule-board.advanced-gantt-board .schedule-display-cell.lag,.work-schedule-board.advanced-gantt-board .schedule-display-cell.relation{cursor:pointer;background:#fafaf9db;border-color:#d2d0cd94}.work-schedule-board.advanced-gantt-board .schedule-display-cell.dependency{text-align:left;justify-content:start}.work-schedule-board.advanced-gantt-board .schedule-row-reset{min-height:18px;padding:0 6px;font-size:.54rem}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact{background:#fafaf9e6;border-radius:999px;justify-content:center;gap:2px;min-width:42px;min-height:24px;max-height:28px;padding:0 4px;display:inline-flex}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact input{appearance:textfield;text-align:center;width:28px;min-height:22px;padding:0;font-size:.66rem}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact input::-webkit-outer-spin-button{appearance:none;margin:0}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact input::-webkit-inner-spin-button{appearance:none;margin:0}.work-schedule-board.advanced-gantt-board .duration-edit-cell.compact span{font-size:.52rem}.work-schedule-board.advanced-gantt-board .schedule-date-mini input,.work-schedule-board.advanced-gantt-board .schedule-dependency-cell input,.work-schedule-board.advanced-gantt-board .schedule-dependency-cell select,.work-schedule-board.advanced-gantt-board .schedule-relation-select,.work-schedule-board.advanced-gantt-board .schedule-lag-input{border-radius:7px;min-height:24px;font-size:.58rem}.work-schedule-board.advanced-gantt-board .schedule-dependency-cell{gap:1px}.work-schedule-board.advanced-gantt-board .schedule-predecessor-editor{grid-template-columns:minmax(94px,1fr) 40px 34px;gap:3px}.work-schedule-board.advanced-gantt-board .schedule-dependency-cell small{display:none}.work-schedule-board.advanced-gantt-board .schedule-progress-cell,.work-schedule-board.advanced-gantt-board .schedule-status-cell{border-radius:999px;min-height:24px;font-size:.56rem}.work-schedule-board.advanced-gantt-board .schedule-progress-cell{isolation:isolate;background:#fafaf9f0;position:relative;overflow:hidden}.work-schedule-board.advanced-gantt-board .schedule-progress-cell i{z-index:0;width:clamp(0px, var(--schedule-progress,0%), calc(100% - 10px));background:linear-gradient(90deg, var(--primary), #0ea5e9);border-radius:999px;height:4px;position:absolute;inset:auto 5px 5px}.work-schedule-board.advanced-gantt-board .schedule-progress-cell em{z-index:1;font-style:normal;position:relative}.work-schedule-board.advanced-gantt-board .work-schedule-gantt-row .work-gantt-chart{background-color:#fff;border-radius:8px;height:100%;min-height:36px}.work-schedule-board.advanced-gantt-board .gantt-grid-line{min-height:100%}.work-schedule-board.advanced-gantt-board .gantt-task-bar{height:12px;box-shadow:none;margin:0 4px}.work-schedule-board.advanced-gantt-board .gantt-task-bar.sub{height:9px}.work-schedule-board.advanced-gantt-board .gantt-baseline-bar{height:4px;margin-top:20px}.work-schedule-board.advanced-gantt-board .work-schedule-add-row{height:30px;padding-left:14px}.work-schedule-board.advanced-gantt-board .work-schedule-add-row.timeline{height:30px;padding:0}@media (max-width:1500px){.advanced-gantt-controls.planner-toolbar{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:start}}@media (max-width:1180px){.advanced-gantt-controls.planner-toolbar{grid-template-columns:1fr}.schedule-toolbar-group,.baseline-controls.schedule-toolbar-group{justify-content:flex-start;width:100%}.work-schedule-board.advanced-gantt-board,.work-schedule-board.advanced-gantt-board.planner-advanced{grid-template-columns:minmax(520px,40%) minmax(500px,60%);overflow-x:auto}}.visually-hidden-field{display:none!important}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.work-plan-head,.daily-log-card{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.work-plan-head h4,.issue-board-card h4{color:var(--ink);margin:0;font-size:1rem;font-weight:650}.work-plan-meta,.daily-log-meta{flex-wrap:wrap;gap:7px;display:flex}.work-plan-meta span,.daily-log-meta span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.74rem;font-weight:600}.daily-log-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:14px;display:grid}.daily-log-list,.daily-log-sections{gap:10px;display:grid}.daily-log-card{display:grid}.daily-log-card.active{border-color:var(--accent);box-shadow:0 14px 34px #1a1a1d14}.daily-log-card-head{align-items:flex-start}.daily-log-card-head p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.daily-log-card strong{color:var(--ink);font-weight:650}.daily-log-detail{gap:14px;display:grid}.daily-log-empty-state,.daily-log-empty-panel{min-height:220px}.daily-log-empty-panel{place-items:center;display:grid}.daily-log-tabs{background:var(--neutral-soft);border-radius:16px;width:fit-content;padding:4px;display:inline-flex}.daily-log-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:12px;padding:0 16px;font-weight:750}.daily-log-tabs button.active{background:var(--panel);color:var(--primary);box-shadow:0 8px 24px #16161914}.daily-log-workspace,.daily-report-workspace,.daily-task-list{gap:12px;display:grid}.daily-log-workspace,.daily-report-workspace{align-content:start}.daily-log-morning-header,.daily-task-quick-add{grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);align-items:end;gap:10px;display:grid}.daily-log-card-head,.daily-task-card-head,.daily-task-actions,.daily-task-drawer-summary{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.daily-log-morning-header label,.daily-task-quick-add label,.daily-task-meta label,.daily-report-grid label,.daily-task-drawer-grid label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:750;display:grid}.daily-log-morning-header input,.daily-task-quick-add input,.daily-task-quick-add select,.daily-report-grid input,.daily-report-grid textarea,.daily-task-drawer-grid input,.daily-task-drawer-grid select,.daily-task-drawer-grid textarea{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:38px;color:var(--text);font:inherit;border-radius:12px;padding:0 11px}.daily-report-grid textarea,.daily-task-drawer-grid textarea{resize:vertical;min-height:76px;padding-top:10px}.daily-task-quick-add{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;padding:10px}.daily-final-report-form{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);align-items:stretch;gap:12px;padding:14px;display:grid}.daily-final-report-fields{grid-template-columns:minmax(0,1fr) minmax(170px,.4fr);align-content:start;gap:12px;display:grid}.daily-final-report-form label{color:var(--muted);gap:6px;font-size:.74rem;font-weight:780;display:grid}.daily-final-report-form input,.daily-final-report-form select,.daily-final-report-form textarea{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:13px;padding:0 12px}.daily-final-report-form textarea{resize:vertical;min-height:96px;padding-top:11px;line-height:1.35}.daily-final-report-note,.daily-photo-preview-grid.wide{grid-column:1/-1}.daily-final-report-side{align-content:stretch;gap:10px;display:grid}.daily-final-report-photo{min-height:136px}.daily-final-report-actions{display:flex}.daily-final-report-actions .ui-button{white-space:normal;width:100%;min-height:44px}.daily-final-report-comments{gap:10px;display:grid}.daily-log-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-task-summary{margin-top:-2px}.daily-task-quick-add-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-task-title-list-field{grid-column:span 2}.daily-task-title-input-row{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.daily-task-field-note{color:var(--muted);font-size:.72rem;font-weight:700}.daily-task-assignment-note{border:1px solid var(--line);background:var(--panel);border-radius:14px;align-self:stretch;gap:3px;min-height:62px;padding:9px 11px;display:grid}.daily-task-assignment-note span,.daily-task-assignment-note small{color:var(--muted);font-size:.72rem;font-weight:750}.daily-task-assignment-note strong{color:var(--ink);font-size:.9rem;font-weight:850}.daily-task-quick-add-actions{justify-content:flex-end;align-items:flex-end;display:flex}.daily-photo-upload-card{border:1px dashed var(--line);background:var(--panel);cursor:pointer;border-radius:16px;align-content:center;min-height:82px;padding:12px;transition:transform .16s,border-color .16s,background .16s}.daily-photo-upload-card:hover{background:var(--panel-soft);border-color:#18181852;transform:translateY(-1px)}.daily-photo-upload-card input,.daily-photo-upload-button input{display:none}.daily-photo-upload-card strong{color:var(--ink);font-size:.9rem;font-weight:750}.daily-photo-upload-card small{color:var(--muted);font-size:.72rem;font-weight:650}.daily-photo-upload-button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:.84rem;font-weight:650;display:inline-flex}.daily-photo-upload-button.disabled{opacity:.55;cursor:not-allowed}.daily-photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;display:grid}.daily-photo-preview-grid.wide{grid-column:1/-1}.daily-photo-preview-grid.compact{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.daily-photo-preview-grid button,.daily-photo-preview-grid span{border:1px solid var(--line);background:var(--panel);color:var(--muted);text-align:left;border-radius:14px;gap:5px;padding:6px;display:grid;overflow:hidden}.daily-photo-preview-grid button{cursor:pointer}.daily-photo-preview-grid img{aspect-ratio:4/3;object-fit:cover;background:var(--neutral-soft);border-radius:10px;width:100%}.daily-photo-preview-grid span span,.daily-photo-preview-grid button span,.daily-photo-preview-grid small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.daily-task-card.compact{border:1px solid var(--line);background:var(--panel);border-radius:18px;gap:10px;padding:14px;display:grid;box-shadow:0 10px 28px #1414170a}.daily-task-card-button{width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}.daily-task-card-button:hover,.daily-task-card-button.active{border-color:#1818183d;transform:translateY(-1px);box-shadow:0 14px 32px #14141714}.daily-task-card.completed{background:linear-gradient(135deg,#ecfdf5fa,#f0fdf4e0);border-color:#22c55e75;box-shadow:0 14px 34px #15803d1a}.daily-task-card.completed .daily-task-mini-stats span{color:var(--success);background:#dcfce7e0}.daily-task-card-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.daily-task-card-actions .ui-button{white-space:nowrap;border-radius:999px;min-height:42px;padding-inline:16px}.daily-task-title-row{align-items:center;gap:8px;display:flex}.daily-task-check-icon{background:#22c55e;border-radius:999px;flex:none;width:18px;height:18px;position:relative}.daily-task-check-icon:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:3px;left:6px;transform:rotate(45deg)}.daily-task-card-copy{gap:4px;display:grid}.daily-task-card-copy strong{color:var(--ink);font-size:.98rem;font-weight:650}.daily-task-card-copy p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.daily-task-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.daily-task-actions{flex-wrap:wrap;align-items:center}.daily-task-mini-stats{flex-wrap:wrap;gap:6px;display:flex}.daily-task-progress-entry{border:1px dashed var(--border);background:var(--neutral-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;padding:8px 10px;display:flex}.daily-task-progress-entry-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.76rem;font-weight:700;overflow:hidden}.daily-task-qty-field{color:var(--muted);align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.daily-task-qty-field input{border:1px solid var(--border);background:var(--surface);width:76px;min-height:32px;color:var(--text);text-align:right;border-radius:8px;padding:4px 8px;font-weight:700}.daily-task-qty-field input:disabled{opacity:.6}.daily-task-qty-field small{white-space:nowrap;font-weight:600}.daily-task-progress-entry-pct{color:var(--primary);margin-left:auto;font-size:.8rem;font-weight:800}.daily-task-progress-prev{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:700}.daily-task-progress-delta{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:800}.daily-task-progress-delta.up{color:var(--success);background:color-mix(in srgb, var(--success) 16%, transparent)}.daily-task-progress-delta.flat{color:var(--muted);background:var(--neutral-soft)}.daily-task-progress-delta.down{color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent)}.daily-task-mini-stats span,.daily-report-summary span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:700}.daily-task-actions .ui-button,.daily-task-drawer-panel .ui-button{min-height:36px}.daily-report-summary{flex-wrap:wrap;gap:8px;display:flex}.daily-report-summary strong{color:var(--primary);margin-right:5px}.daily-log-primary-flow{border:1px solid var(--success-soft);color:var(--success);background:linear-gradient(135deg,#f0fdf4f0,#ffffffd1);border-radius:14px;padding:10px 12px;font-size:.82rem;font-weight:750}.daily-task-inline-editor{background:var(--panel);border:1px solid #18181824;border-radius:18px;gap:14px;padding:14px;display:grid}.daily-task-inline-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.daily-task-inline-head>div{gap:4px;display:grid}.daily-task-inline-head h4{color:var(--ink);margin:0;font-size:1rem;font-weight:850}.daily-task-inline-head span{color:var(--muted);font-size:.8rem;line-height:1.4}.daily-task-inline-close{border:1px solid var(--line);background:var(--panel-soft);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:750}.daily-log-proof-panel{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;gap:12px;padding:14px;display:grid}.daily-log-proof-panel h4{color:var(--ink);margin:0;font-size:1rem}.daily-log-proof-panel p{color:var(--muted);margin:0;line-height:1.45}.daily-log-proof-panel .task-proof-grid{grid-template-columns:1fr}.daily-log-proof-panel .task-proof-card{gap:10px}.daily-log-proof-panel .task-proof-preview-button{background:var(--neutral-soft);border-radius:14px;place-items:center;width:100%;min-height:220px;display:grid;overflow:hidden}.daily-log-proof-panel .task-proof-preview-button img{aspect-ratio:auto;object-fit:contain;width:100%;height:auto;max-height:min(56vh,430px)}.daily-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.daily-report-grid section{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;align-content:start;gap:8px;padding:12px;display:grid}.daily-report-grid section.wide{grid-column:1/-1}.daily-report-grid h4{color:var(--ink);margin:0;font-size:.94rem}.daily-report-grid p{color:var(--muted);margin:0;line-height:1.45}.report-list-block,.daily-task-drawer-grid,.daily-task-drawer-panel{gap:10px;display:grid}.report-list-item{background:#ffffffd1;border:1px solid #d2d0cdeb;border-radius:14px;gap:4px;padding:10px;display:grid}.report-list-item strong,.daily-task-drawer-head h4{color:var(--ink);margin:0;font-size:.92rem;font-weight:650}.report-list-item span,.daily-task-drawer-head span,.daily-task-drawer-panel p{color:var(--muted);font-size:.78rem}.report-list-item p,.daily-task-drawer-panel h5{margin:0}.daily-task-empty{background:linear-gradient(#fffffff0,#f4f8ffe0);border:1px dashed #1a1a1d38;border-radius:18px;gap:8px;padding:18px;display:grid}.daily-task-empty h4{color:var(--ink);margin:0;font-size:1rem;font-weight:650}.daily-task-empty p{color:var(--muted);margin:0;line-height:1.5}.daily-task-drawer-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14141738;animation:.22s ease-out dailyDrawerBackdropIn;position:fixed;inset:0}.daily-task-drawer-backdrop.closing{pointer-events:none;animation:.26s ease-in forwards dailyDrawerBackdropOut}.daily-task-drawer{z-index:91;gap:14px;width:min(460px,100vw - 24px);padding:16px;display:grid;position:fixed;top:18px;bottom:18px;right:18px;overflow:auto}.daily-task-drawer.done{border-color:var(--success-soft);background:linear-gradient(#f0fdf4fa,#fffffff5 240px)}.daily-task-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.daily-task-drawer-head>div{gap:4px;display:grid}.daily-task-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-task-drawer-grid .wide{grid-column:1/-1}.daily-task-drawer-summary{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;flex-wrap:wrap;align-items:center;padding:10px 12px}.daily-task-drawer-summary span{color:var(--muted);font-size:.76rem;font-weight:700}.daily-task-done-panel{border:1px solid var(--success-soft);background:linear-gradient(135deg,#f0fdf4f5,#ffffffe0);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.daily-task-done-panel>div{gap:3px;display:grid}.daily-task-done-panel strong{color:var(--success);font-size:1rem;font-weight:850}.daily-task-done-panel small,.daily-task-done-label{color:var(--muted);font-size:.75rem;font-weight:750}.daily-task-drawer-panel{border:1px solid var(--line);background:var(--panel-soft);border-radius:16px;grid-column:1/-1;padding:12px}.daily-task-upload-panel,.daily-task-final-report-panel{gap:12px}.daily-task-final-report-panel{background:linear-gradient(#fffffff5,#f4f8ffcc);border-color:#18181829}.daily-task-upload-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.daily-task-proof-upload{background:var(--panel);min-height:110px;color:var(--muted);cursor:pointer;text-align:center;border:1px dashed #18181838;border-radius:16px;place-items:center;display:grid}.daily-task-proof-upload input{display:none}.daily-task-proof-upload strong{color:var(--ink);font-size:.92rem}.daily-task-proof-upload span{font-size:.74rem;font-weight:700}.daily-task-proof-upload.disabled{opacity:.6;cursor:not-allowed}.task-proof-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;display:grid}.task-proof-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:7px;padding:8px;display:grid}.task-proof-card img,.task-proof-file{aspect-ratio:4/3;object-fit:contain;background:var(--neutral-soft);border-radius:10px;width:100%}.task-proof-preview-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0}.task-proof-file{color:var(--muted);place-items:center;font-weight:850;display:grid}.task-proof-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;overflow:hidden}.task-proof-card input{border:1px solid var(--line);background:var(--control-bg);min-height:34px;font:inherit;border-radius:10px;padding:0 9px}.task-proof-card button{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--muted);border-radius:999px;font-weight:750}.task-proof-card .task-proof-preview-button{background:0 0;border:0;border-radius:10px;min-height:0;padding:0}.daily-photo-fit-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141417b8;position:fixed;inset:0}.daily-photo-fit-preview{z-index:121;color:#fff;background:#141417eb;border:1px solid #ffffff2e;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:14px;display:grid;position:fixed;inset:18px}.daily-photo-fit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.daily-photo-fit-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.daily-photo-fit-head button{color:#fff;min-height:36px;font:inherit;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;padding:0 14px;font-weight:750}.daily-photo-fit-preview img{object-fit:contain;background:#00000047;border-radius:12px;width:100%;max-width:100%;height:100%;max-height:calc(100vh - 112px)}.daily-photo-fit-preview p{color:#ffffffc7;margin:0;font-size:.86rem}.daily-task-drawer-panel>div:first-child{gap:4px;display:grid}.daily-task-drawer-panel h5{color:var(--ink);font-size:.88rem;font-weight:650}.submit-warning-modal{z-index:91;gap:12px;width:min(520px,100vw - 24px);padding:20px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.daily-delete-rollback{flex-direction:column;gap:6px;max-height:240px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.daily-delete-rollback li{background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 10px;font-size:13px;display:flex}.daily-delete-rollback-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-delete-rollback-pct{color:var(--muted);white-space:nowrap;font-size:11.5px}.daily-delete-rollback-more{color:var(--muted);background:0 0;justify-content:center;font-style:italic}.daily-log-layout{grid-template-columns:1fr}.daily-log-inline-detail{display:none}.daily-log-board{gap:16px;display:grid}.daily-log-date-section{gap:14px;padding:18px;display:grid}.daily-log-date-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.daily-log-date-head h4{color:var(--ink);margin:2px 0 0;font-size:1.16rem;font-weight:750}.daily-log-date-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.daily-log-date-summary span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:750}.daily-log-employee-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.daily-log-card-delete{border:1px solid var(--line);background:var(--surface,#fff);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.daily-log-card-delete:hover{color:var(--st-red,#d2443a);border-color:var(--st-red,#d2443a);background:color-mix(in srgb, var(--st-red,#d2443a) 8%, transparent)}.daily-log-employee-card{border:1px solid var(--line);min-height:154px;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(#fffffff5,#fafaf8eb);border-radius:20px;gap:12px;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;box-shadow:0 12px 30px #1414170b}.daily-log-employee-card:hover,.daily-log-employee-card:focus-visible{border-color:var(--accent);background:linear-gradient(#fff,#fafaf8f0);outline:none;transform:translateY(-2px);box-shadow:0 18px 42px #1a1a1d1a}.daily-log-employee-card.active{border-color:var(--accent);box-shadow:0 18px 44px #1a1a1d1f}.daily-log-employee-card.tone-complete{background:linear-gradient(135deg,#f0fdf4fa,#dcfce7c7);border-color:#22c55e80;box-shadow:0 16px 34px #22c55e1a}.daily-log-employee-card.tone-pending{background:linear-gradient(135deg,#fffbebfa,#fef3c7b8);border-color:#f59e0b73;box-shadow:0 16px 34px #f59e0b17}.daily-log-employee-card.tone-overdue{background:linear-gradient(135deg,#fef2f2fa,#fee2e2c2);border-color:#ef44447a;box-shadow:0 16px 34px #ef44441a}.daily-log-employee-card.tone-complete:hover,.daily-log-employee-card.tone-complete:focus-visible,.daily-log-employee-card.tone-complete.active{border-color:#16a34ab3;box-shadow:0 20px 44px #22c55e29}.daily-log-employee-card.tone-pending:hover,.daily-log-employee-card.tone-pending:focus-visible,.daily-log-employee-card.tone-pending.active{border-color:#d97706ad;box-shadow:0 20px 44px #f59e0b26}.daily-log-employee-card.tone-overdue:hover,.daily-log-employee-card.tone-overdue:focus-visible,.daily-log-employee-card.tone-overdue.active{border-color:#dc2626b3;box-shadow:0 20px 44px #ef444429}.daily-log-employee-card.tone-complete,.daily-log-employee-card.tone-pending,.daily-log-employee-card.tone-overdue{border-color:var(--line);box-shadow:none}.daily-log-employee-card.tone-complete:hover,.daily-log-employee-card.tone-complete:focus-visible,.daily-log-employee-card.tone-pending:hover,.daily-log-employee-card.tone-pending:focus-visible,.daily-log-employee-card.tone-overdue:hover,.daily-log-employee-card.tone-overdue:focus-visible{border-color:var(--accent);box-shadow:0 18px 42px #1a1a1d1a}.daily-log-employee-card.active,.daily-log-employee-card.tone-complete.active,.daily-log-employee-card.tone-pending.active,.daily-log-employee-card.tone-overdue.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), 0 18px 44px #1a1a1d24}.app-shell[data-theme] .daily-log-employee-card .progress-track{background:var(--line)}.daily-log-employee-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.daily-log-employee-top strong{color:var(--ink);font-size:1.06rem;font-weight:760;line-height:1.2;display:block}.daily-log-employee-top p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.daily-log-card-progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.daily-log-card-progress small{color:var(--muted);font-size:.74rem;font-weight:800}.daily-log-employee-card .progress-track span.tone-complete{background:linear-gradient(90deg,#16a34a,#86efac)}.daily-log-employee-card .progress-track span.tone-pending{background:linear-gradient(90deg,#d97706,#facc15)}.daily-log-employee-card .progress-track span.tone-overdue{background:linear-gradient(90deg,#dc2626,#fb7185)}.daily-log-drawer{z-index:91;align-content:start;gap:11px;width:min(680px,100vw - 24px);padding:16px;animation:.22s ease-out dailyLogDrawerIn;display:grid;position:fixed;top:18px;bottom:18px;right:18px;overflow:auto}.daily-log-drawer.closing{pointer-events:none;animation:.26s ease-in forwards dailyLogDrawerOut}.daily-log-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:10px;display:flex}.daily-log-drawer-head h4{color:var(--ink);margin:0;font-size:1.32rem;font-weight:800}.daily-log-drawer-head span{color:var(--muted);font-size:.86rem}.daily-log-drawer-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.daily-log-drawer-body,.daily-log-drawer-section{gap:9px;display:grid}.daily-log-drawer-add{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-log-drawer-add .daily-task-title-list-field,.daily-log-drawer-add .daily-task-quick-add-actions{grid-column:1/-1}.compact-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-log-drawer-actions{background:linear-gradient(180deg, #fff0, var(--panel) 35%);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;display:flex;position:sticky;bottom:-18px}@keyframes dailyLogDrawerIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes dailyLogDrawerOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(28px)}}@keyframes dailyDrawerBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes dailyDrawerBackdropOut{0%{opacity:1}to{opacity:0}}.daily-log-section-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;display:grid}.daily-log-section-card>span{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:999px;place-items:center;font-weight:700;display:grid}.daily-log-section-card strong{color:var(--ink);font-weight:650}.daily-log-section-card p{color:var(--muted);margin:3px 0 0;font-size:.82rem}.issue-kanban-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;display:grid;overflow-x:auto}.issue-kanban-column{border:1px solid #0000;border-radius:18px;min-height:460px;padding:10px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.issue-kanban-column.drag-over{border-color:var(--success-soft);background:linear-gradient(#22c55e1a,#ffffffc7);box-shadow:inset 0 0 0 1px #22c55e1f,0 16px 36px #0f766e14}.issue-board-card{border:1px solid var(--line);cursor:grab;will-change:transform;background:#fff;border-radius:14px;padding:10px;transition:transform .22s,opacity .18s,box-shadow .22s,border-color .18s,background .18s;box-shadow:0 8px 20px #1616190b}.issue-board-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 32px #1616191a}.issue-board-card.dragging{opacity:.42;cursor:grabbing;transform:scale(.985)}.issue-board-card.moving{animation:.32s cubic-bezier(.2,.8,.2,1) issue-card-settle}.work-item-card .drag-handle,.issue-board-card .drag-handle{color:var(--muted);border:1px dashed var(--line);pointer-events:none;background:#fafaf9db;border-radius:999px;align-items:center;min-height:34px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}@keyframes issue-card-settle{0%{opacity:.72;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;padding:14px 12px}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover,.data-table tbody tr.selected{background:var(--primary-soft)}.materials-page .section-head h3{font-size:1.18rem;font-weight:650}.material-request-layout{grid-template-columns:1fr;align-items:start}.material-request-toolbar .shell-button{border-radius:13px;min-height:40px}.material-request-table-card{padding:18px;overflow:visible}.material-request-filters{grid-template-columns:minmax(220px,1.2fr) minmax(145px,.52fr) minmax(150px,.56fr) minmax(170px,.72fr) auto;align-items:end;gap:10px;padding:0 0 14px;display:grid}.material-request-filters label{gap:6px;display:grid}.material-request-filters label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.material-request-filters input,.material-request-filters .ui-select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:38px;color:var(--text);border-radius:10px;padding:0 12px}.material-request-count-card{min-height:38px;color:var(--text);background:#f6f5f3f2;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 13px;font-size:.78rem;display:inline-flex}.material-request-count-card strong{font-size:.94rem}.material-request-count-card span{color:var(--muted);font-weight:700}.material-request-filters-head{justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:none}.material-request-filters-toggle{border:1px solid var(--line);background:var(--control-bg);min-height:38px;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.material-request-filters-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.material-request-filters-toggle .chevron{transition:transform .16s}.material-request-filters-shell.is-open .material-request-filters-toggle .chevron{transform:rotate(180deg)}.material-request-filters-count{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent);border-radius:999px;place-items:center;padding:0 6px;font-size:.74rem;font-weight:800;display:inline-grid}@media (max-width:768px){.material-request-filters-head{display:flex}.material-request-filters-shell:not(.is-open) .material-request-filters{display:none}}.material-request-busy{width:fit-content;color:var(--text);background:#fafaf8eb;border:1px solid #1a1a1d2e;border-radius:999px;align-items:center;gap:8px;margin:-2px 0 14px;padding:9px 12px;display:inline-flex;box-shadow:0 12px 30px #1a1a1d14}.material-request-busy strong{font-size:.82rem}.material-request-busy small{color:var(--muted);font-size:.76rem;font-weight:700}.material-request-busy-dot{background:var(--primary);border-radius:999px;width:9px;height:9px;animation:1s ease-in-out infinite materialBusyPulse;box-shadow:0 0 0 6px #1a1a1d1f}.project-create-busy{margin-top:-8px}.project-delete-busy{border-color:var(--danger-soft);color:var(--danger);background:#fef2f2eb;margin-top:-8px;box-shadow:0 12px 30px #ef444414}.project-delete-busy small{color:#9f1239}.project-delete-busy .material-request-busy-dot{background:var(--danger);box-shadow:0 0 0 6px #ef44441f}.drawing-file-delete-busy{z-index:58;width:min(460px,100vw - 32px);margin:0;animation:.18s ease-out both drawingFileBusyIn;position:fixed;top:88px;left:50%;transform:translate(-50%)}@keyframes drawingFileBusyIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.issue-create-busy{white-space:normal;margin:4px 0 12px}.project-inline-error{border:1px solid var(--danger-soft);color:#b42318;background:#fef2f2eb;border-radius:16px;width:fit-content;max-width:100%;margin-top:-8px;padding:10px 13px;font-size:.82rem;font-weight:750}@keyframes materialBusyPulse{0%,to{opacity:.62;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.material-request-table{border-collapse:separate;border-spacing:0;min-width:1080px}.material-request-table th{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem}.material-request-table td{vertical-align:middle;padding-top:14px;padding-bottom:14px}.material-request-table tbody tr{cursor:pointer}.material-request-table tbody tr.selected td{background:#1a1a1d14}.material-request-table tbody tr.locked{color:#161619b3}.row-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-action-button{border:1px solid var(--line);min-height:30px;color:var(--text);background:#ffffffdb;border-radius:999px;padding:0 9px;font-size:.72rem;font-weight:700}.row-action-button:hover{border-color:rgba(var(--primary-rgb), .32);color:var(--primary)}.row-action-button.disabled,.row-action-button[aria-disabled=true]{opacity:.44}.material-stock-cell{gap:2px;min-width:92px;display:grid}.material-stock-cell strong{color:var(--text);font-size:.84rem}.material-stock-cell span,.material-stock-empty{color:var(--muted);font-size:.72rem;font-weight:700}.material-empty-state{text-align:center;place-items:center;gap:7px;min-height:190px;display:grid}.material-empty-state p{color:var(--muted);margin:0}.material-request-board{gap:14px;display:grid}.material-date-group{background:radial-gradient(circle at 90% 5%,#1a1a1d12,#0000 26%),#fafaf8b8;border:1px solid #d8d6d3e0;border-radius:18px;gap:10px;padding:12px;display:grid}.material-date-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.material-date-group-head h4{margin:0;font-size:.98rem}.material-date-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.material-request-card{border:1px solid var(--line);min-height:112px;color:var(--text);cursor:pointer;text-align:left;background:#fffffff0;border-radius:16px;gap:8px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;box-shadow:0 12px 28px #1414170b}.material-request-card.priority-high{border-color:var(--warning-soft);background:linear-gradient(135deg,#fffbebfa,#fffffff0 62%),#fffffff0;box-shadow:0 14px 30px #b4530914}.material-request-card.priority-critical{border-color:var(--danger-soft);background:linear-gradient(135deg,#fef2f2fa,#fffffff2 58%),#fffffff0;box-shadow:0 16px 32px #b91c1c1a}.material-request-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.material-request-card:hover,.material-request-card.selected{border-color:var(--accent);background:#fafaf8eb;transform:translateY(-2px);box-shadow:0 18px 34px #1a1a1d1f}.material-request-card.priority-high:hover,.material-request-card.priority-high.selected{background:linear-gradient(135deg,#fff7edfa,#fffffff0 62%),#fffffff0;border-color:#f59e0b6b;box-shadow:0 18px 34px #b4530921}.material-request-card.priority-critical:hover,.material-request-card.priority-critical.selected{background:linear-gradient(135deg,#fee2e2fa,#fffffff2 60%),#fffffff0;border-color:#dc26267a;box-shadow:0 20px 38px #b91c1c26}.material-request-card strong{min-width:0;min-height:0;color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;font-size:.95rem;font-weight:750;line-height:1.15;display:-webkit-box;overflow:hidden}.material-request-quantity{color:var(--primary);font-size:1.18rem;font-weight:800}.material-request-card-badges,.material-detail-badges{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.material-request-card-badges{max-width:150px}.material-priority-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;width:fit-content;max-width:100%;padding:6px 9px;font-size:.68rem;font-weight:850;line-height:1;display:inline-flex}.material-priority-badge.priority-normal{color:#64748b;background:#f5f5f3f2;border-color:#7a767024}.material-priority-badge.priority-high{border-color:var(--warning-soft);color:var(--warning);background:linear-gradient(135deg,#fef3c7f5,#fff7edf2)}.material-priority-badge.priority-critical{border-color:var(--danger-soft);color:var(--danger);background:linear-gradient(135deg,#fee2e2f5,#fef2f2f2)}.material-priority-badge.priority-critical span{background:var(--danger-soft);border-radius:999px;place-items:center;width:15px;height:15px;font-size:.64rem;line-height:1;display:inline-grid}.material-request-status{letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;padding:6px 9px;font-size:.68rem;font-weight:850;line-height:1}.material-request-status.status-pending{color:var(--warning);background:#fff7edf2}.material-request-status.status-approved{color:var(--success);background:#dcfce7f2}.material-request-status.status-rejected{color:var(--danger);background:#fee2e2f2}.material-request-status.status-delivered{color:var(--accent);background:#f0eeebf2}.material-request-status.status-need-purchase{color:var(--warning);background:#ffedd5f2}.material-request-status.status-draft{color:#64748b;background:#f5f5f3f2}.material-overdue-badge{border:1px solid var(--danger-soft);width:fit-content;max-width:100%;color:var(--danger);white-space:nowrap;background:linear-gradient(135deg,#fee2e2f5,#fff1f2f2);border-radius:999px;align-items:center;padding:6px 9px;font-size:.68rem;font-weight:850;line-height:1;display:inline-flex}.material-request-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;overflow:hidden}.material-request-card .material-request-requested-by{color:var(--muted-strong);margin-top:-4px;font-size:.7rem;font-weight:700}.material-detail-panel{gap:12px;padding:18px;display:grid;position:sticky;top:90px}.material-detail-flyout{width:min(520px,100vw - 36px)}.material-panel-note{border:1px solid var(--success-soft);background:var(--success-soft);color:var(--success);border-radius:14px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:650}.material-priority-helper{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2eb;border-radius:14px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:700}.material-reject-prompt{border:1px solid var(--line);background:var(--surface-1,#fff9);border-radius:12px;gap:10px;margin-bottom:10px;padding:12px 14px;display:grid}.material-reject-prompt label{gap:6px;display:grid}.material-reject-prompt label span{color:var(--muted);font-size:.78rem;font-weight:600}.material-reject-prompt textarea{resize:vertical;width:100%}.material-reject-prompt-actions{justify-content:flex-end;gap:8px;display:flex}.material-reject-reason{border-left:3px solid var(--warning);background:var(--surface-2,#00000008);border-radius:8px;margin-bottom:10px;padding:10px 14px}.material-reject-reason strong{color:var(--warning);font-size:.78rem;display:block}.material-reject-reason p{color:var(--ink);margin:4px 0 0;font-size:.86rem}.material-detail-decision-bar{background:#fafaf9db;border:1px solid #96949138;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.material-detail-decision-bar>div{align-items:center;gap:8px;display:flex}.material-detail-decision-bar>div:first-child{align-items:center;gap:2px;display:grid}.material-detail-decision-bar span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.material-detail-decision-bar strong{color:var(--text);font-size:.92rem}.material-detail-decision-bar .shell-button{border-radius:12px;min-height:38px;padding-inline:14px}.material-detail-panel .form-actions{justify-content:flex-end;margin-top:4px}.material-panel-actions.icon-only{flex-wrap:nowrap;gap:8px;display:flex}.material-action-icon-button{border:1px solid var(--line);background:var(--control-bg);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:14px;flex:0 0 44px;place-items:center;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-grid}.material-action-icon-button:hover:not(:disabled){background:var(--surface);border-color:#1113;transform:translateY(-1px)}.material-action-icon-button:disabled{cursor:not-allowed;opacity:.42}.material-action-icon-button.danger{color:var(--danger)}.material-action-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:19px;height:19px}.material-picker-field{gap:10px;display:grid}.material-picker-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;display:grid}.material-picker-row label{gap:6px;display:grid}.material-stock-check{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.material-stock-check>div{border:1px solid var(--line);background:#fafaf8e6;border-radius:12px;align-content:center;gap:3px;min-height:58px;padding:10px 12px;display:grid}.material-stock-check span{color:var(--muted);font-size:.72rem;font-weight:750}.material-stock-check strong{color:var(--text);font-size:.88rem}.material-stock-check.tone-success>div:first-child{border-color:var(--success-soft);background:var(--success-soft)}.material-stock-check.tone-warning>div:first-child{border-color:var(--warning-soft);background:#fff7edf2}.material-modal-backdrop{z-index:160;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141757;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.material-delete-modal{text-align:center;max-width:520px}.material-custom-unit-modal{text-align:left;gap:14px;width:min(420px,100%);max-width:420px;display:grid}.material-custom-unit-modal h3{margin-bottom:0}.material-custom-unit-modal label{gap:7px;display:grid}.material-custom-unit-modal label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.material-custom-unit-modal input{border:1px solid var(--line);background:var(--control-bg);width:100%;min-height:44px;color:var(--text);border-radius:13px;padding:0 13px}.material-custom-unit-modal .form-actions{justify-content:flex-end;margin-top:0}.material-custom-unit-error{color:var(--danger);margin:-4px 0 0;font-size:.82rem;font-weight:700}.inventory-page .section-head h3{font-size:1.2rem;font-weight:650}.inventory-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.inventory-summary-card{min-height:96px}.inventory-controls,.movement-filters{align-items:end;gap:10px;display:grid}.inventory-controls{grid-template-columns:minmax(220px,1.45fr) repeat(3,minmax(150px,.78fr)) auto;padding:14px}.movement-filters{grid-template-columns:repeat(3,minmax(150px,1fr));margin-bottom:12px}.inventory-controls label,.movement-filters label{gap:6px;display:grid}.inventory-controls span,.movement-filters span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.inventory-controls input,.inventory-controls .ui-select,.movement-filters .ui-select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:40px;color:var(--text);border-radius:13px;padding:0 12px}.segmented-control.compact{align-self:end;min-height:40px}.segmented-control.compact button{min-width:72px}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.inventory-status-bar,.asset-status-bar{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.inventory-status-bar button,.asset-status-bar button{min-height:42px;color:var(--muted);white-space:nowrap;background:#ffffffe0;border:1px solid #cedbf4f2;border-radius:999px;align-items:center;gap:10px;padding:0 15px;font-weight:700;transition:transform .16s,border-color .16s,box-shadow .16s,color .16s,background .16s;display:inline-flex}.inventory-status-bar button strong,.asset-status-bar button strong{min-width:24px;height:24px;color:var(--text);background:#e0dedbad;border-radius:999px;place-items:center;padding:0 6px;font-size:.76rem;display:inline-grid}.inventory-status-bar button:hover,.inventory-status-bar button.active,.asset-status-bar button:hover,.asset-status-bar button.active{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 30px #213c7614}.inventory-status-bar button.active,.asset-status-bar button.active{color:var(--primary);background:#1a1a1d14}.inventory-status-bar button.active strong,.asset-status-bar button.active strong{color:var(--primary);background:#1a1a1d1f}.inventory-board-layout,.asset-board-layout{display:block;position:relative}.inventory-grouped-stack,.asset-grouped-stack{gap:14px;display:grid}.inventory-status-section,.asset-status-section{gap:14px;padding:16px;display:grid}.inventory-status-section.healthy{border-color:var(--success-soft)}.inventory-status-section.low{border-color:var(--warning-soft)}.inventory-status-section.critical{border-color:var(--warning-soft);background:linear-gradient(#fff7edb8,#fffffff5)}.inventory-status-section.out{border-color:var(--danger-soft);background:linear-gradient(#fef2f2bd,#fffffff5)}.inventory-status-section-head,.inventory-status-section-tools,.asset-status-section-head,.asset-status-section-tools{justify-content:space-between;align-items:center;gap:10px;display:flex}.inventory-status-section-head h4,.asset-status-section-head h4{margin:0;font-size:1rem}.inventory-collapse-button,.asset-collapse-button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fffc;border-radius:999px;padding:0 12px;font-weight:700}.inventory-collapse-button:hover,.asset-collapse-button:hover{border-color:var(--accent);color:var(--primary)}.inventory-section-grid,.asset-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.inventory-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-card.improved{cursor:pointer;gap:10px;padding:18px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.inventory-card.improved:focus-visible{outline-offset:2px;outline:2px solid #1111112e}.inventory-card.improved.grouped{background:#ffffffeb;border-radius:16px;padding:12px;box-shadow:0 10px 22px #1111110b}.inventory-card.improved.grouped.selected{border-color:#1113;box-shadow:0 16px 30px #11111114}.inventory-card.improved:hover{box-shadow:var(--shadow-soft);border-color:#1111112e;transform:translateY(-2px)}.inventory-card.improved h4,.inventory-detail-panel h4{margin:0;font-size:.95rem;font-weight:700}.inventory-card.improved p,.inventory-detail-panel p{color:var(--muted);margin:3px 0 0}.inventory-card.improved .eyebrow{margin-bottom:2px}.inventory-stock-main{justify-content:space-between;align-items:end;gap:12px;display:flex}.inventory-stock-main.compact{align-items:center}.inventory-stock-main strong{color:var(--text);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1}.inventory-stock-main strong span{color:var(--muted);font-size:.76rem;font-weight:700}.inventory-stock-side{justify-items:end;gap:3px;display:grid}.inventory-stock-main small{color:var(--muted);font-size:.76rem;font-weight:650}.inventory-health{height:8px;overflow:hidden}.inventory-health .tone-success{background:linear-gradient(90deg,#10b981,#34d399)}.inventory-health .tone-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.inventory-health .tone-danger{background:linear-gradient(90deg,#ef4444,#fb7185)}.inventory-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.inventory-meta-grid span{color:var(--muted);gap:2px;font-size:.76rem;display:grid}.inventory-meta-grid strong{color:var(--text);font-size:.84rem}.inventory-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.inventory-actions .shell-button{border-radius:11px;min-height:32px;padding:0 10px;font-size:.77rem}.inventory-header-actions{align-items:center;gap:8px;display:flex}.resource-header-actions-slot{display:contents}.resource-gear-header{align-items:center;gap:8px;display:flex}.selection-checkbox{border:1px solid var(--line);cursor:pointer;background:#ffffffe6;border-radius:9px;flex:none;place-items:center;width:26px;height:26px;transition:border-color .14s,background .14s,box-shadow .14s;display:inline-grid}.selection-checkbox:hover{border-color:var(--accent);box-shadow:0 6px 14px #14141714}.selection-checkbox input{opacity:0;pointer-events:none;position:absolute}.selection-checkbox span{background:#fffffff2;border:1.5px solid #7a76709e;border-radius:5px;width:14px;height:14px}.selection-checkbox input:checked+span,.selection-checkbox input:indeterminate+span{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #fff}.card-selection-check{z-index:2;position:absolute;top:10px;left:10px}.selection-enabled{position:relative;padding-left:46px!important}.bulk-selected{border-color:var(--accent)!important;background:linear-gradient(#fafaf8f5,#fffffff0)!important}.data-table tr.bulk-selected td{background:#fafaf8b8}.selection-column{text-align:center;width:54px;min-width:54px}.bulk-action-bar{z-index:12;background:#fffffff0;border:1px solid #1a1a1d33;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:50px;margin:10px 0;padding:8px 10px 8px 14px;display:flex;position:sticky;top:92px;box-shadow:0 12px 28px #14141714}.bulk-action-bar strong{color:var(--text);font-size:.92rem}.bulk-action-bar>span{color:var(--muted);font-size:.82rem;font-weight:650}.bulk-action-bar>div{align-items:center;gap:8px;display:flex}.bulk-action-bar .shell-button{border-radius:11px;min-height:34px;padding:0 12px;font-size:.82rem}.bulk-group-title{align-items:center;gap:10px;min-width:0;display:flex}.bulk-group-title>div{min-width:0}.bulk-group-action{border:1px solid var(--line);background:var(--control-bg);min-height:30px;color:var(--muted);border-radius:999px;padding:0 10px;font-size:.76rem;font-weight:760}.bulk-group-action.danger{color:var(--danger);border-color:var(--danger-soft);background:#fef2f2c2}.bulk-group-row td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafaf9e6}.bulk-group-row-content{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.bulk-group-row-content strong{color:var(--text);font-size:.86rem}.bulk-group-row-content span{color:var(--muted);font-size:.78rem;font-weight:650}.bulk-confirm-modal{gap:16px;width:min(460px,100vw - 32px);padding:20px;display:grid}.bulk-confirm-modal h3{color:var(--text);margin:4px 0 6px;font-size:1.05rem}.bulk-confirm-modal p{color:var(--muted);margin:0;line-height:1.45}.bulk-confirm-warning{font-weight:700;color:var(--warning)!important;margin-top:10px!important}.compact-table-card,.manpower-table-card,.inventory-table-card,.movement-table-card{overflow:auto}.inventory-table,.inventory-movement-table{min-width:980px}.inventory-detail-panel{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.inventory-detail-panel.improved{grid-template-columns:1fr;align-items:start;gap:16px;padding:18px}.inventory-detail-head{justify-content:space-between;align-items:start;gap:14px;display:flex}.inventory-detail-head h4{margin:0;font-size:1rem;font-weight:700}.inventory-detail-head p{color:var(--muted);margin:4px 0 0}.inventory-meta-grid.detail,.inventory-actions.detail{grid-template-columns:1fr}.inventory-detail-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.inventory-inline-action-panel{gap:12px;display:grid}.inventory-inline-action-card{border:1px solid var(--line);background:#fafaf9eb;border-radius:16px;gap:12px;padding:14px;display:grid}.inventory-inline-action-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inventory-inline-action-head h5{color:var(--ink);margin:0;font-size:.92rem;font-weight:700}.inventory-inline-action-head p{margin:4px 0 0}.inventory-inline-action-grid{gap:10px;display:grid}.inventory-quantity-only-card{gap:8px;display:grid}.inventory-quantity-only-field{gap:6px;display:grid}.inventory-quantity-only-field>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.inventory-quantity-input-shell{border:1px solid var(--line);background:#ffffffeb;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:6px 10px;display:grid}.inventory-quantity-input-shell input{width:100%;min-height:32px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:1.05rem;font-weight:700}.inventory-quantity-input-shell strong{background:var(--chip);min-width:44px;color:var(--muted);text-align:center;border-radius:999px;padding:7px 10px;font-size:.78rem}.inventory-inline-action-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.inventory-inline-action-note.compact{font-size:.78rem;line-height:1.35}.inventory-manager-modal{gap:16px;width:min(860px,100%);max-height:min(84vh,760px);padding:20px;display:grid;overflow:auto}.inventory-manager-list{gap:8px;display:grid}.inventory-manager-row{border:1px solid var(--line);background:#ffffffd1;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s;display:grid}.inventory-manager-row.dragging{opacity:.55}.inventory-manager-row.drop-target{border-color:var(--accent);box-shadow:inset 0 0 0 1px #1a1a1d2e}.inventory-drag-handle{border:1px solid var(--line);width:28px;min-width:28px;height:28px;color:var(--muted);cursor:grab;opacity:0;background:#f5f5f3eb;border-radius:9px;place-items:center;transition:opacity .14s,transform .14s,border-color .14s,background .14s;display:inline-grid;transform:scale(.92)}.inventory-manager-row:hover .inventory-drag-handle,.inventory-manager-row:focus-within .inventory-drag-handle,.inventory-drag-handle:hover,.inventory-drag-handle:active{opacity:1;transform:scale(1)}.inventory-drag-handle:active{cursor:grabbing}.inventory-manager-copy{gap:2px;min-width:0;display:grid}.inventory-manager-copy strong{color:var(--text);font-size:.92rem}.inventory-manager-copy p{color:var(--muted);margin:0;font-size:.82rem}.detail-flyout-backdrop{z-index:88;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#14141714;border:0;transition:opacity .24s;position:fixed;inset:0}.detail-flyout-backdrop.open{opacity:1}.detail-flyout-backdrop.closing{opacity:0}.detail-flyout{z-index:89;opacity:0;width:min(420px,100vw - 36px);transition:transform .24s,opacity .24s,box-shadow .24s;position:fixed;top:96px;bottom:18px;right:18px;overflow:auto;transform:translate(calc(100% + 28px));box-shadow:0 28px 60px #1414172e}.detail-flyout.open{opacity:1;transform:translate(0)}.detail-flyout.closing{opacity:0;pointer-events:none;transform:translate(calc(100% + 28px))}.inventory-detail-panel.detail-flyout,.inventory-detail-panel.detail-flyout.open,.inventory-detail-panel.detail-flyout.closing{width:min(480px,100vw - 64px);max-height:min(88vh,780px);inset:50% auto auto 50%;overflow:auto}.inventory-detail-panel.detail-flyout{opacity:0;transform:translate(-50%,-50%)scale(.98)}.inventory-detail-panel.detail-flyout.open{opacity:1;transform:translate(-50%,-50%)scale(1)}.inventory-detail-panel.detail-flyout.closing{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.98)}.detail-flyout-close-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-flyout-close{border:1px solid var(--line);background:var(--control-bg);min-height:36px;color:var(--text);border-radius:12px;padding:0 14px;font-size:.82rem;font-weight:650}.detail-flyout-close:hover{border-color:var(--accent);box-shadow:0 10px 24px #213c7614}.inventory-action-modal{width:min(760px,100%);max-height:min(82vh,720px);padding:20px;overflow:auto}.inventory-action-modal .form-actions{justify-content:flex-end}.resources-page{gap:18px}.resources-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;display:grid}.resources-hero h3{color:var(--text);margin:0;font-size:1.45rem;font-weight:760}.resources-hero p{max-width:680px;color:var(--muted);margin:6px 0 0;line-height:1.55}.resources-quick-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.resources-quick-actions button{border:1px solid var(--line);min-height:38px;color:var(--text);background:#ffffffe6;border-radius:999px;padding:0 13px;font-size:.82rem;font-weight:700}.resources-quick-actions button:hover{border-color:var(--accent);box-shadow:0 12px 24px #213c7614}.resources-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.resources-tabs{position:static}.resources-page:has(.material-modal-backdrop) .resources-tabs{display:none}.resources-page:has(.supplier-modal) .resources-tabs{display:none}.resources-page:has(.supplier-delete-modal) .resources-tabs{display:none}.resources-page:has(.asset-action-modal) .resources-tabs{display:none}.resources-tabs:has(+.resources-tab-panel .material-modal-backdrop){display:none}.resources-tab-panel>.page-stack{gap:14px}.resources-tab-panel .inventory-page>.section-head,.resources-tab-panel .assets-page>.section-head,.resources-tab-panel .stock-movements-page>.section-head,.resources-tab-panel .suppliers-page>.section-head,.resources-tab-panel .manpower-page>.section-head{margin-top:0}.resource-placeholder-card{gap:6px;padding:22px;display:grid}.resource-placeholder-card h3{color:var(--text);margin:0;font-size:1.1rem}.resource-placeholder-card p{color:var(--muted);margin:0}.supplier-insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.supplier-filter-bar{gap:12px;padding:14px;display:grid}.supplier-filter-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.supplier-filter-head-left{align-items:center;gap:10px;display:flex}.supplier-filter-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:.82rem;font-weight:700}.supplier-filter-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:2px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.supplier-filter-hint{color:var(--muted);font-size:.76rem}.supplier-filter-reset{border:1px solid var(--line);background:var(--control-bg);color:var(--text);cursor:pointer;border-radius:10px;padding:7px 14px;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s,opacity .12s}.supplier-filter-reset:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.supplier-filter-reset:disabled{opacity:.45;cursor:not-allowed}.supplier-controls{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));align-items:end;gap:10px;padding:12px;display:grid}.supplier-filter-bar .supplier-controls{padding:0}.supplier-controls-search{grid-column:span 2}.supplier-controls label{gap:6px;display:grid}.supplier-controls label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.supplier-controls label.is-active>span{color:var(--accent)}.supplier-controls label.is-active>input,.supplier-controls label.is-active>.ui-select{border-color:var(--accent)}.supplier-controls input,.supplier-controls .ui-select,.movement-filters input{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:40px;color:var(--text);border-radius:12px;padding:0 12px}.supplier-table-card{overflow:auto}.supplier-table{min-width:1040px}.vendor-groups-shell,.vendor-directory-stack{gap:12px;display:grid}.vendor-groups-head,.vendor-list-header{justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.vendor-groups-head h4,.vendor-list-header h4{color:var(--text);margin:2px 0}.vendor-groups-head p,.vendor-list-header p{color:var(--muted);margin:0;line-height:1.45}.vendor-group-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.vendor-group-card{text-align:center;cursor:pointer;align-content:space-between;gap:14px;min-height:156px;padding:18px 16px 16px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid}.vendor-group-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-red-soft);transform:translateY(-2px)}.vendor-group-main{justify-items:center;gap:10px;display:grid}.vendor-group-icon{border:1px solid var(--line);background:var(--panel-soft);width:52px;height:52px;color:var(--text);border-radius:15px;place-items:center;display:inline-grid}.vendor-group-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.vendor-group-card h4{color:var(--text);margin:0;font-size:.98rem;font-weight:600;line-height:1.15}.vendor-group-desc{color:var(--muted);text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.3;display:-webkit-box;overflow:hidden}.vendor-group-stats{justify-content:center;align-items:center;gap:8px;display:flex}.vendor-group-stats span{border:1px solid var(--line);background:var(--panel-soft);min-width:44px;height:32px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-weight:600;display:inline-flex}.vendor-group-stats svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.vendor-group-stats strong{color:var(--text);font-size:.88rem;font-weight:650}.vendor-group-stats .warning strong{color:var(--warning)}.vendor-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:flex}.vendor-breadcrumb button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0}.vendor-breadcrumb span:before{content:">";color:var(--muted);margin-right:8px}.vendor-form-layout,.vendor-form-links,.vendor-submission-list{gap:12px;display:grid}.vendor-form-toolbar,.vendor-form-row,.vendor-submission-row{justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.vendor-form-row h4,.vendor-submission-row h4{color:var(--text);margin:0 0 4px}.vendor-form-row p,.vendor-submission-row p{color:var(--muted);margin:0}.vendor-form-row-meta,.vendor-submission-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.vendor-submission-detail{gap:12px;padding:16px;display:grid}.vendor-submission-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.vendor-submission-detail-grid span{background:var(--neutral-soft);color:var(--muted);border-radius:12px;gap:3px;padding:10px;font-size:.78rem;display:grid}.vendor-submission-detail-grid strong{color:var(--text)}.vendor-public-shell{background:#f8fafc;min-height:100vh;padding:18px}.vendor-public-card{background:#fff;border:1px solid #96949138;border-radius:22px;gap:16px;width:min(920px,100%);margin:0 auto;padding:20px;display:grid;box-shadow:0 24px 64px #14141714}.vendor-public-header h1{color:#16161a;margin:0;font-size:clamp(1.35rem,4vw,2rem)}.vendor-public-header p,.vendor-public-card>p{color:#64748b;margin:6px 0 0;line-height:1.5}.vendor-public-section{border-top:1px solid #e2e8f0;gap:12px;padding-top:12px;display:grid}.vendor-public-section h2{color:#16161a;margin:0;font-size:1rem}.vendor-public-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.vendor-public-section-head button,.vendor-public-actions button{color:#16161a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;min-height:40px;padding:0 14px;font-weight:800}.vendor-public-actions button{color:#fff;background:#16161a;border-color:#16161a}.vendor-public-grid,.vendor-public-price-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vendor-public-price-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:1.2fr .5fr .7fr .7fr;padding:12px}.vendor-public-price-row.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.vendor-public-grid label,.vendor-public-section label,.vendor-public-price-row label{gap:6px;display:grid}.vendor-public-grid span,.vendor-public-section label>span,.vendor-public-price-row span{color:#64748b;font-size:.78rem;font-weight:800}.vendor-public-grid input,.vendor-public-grid textarea,.vendor-public-section textarea,.vendor-public-price-row input{color:#16161a;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px}.vendor-public-grid textarea,.vendor-public-section textarea{padding-top:10px}.vendor-public-grid .full-span,.vendor-public-price-row .full-span{grid-column:1/-1}.vendor-public-error{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2;border-radius:12px;margin:0;padding:10px 12px;font-weight:800}.vendor-public-actions{justify-content:flex-end;display:flex}.supplier-table td strong,.supplier-table td small{display:block}.supplier-table td small{color:var(--muted);margin-top:4px;font-size:.76rem}.supplier-phone-cell{align-items:center;gap:8px;display:inline-flex}.supplier-phone-cell a{background:var(--success-soft);min-width:32px;height:28px;color:var(--success);border-radius:999px;place-items:center;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-grid}.supplier-empty-state{text-align:center;gap:4px;padding:20px;display:grid}.supplier-empty-state strong{color:var(--text)}.supplier-empty-state span{color:var(--muted)}.supplier-modal{width:min(760px,100%);max-height:min(84vh,760px);padding:20px;overflow:auto}.supplier-contact-modal{border-radius:18px;gap:12px;width:min(640px,100vw - 32px);max-height:min(76vh,620px);padding:16px;display:grid}.supplier-contact-modal .section-head.compact{gap:8px;margin:0}.supplier-contact-modal .section-head.compact h3{margin:0;font-size:1.05rem;line-height:1.18}.supplier-contact-modal .section-head.compact p:not(.eyebrow){margin-top:4px;font-size:.84rem;line-height:1.3}.supplier-contact-grid{gap:9px 12px}.supplier-contact-grid label{gap:5px}.supplier-contact-grid span{font-size:.76rem;line-height:1.1}.supplier-contact-grid input,.supplier-contact-grid textarea,.supplier-contact-grid .ui-select{border-radius:12px;min-height:38px;padding-inline:12px;font-size:.9rem}.supplier-contact-grid textarea{min-height:58px;padding-top:10px}.supplier-modal .form-actions{background:linear-gradient(180deg, #fff0, var(--card) 42%);justify-content:flex-end;margin:0 -2px -2px;padding-top:10px;position:sticky;bottom:-20px}.supplier-contact-modal .form-actions .shell-button{min-height:40px;padding-inline:14px}.supplier-action-icon{width:34px;height:34px;color:var(--muted);background:#ffffffeb;border:1px solid #96949147;border-radius:12px;place-items:center;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;display:inline-grid}.supplier-action-icon:hover{border-color:var(--accent);color:var(--accent);background:#eff6ff;transform:translateY(-1px);box-shadow:0 10px 22px #14141714}.supplier-action-icon.danger{color:var(--danger)}.supplier-action-icon.danger:hover{border-color:var(--danger-soft);color:var(--danger);background:#fef2f2}.supplier-action-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.supplier-delete-modal{gap:18px;width:min(520px,100%);padding:22px;display:grid}.supplier-delete-modal h3{color:var(--text);margin:0;font-size:1.18rem}.supplier-delete-modal p:not(.eyebrow){color:var(--muted);margin:8px 0 0;line-height:1.55}.supplier-delete-modal .form-actions{justify-content:flex-end}.app-shell[data-theme=dark] .supplier-action-icon{color:#e0dedbdb;background:#141417db;border-color:#9694912e}.app-shell[data-theme=dark] .supplier-action-icon:hover{border-color:var(--accent);color:#bfdbfe;background:#1e40af47}.app-shell[data-theme=dark] .supplier-action-icon.danger{color:var(--danger)}.app-shell[data-theme=dark] .supplier-action-icon.danger:hover{border-color:var(--danger-soft);color:var(--danger);background:#7f1d1d5c}.supplier-price-badges{flex-wrap:wrap;gap:6px;display:flex}.procurement-price-stack{gap:14px;display:grid}.procurement-price-group{gap:12px;padding:16px;display:grid}.procurement-price-group>header,.price-range-strip{justify-content:space-between;align-items:center;gap:12px;display:flex}.procurement-price-group h4{color:var(--text);margin:0}.procurement-price-group header span,.price-range-strip span{color:var(--muted);font-size:.78rem}.price-range-strip{flex-wrap:wrap;justify-content:flex-end}.price-range-strip span{border:1px solid var(--line);background:#fafaf9c7;border-radius:12px;gap:2px;min-width:118px;padding:8px 10px;display:grid}.price-range-strip strong{color:var(--text);font-size:.9rem}.compact-table-card{box-shadow:none}.supplier-compare-layout,.orders-split-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.orders-split-layout.is-single{grid-template-columns:minmax(0,1fr)}.supplier-compare-panel,.order-message-panel{gap:12px;padding:16px;display:grid}.supplier-compare-panel{grid-column:1/-1;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) 160px;align-items:end}.supplier-compare-panel label,.order-message-panel label{gap:6px;display:grid}.supplier-compare-panel label span,.order-message-panel label span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:750}.supplier-compare-panel input,.order-message-panel input,.order-message-panel textarea{border:1px solid var(--line);background:var(--control-bg);width:100%;min-height:40px;color:var(--text);border-radius:12px;padding:0 12px}.order-message-panel textarea{resize:vertical;min-height:220px;padding:12px;line-height:1.5}.order-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.order-suggestion-card{gap:14px;padding:16px;display:grid}.procurement-warning-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.material-order-layout{grid-template-columns:minmax(520px,1fr) clamp(420px,31vw,520px);gap:16px}.procurement-order-form{scrollbar-width:thin;align-self:start;gap:10px;max-height:calc(100vh - 190px);padding:14px;overflow:auto}.procurement-order-form h4{margin:-4px 0 2px;font-size:1rem;line-height:1.2}.procurement-order-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.procurement-order-fields label{gap:5px}.procurement-order-fields label:last-child,.procurement-order-fields .order-party-summary{grid-column:1/-1}.procurement-order-form .eyebrow,.procurement-order-form label span{letter-spacing:.1em;font-size:.68rem}.procurement-order-form input,.procurement-order-form textarea,.procurement-order-form .ui-select{border-radius:12px;min-height:38px;font-size:.86rem}.procurement-order-form textarea{min-height:74px;padding:10px 12px}.procurement-order-form .shell-button{min-height:42px}.procurement-request-table-card{min-height:158px;overflow:hidden}.procurement-request-table{min-width:760px}.procurement-request-table th,.procurement-request-table td{vertical-align:middle;padding:12px 14px}.order-message-panel .ui-select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:40px;color:var(--text);border-radius:12px;padding:0 12px}.order-party-summary{border:1px solid var(--info-soft);background:var(--info-soft);border-radius:12px;gap:4px;padding:12px;display:grid}.order-party-summary strong{color:var(--text)}.order-party-summary span,.order-party-summary small{color:var(--muted);font-size:.82rem}.order-line-editor{gap:8px;display:grid}.order-line-editor-head,.order-line-editor-row{grid-template-columns:minmax(88px,1fr) 56px 36px 64px 52px 52px;align-items:center;gap:6px;display:grid}.order-line-editor-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 8px;font-size:.64rem;font-weight:850}.order-line-editor-row{border:1px solid var(--line);background:#fafaf9b8;border-radius:12px;padding:8px}.order-line-editor-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.2;overflow:hidden}.order-line-editor-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:750;overflow:hidden}.order-line-editor-row input{min-height:32px;padding:0 7px;font-size:.82rem}.order-line-editor small{color:var(--muted);font-size:.76rem}.order-document-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.order-recommendation{border:1px solid var(--success-soft);background:var(--success-soft);border-radius:14px;gap:4px;padding:12px;display:grid}.order-recommendation.muted{border-color:var(--line);background:#96949114}.order-recommendation span,.order-price-options span{color:var(--muted);font-size:.78rem;font-weight:700}.order-recommendation strong{color:var(--text)}.order-recommendation p,.order-price-options{color:var(--muted);margin:0}.order-price-options{gap:4px;display:grid}.procurement-page .section-head{align-items:center}.procurement-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.procurement-summary-grid .metric-card{min-height:112px;padding:16px}.procurement-main-tabs{z-index:8;position:sticky;top:72px}.procurement-list-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;gap:12px;padding:14px;display:grid;overflow:hidden}.procurement-list-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.procurement-list-toolbar input{border:1px solid var(--line);background:var(--control-bg);min-height:42px;color:var(--text);border-radius:14px;flex:1;padding:0 14px}.procurement-status-filters{flex:1;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.procurement-status-filters button,.procurement-row-actions button,.procurement-link-button{border:1px solid var(--line);background:var(--control-bg);color:var(--text);cursor:pointer;border-radius:999px;font-weight:750}.procurement-status-filters button{white-space:nowrap;align-items:center;gap:8px;min-height:34px;padding:0 9px 0 13px;display:inline-flex}.procurement-status-filters button small{min-width:22px;height:22px;color:var(--muted);background:#14141714;border-radius:999px;justify-content:center;align-items:center;font-size:.76rem;font-weight:850;display:inline-flex}.procurement-status-filters button.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d14}.procurement-status-filters button.active small{color:var(--accent);background:#1a1a1d24}.procurement-toolbar-note{color:var(--muted);white-space:nowrap;flex:none;font-size:.86rem;font-weight:750}.procurement-table{min-width:1080px}.procurement-table th,.procurement-table td{vertical-align:middle;padding:12px 14px}.procurement-table tr.request-row-busy td{background:#1a1a1d09;transition:background .18s}.procurement-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.procurement-row-actions button:not(.primary):not(.is-loading){color:var(--muted);background:0 0;font-weight:650}.procurement-row-actions button:not(.primary):not(.is-loading):hover{color:var(--ink,var(--text));border-color:color-mix(in srgb, var(--ink,#1a1a1d) 30%, var(--line));background:var(--control-bg)}.procurement-cell-empty{color:var(--muted)}.procurement-row-actions button{justify-content:center;align-items:center;gap:6px;min-height:31px;padding:0 10px;font-size:.78rem;display:inline-flex}.procurement-row-actions button.danger{color:#cf3e3e;border-color:#cf3e3e4d}.procurement-row-actions button.danger:hover:not(:disabled){background:#cf3e3e17;border-color:#cf3e3e}:root[data-theme=dark] .procurement-row-actions button.danger,.app-shell[data-theme=dark] .procurement-row-actions button.danger{color:#ff7a7a;border-color:#ff7a7a52}.procurement-row-actions button:disabled{cursor:wait;opacity:.72}.procurement-row-actions button.is-loading{border-color:var(--accent);color:var(--accent);background:#1a1a1d14}.procurement-row-actions button.primary{color:#fff;background:#111;border-color:#111}.procurement-button-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:12px;height:12px;animation:.72s linear infinite spin}.procurement-suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.procurement-suggestion-card{gap:12px;padding:16px;display:grid}.procurement-suggestion-card h4,.procurement-document-panel h4{margin:0;font-size:1rem}.procurement-suggestion-card p,.procurement-document-panel p,.procurement-muted{color:var(--muted);margin:0}.procurement-card-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.procurement-card-facts span,.procurement-total-box span{border:1px solid var(--line);background:#fafaf9c2;border-radius:12px;gap:3px;padding:10px;display:grid}.procurement-card-facts small,.procurement-total-box span{color:var(--muted);font-size:.76rem}.procurement-card-facts strong,.procurement-total-box strong{color:var(--text);font-size:.94rem}.procurement-document-panel{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.procurement-missing-party{background:var(--warning-soft);min-height:28px;color:var(--warning);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.order-supplier-assignment{border:1px solid var(--warning-soft);background:#fffbebb8;border-radius:16px;grid-template-columns:minmax(170px,1fr) minmax(220px,280px) auto;align-items:center;gap:10px;min-width:min(720px,100%);padding:10px;display:grid}.order-supplier-assignment>div{gap:2px;display:grid}.order-supplier-assignment strong{font-size:.86rem}.order-supplier-assignment span{color:var(--muted);font-size:.76rem;font-weight:700}.order-supplier-assignment .ui-select{border:1px solid var(--line);background-color:var(--control-bg);min-height:40px;color:var(--text);border-radius:13px;padding:0 12px}.order-supplier-assignment .shell-button{gap:8px;min-height:40px}.order-document-actions.compact{flex-wrap:wrap;display:flex}.procurement-receiving-layout{grid-template-columns:minmax(0,1fr) 360px}.procurement-receiving-complete{border-top:1px solid var(--border,#ffffff14);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.procurement-builder-backdrop{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#08080a9e;justify-content:flex-end;display:flex;position:fixed;inset:0}.procurement-builder-panel{border:1px solid var(--line);background:var(--card);border-radius:22px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(760px,100vw - 28px);height:calc(100vh - 28px);margin:14px;display:grid;overflow:hidden;box-shadow:0 24px 70px #14141738}.procurement-builder-panel.is-submitting .procurement-builder-body,.procurement-builder-panel.is-submitting .procurement-stepper{pointer-events:none}.procurement-builder-panel.is-submitting .procurement-builder-body>:not(.procurement-builder-loading){opacity:.56}.procurement-builder-panel header,.procurement-builder-panel footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.procurement-builder-panel footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.procurement-builder-panel footer .shell-button{gap:8px}.procurement-builder-panel.is-submitting footer .shell-button:disabled{cursor:wait}.procurement-builder-panel header h3,.procurement-builder-panel header p{margin:0}.procurement-builder-panel header button,.procurement-link-button,.procurement-order-lines button{min-height:36px;padding:0 13px}.procurement-stepper{border-bottom:1px solid var(--line);gap:8px;padding:12px 18px;display:flex;overflow-x:auto}.procurement-stepper button{border:1px solid var(--line);background:var(--control-bg);min-height:34px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 12px;font-size:.82rem;font-weight:750}.procurement-stepper button.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d14}.procurement-builder-loading{z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#ffffffa3;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.procurement-builder-loading .procurement-button-spinner{color:#16161a;border-width:3px;width:28px;height:28px}.procurement-builder-loading strong{font-size:.94rem}.procurement-builder-loading small{color:var(--muted);font-size:.78rem;font-weight:700}.procurement-builder-body{padding:18px;position:relative;overflow:auto}.procurement-builder-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.procurement-builder-section label{gap:6px;display:grid}.procurement-builder-section label span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:760}.procurement-builder-section input,.procurement-builder-section textarea,.procurement-builder-section .ui-select,.quick-vendor-form input{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:42px;color:var(--text);border-radius:13px;padding:0 12px}.procurement-builder-section textarea{min-height:86px;padding:10px 12px}.procurement-builder-section .wide,.vendor-choice-list,.quick-vendor-form,.order-party-summary,.procurement-order-lines,.procurement-total-box,.procurement-builder-section>.shell-button,.procurement-muted{grid-column:1/-1}.vendor-choice-list{gap:8px;max-height:250px;display:grid;overflow:auto}.vendor-choice-list button{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#fafaf9b8;border-radius:13px;gap:3px;padding:11px 12px;display:grid}.vendor-choice-list button.active{border-color:var(--accent);background:#1a1a1d14}.vendor-choice-list small{color:var(--muted)}.quick-vendor-form{border:1px dashed var(--line);background:#fafaf9ad;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;display:grid}.procurement-order-lines .order-line-editor-head,.procurement-order-lines .order-line-editor-row{grid-template-columns:minmax(140px,1.25fr) 72px 62px 90px 70px 70px 112px 34px}.procurement-order-lines .order-line-editor-row input{width:100%}.procurement-order-lines .order-line-editor-row>span{white-space:normal;font-size:.78rem}.procurement-total-box{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (max-width:980px){.supplier-insight-grid,.vendor-group-grid,.procurement-warning-grid,.procurement-summary-grid,.procurement-suggestion-grid,.order-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-compare-panel,.procurement-receiving-layout,.orders-split-layout,.order-supplier-assignment{grid-template-columns:1fr}.quick-vendor-form,.procurement-total-box{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.supplier-insight-grid,.vendor-group-grid,.procurement-warning-grid,.procurement-summary-grid,.procurement-suggestion-grid,.order-suggestion-grid{grid-template-columns:1fr}.procurement-list-toolbar,.procurement-document-panel,.procurement-builder-panel header,.procurement-builder-panel footer{flex-direction:column;align-items:stretch}.procurement-builder-section,.quick-vendor-form,.procurement-total-box{grid-template-columns:1fr}.order-line-editor-row{grid-template-columns:1fr 72px}.vendor-groups-head,.vendor-list-header,.vendor-form-toolbar,.vendor-form-row,.vendor-submission-row{flex-direction:column;align-items:stretch}.vendor-submission-detail-grid,.vendor-public-grid,.vendor-public-price-row,.vendor-public-price-row.compact{grid-template-columns:1fr}}.assets-page .section-head h3{font-size:1.2rem;font-weight:650}.asset-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.asset-status-bar{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.asset-status-bar button{min-height:42px;color:var(--muted);white-space:nowrap;background:#ffffffe0;border:1px solid #cedbf4f2;border-radius:999px;align-items:center;gap:10px;padding:0 15px;font-weight:700;transition:transform .16s,border-color .16s,box-shadow .16s,color .16s,background .16s;display:inline-flex}.asset-status-bar button strong{min-width:24px;height:24px;color:var(--text);background:#e0dedbad;border-radius:999px;place-items:center;padding:0 6px;font-size:.76rem;display:inline-grid}.asset-status-bar button:hover,.asset-status-bar button.active{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 30px #213c7614}.asset-status-bar button.active{color:var(--primary);background:#1a1a1d14}.asset-status-bar button.active strong{color:var(--primary);background:#1a1a1d1f}.asset-tabs{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.asset-tabs button{border:1px solid var(--line);background:var(--control-bg);min-height:38px;color:var(--muted);white-space:nowrap;border-radius:999px;padding:0 14px;font-weight:750}.asset-tabs button.active{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft);color:var(--primary)}.asset-controls{grid-template-columns:minmax(210px,1.25fr) repeat(5,minmax(136px,.72fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.asset-controls label{gap:6px;display:grid}.asset-controls label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:750}.asset-controls input,.asset-controls .ui-select{border:1px solid var(--line);background-color:var(--control-bg);width:100%;min-height:40px;color:var(--text);border-radius:13px;padding:0 12px}.asset-board-layout{display:block;position:relative}.asset-grouped-stack{gap:14px;display:grid}.asset-status-section{gap:14px;padding:16px;display:grid}.asset-status-section.available{border-color:var(--success-soft)}.asset-status-section.borrowed{border-color:var(--accent)}.asset-status-section.service{border-color:var(--warning-soft);background:linear-gradient(#fffbebb8,#fffffff5)}.asset-status-section.lost{border-color:var(--danger-soft);background:linear-gradient(#fef2f2bd,#fffffff5)}.asset-status-section-head,.asset-status-section-tools{justify-content:space-between;align-items:center;gap:10px;display:flex}.asset-status-section-head h4{margin:0;font-size:1rem}.asset-collapse-button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fffc;border-radius:999px;padding:0 12px;font-weight:700}.asset-collapse-button:hover{border-color:var(--accent);color:var(--primary)}.asset-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.asset-grid.improved{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.asset-card.improved{cursor:pointer;gap:8px;padding:14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.asset-card.improved:focus-visible{outline-offset:2px;outline:2px solid #1111112e}.asset-card.improved.grouped{background:#ffffffeb;border-radius:16px;padding:12px;box-shadow:0 10px 22px #1111110b}.asset-card.improved h4{margin:0;font-size:.95rem;font-weight:700}.asset-card.improved p{color:var(--muted);margin:3px 0 0}.asset-card.improved .eyebrow{margin-bottom:2px}.asset-inventory-card-head{min-height:58px}.asset-stock-main strong{text-overflow:ellipsis;white-space:nowrap;max-width:62%;font-size:clamp(.98rem,1.4vw,1.15rem);overflow:hidden}.asset-stock-main strong span{margin-left:6px}.asset-readiness .tone-info{background:linear-gradient(90deg, var(--accent), var(--accent))}.asset-readiness .tone-neutral{background:linear-gradient(90deg,#64748b,#94a3b8)}.asset-card.improved.grouped.selected{border-color:#1113;box-shadow:0 16px 30px #11111114}.asset-card.improved:hover{box-shadow:var(--shadow-soft);border-color:#1111112e;transform:translateY(-2px)}.asset-card-head-compact{gap:6px;display:grid}.asset-card-title-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.asset-card-title-row h4{margin:0;font-size:.95rem;font-weight:700;line-height:1.2}.asset-card-title-row p{color:var(--muted);margin:1px 0 0;font-size:.82rem}.asset-card-head-actions,.asset-card-foot-compact{justify-content:space-between;align-items:center;gap:6px;display:flex}.asset-card-head-actions{flex-wrap:wrap}.asset-thumb.compact{border-radius:12px;width:34px;min-width:34px;height:34px;font-size:.95rem}.asset-card-top,.asset-detail-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.asset-card-top h4,.asset-detail-panel h4{margin:0;font-size:.95rem;font-weight:700}.asset-card-top p,.asset-detail-panel p{color:var(--muted);margin:2px 0 0;font-size:.88rem}.asset-menu-wrap{position:relative}.asset-select-button{cursor:pointer;border:0}.asset-actions-menu{z-index:8;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#262f3fb8;border:1px solid #ffffff73;border-radius:18px;min-width:190px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 50px #14141738}.asset-actions-menu button{color:#fff;text-align:left;background:0 0;border:0;border-radius:12px;min-height:36px;font-weight:650}.asset-actions-menu button:hover{background:#ffffff1f}.asset-badge-row,.asset-card-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.asset-badge-row.vertical{justify-content:flex-start;align-items:flex-end}.asset-badge-row.compact{flex:auto;gap:5px;min-width:0}.asset-quantity-badge{min-height:26px;color:var(--text);white-space:nowrap;background:#1111110f;border:1px solid #11111114;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.asset-quantity-badge.large{min-height:30px;padding-inline:12px;font-size:.82rem}.asset-inline-meta{min-height:24px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:#f5f5f3eb;border-radius:999px;align-items:center;max-width:100%;padding:0 8px;font-size:.74rem;font-weight:650;display:inline-flex;overflow:hidden}.asset-info-grid,.asset-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.asset-info-grid span,.asset-detail-grid span{background:var(--neutral-soft);color:var(--muted);border-radius:14px;gap:3px;padding:10px;font-size:.78rem;display:grid}.asset-info-grid strong,.asset-detail-grid strong{color:var(--text);font-size:.88rem}.asset-info-grid.compact span,.asset-detail-grid.compact span{align-content:start;min-height:72px}.asset-inline-notes{background:#f5f5f3c7;border-radius:14px;gap:2px;padding:10px 12px;display:grid}.asset-inline-notes span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.asset-inline-notes strong{color:var(--text);font-size:.88rem}.asset-card-actions .shell-button{border-radius:11px;min-height:32px;padding:0 10px;font-size:.77rem}.asset-card-actions.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.asset-card-actions.detail .shell-button{flex:140px}.asset-detail-secondary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.asset-detail-secondary-actions .shell-button{border-radius:12px;min-height:36px;font-size:.78rem}.asset-table-card{overflow:auto}.asset-table{min-width:1120px}.asset-detail-panel{gap:16px;padding:18px;display:grid}.asset-history-panel{gap:12px;display:grid}.asset-history-list{gap:8px;display:grid}.asset-history-row{border:1px solid var(--line);background:#ffffffad;border-radius:14px;gap:3px;padding:11px 12px;display:grid}.asset-history-row span,.asset-history-row p{color:var(--muted);margin:0;font-size:.84rem}.asset-empty-card{gap:10px;padding:24px;display:grid}.asset-action-modal{border-radius:18px;gap:12px;width:min(720px,100vw - 32px);max-height:min(78vh,640px);padding:16px;display:grid;overflow:auto}.asset-action-modal .section-head.compact{align-items:start;gap:8px;margin:0}.asset-action-modal .section-head.compact h3{margin:0;font-size:1.05rem;line-height:1.18}.asset-action-modal .section-head.compact p:not(.eyebrow){margin-top:4px;font-size:.86rem;line-height:1.32}.asset-action-modal .eyebrow{margin-bottom:2px;font-size:.68rem;line-height:1}.asset-action-modal .form-grid{gap:10px 12px}.asset-action-modal .form-grid label{gap:5px}.asset-action-modal .form-grid span{font-size:.76rem;line-height:1.1}.asset-action-modal .form-grid input,.asset-action-modal .form-grid textarea,.asset-action-modal .form-grid .ui-select{border-radius:12px;min-height:40px;padding-inline:12px;font-size:.9rem}.asset-action-modal .form-actions{background:linear-gradient(180deg, #fff0, var(--card) 42%);justify-content:flex-end;margin:0 -2px -2px;padding-top:10px;position:sticky;bottom:-16px}.asset-action-modal .form-actions .shell-button{min-height:40px;padding-inline:14px}.drawing-shell{gap:16px}.drawing-empty-shell{text-align:center;background:radial-gradient(circle at top, rgba(var(--primary-rgb), .08), transparent 38%), linear-gradient(180deg, #fffffffa, #f7fafffa);place-items:center;gap:18px;max-width:760px;min-height:70vh;margin:48px auto 0;padding:48px 32px;display:grid}.drawing-empty-illustration{place-items:center;display:grid}.drawing-empty-icon{width:72px;height:72px;box-shadow:0 18px 38px rgba(var(--primary-rgb), .12);background:linear-gradient(#fff,#eff5ff);border-radius:22px;position:relative}.drawing-empty-icon span{background:rgba(var(--primary-rgb), .14);border-radius:999px;position:absolute}.drawing-empty-icon span:first-child{inset:18px 18px 32px}.drawing-empty-icon span:nth-child(2){height:8px;bottom:21px;left:18px;right:18px}.drawing-empty-icon span:nth-child(3){background:var(--primary);width:18px;height:18px;box-shadow:0 8px 20px rgba(var(--primary-rgb), .24);top:22px;right:18px}.drawing-empty-copy{gap:10px;max-width:480px;display:grid}.drawing-empty-copy h3{margin:0;font-size:clamp(2rem,4vw,2.8rem)}.drawing-empty-copy p:last-child,.drawing-empty-shell small{color:var(--muted);margin:0}.drawing-empty-upload{min-width:200px}.viewer-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,940px);display:grid}.viewer-mode-grid.compact{grid-template-columns:repeat(2,minmax(220px,1fr));align-items:stretch;gap:12px;width:min(860px,100%)}.viewer-mode-card{border:1px solid rgba(var(--primary-rgb), .14);cursor:pointer;text-align:left;background:linear-gradient(#fff,#f7faff);border-radius:18px;align-items:center;gap:12px;min-height:104px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;box-shadow:0 12px 28px #132d600f}.viewer-mode-card:hover,.viewer-mode-card.active{border-color:rgba(var(--primary-rgb), .28);transform:translateY(-2px);box-shadow:0 16px 34px #132d601a}.viewer-mode-card input{opacity:0;cursor:pointer;position:absolute;inset:0}.viewer-mode-card strong{color:var(--ink);font-size:.98rem;display:block}.viewer-mode-card p,.viewer-mode-card small{color:var(--muted);margin:0;line-height:1.5}.viewer-mode-mini-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);letter-spacing:.04em;border-radius:14px;flex:0 0 42px;place-items:center;font-size:.74rem;font-weight:900;display:grid}.viewer-mode-card.upload-type-card{border-style:dashed;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:172px;padding:22px;display:grid}.viewer-mode-card.upload-type-card:hover{background:radial-gradient(circle at 20% 0%, rgba(var(--primary-rgb), .08), transparent 48%), linear-gradient(180deg, #fff, #f7faff)}.viewer-mode-card.upload-type-card input{z-index:2}.viewer-mode-card.upload-type-card>:not(input){z-index:1;position:relative}.viewer-mode-card.upload-type-card .viewer-mode-mini-icon{background:linear-gradient(180deg, #ffffffc7, #ffffff61), var(--primary-soft);width:54px;height:54px;box-shadow:inset 0 1px 0 #ffffffb8, 0 12px 26px rgba(var(--primary-rgb), .12);border-radius:17px}.viewer-mode-card.upload-type-card .viewer-mode-mini-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:28px;height:28px}.viewer-mode-card.upload-type-card .model-type-icon{color:var(--ink);background:linear-gradient(#ffffffc7,#ffffff61),#0d94881f}.upload-type-copy{gap:5px;min-width:0;display:grid}.upload-type-copy em{border:1px dashed rgba(var(--primary-rgb), .22);width:fit-content;color:var(--muted);background:#ffffffad;border-radius:999px;margin-top:4px;padding:5px 8px;font-size:.72rem;font-style:normal;font-weight:750;line-height:1;display:inline-flex}.viewer-mode-grid:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.viewer-mode-grid:not(.compact) .viewer-mode-card{gap:10px;align-items:initial;min-height:220px;text-align:initial;border-radius:24px;padding:22px;display:grid;box-shadow:0 18px 38px #132d6014}.viewer-mode-grid:not(.compact) .viewer-mode-card strong{font-size:1.15rem}.viewer-mode-icon{border:1px solid rgba(var(--primary-rgb), .14);background:linear-gradient(#f7faff,#eef4ff);border-radius:18px;width:66px;height:66px;position:relative}.viewer-mode-icon span{background:rgba(var(--primary-rgb), .18);border-radius:12px;display:block;position:absolute}.viewer-mode-icon-2d span:first-child{inset:13px 13px 24px}.viewer-mode-icon-2d span:nth-child(2){background:var(--primary);height:8px;bottom:14px;left:13px;right:13px}.viewer-mode-icon-3d span:first-child{background:rgba(var(--primary-rgb), .18);width:26px;height:26px;inset:16px auto auto 16px;transform:skewY(-18deg)}.viewer-mode-icon-3d span:nth-child(2){background:rgba(var(--primary-rgb), .28);width:22px;height:22px;inset:16px 14px auto auto;transform:skewY(18deg)}.viewer-mode-icon-3d span:nth-child(3){background:var(--primary);height:14px;bottom:14px;left:18px;right:18px;transform:skew(-18deg)}.drawing-debug-panel{text-align:left;background:#f6f9fff5;border:1px solid #265ad624;border-radius:18px;width:min(100%,720px);margin-top:10px;padding:14px 16px}.drawing-debug-panel strong{color:var(--ink);margin-bottom:8px;font-size:.92rem;display:block}.drawing-debug-panel pre{white-space:pre-wrap;word-break:break-word;color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.drawing-workspace-head{gap:14px;display:grid}.drawing-toolbar-card,.drawing-staging-card,.drawing-filter-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff0;border-radius:22px}.drawing-toolbar-card{grid-template-columns:minmax(260px,auto) minmax(280px,1fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.drawing-toolbar-card.model-toolbar-card{grid-template-columns:minmax(320px,1fr) auto auto;padding:14px 16px}.model-toolbar-card .drawing-toolbar-title h3{text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,48vw);overflow:hidden}.model-toolbar-card .drawing-toolbar-center{justify-content:flex-end}.model-toolbar-card .drawing-toolbar-actions{gap:10px}.model-toolbar-card .drawing-toolbar-quick{min-width:48px;padding-inline:10px}.toolbar-icon-button{min-width:48px}.drawing-toolbar-left,.drawing-toolbar-center,.drawing-toolbar-actions{align-items:center;gap:12px;display:flex}.drawing-delete-button{color:#c44234;background:#fff8f6;border-color:#c442342e}.drawing-aps-action-button{border-color:var(--accent);color:var(--primary);background:#1a1a1d14}.model-mini-preview{background:radial-gradient(circle at top, rgba(var(--primary-rgb), .12), transparent 58%), linear-gradient(180deg, #fff, #f4f7fc);place-items:center;gap:14px;min-height:270px;padding:20px;display:grid}.drawing-mini-preview-placeholder{min-height:270px;color:var(--primary);text-align:center;background:linear-gradient(#f7faff,#eef4ff);border-radius:18px;place-items:center;gap:8px;padding:20px;display:grid}.drawing-mini-preview-placeholder small{color:var(--muted)}.drawing-mini-preview-placeholder.cad,.sheet-card-placeholder.cad{color:var(--ink);background:linear-gradient(#f8fafc,#edf2f8)}.sheet-card-placeholder.cad small{color:var(--muted);font-size:.72rem;font-weight:600}.model-mini-cube{width:90px;height:90px;transform-style:preserve-3d;position:relative;transform:rotateX(-22deg)rotateY(34deg)}.model-mini-cube span{border:1px solid rgba(var(--primary-rgb), .16);border-radius:18px;position:absolute;inset:0}.model-mini-cube span:first-child{background:linear-gradient(180deg, rgba(var(--primary-rgb), .16), rgba(var(--primary-rgb), .03));transform:translateZ(18px)}.model-mini-cube span:nth-child(2){background:rgba(var(--primary-rgb), .08);transform:rotateY(90deg)translateZ(18px)}.model-mini-cube span:nth-child(3){background:rgba(var(--primary-rgb), .12);transform:rotateX(90deg)translateZ(18px)}.model-mini-copy{text-align:center}.model-mini-copy strong,.model-mini-copy small{display:block}.model-mini-copy small{color:var(--muted)}.drawing-toolbar-left{flex-wrap:wrap}.drawing-sheet-switcher{align-items:center;gap:8px;display:inline-flex}.drawing-sheet-switcher button,.drawing-toolbar-center button{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fff;border-radius:12px;padding:0 12px;font-weight:600}.drawing-sheet-switcher button:disabled,.drawing-toolbar-center button:disabled{opacity:.45;cursor:not-allowed}.drawing-toolbar-title{gap:4px;display:grid}.drawing-toolbar-title h3{margin:0;font-size:1.35rem}.drawing-project-select,.drawing-sidebar-search{width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:#fff;padding:0 14px}:root[data-theme=dark] .drawing-toolbar-card,:root[data-theme=dark] .drawing-staging-card,:root[data-theme=dark] .drawing-filter-bar,.app-shell[data-theme=dark] .drawing-toolbar-card,.app-shell[data-theme=dark] .drawing-staging-card,.app-shell[data-theme=dark] .drawing-filter-bar{background:var(--surface)}:root[data-theme=dark] .drawing-sheet-switcher button,:root[data-theme=dark] .drawing-toolbar-center button,:root[data-theme=dark] .drawing-project-select,:root[data-theme=dark] .drawing-sidebar-search,.app-shell[data-theme=dark] .drawing-sheet-switcher button,.app-shell[data-theme=dark] .drawing-toolbar-center button,.app-shell[data-theme=dark] .drawing-project-select,.app-shell[data-theme=dark] .drawing-sidebar-search{background:var(--control-bg)}:root[data-theme=dark] button.drawing-delete-button,.app-shell[data-theme=dark] button.drawing-delete-button{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}:root[data-theme=dark] .model-mini-preview,:root[data-theme=dark] .drawing-mini-preview-placeholder,:root[data-theme=dark] .drawing-mini-preview-placeholder.cad,:root[data-theme=dark] .sheet-card-placeholder.cad,:root[data-theme=dark] .drawing-page-thumbnail-placeholder,.app-shell[data-theme=dark] .model-mini-preview,.app-shell[data-theme=dark] .drawing-mini-preview-placeholder,.app-shell[data-theme=dark] .drawing-mini-preview-placeholder.cad,.app-shell[data-theme=dark] .sheet-card-placeholder.cad,.app-shell[data-theme=dark] .drawing-page-thumbnail-placeholder{background:var(--surface)}.drawing-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.drawing-toolbar-quick{align-items:center;gap:8px;display:inline-flex}.drawing-toolbar-icon{background:var(--neutral-soft);min-width:28px;height:28px;color:var(--primary);letter-spacing:.04em;border-radius:999px;place-items:center;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-grid}.drawing-user-menu{display:inline-flex;position:relative}.drawing-avatar-chip{border:1px solid var(--line);background:var(--neutral-soft);width:42px;height:42px;color:var(--primary);cursor:pointer;border-radius:14px;font-weight:700}.drawing-avatar-chip:hover{border-color:var(--primary)}.drawing-staging-card{background:linear-gradient(#fffffffa,#fafaf8fa);gap:14px;padding:16px 18px;display:grid}.drawing-staging-card.modal{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.upload-modal-backdrop{z-index:1280}.drawing-upload-modal{z-index:1290;border:1px solid var(--line);background:#fffffffa;border-radius:24px;width:min(920px,100vw - 32px);max-height:calc(100vh - 56px);padding:14px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #16161938}.drawing-upload-modal.is-staging{width:min(1080px,100vw - 32px);padding:16px}.drawing-upload-modal.is-pdf-import{border-radius:22px;flex-direction:column;width:min(1400px,100vw - 32px);height:min(760px,100vh - 40px);max-height:calc(100vh - 40px);padding:12px;display:flex;overflow:hidden}.drawing-upload-modal.is-pdf-import .drawing-upload-modal-head{align-items:center;margin-bottom:8px}.drawing-upload-modal.is-pdf-import .drawing-upload-modal-head h3{font-size:.98rem}.drawing-upload-modal.is-pdf-import .eyebrow{letter-spacing:.2em;font-size:.66rem}.drawing-upload-modal.is-pdf-import .drawing-upload-close{border-radius:14px;min-height:32px;padding:0 11px;font-size:.82rem}.drawing-upload-modal.is-pdf-import .drawing-staging-card.modal{flex:1;min-height:0;overflow:hidden}.drawing-upload-modal-head{justify-content:space-between;align-items:start;gap:16px;margin-bottom:10px;display:flex}.drawing-upload-modal-head h3{margin:0;font-size:1.05rem}.drawing-upload-close{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:12px;padding:0 12px;font-weight:600}.drawing-upload-dropzone{border:1px dashed rgba(var(--primary-rgb), .22);text-align:center;background:linear-gradient(#fafaf8f5,#fffffffa);border-radius:20px;place-items:center;gap:12px;min-height:0;padding:18px;display:grid}.drawing-upload-dropzone strong{font-size:1.05rem}.drawing-upload-dropzone p,.drawing-upload-dropzone small{color:var(--muted);margin:0}.upload-choice-hero{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:min(620px,100%);display:grid}.upload-choice-hero p{margin-top:4px;line-height:1.45}.upload-helper-note{border:1px solid rgba(var(--primary-rgb), .12);background:#ffffffc2;border-radius:12px;max-width:680px;padding:10px 12px;font-size:.8rem;line-height:1.45}.drawing-filter-bar{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:14px 16px;display:grid}.sheet-navigator{gap:14px;max-height:calc(100vh - 160px);display:grid;overflow:auto}.sheet-search-block,.sheet-special-block{gap:10px;display:grid}.sheet-package-card{display:grid}.sheet-package-toggle{border:1px solid var(--line);text-align:left;background:linear-gradient(#fff,#f7faff);border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.sheet-package-icon{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:14px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.sheet-package-copy{gap:4px;min-width:0;display:grid}.sheet-package-copy strong,.sheet-package-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-package-copy small{color:var(--muted)}.sheet-package-meta{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.sheet-package-badge,.sheet-section-badge,.sheet-card-badge{background:var(--neutral-soft);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-flex}.sheet-section-badge.favorite{color:#f0a429;background:#fff7e6}.sheet-package-arrow{width:26px;height:26px;color:var(--text);background:#fff;border-radius:999px;place-items:center;font-weight:700;display:inline-grid}.sheet-sort-bar{background:var(--neutral-soft);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:inline-grid}.sheet-sort-bar button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-weight:700}.sheet-sort-bar button.active{color:var(--primary);background:#fff;box-shadow:0 4px 14px #16161914}.sheet-special-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-special-list{flex-wrap:wrap;gap:8px;display:flex}.sheet-special-list.detailed{display:grid}.sheet-pill,.favorite-sheet-row,.sheet-group-toggle,.sheet-card-main,.sheet-favorite-toggle{border:1px solid var(--line);background:#fff}.sheet-pill{min-height:44px;color:var(--text);border-radius:999px;padding:0 12px;font-weight:600}.sheet-pill.active{border-color:rgba(var(--primary-rgb), .26);background:var(--primary-soft);color:var(--primary)}.favorite-sheet-row{text-align:left;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.favorite-sheet-row.active{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft)}.favorite-sheet-row span{color:#f0a429;font-size:1rem}.favorite-sheet-row small{color:var(--muted);display:block}.sheet-group-list{gap:12px;display:grid}.sheet-group{gap:10px;display:grid}.sheet-group-toggle{text-align:left;border-radius:12px;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:grid}.sheet-group-icon{background:var(--neutral-soft);width:20px;height:20px;color:var(--primary);border-radius:999px;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.sheet-group-toggle small{color:var(--muted)}.sheet-group-items{gap:10px;display:grid}.sheet-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:6px;display:grid}.sheet-card-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sheet-card-main{text-align:left;border-radius:16px;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.sheet-card.active .sheet-card-main{border-color:rgba(var(--primary-rgb), .26);background:var(--primary-soft)}.sheet-card-thumb{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:72px;position:relative;overflow:hidden}.sheet-card-frame,.sheet-card-image{background:#fff;border:0;width:100%;height:72px}.sheet-card-image{object-fit:cover;object-position:center}.sheet-card-placeholder{height:72px;color:var(--primary);background:linear-gradient(#f6f8fc,#eef3fb);place-items:center;font-size:.78rem;font-weight:700;display:grid}.sheet-card-placeholder.pdf{gap:4px}.sheet-card-placeholder.pdf small{color:var(--muted);font-size:.72rem;font-weight:600}.sheet-card-copy{gap:4px;min-width:0;display:grid}.sheet-card-copy>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sheet-card-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-card-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sheet-card-badge.active{background:var(--primary-soft);color:var(--primary)}.sheet-card-badge.tone-success{background:var(--success-soft);color:var(--success)}.sheet-card-badge.tone-warning{background:var(--warning-soft);color:var(--warning)}.sheet-card-badge.tone-danger{background:var(--danger-soft);color:var(--danger)}.sheet-card-copy strong{font-size:.92rem}.sheet-card-copy span{font-weight:600}.sheet-card-copy small{color:var(--muted)}.sheet-favorite-toggle{color:#d0b15d;border-radius:12px;width:44px;height:44px;font-size:1rem}.sheet-favorite-toggle.active{color:#f0a429;background:#fff7e6;border-color:#f0a42942}.sheet-aps-toggle{min-width:78px;height:44px;color:var(--primary);background:#1a1a1d14;border:1px solid #1a1a1d2e;border-radius:12px;padding:0 10px;font-size:.78rem;font-weight:700}.sheet-delete-toggle{color:#c44234;background:#fff8f6;border:1px solid #c4423429;border-radius:12px;width:44px;height:44px;font-size:1.1rem;line-height:1}.model-viewer-shell{position:relative}.model-viewer-shell.fullscreen{z-index:36;width:100vw;height:100dvh;max-height:100dvh;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.model-viewer-shell.fullscreen .viewer-head-floating{z-index:10;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:44px minmax(220px,min(560px,46vw)) auto;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:0;display:grid;position:absolute;top:10px;left:26px;right:18px}.model-viewer-shell.fullscreen .model-viewer-head{left:26px}.model-viewer-shell.fullscreen .viewer-head-copy{text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border:1px solid #d2d0cd99;border-radius:14px;justify-self:center;gap:0;width:100%;min-width:0;max-width:520px;padding:6px 12px;box-shadow:0 12px 26px #0e162812}.model-viewer-shell.fullscreen .model-title-line strong{font-size:.7rem}.model-viewer-shell.fullscreen .model-title-line span{padding:3px 6px;font-size:.54rem}.model-viewer-shell.fullscreen .model-viewer-head .model-back-button{width:var(--model-tool-size,40px);min-width:var(--model-tool-size,40px);min-height:var(--model-tool-size,40px);border-radius:var(--model-tool-radius,14px)}.model-viewer-shell.fullscreen .model-viewer-head .viewer-status-strip{justify-self:end;margin-left:0}.model-viewer-shell.fullscreen .viewer-status-strip .status-pill{min-height:28px;padding-inline:10px;font-size:.68rem}.model-viewer-shell.fullscreen .viewer-stage-3d{border:0;border-radius:0;flex:auto;width:100%;height:100dvh;min-height:100dvh!important}.model-viewer-shell.fullscreen .drawing-resource-rack{z-index:7;pointer-events:none;margin:0;position:absolute;bottom:18px;left:22px}.model-viewer-shell.fullscreen .model-resource-rack-compact{max-width:min(520px,100vw - 160px);overflow:hidden}.model-viewer-shell.fullscreen .model-resource-rack-compact .status-pill{text-overflow:ellipsis;white-space:nowrap;max-width:320px;min-height:28px;padding-inline:10px;font-size:.72rem;overflow:hidden}.model-viewer-shell.fullscreen .model-selection-strip{z-index:7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border-radius:14px;margin:0;padding:7px 9px;position:absolute;bottom:54px;left:22px;right:96px;box-shadow:0 16px 34px #0e162814}.drawing-viewer-2d-shell{position:relative}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen{background:#fff;padding:0}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-head-floating{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;border:1px solid #d2d0cdad;border-radius:18px;width:auto;min-height:0;margin:0;padding:8px 12px;position:absolute;top:12px;left:72px;right:18px;box-shadow:0 16px 36px #0e162814}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-head-copy{gap:1px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-head-copy .eyebrow{letter-spacing:.14em;font-size:.62rem}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-head-copy h4{text-overflow:ellipsis;white-space:nowrap;max-width:min(720px,48vw);margin:0;font-size:.9rem;line-height:1.2;overflow:hidden}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-head-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,52vw);font-size:.68rem;line-height:1.15;display:block;overflow:hidden}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-status-strip .status-pill{min-height:30px;padding-inline:10px;font-size:.72rem}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-legend-floating{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffad;border:1px solid #d2d0cd8c;border-radius:999px;gap:6px;width:auto;margin:0;padding:6px;position:absolute;top:62px;left:90px;box-shadow:0 16px 34px #0e162812}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-legend-item{gap:4px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-legend-item .status-pill{min-height:28px;padding-inline:10px;font-size:.75rem}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-stage{border:0;border-radius:0;flex:auto;width:100%;height:100%;min-height:0!important}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .viewer-canvas{height:100%;min-height:100%!important}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .pdf-page-navigator{padding:6px 10px;font-size:.72rem;top:72px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-minimap-overlay{border-radius:16px;width:min(210px,100% - 36px);padding:10px;bottom:140px;right:18px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-minimap-head{gap:6px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-minimap-head strong{font-size:.8rem}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-minimap-head small{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:.68rem;overflow:hidden}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-minimap-stage{border-radius:12px;min-height:76px}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-resource-rack{z-index:7;max-width:min(520px,100vw - 160px);margin:0;position:absolute;bottom:18px;left:22px;overflow:hidden}.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-resource-rack .upload-chip,.drawing-shell.viewer-page-open .drawing-viewer-2d-shell.fullscreen .drawing-resource-rack .status-pill{text-overflow:ellipsis;white-space:nowrap;max-width:150px;min-height:28px;padding-inline:10px;font-size:.72rem;overflow:hidden}.model-status-chip{z-index:6;pointer-events:none;position:absolute;bottom:18px;right:20px}.model-back-button{top:13px;left:var(--model-tool-left,24px);z-index:12;width:var(--model-tool-size,40px);min-width:var(--model-tool-size,40px);min-height:var(--model-tool-size,40px);border-radius:var(--model-tool-radius,14px);-webkit-backdrop-filter:blur(18px)saturate(1.55);color:var(--ink);background:radial-gradient(circle at 28% 18%,#fffffff2,#ffffff57 34%,#0000 62%),linear-gradient(145deg,#ffffff9e,#f1f7ff47);border:1px solid #ffffff75;place-items:center;padding:0;display:grid;position:absolute;box-shadow:inset 0 1px #ffffffe0,inset 0 -1px #1414170f,0 18px 34px #0e16281a}.model-back-button:hover{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft);color:var(--primary)}.model-viewer-head{justify-content:flex-start;align-items:center;gap:12px}.model-viewer-head .model-back-button{width:var(--model-tool-size,40px);min-width:var(--model-tool-size,40px);min-height:var(--model-tool-size,40px);flex:none;position:static}.model-viewer-head .viewer-head-copy{flex:auto}.model-title-line{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.model-title-line strong{min-width:0;color:var(--ink);text-overflow:ellipsis;font-size:.82rem;font-weight:900;line-height:1.1;overflow:hidden}.model-title-line span{color:var(--muted);letter-spacing:.08em;background:#f5f5f3eb;border-radius:999px;flex:none;padding:3px 7px;font-size:.58rem;font-weight:900;line-height:1}.model-viewer-head .viewer-status-strip{margin-left:auto}.model-viewer-shell{--model-tool-size:clamp(40px, 5.1dvh, 46px);--model-tool-radius:clamp(14px, 1.9dvh, 17px);--model-tool-gap:clamp(5px, .8dvh, 8px);--model-tool-left:clamp(14px, 1.65vw, 24px);--model-tool-top:clamp(62px, 8.5dvh, 78px);--model-tool-bottom:clamp(14px, 2.2dvh, 24px)}.drawing-viewer-2d-shell{--model-tool-size:clamp(40px, 5.1dvh, 46px);--model-tool-radius:clamp(14px, 1.9dvh, 17px);--model-tool-gap:clamp(5px, .8dvh, 8px);--model-tool-left:clamp(14px, 1.65vw, 24px);--model-tool-top:clamp(92px, 11.5dvh, 108px)}.drawing-floating-tools-2d{align-content:start;bottom:auto}.dxf-layer-panel{z-index:18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#1f2430;background:#fffffff0;border:1px solid #d6e2efdb;border-radius:16px;flex-direction:column;width:min(256px,100vw - 122px);max-height:calc(100% - 150px);font-size:13px;display:flex;position:absolute;top:92px;left:90px;overflow:hidden;box-shadow:0 24px 60px #14141726}.dxf-layer-panel-head{border-bottom:1px solid #d6e2efb3;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.dxf-layer-panel-head strong{font-size:13px;font-weight:600}.dxf-layer-panel-actions{align-items:center;gap:4px;display:flex}.dxf-layer-panel-actions button{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:3px 6px;font-size:12px}.dxf-layer-panel-actions button:hover:not(:disabled){background:#2563eb1a}.dxf-layer-panel-actions button:disabled{color:#9aa4b2;cursor:default}.dxf-layer-panel-close{line-height:1;color:#64748b!important;padding:1px 6px!important;font-size:17px!important}.dxf-layer-panel-list{flex-direction:column;gap:1px;padding:6px;display:flex;overflow-y:auto}.dxf-layer-row{border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:5px 6px;display:grid}.dxf-layer-row:hover{background:#94a3b81f}.dxf-layer-row.is-hidden .dxf-layer-name{opacity:.42;text-decoration:line-through}.dxf-layer-toggle{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.dxf-layer-toggle input{accent-color:#2563eb;flex:none}.dxf-layer-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dxf-layer-count{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:11px}.dxf-layer-isolate{color:#475569;cursor:pointer;opacity:.6;background:0 0;border:1px solid #94a3b866;border-radius:999px;padding:2px 9px;font-size:11px;transition:opacity .12s,background .12s}.dxf-layer-row:hover .dxf-layer-isolate{opacity:1}.dxf-layer-isolate:hover{background:#94a3b829}.model-floating-tools{top:var(--model-tool-top);bottom:var(--model-tool-bottom);left:var(--model-tool-left);z-index:6;align-content:start;justify-items:center;gap:var(--model-tool-gap);overscroll-behavior:contain;scrollbar-width:none;grid-auto-rows:max-content;height:auto;max-height:none;padding:0;display:grid;position:absolute;overflow:visible}.model-floating-tools::-webkit-scrollbar{display:none}.model-floating-tools button{width:var(--model-tool-size);min-width:var(--model-tool-size);height:var(--model-tool-size);min-height:var(--model-tool-size);border-radius:var(--model-tool-radius);color:var(--ink);letter-spacing:.03em;-webkit-backdrop-filter:blur(18px)saturate(1.55);background:radial-gradient(circle at 28% 18%,#fffffff2,#ffffff57 34%,#0000 62%),linear-gradient(145deg,#ffffff9e,#f1f7ff47);border:1px solid #ffffff75;place-items:center;padding:0;font-size:.72rem;font-weight:900;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s,color .14s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe0,inset 0 -1px #1414170f,0 18px 34px #0e16281a}.model-floating-tools button:before{content:"";border-radius:calc(var(--model-tool-radius) - 1px);opacity:.8;pointer-events:none;background:linear-gradient(135deg,#ffffffbd,#0000 38%),radial-gradient(circle at 72% 78%,#9694911f,#0000 44%);position:absolute;inset:1px}.model-floating-tools button:after{content:none}.model-tool-divider{width:min(24px, calc(var(--model-tool-size) * .62));background:#14141729;border-radius:999px;height:1px;margin:5px auto;display:block;box-shadow:0 1px #ffffff5c}.model-floating-tools button:hover{background:radial-gradient(circle at 28% 18%,#fffffffa,#fafaf870 34%,#0000 64%),linear-gradient(145deg,#ffffffb8,#f0eeeb57);border-color:#ffffffc7;box-shadow:inset 0 1px #fffffff2,inset 0 -1px #1a1a1d0f,0 20px 38px #1a1a1d21}.model-tool-svg{z-index:1;width:clamp(17px,2.2dvh,19px);height:clamp(17px,2.2dvh,19px);display:block;position:relative}.model-floating-tools button.active{border-color:var(--accent);color:var(--primary);box-shadow:inset 0 1px 0 #fffffff2, inset 0 0 0 2px var(--accent), 0 18px 34px #1a1a1d29;background:radial-gradient(circle at 30% 18%,#fffffff5,#f0eeeb7a 36%,#0000 66%),linear-gradient(145deg,#fafaf8d1,#ffffff6b)}@media (max-height:920px) and (min-width:721px){.model-viewer-shell{--model-tool-size:clamp(38px, 4.9dvh, 42px);--model-tool-radius:14px;--model-tool-gap:5px;--model-tool-top:62px;--model-tool-bottom:12px}.model-floating-tools{top:var(--model-tool-top);bottom:var(--model-tool-bottom);max-height:none}}@media (max-height:720px) and (min-width:721px){.model-viewer-shell{--model-tool-size:36px;--model-tool-radius:13px;--model-tool-gap:4px;--model-tool-top:56px;--model-tool-bottom:10px}.model-floating-tools{top:var(--model-tool-top);bottom:var(--model-tool-bottom);max-height:none}}.model-visual-panel{z-index:8;overscroll-behavior:contain;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #96949142;border-radius:18px;align-content:start;gap:11px;width:min(300px,100vw - 120px);max-height:calc(100dvh - 112px);padding:14px;display:grid;position:absolute;top:96px;left:84px;overflow-y:auto;box-shadow:0 24px 48px #14141724}.model-share-panel{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #96949147;border-radius:18px;gap:6px;width:min(360px,100vw - 120px);max-height:calc(100dvh - 94px);padding:10px 12px 12px;display:grid;position:absolute;top:78px;left:84px;overflow:hidden;box-shadow:0 18px 46px #1414172e}.model-share-head,.model-share-row,.model-share-result{justify-content:space-between;align-items:center;gap:9px;display:flex}.model-share-head strong{margin-top:1px;font-size:.94rem;display:block}.model-share-head small{max-width:250px;color:var(--muted);margin-top:1px;font-size:.66rem;line-height:1.2;display:block}.model-share-head button,.model-share-result button,.model-share-result a,.model-share-copy,.model-share-create{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);border-radius:11px;font-size:.72rem;font-weight:850;text-decoration:none}.model-share-create{color:#fff;background:#16161a;border-color:#16161a}.model-share-create:disabled,.model-share-copy:disabled,.model-share-preview-link.disabled{opacity:.55;pointer-events:none}.model-share-panel label{min-width:0;color:var(--muted);gap:3px;font-size:.66rem;font-weight:850;display:grid}.model-share-panel input,.model-share-panel select,.model-share-panel textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background-color:#fffffff2;border-radius:11px;min-height:34px;padding:6px 9px;font-size:.76rem}.model-share-row label{flex:1}.model-share-row.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.model-share-row.compact>*{min-width:0}.model-share-details{gap:5px;display:grid}.model-share-options{gap:5px;padding-top:0;display:grid}.model-share-options strong{color:var(--ink);font-size:.82rem}.model-share-options label{color:var(--text);grid-template-columns:none;align-items:center;gap:7px;min-height:24px;font-size:.72rem;font-weight:650;display:flex}.model-share-options input[type=checkbox]{accent-color:#16161a;width:14px;height:14px}.model-share-link-input{min-height:34px}.model-share-preview-link{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--muted);border-radius:11px;place-items:center;padding:0 10px;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-grid}.model-share-copy{min-width:0}.model-share-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.model-share-checks label{align-items:center;gap:7px;min-height:30px;display:flex}.model-share-result{background:#fafaf8c7;border:1px solid #1a1a1d29;border-radius:14px;align-items:stretch;padding:8px}.model-share-result span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-self:center;font-size:.76rem;font-weight:800;overflow:hidden}.model-share-error{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2e6;border-radius:11px;margin:0;padding:6px 8px;font-size:.7rem;font-weight:800;line-height:1.2}.model-share-warning-card{border:1px solid var(--warning-soft);background:#fffbebe6;border-radius:14px;gap:6px;padding:10px;display:grid}.model-share-status-card{background:#fafaf8db;border:1px solid #1a1a1d2e;border-radius:14px;gap:6px;padding:10px;display:grid}.model-share-status-card strong{color:var(--accent);font-size:.84rem}.model-share-status-card p{color:var(--text);margin:0;font-size:.74rem;line-height:1.4}.model-share-warning-card strong{color:var(--warning);font-size:.84rem}.model-share-warning-card p{color:var(--warning);margin:0;font-size:.74rem;line-height:1.4}.model-share-warning-card button,.model-share-existing button,.model-share-existing a,.model-share-revoke{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--text);border-radius:10px;padding:0 9px;font-size:.72rem;font-weight:800;text-decoration:none}.model-scenes-panel{z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #1a1a1d2e;border-radius:18px;gap:10px;width:min(430px,100vw - 124px);max-height:min(720px,100dvh - 140px);padding:12px;display:grid;position:absolute;bottom:92px;left:88px;overflow:hidden;box-shadow:0 24px 54px #14141729}.model-scenes-head,.model-scenes-actions,.model-scenes-create-actions,.model-scene-card-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}@media (hover:hover){.model-scene-card-actions{opacity:0;pointer-events:none;transition:opacity .12s}.model-scene-card:hover .model-scene-card-actions,.model-scene-card:focus-within .model-scene-card-actions{opacity:1;pointer-events:auto}}.model-scenes-head strong{margin-top:2px;font-size:.95rem;display:block}.model-scenes-head small{max-width:270px;color:var(--muted);margin-top:3px;font-size:.72rem;line-height:1.35;display:block}.model-scenes-head button,.model-scenes-actions button,.model-scenes-create-actions button,.model-scene-card-actions button{border:1px solid var(--line);min-height:31px;color:var(--ink);background:#ffffffeb;border-radius:12px;padding:0 10px;font-size:.72rem;font-weight:850}.model-scenes-actions{flex-wrap:wrap}.model-scenes-actions button:first-child,.model-scenes-create-actions button:last-child{color:#fff;background:#16161a;border-color:#16161a}.model-scenes-actions button:disabled,.model-scenes-create-actions button:disabled,.model-scene-card-actions button:disabled{opacity:.45;pointer-events:none}.model-scenes-create-card{background:#fafaf9d6;border:1px solid #96949142;border-radius:16px;gap:9px;padding:10px;display:grid}.model-scenes-create-card label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:850;display:grid}.model-scenes-create-card input,.model-scenes-create-card textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#fffffff2;border-radius:12px;padding:8px 10px;font-size:.82rem}.model-scenes-include-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.model-scenes-include-grid label,.model-scenes-default-check{min-height:28px;color:var(--text);grid-template-columns:none;align-items:center;gap:7px;font-size:.76rem;font-weight:700;display:flex}.model-scenes-include-grid input,.model-scenes-default-check input{accent-color:#16161a;width:15px;height:15px}.model-scenes-error,.model-scenes-status{border-radius:12px;margin:0;padding:8px 10px;font-size:.76rem;font-weight:850}.model-scenes-error{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2e6}.model-scenes-status{color:var(--accent);background:#fafaf8e0;border:1px solid #1a1a1d29}.model-scenes-list{scrollbar-width:thin;gap:8px;min-height:0;max-height:390px;padding-right:2px;display:grid;overflow-y:auto}.model-scenes-empty{text-align:center;background:#fafaf9b8;border:1px dashed #96949157;border-radius:16px;gap:5px;padding:18px 12px;display:grid}.model-scenes-empty strong{font-size:.9rem}.model-scenes-empty small{color:var(--muted);font-size:.74rem}.model-scene-card{background:#ffffffe6;border:1px solid #9694913d;border-radius:16px;gap:8px;padding:8px;display:grid}.model-scene-card.active{background:#fafaf9f2;border-color:#14141747;box-shadow:inset 0 0 0 1px #14141714}.model-scene-open{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.model-scene-open img,.model-scene-thumb{object-fit:cover;background:#f5f5f3db;border:1px solid #9694913d;border-radius:12px;width:76px;height:52px}.model-scene-thumb{color:var(--muted);place-items:center;display:grid}.model-scene-thumb .model-tool-svg{width:24px;height:24px}.model-scene-open strong,.model-scene-open small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.model-scene-open strong{color:var(--ink);font-size:.86rem}.model-scene-open small{color:var(--muted);margin-top:2px;font-size:.7rem}.model-scene-card-actions{flex-wrap:wrap;justify-content:flex-start}.model-scene-card-actions .danger{color:var(--muted)}.model-scene-card-actions .danger:hover,.model-scene-card-actions .danger:focus-visible{border-color:var(--danger-soft);color:var(--danger)}.model-share-warning-card button.secondary{color:var(--muted);background:#ffffffb8}.model-share-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;display:grid}.model-share-generated{border:1px solid var(--line);background:#f9fafbb8;border-radius:12px;gap:5px;padding:7px;display:grid}.model-share-generated>strong,.model-share-existing-head strong{font-size:.74rem}.model-share-generated small,.model-share-existing small{color:var(--muted);font-size:.62rem;line-height:1.25}.model-share-generated-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.model-share-existing{gap:5px;padding-top:0;display:grid}.model-share-footnote{color:var(--muted);font-size:.62rem;line-height:1.2}.model-share-existing-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.model-share-link-row{background:#ffffffb8;border:1px solid #96949133;border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:7px;display:grid}.model-share-link-row>div{min-width:0}.model-share-link-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;display:block;overflow:hidden}.work-plan-breakdown-card .eyebrow,.advanced-schedule-panel .eyebrow{letter-spacing:.13em;font-size:.64rem}.work-plan-edit-header,.work-plan-facts,.work-plan-mode-toolbar,.advanced-schedule-panel,.resources-services-panel,.material-plan-panel,.scurve-dashboard-panel{font-size:.78rem}.work-plan-edit-header input,.work-plan-facts input,.work-plan-facts select{border-radius:9px;min-height:30px;font-size:.78rem}.work-plan-edit-header p,.work-plan-save-message,.schedule-mode-helper,.advanced-schedule-panel p,.resources-services-head p{font-size:.76rem;line-height:1.42}.work-plan-breakdown-head h4,.advanced-schedule-panel h4,.resources-services-head h4,.boq-quantity-summary-panel h4{font-size:.94rem;line-height:1.2}.work-plan-breakdown-head span,.work-plan-facts label,.work-plan-edit-header label{font-size:.66rem}.schedule-mode-switcher{padding:3px}.schedule-mode-switcher button{min-width:76px;min-height:30px;padding:5px 11px;font-size:.76rem}.work-plan-breakdown-card .status-pill{min-height:26px;padding:5px 9px;font-size:.66rem;line-height:1}.work-plan-mode-switch{padding:3px}.work-plan-mode-switch button{min-height:30px;padding:6px 11px;font-size:.78rem;font-weight:760}.boq-quantity-summary-strip span,.boq-quantity-summary-grid span,.advanced-schedule-cards span,.material-plan-summary span,.resources-services-summary span{border-radius:13px;min-height:54px;padding:10px 12px;font-size:.68rem;line-height:1.28}.boq-quantity-summary-strip strong,.boq-quantity-summary-grid strong,.advanced-schedule-cards strong,.material-plan-summary strong,.resources-services-summary strong{font-size:.98rem;line-height:1.05}.segmented-control.compact{border-radius:14px;padding:3px}.segmented-control.compact button,.gantt-scale-toggle button,.baseline-controls button,.advanced-report-tabs button,.boq-quantity-subtabs button,.material-plan-actions button,.material-plan-bottom-actions button,.material-plan-filters button,.resources-services-actions button,.resources-services-tabs button,.resources-services-status-filter button,.shell-button{min-height:30px;padding:6px 10px;font-size:.74rem;line-height:1.1}.scurve-cutoff-field{border-radius:13px;min-height:32px;font-size:.68rem}.scurve-toolbar{gap:8px}.scurve-dashboard-panel,.advanced-schedule-panel{gap:12px;padding:14px}.resource-warning-badge,.resource-type-chip,.resource-status-badge,.material-plan-status,.service-plan-status,.resource-schedule-chip{min-height:22px;padding:4px 8px;font-size:.66rem}.shared-view-warning{z-index:6;border:1px solid var(--warning-soft);max-width:min(420px,100% - 140px);color:var(--warning);background:#fffbebf0;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:850;position:absolute;bottom:18px;left:96px;box-shadow:0 16px 34px #1414171f}.shared-3d-page{background:#f8fafc;min-height:100vh}.shared-3d-page .model-viewer-shell{border-radius:0;min-height:100vh}.shared-3d-page .model-viewer-head{top:12px}.shared-3d-loading,.shared-3d-error{text-align:center;min-height:100vh;color:var(--muted);place-content:center;gap:10px;display:grid}.shared-3d-loading span{background:linear-gradient(90deg, #1a1a1d29, rgba(var(--muted-rgb), .18)), #fff;border-radius:22px;justify-self:center;width:72px;height:72px;animation:1.15s ease-in-out infinite alternate shared3dPulse;box-shadow:0 18px 42px #14141724}.shared-3d-loading strong,.shared-3d-error strong{color:var(--ink);font-size:1.05rem}@keyframes shared3dPulse{0%{transform:translateY(0)scale(.96)}to{transform:translateY(-6px)scale(1.04)}}.model-location-sheet{z-index:9;border:1px solid rgba(var(--muted-rgb), .24);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-radius:18px;gap:12px;width:min(430px,100vw - 124px);padding:14px;display:grid;position:absolute;bottom:92px;left:88px;box-shadow:0 24px 54px #14141729}.model-location-head,.model-location-actions,.model-location-mode-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.model-location-head strong{margin-top:2px;font-size:1rem;display:block}.model-location-head button,.model-location-actions button,.model-location-manager button,.model-location-mode-row button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:12px;font-size:.76rem;font-weight:850}.model-location-actions button.primary{color:#fff;background:#16161a;border-color:#16161a}.model-location-grid,.model-location-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.model-location-grid .full-span{grid-column:1/-1}.model-location-grid label,.model-location-manager-grid label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:800;display:grid}.model-location-grid input,.model-location-grid select,.model-location-manager-grid input,.model-location-manager-grid select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--text);font:inherit;background-color:#fffffff0;border-radius:12px;padding:0 10px;font-size:.82rem}.model-location-mode-row{background:#f5f5f3f2;border-radius:14px;justify-content:flex-start;padding:4px}.model-location-mode-row button{min-height:32px;color:var(--muted);background:0 0;border-color:#0000;flex:1}.model-location-mode-row button.active{border-color:rgba(var(--muted-rgb), .28);color:var(--ink);background:#fff;box-shadow:0 8px 18px #14141714}.model-location-check{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.model-location-manager{border-top:1px solid #e0dedbe6;padding-top:2px}.model-location-manager summary{cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:900}.model-location-manager-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.model-location-manager-grid button{align-self:end}.model-location-manager small{color:var(--muted);margin-top:8px;font-size:.72rem;display:block}.model-layer-sheet{z-index:9;border:1px solid rgba(var(--muted-rgb), .24);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-radius:18px;gap:10px;width:min(420px,100vw - 124px);max-height:min(680px,100dvh - 140px);padding:12px;display:grid;position:absolute;bottom:92px;left:88px;overflow:hidden;box-shadow:0 24px 54px #14141729}.model-layer-head,.model-layer-actions,.model-layer-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.model-layer-head-actions{align-items:center;gap:8px;display:inline-flex}.model-layer-head strong{margin-top:2px;font-size:.95rem;display:block}.model-layer-head button,.model-layer-add-inline,.model-layer-create button,.model-layer-actions button,.model-layer-selection-card button,.model-layer-row button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);border-radius:12px;font-size:.74rem;font-weight:850}.model-layer-head button,.model-layer-row>button,.model-layer-selection-card button{padding:0 10px}.model-layer-icon-action{width:38px;min-width:38px;padding:0;font-size:1.05rem;line-height:1}.model-layer-icon-action.active{border-color:rgba(var(--muted-rgb), .35);color:var(--ink);background:#f5f5f3f2}.model-layer-add-inline{border-style:dashed;border-color:rgba(var(--muted-rgb), .36);width:100%;min-height:34px;color:var(--ink);background:#f5f5f361;place-items:center;font-size:1.05rem;line-height:1;display:grid}.model-layer-add-inline.active{color:var(--ink);background:#f5f5f3f2;border-style:solid}.model-layer-create{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) auto;align-items:end;gap:8px;display:grid}.model-layer-create label{color:var(--muted);gap:5px;font-size:.68rem;font-weight:850;display:grid}.model-layer-create input,.model-layer-create select,.model-layer-actions input,.model-layer-selection-card select,.model-layer-edit-fields input,.model-layer-edit-fields select{border:1px solid var(--line);width:100%;min-height:34px;color:var(--text);font:inherit;background-color:#fffffff0;border-radius:12px;padding:0 10px;font-size:.78rem}.model-layer-actions input{flex:1;min-width:0}.model-layer-create>button{color:#fff;background:#16161a;border-color:#16161a;width:38px;min-width:38px;padding:0;font-size:1rem}.model-layer-check{color:var(--muted);align-items:center;gap:8px;font-size:.76rem;font-weight:800;display:flex}.model-layer-selection-card{background:#fafaf9c7;border:1px solid #e0dedbf0;border-radius:14px;grid-template-columns:1fr;align-items:stretch;gap:9px;padding:10px 12px;display:grid}.model-layer-selection-copy{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;display:grid}.model-layer-selection-controls{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;display:grid}.model-layer-selection-card button:disabled{cursor:not-allowed;opacity:.46}.model-layer-selection-card strong,.model-layer-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.model-layer-selection-card small,.model-layer-main small,.model-layer-empty small,.model-layer-footer{color:var(--muted);font-size:.68rem;font-weight:750}.model-layer-selection-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-layer-list{align-content:start;gap:7px;min-height:120px;max-height:310px;padding-right:2px;display:grid;overflow:auto}.model-layer-row{background:#ffffffdb;border:1px solid #e0dedbf0;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto auto 32px;align-items:center;gap:7px;padding:7px;display:grid}.model-layer-row.active{border-color:rgba(var(--muted-rgb), .42);background:#f5f5f3e6}.model-layer-eye{color:#16161a;background:#ffffffb8;border-color:#1414172e;place-items:center;width:32px;min-width:32px;height:32px;padding:0;line-height:1;display:grid;overflow:hidden}.model-layer-eye:hover{background:#ffffffeb;border-color:#14141752}.model-layer-eye-icon{content:"";background:0 0;border:1.6px solid;border-radius:999px 999px 900px 900px/800px;width:17px;height:11px;display:block;position:relative;transform:rotate(-1deg)}.model-layer-eye-icon:before{content:"";background:0 0;border:1.5px solid;border-radius:999px;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-layer-eye.is-hidden{color:#64748b}.model-layer-eye.is-hidden .model-layer-eye-icon:after{content:"";transform-origin:50%;background:currentColor;border-radius:999px;width:24px;height:2px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)rotate(-42deg)}.model-layer-main{text-align:left;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.model-layer-edit-fields{gap:5px;min-width:0;display:grid}.model-layer-edit-fields input{min-height:30px;padding-inline:9px;font-size:.82rem;font-weight:850}.model-layer-edit-fields>span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.model-layer-edit-fields select{min-height:28px;padding-inline:8px;font-size:.68rem;font-weight:800}.model-layer-edit-fields small{white-space:nowrap}.model-layer-row .danger{border-color:var(--danger-soft);color:var(--danger);background:#fef2f2e6}.model-layer-row .model-layer-delete-icon{place-items:center;width:32px;min-width:32px;height:32px;padding:0;display:grid}.model-layer-delete-icon span{border:1.7px solid;border-top:0;border-radius:0 0 3px 3px;width:13px;height:14px;display:block;position:relative}.model-layer-delete-icon span:before,.model-layer-delete-icon span:after{content:"";background:currentColor;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.model-layer-delete-icon span:before{width:15px;height:2px;top:-5px}.model-layer-delete-icon span:after{width:7px;height:2px;top:-8px}.model-layer-empty{color:var(--text);text-align:center;border:1px dashed #96949161;border-radius:14px;gap:4px;padding:18px;display:grid}.model-visual-panel-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.model-visual-panel-head strong{margin-top:2px;font-size:.95rem;display:block}.model-visual-panel-head button{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:800}.model-visual-panel label{color:var(--muted);gap:6px;font-size:.72rem;font-weight:800;display:grid}.model-visual-panel select,.model-visual-panel input[type=range]{width:100%}.model-visual-panel select{border:1px solid var(--line);min-height:38px;color:var(--text);font:inherit;background-color:#ffffffe6;border-radius:12px;padding-left:10px;font-size:.84rem}.model-visual-panel input[type=checkbox],.model-visual-panel input[type=range]{accent-color:var(--primary)}.model-projection-toggle{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.model-projection-toggle button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;font-size:.75rem;font-weight:900}.model-projection-toggle button.active{background:var(--panel);color:var(--ink);border-color:#1111111f;box-shadow:0 1px 2px #1111110f}.app-shell[data-theme=dark] .model-visual-panel{background:#141518f2;border-color:#ffffff1a}.app-shell[data-theme=dark] .model-visual-panel-head button,.app-shell[data-theme=dark] .model-visual-panel select{color:#f4f4f5;background-color:#ffffff0d;border-color:#ffffff1f}.app-shell[data-theme=dark] .model-projection-toggle,.app-shell[data-theme=dark] .model-visual-toggle-row label{color:#e7e7ea;background:#ffffff0a;border-color:#ffffff14}.app-shell[data-theme=dark] .model-projection-toggle button.active{border-color:var(--accent);color:#fff;box-shadow:none;background:#1a1a1d29}.model-visual-toggle-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.model-visual-toggle-row label{border:1px solid var(--line);min-height:34px;color:var(--text);white-space:nowrap;background:#fafaf9e6;border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:.72rem;display:flex}.model-visual-stats{flex-wrap:wrap;gap:6px;display:flex}.model-visual-stats span{background:var(--tone);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800}.model-visual-warning{color:var(--warning);line-height:1.35}.viewer-stage-3d{-webkit-user-select:none;user-select:none;background:radial-gradient(circle at top, rgba(var(--primary-rgb), .16), transparent 58%), linear-gradient(180deg, #f7faff 0%, #eef2f9 100%);overflow:hidden}.viewer-stage-3d *{-webkit-user-select:none;user-select:none}.viewer-stage-3d.first-person-active{cursor:crosshair}.viewer-stage-3d.tool-select{cursor:default}.model-area-selection-box{z-index:14;pointer-events:none;background:#1a1a1d0b;border:1px solid #1a1a1dd1;min-width:1px;min-height:1px;position:absolute;box-shadow:0 0 0 1px #ffffff6b}.model-area-selection-box.crossing{border-style:dashed;border-color:rgba(var(--muted-rgb), .84);background:rgba(var(--muted-rgb), .045)}.first-person-mode-menu{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #96949142;border-radius:16px;gap:8px;width:230px;padding:10px;display:grid;position:absolute;top:204px;left:84px;box-shadow:0 20px 44px #14141724}.first-person-mode-menu button{border:1px solid var(--line);text-align:left;min-height:50px;color:var(--text);background:#fafaf9eb;border-radius:12px;gap:3px;padding:9px 11px;display:grid}.first-person-mode-menu button strong{font-size:.84rem}.first-person-mode-menu button span{color:var(--muted);font-size:.72rem;font-weight:750}.first-person-mode-menu button.active{border-color:rgba(var(--primary-rgb), .3);background:var(--primary-soft);color:var(--primary)}.first-person-mode-menu button.danger{background:var(--ink);color:#fff;text-align:center;min-height:38px;font-weight:900;display:block}.model-canvas-host{z-index:1;position:absolute;inset:0}.model-render-surface{touch-action:none;outline:0;width:100%;height:100%;display:block}.first-person-mode-overlay{z-index:12;border:1px solid rgba(var(--primary-rgb), .16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-width:calc(100% - 140px);color:var(--ink);background:#ffffffe0;border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;display:flex;position:absolute;bottom:18px;left:92px;box-shadow:0 18px 44px #0e16281f}.first-person-mode-overlay.mode-walk{border-color:rgba(var(--muted-rgb), .22)}.first-person-mode-copy{gap:2px;min-width:132px;display:grid}.first-person-mode-copy strong{font-size:.78rem;line-height:1}.first-person-mode-copy span,.first-person-mode-shortcuts span,.first-person-slider span{color:var(--muted);font-size:.64rem;font-weight:800;line-height:1.1}.first-person-mode-shortcuts{flex-wrap:wrap;gap:5px;max-width:230px;display:flex}.first-person-mode-shortcuts span{color:var(--ink);white-space:nowrap;background:#f5f5f3eb;border-radius:999px;padding:5px 7px}.first-person-debug-strip{flex-wrap:wrap;gap:4px;max-width:210px;display:flex}.first-person-debug-strip span{border:1px solid rgba(var(--muted-rgb), .18);color:var(--ink);white-space:nowrap;background:#ecfdf5e6;border-radius:999px;padding:4px 6px;font-size:.62rem;font-weight:900;line-height:1}.first-person-debug-strip.warning span{border-color:var(--warning-soft);color:var(--warning);background:#fffbebf0}.first-person-mode-tabs{background:#f5f5f3eb;border-radius:14px;gap:4px;padding:4px;display:inline-flex}.first-person-mode-tabs button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 10px;font-size:.7rem}.first-person-mode-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 8px 18px #14141714}.first-person-slider{gap:4px;min-width:0;display:grid}.first-person-slider input{width:100%;accent-color:var(--primary)}.first-person-toggle-field{align-items:center;gap:7px;margin-bottom:8px;display:flex}.first-person-toggle-field input{width:14px;height:14px;accent-color:var(--primary)}.first-person-toggle-field span{color:var(--ink);font-size:.66rem;font-weight:900;line-height:1.1}.first-person-mode-overlay button{background:var(--ink);color:#fff;border:1px solid #141417e6;border-radius:12px;min-height:34px;padding:0 13px;font-size:.74rem;font-weight:900}.first-person-advanced-settings{position:relative}.first-person-advanced-settings summary{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#ffffffe6;border-radius:12px;place-items:center;padding:0 11px;font-size:.72rem;font-weight:900;list-style:none;display:grid}.first-person-advanced-settings summary::-webkit-details-marker{display:none}.first-person-advanced-settings[open]{min-width:190px}.first-person-advanced-settings[open] summary,.first-person-advanced-settings[open] .first-person-slider{margin-bottom:8px}.model-view-cube{z-index:8;pointer-events:auto;-webkit-user-select:none;user-select:none;width:84px;height:84px;position:absolute;top:46px;right:34px}.viewcube-home,.viewcube-fit{z-index:3;color:#222124db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #d2d0cdb8;border-radius:10px;place-items:center;width:26px;height:26px;padding:0;display:grid;position:absolute;right:-14px;box-shadow:0 12px 24px #1414171a}.viewcube-home{top:-6px}.viewcube-fit{bottom:-6px}.viewcube-home .model-tool-svg,.viewcube-fit .model-tool-svg{width:14px;height:14px}.viewcube-face.hover-region-multi{box-shadow:inset 0 1px 0 #ffffffeb, inset 0 0 0 1px rgba(var(--muted-rgb), .18), 0 0 0 2px rgba(var(--muted-rgb), .08);color:var(--ink);background:linear-gradient(135deg,#f5f5f3e6,#f0eeebb8);border-color:#0ea5a370}.viewcube-compass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle,#ffffff1a 0 35%,#0000 36%),conic-gradient(from 20deg,#96949129,#e0dedb47,#96949129);border-radius:999px;position:absolute;inset:6px;box-shadow:inset 0 0 0 1px #96949129,0 14px 30px #14141714}.viewcube-compass:after{content:"";pointer-events:none;border:1px solid #96949138;border-radius:999px;position:absolute;inset:18px}.viewcube-compass-label{z-index:2;color:#475569c7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;width:22px;height:22px;padding:0;font-size:.7rem;font-weight:900;line-height:1;transition:border-color .14s,background .14s,color .14s,transform .14s;display:grid;position:absolute}.viewcube-compass-label.north{top:2px;left:50%;transform:translate(-50%)}.viewcube-compass-label.east{top:50%;right:2px;transform:translateY(-50%)}.viewcube-compass-label.south{bottom:2px;left:50%;transform:translate(-50%)}.viewcube-compass-label.west{top:50%;left:2px;transform:translateY(-50%)}.viewcube-stage{z-index:2;perspective:240px;width:44px;height:44px;transform-style:preserve-3d;position:absolute;top:20px;left:12px}.viewcube-cube{width:44px;height:44px;transform-style:preserve-3d;will-change:transform;transition:transform .26s cubic-bezier(.2,.8,.2,1);position:relative}.viewcube-face{color:#475569c7;letter-spacing:.04em;text-align:center;backface-visibility:hidden;cursor:default;pointer-events:auto;background:#f5f5f3b8;border:1px solid #96949185;place-items:center;width:44px;height:44px;padding:0;font-size:.45rem;font-weight:900;line-height:1;display:grid;position:absolute;box-shadow:inset 0 1px #ffffffdb}.viewcube-face-label{z-index:1;pointer-events:none;text-shadow:0 1px #fffc;position:relative}.viewcube-region-grid{z-index:2;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:0}.viewcube-region{cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;padding:0}.viewcube-region-top-left{grid-area:1/1}.viewcube-region-top{grid-area:1/2}.viewcube-region-top-right{grid-area:1/3}.viewcube-region-left{grid-area:2/1}.viewcube-region-center{grid-area:2/2}.viewcube-region-right{grid-area:2/3}.viewcube-region-bottom-left{grid-area:3/1}.viewcube-region-bottom{grid-area:3/2}.viewcube-region-bottom-right{grid-area:3/3}.viewcube-region:hover{background:#1a1a1d2e;box-shadow:inset 0 0 0 1px #1a1a1d57}.viewcube-region-face:hover{background:#1a1a1d38}.viewcube-region-edge:hover{background:rgba(var(--muted-rgb), .2);box-shadow:inset 0 0 0 1px rgba(var(--muted-rgb), .36)}.viewcube-region-corner:hover{background:var(--warning-soft);box-shadow:inset 0 0 0 1px #f59e0b66}.viewcube-face.top{transform:rotateX(90deg)translateZ(22px)}.viewcube-face.front{transform:translateZ(22px)}.viewcube-face.back{transform:rotateY(180deg)translateZ(22px)}.viewcube-face.left{transform:rotateY(-90deg)translateZ(22px)}.viewcube-face.right{transform:rotateY(90deg)translateZ(22px)}.viewcube-face.bottom{pointer-events:auto;background:#d2d0cd7a;transform:rotateX(-90deg)translateZ(22px)}.viewcube-face:hover,.viewcube-face.hover-region:hover,.viewcube-face.hover-region{box-shadow:inset 0 1px #ffffffeb,0 0 0 2px #1a1a1d1a}.model-loading-overlay,.model-unsupported-state{z-index:4;text-align:center;background:#ffffffe6;border:1px solid #14141714;border-radius:24px;place-items:center;gap:12px;padding:28px;display:grid;position:absolute;inset:18px;box-shadow:0 18px 34px #14141714}.model-loading-overlay strong,.model-unsupported-state strong{font-size:1.02rem}.model-unsupported-state p,.model-unsupported-state small{max-width:560px;color:var(--muted);margin:0;line-height:1.6}.model-warning-chip{z-index:7;border:1px solid var(--warning-soft);max-width:min(520px,100% - 36px);color:var(--warning);background:#fffbebeb;border-radius:12px;padding:9px 12px;font-size:.78rem;font-weight:700;line-height:1.35;position:absolute;bottom:18px;left:18px;box-shadow:0 14px 32px #92400e1f}.model-state-copy{text-align:center;gap:6px;display:grid}.model-state-copy p,.model-state-copy small{color:var(--muted);margin:0}.model-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.model-state-actions button{min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #c2d1f4f2;border-radius:999px;padding:10px 14px;font-weight:800}.model-state-actions button:hover{background:#ecf2fff2}.model-scene{transform-style:preserve-3d;transition:transform .18s;position:absolute;inset:72px 90px 90px}.model-floor-grid{background:linear-gradient(rgba(var(--primary-rgb), .06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--primary-rgb), .06) 1px, transparent 1px);background-size:38px 38px;border-radius:26px;height:58%;position:absolute;inset:auto 0 0;transform:rotateX(72deg)translateZ(-40px)}.model-shell{transform-style:preserve-3d;position:absolute;inset:14% 18% 18%}.model-volume{border:1px solid rgba(var(--primary-rgb), .14);border-radius:24px;position:absolute;box-shadow:0 26px 44px #132d601a}.model-volume-main{background:linear-gradient(#fffffff5,#e1ecffe6);inset:12% 14%;transform:translateZ(26px)}.model-volume-core{background:linear-gradient(180deg, rgba(var(--primary-rgb), .18), rgba(var(--primary-rgb), .05));inset:26% 36%;transform:translateZ(62px)}.model-volume-wing{background:linear-gradient(#5699ff29,#5699ff0a);inset:40% 8% 18% 52%;transform:translateZ(34px)}.model-scene.sectioned .model-volume-main{clip-path:polygon(0 0,62% 0,48% 100%,0 100%)}.model-scene.isolated .model-volume-main,.model-scene.isolated .model-volume-wing{opacity:.22}.model-scene.isolated .model-volume-core{opacity:1}.model-scene.layers-muted .model-floor-grid{opacity:.24}.pin-3d{z-index:5}.pin-3d.pin-hidden{opacity:0;pointer-events:none}.model-capture-flash{background:#ffffffb8;animation:.42s modelCaptureFlash;position:absolute;inset:0}.drawing-cad-placeholder{z-index:1;text-align:center;background:#ffffffe6;border:1px solid #14141714;border-radius:24px;place-items:center;gap:10px;padding:26px;display:grid;position:absolute;inset:16% 14%}.drawing-cad-placeholder p{max-width:440px;color:var(--muted);margin:0;line-height:1.55}@keyframes modelCaptureFlash{0%{opacity:0}35%{opacity:1}to{opacity:0}}.drawing-staging-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:stretch;gap:16px;display:grid}.drawing-staging-layout.pdf-import-wizard-layout{grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:12px;height:100%;min-height:0;overflow:hidden}.pdf-import-browser,.pdf-import-settings{border:1px solid rgba(var(--primary-rgb), .12);background:radial-gradient(circle at 0% 0%, rgba(var(--primary-rgb), .06), transparent 32%), linear-gradient(180deg, #fff, #f8fbff);border-radius:18px;min-width:0;height:100%;min-height:0;overflow:hidden}.pdf-import-browser{grid-template-rows:auto minmax(210px,1fr) auto minmax(120px,172px);gap:8px;padding:12px;display:grid}.pdf-import-settings{scrollbar-width:thin;align-content:start;gap:7px;padding:11px;display:grid;overflow:hidden auto}.pdf-import-settings h4{margin:0;font-size:.9rem}.pdf-import-settings p,.pdf-import-browser-head small{color:var(--muted);margin:2px 0 0;font-size:.74rem;line-height:1.35}.pdf-import-browser-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.pdf-import-browser-head strong{font-size:.98rem;line-height:1.2;display:block}.pdf-import-preview-large{border:1px solid var(--line);background:#f8fafc;border-radius:16px;min-height:0;overflow:hidden}.pdf-import-live-preview{height:100%;min-height:220px}.pdf-import-live-preview .pdf-canvas{object-fit:contain;max-width:calc(100% - 20px);max-height:330px;width:auto!important}.pdf-import-thumbnails{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;min-height:0;max-height:172px;padding-right:4px;overflow:hidden auto}.pdf-import-thumbnails button.current{box-shadow:0 0 0 2px #14141714}.pdf-page-check{background:#fff;border:1px solid #14141738;border-radius:4px;width:14px;height:14px;margin-left:auto;display:inline-block}.pdf-page-check.checked{border-color:rgba(var(--primary-rgb), .55);background:linear-gradient(135deg, transparent 0 42%, white 43% 55%, transparent 56% 100%), var(--primary)}.pdf-import-loading-state{border:1px dashed rgba(var(--primary-rgb), .18);text-align:center;background:#fafaf8d9;border-radius:14px;grid-column:1/-1;place-items:center;gap:6px;min-height:96px;display:grid}.pdf-import-loading-state p{color:var(--muted);margin:0}.pdf-import-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.pdf-import-mode-grid button{border:1px solid var(--line);min-width:0;min-height:36px;color:var(--text);text-align:left;background:#fff;border-radius:12px;gap:2px;padding:7px 9px;transition:border-color .16s,background .16s,transform .16s;display:grid}.pdf-import-mode-grid button:hover,.pdf-import-mode-grid button.active{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft);transform:translateY(-1px)}.pdf-import-mode-grid small{color:var(--muted);font-size:.76rem;line-height:1.35;display:none}.pdf-import-mode-grid strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;line-height:1.1;overflow:hidden}.pdf-import-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pdf-import-metadata-grid .drawing-meta-field:first-child{grid-column:1/-1}.pdf-import-summary{border:1px solid var(--line);background:#ffffffbd;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px;display:grid}.pdf-import-summary div{gap:2px;display:grid}.pdf-import-summary .full{grid-column:1/-1}.pdf-import-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:700}.pdf-import-summary strong{color:var(--text);font-size:.86rem}.field-error{color:var(--danger);margin-top:6px;font-size:.76rem;font-weight:600;display:block}.drawing-staging-main{border:1px solid rgba(var(--primary-rgb), .12);background:radial-gradient(circle at 0% 0%, rgba(var(--primary-rgb), .07), transparent 34%), linear-gradient(180deg, #fff, #f8fbff);border-radius:20px;align-content:start;gap:14px;min-height:460px;padding:18px;display:grid}.drawing-cad-notice{border:1px solid var(--warning-soft);background:#fff7edeb;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.drawing-cad-notice strong{color:var(--warning)}.drawing-cad-notice p{color:var(--warning);margin:0;line-height:1.5}.drawing-cad-notice.is-calm{border-color:var(--line);background:var(--surface-soft,#fafaf9eb)}.drawing-cad-notice.is-calm strong{color:var(--ink);font-size:.9rem}.drawing-cad-notice.is-calm p{color:var(--muted);font-size:.82rem}.cad-export-settings,.cad-export-help ul{color:var(--warning);margin:4px 0 0;padding-left:18px;font-size:.82rem;line-height:1.45}.cad-aps-stage{min-height:640px;position:relative;overflow:hidden}.aps-viewer-canvas{background:linear-gradient(#f8fbff 0%,#eef4fb 100%);min-height:640px;position:absolute;inset:0}.cad-aps-overlay{z-index:5;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #14141714;border-radius:20px;place-content:center;gap:8px;padding:24px;display:grid;position:absolute;inset:24px}.cad-aps-overlay.compact{place-content:center;min-height:72px;inset:auto 24px 24px}.cad-aps-overlay p{color:var(--muted);margin:0;line-height:1.5}.aps-fullscreen-toggle{z-index:6;border:1px solid var(--line);min-height:38px;color:var(--text);background:#fffffff0;border-radius:999px;padding:0 12px;position:absolute;top:16px;right:16px}.drawing-staging-copy{gap:8px;max-width:640px;display:grid}.drawing-staging-copy strong{font-size:1.08rem;line-height:1.35}.drawing-source-chip{border:1px solid var(--line);width:fit-content;min-height:40px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:0 12px;display:inline-flex}.drawing-source-chip-badge{background:var(--primary-soft);min-width:40px;height:26px;color:var(--primary);letter-spacing:.06em;border-radius:999px;place-items:center;padding:0 10px;font-size:.72rem;font-weight:700;display:inline-grid}.drawing-form-grid-compact{grid-template-columns:minmax(220px,1.35fr) minmax(170px,.85fr) minmax(150px,.7fr);align-items:stretch}.drawing-staging-layout>*,.drawing-staging-main,.drawing-staging-main>*,.drawing-staging-copy,.drawing-form-grid-compact>*{min-width:0}.drawing-source-chip{min-width:0;max-width:100%}.drawing-source-chip>span:not(.drawing-source-chip-badge){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawing-form-grid-compact .apply-page-button{grid-column:1/-1;width:min(320px,100%);min-height:48px}.upload-page-field-inline{min-width:0}.drawing-page-stepper-inline{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.drawing-page-stepper-inline button{border:1px solid var(--line);background:var(--neutral-soft);min-height:34px;color:var(--text);border-radius:10px;font-weight:700}.drawing-page-stepper-inline button:disabled,.drawing-preview-page-switch button:disabled{opacity:.42;cursor:not-allowed}.drawing-page-stepper-inline input{text-align:center;min-width:0}.drawing-mini-preview-card{border:1px solid rgba(var(--primary-rgb), .12);background:radial-gradient(circle at 100% 0,#0d948814,#0000 36%),#fffffff5;border-radius:20px;align-content:start;gap:12px;min-height:460px;padding:16px;display:grid;box-shadow:0 18px 44px #14141712}.drawing-mini-preview-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawing-mini-preview-head strong{display:block}.drawing-mini-preview-head small{color:var(--muted);margin-top:4px;font-size:.82rem;display:block}.drawing-preview-page-switch{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.drawing-preview-page-switch button{border:1px solid var(--line);min-height:36px;color:var(--text);background:#fff;border-radius:12px;padding:0 14px;font-size:.82rem;font-weight:600}.drawing-preview-page-switch span{color:var(--muted);font-size:.82rem;font-weight:700}.drawing-mini-preview-stage{border:1px solid var(--line);background:#f8fafc;border-radius:16px;min-height:330px;position:relative;overflow:hidden}.drawing-mini-preview-frame,.drawing-mini-preview-image{background:#f8fafc;border:0;width:100%;height:330px}.drawing-mini-preview-frame{min-height:330px}.drawing-mini-preview-frame .pdf-canvas{object-fit:contain;max-width:calc(100% - 28px);max-height:300px;width:auto!important}.drawing-mini-preview-image{object-fit:contain;object-position:center}.drawing-page-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.drawing-page-range-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.drawing-page-range-bar small{color:var(--muted);font-size:.78rem;font-weight:600}.drawing-page-range-actions{align-items:center;gap:8px;display:inline-flex}.drawing-page-range-actions button{border:1px solid var(--line);min-height:32px;color:var(--text);background:#fff;border-radius:10px;padding:0 10px;font-size:.78rem;font-weight:600}.drawing-page-range-actions button:disabled{opacity:.45;cursor:not-allowed}.drawing-page-thumbnails button{border:1px solid var(--line);color:var(--text);text-align:left;background:#fff;border-radius:12px;gap:6px;padding:8px;transition:border-color .16s,background .16s;display:grid}.drawing-page-thumbnails button:hover,.drawing-page-thumbnails button.active{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft)}.drawing-page-thumbnail-label{color:var(--muted);letter-spacing:.04em;align-items:center;gap:8px;font-size:.74rem;font-weight:700;display:flex}.drawing-page-thumbnail-frame{border:1px solid var(--line);pointer-events:none;background:#fff;border-radius:10px;width:100%;height:88px}.drawing-page-thumbnail-frame .pdf-canvas-state strong,.drawing-page-thumbnail-frame .pdf-canvas-fallback p{display:none}.drawing-page-thumbnail-frame .pdf-canvas{object-fit:contain;max-width:calc(100% - 8px);max-height:78px;width:auto!important}.drawing-page-thumbnail-placeholder{border:1px solid var(--line);height:88px;color:var(--primary);background:linear-gradient(#f7faff,#eef3fb);border-radius:10px;place-items:center;gap:4px;display:grid}.drawing-page-thumbnail-placeholder span{letter-spacing:.06em;font-size:.72rem;font-weight:700}.drawing-page-thumbnail-placeholder strong{font-size:1.1rem}.drawing-upload-modal.is-pdf-import .drawing-source-chip{border-radius:999px;gap:8px;max-width:min(260px,42vw);min-height:32px;padding:0 10px;font-size:.76rem}.drawing-upload-modal.is-pdf-import .drawing-source-chip>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drawing-upload-modal.is-pdf-import .drawing-source-chip-badge{min-width:34px;height:22px;padding:0 8px;font-size:.64rem}.drawing-upload-modal.is-pdf-import .drawing-page-range-bar{gap:8px;min-width:0}.drawing-upload-modal.is-pdf-import .drawing-page-range-bar small{text-overflow:ellipsis;white-space:nowrap;min-width:120px;font-size:.68rem;overflow:hidden}.drawing-upload-modal.is-pdf-import .drawing-page-range-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0}.drawing-upload-modal.is-pdf-import .drawing-page-range-actions button{border-radius:9px;min-height:26px;padding:0 7px;font-size:.66rem}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnails button{border-radius:10px;gap:4px;padding:5px}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-label{letter-spacing:0;gap:4px;font-size:.6rem}.drawing-upload-modal.is-pdf-import .pdf-page-check{border-radius:3px;width:11px;height:11px}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-frame,.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-placeholder{border-radius:8px;height:40px}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-frame .pdf-canvas-shell{overflow:hidden}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-frame .pdf-canvas{border-radius:5px;max-width:calc(100% - 4px);max-height:34px}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-placeholder span{font-size:.56rem}.drawing-upload-modal.is-pdf-import .drawing-page-thumbnail-placeholder strong{font-size:.78rem}.drawing-upload-modal.is-pdf-import .drawing-meta-field{border-radius:13px;gap:5px;padding:7px 9px}.drawing-upload-modal.is-pdf-import .drawing-meta-field span{font-size:.62rem}.drawing-upload-modal.is-pdf-import .drawing-meta-field input,.drawing-upload-modal.is-pdf-import .drawing-meta-field select{min-height:28px;font-size:.76rem}.drawing-upload-modal.is-pdf-import .apply-page-button{border-radius:13px;min-height:38px;font-size:.78rem}.drawing-upload-modal.is-pdf-import .pdf-canvas-shell{overflow:hidden}.drawing-upload-modal.is-pdf-import .pdf-canvas{border-radius:10px}.drawing-upload-modal.is-pdf-import .pdf-canvas-state,.drawing-upload-modal.is-pdf-import .pdf-canvas-fallback{border-radius:14px;gap:5px;max-width:230px;padding:10px 12px}.drawing-upload-modal.is-pdf-import .pdf-canvas-state span{border-width:3px;width:28px;height:28px}.drawing-upload-modal.is-pdf-import .pdf-canvas-state strong,.drawing-upload-modal.is-pdf-import .pdf-canvas-fallback p{font-size:.74rem}.drawing-topbar{gap:16px;display:grid}.drawing-topbar-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.drawing-topbar-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);align-items:start;gap:16px;display:grid}.drawing-topbar-grid.single-column{grid-template-columns:minmax(0,1fr)}.drawing-controls-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:18px;gap:14px;padding:16px;display:grid}.drawing-control-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.drawing-tabs-row{justify-content:space-between}.page-preview-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:16px;display:grid}.page-preview-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-preview-head strong{display:block}.floor-tabs{flex-wrap:wrap;flex:1;gap:8px;display:flex}.floor-tab-item{align-items:center;gap:6px;display:inline-flex}.drawing-form-grid{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(120px,.5fr);align-items:start;gap:12px;display:grid}.simple-drawing-form{border:1px solid var(--line);background:var(--panel-soft);border-radius:16px;gap:14px;padding:16px;display:grid}.drawing-tool-toggle{background:var(--neutral-soft);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:4px;display:inline-grid}.drawing-tool-toggle button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 12px;font-weight:600}.drawing-tool-toggle button.active{color:var(--primary);background:#fff;box-shadow:0 4px 14px #16161914}.floor-tabs button,.viewer-controls button{border-radius:12px;min-height:42px;padding:0 12px}.floor-tab-delete{border:1px solid var(--line);min-width:32px;min-height:32px;color:var(--muted);background:#fff;border-radius:10px;padding:0 10px;font-weight:700}.floor-tab-delete.action{border-radius:12px;min-height:42px;padding:0 14px}.page-stepper{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.page-stepper button{border:1px solid var(--line);min-height:42px;color:var(--text);background:#fff;border-radius:12px;padding:0 14px}.viewer-controls button:disabled{opacity:.45;cursor:not-allowed}.viewer-controls .viewer-control-active{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft);color:var(--primary)}.floor-tabs button.active{border-color:rgba(var(--primary-rgb), .25);background:var(--primary-soft)}.floor-tab-item.active .floor-tab-delete{border-color:rgba(var(--primary-rgb), .18);background:var(--primary-soft);color:var(--primary)}.drawing-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-thumbnail-rail{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.drawing-layout{grid-template-columns:320px minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid;overflow:clip}.drawing-layout.left-collapsed{grid-template-columns:minmax(0,1fr) 360px}.drawing-layout.right-collapsed{grid-template-columns:320px minmax(0,1fr)}.drawing-layout.focus-mode,.drawing-layout.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr)}.drawing-left,.drawing-center,.drawing-right{min-width:0;position:relative;overflow:hidden}.drawing-left,.drawing-right{z-index:3}.drawing-center{z-index:1}.filter-group{gap:10px;margin-bottom:14px;display:grid}.issue-filter-compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.issue-filter-compact .drawing-sidebar-search{border-radius:999px;min-height:38px;padding:0 12px;font-size:.88rem}.issue-filter-icons{align-items:center;gap:6px;display:flex}.issue-filter-icon{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#ffffffdb;border:1px solid #d2d0cdf2;border-radius:999px;place-items:center;transition:border-color .14s,background .14s,color .14s,transform .14s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #1414170f}.issue-filter-icon:hover,.issue-filter-icon.active{border-color:rgba(var(--primary-rgb), .32);color:var(--primary);background:#ecf2fff5;transform:translateY(-1px)}.issue-filter-icon.active:after{content:"";background:var(--primary);border:1px solid #fff;border-radius:999px;width:6px;height:6px;position:absolute;top:7px;right:7px}.issue-filter-icon svg{pointer-events:none;width:17px;height:17px}.issue-filter-icon select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.issue-card{text-align:left;border-radius:var(--radius-md);width:100%;color:inherit;cursor:pointer;display:block}.issue-card.active{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft)}.issue-card-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.issue-delete-button{border:1px solid var(--danger-soft);color:var(--danger);cursor:pointer;background:#fef2f2e6;border-radius:999px;padding:8px 10px;font-size:.76rem;font-weight:700;line-height:1}.issue-delete-button:hover{border-color:var(--danger-soft);background:#fee2e2f2}.drawing-center{z-index:1;padding:18px;position:relative}.viewer-head-floating{align-items:flex-start;margin-bottom:8px}.viewer-head-copy{gap:3px;min-width:0;display:grid}.viewer-head-copy .eyebrow{text-overflow:ellipsis;white-space:nowrap;max-width:min(720px,58vw);overflow:hidden}.viewer-head-copy h4{text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,60vw);margin:0;font-size:.98rem;line-height:1.25;overflow:hidden}.viewer-head-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,60vw);font-size:.78rem;line-height:1.25;display:block;overflow:hidden}.viewer-controls-floating{flex-wrap:wrap;justify-content:flex-end}.viewer-status-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.drawing-center.fullscreen{z-index:35;border-radius:28px;padding:20px;position:fixed;inset:14px;overflow:auto;box-shadow:0 24px 72px #1616193d}.drawing-shell.viewer-open .drawer-backdrop{z-index:42}.drawing-shell.viewer-open .drawing-drawer-shell{z-index:46}.drawing-center.fullscreen .viewer-stage,.drawing-center.fullscreen .viewer-canvas{min-height:calc(100vh - 240px)}.viewer-head,.resource-rack{margin-bottom:14px}.drawing-legend{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.drawing-legend-floating{margin-bottom:12px}.drawing-legend-item{align-items:center;gap:8px;display:inline-flex}.drawing-minimap{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;gap:10px;margin-bottom:14px;padding:14px;display:grid}.drawing-minimap-overlay{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;width:min(260px,100% - 36px);margin:0;position:absolute;bottom:18px;right:18px}.drawing-minimap-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawing-minimap-head small{color:var(--muted)}.drawing-minimap-stage{border:1px solid rgba(var(--primary-rgb), .12);cursor:pointer;background:linear-gradient(180deg, #fffffff5, #f1f5fbf0), repeating-linear-gradient(0deg, transparent 0, transparent 16px, rgba(var(--muted-rgb), .06) 16px, rgba(var(--muted-rgb), .06) 17px), repeating-linear-gradient(90deg, transparent 0, transparent 16px, rgba(var(--muted-rgb), .06) 16px, rgba(var(--muted-rgb), .06) 17px);border-radius:16px;min-height:120px;position:relative;overflow:hidden}.minimap-viewport{border:2px solid rgba(var(--primary-rgb), .48);background:rgba(var(--primary-rgb), .08);border-radius:12px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff7a}.minimap-zone{border:1px dashed rgba(var(--primary-rgb), .24);background:rgba(var(--primary-rgb), .06);border-radius:999px;position:absolute}.minimap-pin{border:2px solid #fff;border-radius:999px;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 10px #16161929}.minimap-pin-open{background:var(--danger)}.minimap-pin-in-progress{background:var(--warning)}.minimap-pin-review{background:var(--primary)}.minimap-pin-done{background:var(--success)}.minimap-pin.active{width:14px;height:14px;box-shadow:0 0 0 6px rgba(var(--primary-rgb), .12)}.upload-chip{background:var(--neutral-soft);min-height:40px;color:var(--text);border-radius:12px;align-items:center;padding:0 12px;display:inline-flex;position:relative}.upload-button-trigger{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.upload-button-trigger input{opacity:0;cursor:pointer;position:absolute;inset:0}.drawing-meta-field{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;min-width:0;padding:12px 14px;display:grid}.drawing-meta-field span{color:var(--muted);font-size:.82rem;font-weight:600}.drawing-meta-field input{background:0 0;border:0;min-height:28px;padding:0}.drawing-name-field{min-width:0}.upload-context-select{min-width:190px}.upload-page-field{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:start;gap:8px;min-height:44px;padding:12px 14px;display:grid}.upload-page-field.compact{min-width:140px}.upload-page-field span{color:var(--muted);font-size:.88rem}.upload-page-field input{background:0 0;border:0;width:100%;min-height:28px;padding:0}.upload-chip input,.upload-inline input{opacity:0;position:absolute;inset:0}.viewer-stage{border:1px solid var(--line);overscroll-behavior:contain;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;border-radius:24px;min-height:620px;position:relative;overflow:hidden}.viewer-loading-overlay{z-index:12;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffdb;place-items:center;gap:14px;display:grid;position:absolute;inset:0}.viewer-loading-overlay strong{font-size:.98rem}.viewer-loading-skeleton{gap:8px;width:min(420px,100% - 48px);display:grid}.viewer-loading-skeleton span{background:linear-gradient(90deg,#eef3fb 25%,#f9fbff 45%,#eef3fb 65%) 0 0/200% 100%;border-radius:999px;height:20px;animation:1.3s linear infinite shimmer;display:block}.viewer-loading-skeleton span:nth-child(2){width:84%}.viewer-loading-skeleton span:nth-child(3){width:68%}.drawing-floating-tools{z-index:10;gap:10px;display:grid;position:absolute;top:18px;left:18px}.drawing-floating-tools button{min-width:56px;height:48px;color:var(--text);letter-spacing:.04em;background:#fffffff5;border:1px solid #e4eaf4e6;border-radius:18px;padding:0 10px;font-size:.72rem;font-weight:700;transition:transform .16s,border-color .16s,background .16s;box-shadow:0 12px 32px #1616191f}.drawing-floating-tools button:hover,.drawing-floating-tools button.active{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft);color:var(--primary);transform:translateY(-1px)}.viewer-stage.tool-pin{cursor:crosshair}.viewer-stage.tool-move{cursor:cell}.viewer-stage.tool-pan{cursor:grab}.viewer-stage.tool-zoom{cursor:zoom-in}.viewer-stage.tool-measure{cursor:crosshair}.viewer-stage.is-panning,.viewer-stage.tool-pan:active{cursor:grabbing}.viewer-stage.tool-select{cursor:default}.viewer-canvas{transform-origin:0 0;width:100%;min-height:620px;position:relative}.drawing-touch-hint{z-index:17;color:#1f2937b8;-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);pointer-events:none;background:#ffffffd1;border:1px solid #d9e2efe0;border-radius:999px;align-items:center;gap:8px;max-width:min(360px,100% - 32px);padding:8px 10px;font-size:.7rem;font-weight:800;display:none;position:absolute;bottom:84px;right:16px;box-shadow:0 16px 38px #1414171a}.drawing-touch-hint strong{color:var(--ink);background:#f2f1eedb;border-radius:999px;flex:none;padding:4px 8px;font-size:.75rem}.drawing-touch-mini-toolbar{z-index:18;-webkit-backdrop-filter:blur(18px)saturate(155%);backdrop-filter:blur(18px)saturate(155%);background:#ffffffd1;border:1px solid #d9e2efdb;border-radius:18px;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px;display:none;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 20px 48px #1414171f}.drawing-touch-mini-toolbar button{min-width:44px;height:44px;color:var(--ink);background:#ffffffeb;border:1px solid #d9e2efe6;border-radius:12px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.66rem;font-weight:850;line-height:1;display:inline-flex}.drawing-touch-mini-toolbar button.active{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft);color:var(--primary)}.drawing-touch-mini-toolbar button:disabled{cursor:not-allowed;opacity:.46}.drawing-touch-mini-toolbar .model-tool-svg{width:15px;height:15px}.drawing-touch-selection-box{z-index:16;pointer-events:none;background-color:#ffffff24;background-image:radial-gradient(circle,#1414171f 1px,#0000 1.2px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:9px 9px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1.5px solid #141417b3;border-radius:10px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff5c,0 12px 32px #1414171a}.viewer-stage.has-touch-gestures .drawing-touch-hint,.viewer-stage.has-touch-gestures .drawing-touch-mini-toolbar{display:flex}@media (max-width:760px){.drawing-touch-hint{max-width:calc(100% - 20px);padding:7px 9px;font-size:.64rem;bottom:72px;right:10px}.drawing-touch-mini-toolbar{scrollbar-width:none;justify-content:flex-start;max-width:none;bottom:10px;left:10px;right:10px;overflow-x:auto;transform:none}.drawing-touch-mini-toolbar::-webkit-scrollbar{display:none}.drawing-touch-mini-toolbar button{flex:none;height:32px;padding:0 8px}}.measure-workbench{z-index:18;pointer-events:auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:min(96%,1000px);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.measure-workbench .measure-status,.measure-workbench .measure-boundary-hud{flex-basis:100%}.measure-mode-button,.measure-secondary-toolbar button,.measure-calibration-actions button{min-height:34px;color:var(--ink);background:#ffffffeb;border:1px solid #d9e2efeb;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.72rem;font-weight:850;line-height:1;display:inline-flex;box-shadow:0 14px 30px #1414171a}.measure-mode-button .model-tool-svg,.measure-secondary-toolbar .model-tool-svg{width:16px;height:16px}.measure-mode-button.active,.measure-secondary-toolbar button.active{border-color:rgba(var(--primary-rgb), .3);background:var(--primary-soft);color:var(--primary)}.measure-secondary-toolbar{scrollbar-width:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #d9e2efdb;border-radius:15px;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;max-width:100%;padding:6px;display:flex;overflow:auto hidden;box-shadow:0 18px 38px #1414171a}.measure-secondary-toolbar::-webkit-scrollbar{display:none}.measure-secondary-toolbar button{white-space:nowrap;flex:none}.measure-secondary-toolbar{justify-content:center}.measure-tool-divider{background:#d9e2efb8;border-radius:1px;flex:none;align-self:stretch;width:1px;margin:3px 4px}.app-shell[data-theme] .measure-tool-divider{background:var(--hud-line)}.measure-secondary-toolbar button:disabled{opacity:.42;cursor:not-allowed}.measure-status{max-width:260px;color:var(--muted);background:#ffffffd6;border:1px solid #d9e2efe6;border-radius:12px;padding:8px 10px;font-size:.7rem;font-weight:800;line-height:1.25;box-shadow:0 14px 28px #14141714}.measure-status.warning{border-color:var(--warning-soft);color:var(--warning);background:#fffbebf0}.measure-boundary-hud{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #1a1a1d2e;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;min-width:min(520px,88vw);max-width:min(620px,92vw);padding:8px 9px 8px 12px;display:flex;box-shadow:0 16px 38px #14141724}.measure-boundary-hud>div:first-child{gap:2px;min-width:0;display:grid}.measure-boundary-hud strong{color:var(--ink);font-size:.82rem;line-height:1}.measure-boundary-hud span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:760;line-height:1.15;overflow:hidden}.measure-boundary-hud>div:last-child{flex:none;gap:7px;display:flex}.measure-boundary-hud button{min-height:32px;color:var(--ink);background:#fff;border:1px solid #d9e2efeb;border-radius:999px;padding:0 11px;font-size:.7rem;font-weight:850}.measure-boundary-hud button.primary{color:#fff;background:#16161a;border-color:#16161a}.measure-boundary-hud button:disabled{cursor:not-allowed;opacity:.46}.measure-boundary-hud.is-editing{border-color:var(--accent);background:#fffffff0}.measure-settings-panel,.measure-calibration-card{z-index:19;border:1px solid var(--hud-line);background:var(--hud-surface);border-radius:16px;gap:9px;width:240px;padding:12px;display:grid;position:absolute;bottom:48px;right:0;box-shadow:0 22px 50px #14141724}.measure-settings-panel{scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;width:268px;max-height:min(60vh,460px);bottom:calc(100% + 10px);overflow-y:auto}.measure-settings-panel>label{grid-column:1/-1}.measure-settings-panel>label.measure-toggle-setting{grid-column:auto}.measure-settings-panel input[type=range]{accent-color:#16161a;width:100%}.model-viewer-shell.fullscreen:has(.drawing-resource-rack) .shared-view-warning{bottom:58px}.measure-calibration-card.is-flagged{border-color:#c48a228c}.measure-calibration-card.is-flagged strong{color:var(--warning)}.measure-settings-panel label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:800;display:grid}.measure-settings-panel select,.measure-calibration-row input,.measure-calibration-row select{border:1px solid var(--line);background-color:var(--control-bg);min-width:0;height:34px;color:var(--ink);font:inherit;border-radius:10px;padding:0 10px}.measure-toggle-setting{grid-template-columns:none;align-items:center;gap:8px!important;display:flex!important}.measure-toggle-setting input{accent-color:#16161a;width:15px;height:15px}.measure-overlay{z-index:11;pointer-events:none;position:absolute;inset:0;overflow:visible}.viewer-stage-3d>.measure-overlay{z-index:8}.measure-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.measure-svg line{stroke:var(--accent);stroke-width:.28px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #1414173d)}.measure-svg line.takeoff-selected{stroke:#16161a;stroke-width:.52px;filter:drop-shadow(0 4px 8px #14141747)}.measure-svg line.takeoff-faded{opacity:.16;stroke:#7a7670b3;stroke-width:.18px;filter:none}.measure-svg line.takeoff-unlinked{stroke:#7a7670b8;stroke-dasharray:1.3 1.2}.measure-svg line.takeoff-deduct{stroke:#ea580c;stroke-dasharray:1.7 1.2}.measure-svg line.draft{stroke-dasharray:1.2 1.2;opacity:.76}.measure-svg polygon.area{fill:#1a1a1d1f;stroke:#1a1a1db8;stroke-width:.28px;vector-effect:non-scaling-stroke}.measure-svg polygon.area.takeoff-selected{fill:rgba(var(--muted-rgb), .22);stroke:var(--ink);stroke-width:.56px;filter:drop-shadow(0 6px 12px #0f766e33)}.measure-svg polygon.area.takeoff-faded{fill:#9694910d;stroke:#7a767038;opacity:.42}.measure-svg polygon.area.takeoff-unlinked{fill:#96949114;stroke:#7a76709e;stroke-dasharray:1.4 1.2}.measure-svg polygon.area.takeoff-deduct{fill:#f973161a;stroke:#ea580c;stroke-dasharray:1.8 1.2}.measure-svg polygon.area.draft{fill:#1a1a1d29;stroke:#1a1a1ddb;stroke-width:.5px;stroke-dasharray:1.35 1.15;filter:drop-shadow(0 6px 12px #1a1a1d29)}.measure-point-dot{background:var(--accent);transform-origin:0 0;width:11px;height:11px;transform:scale(var(--overlay-scale,1)) translate(-50%, -50%);border:2px solid #fff;border-radius:999px;position:absolute;box-shadow:0 0 0 3px #1a1a1d33,0 10px 22px #14141738}.measure-point-dot.takeoff-selected{background:var(--ink);width:14px;height:14px;box-shadow:0 0 0 4px rgba(var(--muted-rgb), .22), 0 12px 24px #14141742}.measure-point-dot.takeoff-faded{opacity:.22}.measure-point-dot.takeoff-unlinked{background:#64748b;box-shadow:0 0 0 2px #7a767033,0 8px 18px #1414171f}.measure-point-dot.draft{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b47,0 8px 18px #1414172e}.measure-label{color:#1e3a8a;transform-origin:0 0;min-width:max-content;max-width:220px;transform:scale(var(--overlay-scale,1)) translate(-50%, -120%);white-space:nowrap;background:#fffffff0;border:1px solid #1a1a1d38;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900;line-height:1;position:absolute;box-shadow:0 12px 26px #1414171f}.measure-label.takeoff-selected{color:var(--ink);background:#f5f5f3f5;border-color:#0f766e4d}.drawing-takeoff-boq-panel{z-index:18;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #d6e2efdb;border-radius:18px;gap:10px;width:min(324px,100vw - 108px);max-height:calc(100% - 150px);padding:12px;display:grid;position:absolute;top:92px;left:76px;overflow:hidden;box-shadow:0 24px 60px #14141726}.drawing-takeoff-boq-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawing-takeoff-boq-head .eyebrow{color:#14141775;letter-spacing:.15em;text-transform:uppercase;margin:0 0 3px;font-size:.66rem;font-weight:900}.drawing-takeoff-boq-head strong{color:#16161a;max-width:232px;font-size:.95rem;font-weight:900;line-height:1.14;display:block}.takeoff-sync-dot{width:12px;height:12px;box-shadow:0 0 0 0 rgba(var(--muted-rgb), .34);background:#14b8a6;border-radius:999px;margin-top:3px;animation:1.25s ease-out infinite takeoff-sync-pulse}@keyframes takeoff-sync-pulse{70%{box-shadow:0 0 0 8px rgba(var(--muted-rgb), 0)}to{box-shadow:0 0 0 0 rgba(var(--muted-rgb), 0)}}.drawing-takeoff-boq-controls{grid-template-columns:1fr 116px;gap:8px;display:grid}.drawing-takeoff-boq-controls input,.drawing-takeoff-boq-controls select{color:#16161a;background-color:#ffffffd1;border:1px solid #d6e2eff5;border-radius:12px;outline:none;width:100%;min-width:0;height:38px;font-size:.78rem;font-weight:800}.drawing-takeoff-boq-controls input{padding:0 12px}.drawing-takeoff-boq-controls select{padding:0 9px}.takeoff-auto-zoom-toggle{color:#1414179e;grid-column:1/-1;align-items:center;gap:8px;width:fit-content;font-size:.72rem;font-weight:900;display:inline-flex}.takeoff-auto-zoom-toggle input{accent-color:#14b8a6;width:14px;height:14px}.drawing-takeoff-workitem-list{gap:7px;min-height:48px;max-height:min(31vh,280px);padding-right:2px;display:grid;overflow:auto}.drawing-takeoff-workitem{color:#16161a;text-align:left;width:100%;box-shadow:none;cursor:pointer;background:#fafaf9c7;border:1px solid #e0dedbeb;border-radius:14px;grid-template-columns:1fr auto;gap:7px 10px;padding:10px;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid}.drawing-takeoff-workitem:hover{border-color:rgba(var(--muted-rgb), .34);background:#f5f5f3b8;transform:translateY(-1px)}.drawing-takeoff-workitem.active{border-color:rgba(var(--muted-rgb), .74);box-shadow:0 12px 30px rgba(var(--muted-rgb), .14);background:linear-gradient(135deg,#f5f5f3f0,#ffffffd1)}.drawing-takeoff-workitem span{gap:3px;min-width:0;display:grid}.drawing-takeoff-workitem strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:900;line-height:1.13;overflow:hidden}.drawing-takeoff-workitem small{color:#14141794;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:800;overflow:hidden}.drawing-takeoff-workitem em,.drawing-takeoff-workitem b{white-space:nowrap;border-radius:999px;justify-self:end;width:fit-content;font-style:normal;line-height:1}.drawing-takeoff-workitem em{color:#14141794;background:#f5f5f3f5;padding:6px 8px;font-size:.64rem;font-weight:900}.drawing-takeoff-workitem.active em{background:rgba(var(--muted-rgb), .12);color:var(--ink)}.drawing-takeoff-workitem b{color:#1414177a;background:#ffffffc7;grid-column:1/-1;padding:5px 7px;font-size:.62rem;font-weight:900}.drawing-takeoff-empty-row{color:#1414178f;text-align:center;border:1px dashed #9694915c;border-radius:14px;place-items:center;min-height:72px;padding:10px;font-size:.75rem;font-weight:850;display:grid}.drawing-takeoff-summary{border:1px solid rgba(var(--muted-rgb), .18);background:#f5f5f38c;border-radius:16px;gap:9px;padding:11px;display:grid}.drawing-takeoff-summary>div:first-child{gap:3px;display:grid}.drawing-takeoff-summary span,.drawing-takeoff-summary small,.drawing-takeoff-summary p{color:#14141794;font-size:.7rem;font-weight:800;line-height:1.25}.drawing-takeoff-summary strong{color:#16161a;font-size:.86rem;font-weight:900;line-height:1.1}.drawing-takeoff-summary p{margin:0}.drawing-takeoff-summary-list{gap:5px;display:grid}.drawing-takeoff-summary-list span{background:#ffffffc7;border:1px solid #e0dedbc7;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;display:flex}.drawing-takeoff-summary-list em{color:#1414178f;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-style:normal;font-weight:900;overflow:hidden}.drawing-takeoff-summary-list strong{color:var(--ink);white-space:nowrap;font-size:.72rem}.drawing-takeoff-summary-total{border-top:1px solid rgba(var(--muted-rgb), .18);justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.drawing-takeoff-summary-total strong{color:var(--ink)}.drawing-version-ghost{opacity:.42;filter:saturate(.25)sepia(.35)hue-rotate(170deg);pointer-events:none;position:absolute;inset:0}.drawing-overlay-picker{z-index:21;background:#ffffffeb;border:1px solid #e0dedbf0;border-radius:999px;align-items:center;gap:7px;padding:5px 9px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 8px 22px #1414171f}.drawing-overlay-picker span{color:var(--muted);white-space:nowrap;font-size:.64rem;font-weight:800}.drawing-overlay-picker select{color:#16161a;background-color:#0000;border:0;max-width:170px;font-size:.7rem;font-weight:700}.drawing-takeoff-running{color:#16161a;background:#f9f9f7d9;border:1px solid #e0dedbf0;border-radius:14px;gap:7px;padding:10px;display:grid}.drawing-takeoff-running>strong{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem}.drawing-takeoff-running-row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;display:grid}.drawing-takeoff-running-row span{min-width:0;display:grid}.drawing-takeoff-running-row span strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.drawing-takeoff-running-row span small{color:var(--muted);font-size:.64rem}.drawing-takeoff-running-row b{white-space:nowrap;font-size:.72rem}.drawing-takeoff-running-row button{color:#fff;background:#16161a;border:1px solid #16161a;border-radius:999px;min-height:26px;padding:0 10px;font-size:.64rem;font-weight:900}.drawing-takeoff-running-row.is-committed button{color:var(--muted);background:#ffffffe6;border-color:#e0dedbf0}.drawing-takeoff-running-row button:disabled{cursor:not-allowed;opacity:.55}.drawing-takeoff-color-dot{vertical-align:baseline;border-radius:999px;width:9px;height:9px;margin-right:6px;display:inline-block}.drawing-takeoff-thickness{gap:5px;display:grid}.drawing-takeoff-thickness span{color:var(--muted);font-size:.66rem;font-weight:700}.drawing-takeoff-thickness input{color:#16161a;background:#ffffffe6;border:1px solid #e0dedbf0;border-radius:10px;min-height:32px;padding:0 10px;font-size:.74rem}.measure-count-stamp{color:#fff;background:#2563eb;border-radius:999px;padding:2px 7px;font-weight:900;transform:translate(-50%,-50%)}.measure-magnifier{z-index:24;pointer-events:none;background:#fff;border:2px solid #16161ad9;border-radius:999px;width:144px;height:144px;position:absolute;overflow:hidden;box-shadow:0 14px 34px #14141747}.measure-magnifier-content{transform-origin:0 0;position:absolute;top:0;left:0}.measure-magnifier-crosshair{pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.measure-magnifier-crosshair:before,.measure-magnifier-crosshair:after{content:"";background:#2563ebe6;position:absolute}.measure-magnifier-crosshair:before{width:1.5px;height:100%;top:0;left:50%}.measure-magnifier-crosshair:after{width:100%;height:1.5px;top:50%;left:0}.drawing-takeoff-summary-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.drawing-takeoff-summary-actions button{color:#16161a;background:#ffffffe6;border:1px solid #e0dedbf0;border-radius:999px;min-height:32px;padding:0 10px;font-size:.68rem;font-weight:900}.drawing-takeoff-summary-actions button:first-child{color:#fff;background:#16161a;border-color:#16161a}.drawing-takeoff-summary-actions button:disabled{cursor:not-allowed;opacity:.48}.drawing-takeoff-message{border:1px solid rgba(var(--muted-rgb), .18);color:#1414179e;background:#f5f5f39e;border-radius:12px;padding:8px 10px;font-size:.7rem;font-weight:850;line-height:1.25;display:block}.drawing-takeoff-message.is-error{border-color:var(--danger-soft);background:var(--danger-soft);color:var(--danger)}.drawing-takeoff-retry{color:var(--danger);border-color:var(--danger-soft)}.drawing-takeoff-summary-boq{border-top:1px dashed var(--line);padding-top:6px}@media (max-width:760px){.drawing-takeoff-boq-panel{border-radius:16px;width:auto;max-height:45vh;padding:10px;inset:auto 10px 92px}.drawing-takeoff-boq-controls{grid-template-columns:1fr 104px}.drawing-takeoff-workitem-list{max-height:18vh}}.measure-label.warning{border-color:var(--warning-soft);color:var(--warning);transform:scale(var(--overlay-scale,1)) translate(-50%, -30%);background:#fffbebf0;font-size:.62rem;font-weight:850}.measure-snap-indicator{z-index:9;border:2px solid var(--accent);transform-origin:0 0;width:11px;height:11px;transform:scale(var(--overlay-scale,1)) translate(-50%, -50%);pointer-events:none;background:#ffffff1a;position:absolute;box-shadow:0 0 0 2px #1a1a1d1a}.measure-snap-indicator.snap-endpoint,.measure-snap-indicator.snap-edge,.measure-snap-indicator.snap-measurement-point{border-radius:999px}.measure-snap-indicator.snap-corner,.measure-snap-indicator.snap-close,.measure-snap-indicator.snap-vertex{border-radius:1px}.measure-snap-indicator.snap-intersection{width:12px;height:12px;box-shadow:none;background:0 0;border:0}.measure-snap-indicator.snap-intersection:before,.measure-snap-indicator.snap-intersection:after,.measure-snap-indicator.snap-face:before,.measure-snap-indicator.snap-face:after{background:var(--accent);content:"";transform-origin:50%;border-radius:999px;width:12px;height:2px;position:absolute;top:50%;left:50%}.measure-snap-indicator.snap-intersection:before{transform:translate(-50%,-50%)rotate(45deg)}.measure-snap-indicator.snap-intersection:after{transform:translate(-50%,-50%)rotate(-45deg)}.measure-snap-indicator.snap-midpoint{border:2px solid var(--accent);width:10px;height:10px;box-shadow:none;transform:scale(var(--overlay-scale,1)) translate(-50%, -50%) rotate(45deg);background:0 0;border-radius:1px}.measure-snap-indicator.snap-face{width:12px;height:12px;box-shadow:none;background:0 0;border:0}.measure-snap-indicator.snap-face:before{transform:translate(-50%,-50%)}.measure-snap-indicator.snap-face:after{transform:translate(-50%,-50%)rotate(90deg)}.measure-snap-indicator.snap-orthogonal{width:10px;height:10px;box-shadow:none;background:0 0;border-style:dashed;border-color:#14b8a6;border-radius:999px}.measure-snap-indicator>span{display:none}.measure-calibration-card{bottom:74px;right:22px}.measure-calibration-card strong{font-size:.9rem}.measure-calibration-card small{color:var(--muted);font-size:.72rem}.measure-calibration-row{grid-template-columns:1fr 72px;gap:8px;display:grid}.measure-calibration-actions{justify-content:flex-end;gap:8px;display:flex}.measure-calibration-actions button:last-child{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.drawing-empty-state{z-index:1;border:1px dashed rgba(var(--primary-rgb), .22);text-align:center;pointer-events:none;background:#ffffffeb;border-radius:22px;width:min(420px,100% - 48px);padding:22px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 44px #16161914}.drawing-empty-state strong{margin-bottom:8px;font-size:1.05rem;display:block}.drawing-empty-state p{color:var(--muted);margin:0;line-height:1.5}.drawing-cad-placeholder.cad-source-empty{z-index:2;border:1px solid var(--warning-soft);text-align:left;background:#fffffff5;border-radius:18px;gap:14px;width:min(520px,100% - 48px);padding:24px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 52px #1616191f}.cad-source-format{background:var(--warning-soft);width:fit-content;color:var(--warning);border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:800}.cad-source-actions{flex-wrap:wrap;gap:10px;display:flex}.cad-source-actions input{display:none}.cad-export-help{background:#fff7ede6;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.drawing-preview-image{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff;width:100%;height:100%;position:absolute;inset:0}.drawing-preview-frame{pointer-events:none;background:#fff;border:0;width:100%;height:100%;position:absolute;inset:0}.drawing-preview-pdf-canvas{position:absolute;inset:0}.drawing-preview-dxf{-webkit-user-select:none;user-select:none;shape-rendering:geometricprecision;background:#fff;width:100%;height:100%;position:absolute;inset:0}.drawing-preview-dxf text{fill:#1f2430;font-family:var(--font-sans,system-ui, sans-serif);paint-order:stroke;stroke:#fff;stroke-width:.18px;stroke-linejoin:round;-webkit-user-select:none;user-select:none}.drawing-preview-dxf path{fill:none;stroke:#1f2430;stroke-width:var(--dxf-stroke,1.25);vector-effect:non-scaling-stroke;stroke-linecap:round}.drawing-preview-dxf .dxf-fill{fill:#64748b;fill-opacity:.22;stroke:none}.pdf-canvas-shell{width:100%;height:100%;min-height:inherit;background:#fafaf9b8;place-items:center;display:grid;position:relative;overflow:auto}.pdf-canvas{background:#fff;border:1px solid #d2d0cdd1;border-radius:10px;max-width:100%;height:auto;display:block;box-shadow:0 20px 48px #1414171f}.pdf-canvas-state,.pdf-canvas-fallback{z-index:4;color:#17233b;text-align:center;background:#ffffffe0;border:1px solid #d2d0cde6;border-radius:18px;place-items:center;gap:8px;max-width:320px;padding:18px 20px;display:grid;position:absolute;box-shadow:0 20px 45px #1414171f}.pdf-canvas-state span{border:4px solid rgba(var(--primary-rgb), .14);border-top-color:#2453dc;border-radius:999px;width:40px;height:40px;animation:.9s linear infinite spin}.pdf-canvas-fallback p{color:#5f7194;margin:0}.pdf-page-navigator{z-index:24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #d2d0cdeb;border-radius:999px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #1414171a}.pdf-page-navigator button{min-height:34px;color:var(--accent);background:#fff;border:1px solid #d2d0cde6;border-radius:999px;padding:0 14px;font-weight:800}.pdf-page-navigator button:disabled{color:#94a3b8;cursor:not-allowed}.pdf-page-navigator span{color:#465b80;white-space:nowrap;font-size:.84rem;font-weight:800}.pdf-page-navigator.selected-only{pointer-events:none}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.page-preview-stage{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:220px;position:relative;overflow:hidden}.page-preview-frame,.page-preview-image{background:#fff;border:0;width:100%;height:100%;min-height:220px}.page-preview-image{object-fit:contain;object-position:center}.page-thumbnail-strip{scrollbar-width:thin;grid-auto-columns:minmax(120px,140px);grid-auto-flow:column;gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.page-thumbnail{border:1px solid var(--line);color:var(--text);text-align:left;background:#fff;border-radius:14px;gap:8px;padding:10px;display:grid}.page-thumbnail.active{border-color:rgba(var(--primary-rgb), .28);background:var(--primary-soft);box-shadow:0 8px 24px rgba(var(--primary-rgb), .08)}.page-thumbnail-frame-shell{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:120px;position:relative;overflow:hidden}.page-thumbnail-frame{pointer-events:none;background:#fff;border:0;width:100%;height:120px}.page-thumbnail span{color:var(--muted);font-size:.82rem;font-weight:600}.page-thumbnail-rail{gap:10px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.level-mapping-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.apply-page-button{justify-content:center;width:100%}.drawing-grid{background-image:linear-gradient(rgba(var(--muted-rgb), .08) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--muted-rgb), .08) 1px, transparent 1px);background-size:68px 68px;position:absolute;inset:0}.drawing-frame-outline{border:3px solid #16161933;position:absolute}.outline-one{inset:56px 44px 144px 48px}.outline-two{border-style:dashed;inset:118px 128px 60px 162px}.zone-chip{background:rgba(var(--primary-rgb), .08);color:var(--primary);transform-origin:0 0;transform:scale(var(--overlay-scale,1));border-radius:999px;padding:6px 10px;font-size:.82rem;position:absolute}.pin-stack{position:static}.pin-anchor{z-index:1;transform-origin:0 0;width:5px;height:5px;transform:scale(var(--overlay-scale,1)) translate(-50%, -50%);background:#16161938;border-radius:999px;position:absolute}.pin-link{height:calc(1px * var(--overlay-scale,1));transform-origin:0;z-index:1;background:linear-gradient(90deg,#16161933,#1616190d);position:absolute}.issue-pin{z-index:5;width:22px;height:22px;box-shadow:none;cursor:pointer;transform-origin:50%;transform:scale(var(--overlay-scale,1));background:0 0;border:0;border-radius:999px;place-items:center;padding:0;transition:opacity .14s;display:grid;position:absolute}.issue-pin:hover,.issue-pin:focus-visible{z-index:15;box-shadow:none}.issue-pin.selected{z-index:18;box-shadow:none}.issue-pin[data-draggable=true]{cursor:grab}.issue-pin[data-draggable=true]:active{cursor:grabbing}.issue-pin-open{--issue-pin-color:var(--danger)}.issue-pin-in-progress{--issue-pin-color:var(--warning)}.issue-pin-review{--issue-pin-color:var(--primary)}.issue-pin-done{--issue-pin-color:var(--success)}.issue-pin-rejected{--issue-pin-color:#94a3b8}.issue-pin-draft{--issue-pin-color:#64748b;pointer-events:none}.issue-pin-3d{z-index:8}.issue-pin.pin-hidden,.pin-hidden{opacity:0;pointer-events:none}.issue-pin-dot{background:var(--issue-pin-color,var(--danger));border:2px solid #fffffffa;border-radius:999px;width:9px;height:9px;transition:transform .15s,box-shadow .15s,background .15s;display:block;box-shadow:0 0 0 1px #14141714,0 6px 16px #1414172e,inset 0 1px 1px #ffffff75}.issue-pin:hover .issue-pin-dot,.issue-pin:focus-visible .issue-pin-dot{box-shadow:0 0 0 5px #fffc, 0 0 0 8px color-mix(in srgb, var(--issue-pin-color,var(--primary)) 18%, transparent), 0 10px 24px #14141733, inset 0 1px 1px #ffffff80;transform:scale(1.35)}.issue-pin.selected .issue-pin-dot{box-shadow:0 0 0 6px #ffffffdb, 0 0 0 10px color-mix(in srgb, var(--issue-pin-color,var(--primary)) 20%, transparent), 0 12px 28px #14141738, inset 0 1px 1px #ffffff8a;transform:scale(1.28)}.issue-pin-tooltip{z-index:30;-webkit-backdrop-filter:blur(24px)saturate(1.45);color:#fffffff0;text-align:left;opacity:0;pointer-events:none;background:linear-gradient(118deg,#ffffff3d,#0000 34%),radial-gradient(circle at 74% 10%,#ffffff4d,#0000 42%),linear-gradient(145deg,#1f2937ad,#14141785);border:1px solid #ffffff61;border-radius:18px;gap:4px;width:max-content;min-width:210px;max-width:245px;padding:13px 15px;transition:opacity .15s,transform .21s cubic-bezier(.2,.9,.2,1);display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,18px)scale(.94);box-shadow:0 24px 62px #14141757,inset 0 1px #ffffff6b,inset 0 -1px #ffffff1a}.issue-pin:hover>.issue-pin-tooltip,.issue-pin:focus-visible>.issue-pin-tooltip{opacity:1;transform:translate(-50%,-10px)scale(1)}.issue-pin-tooltip:after{content:"";-webkit-backdrop-filter:blur(24px);background:#1f293794;border-bottom:1px solid #ffffff57;border-right:1px solid #ffffff57;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.issue-pin-tooltip small{color:#e0dedbdb;letter-spacing:.08em;font-size:.68rem;font-weight:900}.issue-pin-tooltip strong{color:#fffffffa;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.issue-pin-tooltip span,.issue-pin-tooltip em{color:#e0dedbdb;font-size:.74rem;font-style:normal;line-height:1.35}.mobile-issue-preview-popover{display:none}.issue-pin-cluster{z-index:10;background:var(--primary);color:#fff;width:26px;height:26px;scale:var(--overlay-scale,1);border:2px solid #fffffff5;border-radius:999px;place-items:center;font-size:.78rem;font-weight:900;transition:transform .14s,box-shadow .14s;display:grid;position:absolute;box-shadow:0 8px 18px #14141733}.issue-pin-cluster:hover,.issue-pin-cluster.selected{box-shadow:0 0 0 6px rgba(var(--primary-rgb), .13), 0 10px 24px #14141733;transform:scale(1.12)}.issue-pin-cluster-open{background:var(--danger)}.issue-pin-cluster-in-progress{background:var(--warning)}.issue-pin-cluster-review{background:var(--primary)}.issue-pin-cluster-done{background:var(--success)}.pin{z-index:2;border:0;border-radius:50% 50% 50% 10px;width:36px;height:36px;position:absolute;transform:rotate(-45deg);box-shadow:0 10px 18px #1616192e}.pin[data-draggable=true]{cursor:grab}.pin[data-draggable=true]:active{cursor:grabbing}.pin span{color:#fff;place-items:center;font-weight:700;display:grid;position:absolute;inset:0;transform:rotate(45deg)}.pin-open{background:var(--danger)}.pin-in-progress{background:var(--warning)}.pin-review{background:var(--primary)}.pin-done{background:var(--success)}.pin-draft{pointer-events:none;background:#70819c}.pin.active{box-shadow:0 0 0 8px rgba(var(--primary-rgb), .14), 0 12px 20px #1616192e;z-index:3}.cluster-pin{color:#fff;z-index:4;border:2px solid #fff;border-radius:16px;width:44px;height:44px;font-weight:800;position:absolute;box-shadow:0 12px 20px #16161929}.cluster-pin span{place-items:center;width:100%;height:100%;display:grid}.cluster-pin-open{background:linear-gradient(180deg, #e95b5b, var(--danger))}.cluster-pin-in-progress{background:linear-gradient(180deg, #f5a44d, var(--warning))}.cluster-pin-review{background:linear-gradient(180deg, #4f7cff, var(--primary))}.cluster-pin-done{background:linear-gradient(180deg, #2bb978, var(--success))}.cluster-pin.active{box-shadow:0 0 0 8px rgba(var(--primary-rgb), .12), 0 12px 20px #16161929}.zoom-marquee{border:2px solid rgba(var(--primary-rgb), .7);background:rgba(var(--primary-rgb), .12);pointer-events:none;z-index:12;border-radius:16px;position:absolute;box-shadow:inset 0 0 0 1px #fff9}.drawing-resource-rack{margin-top:14px;margin-bottom:0}.model-selection-strip{border:1px solid var(--line);background:var(--panel);border-radius:18px;grid-template-columns:minmax(0,1.15fr) minmax(220px,.9fr) auto;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:grid}.model-selection-strip.section-active{-webkit-backdrop-filter:blur(18px)saturate(1.08);background:#ffffffb8;border-color:#e0dedbb3;border-radius:18px;align-items:center;gap:10px;padding:6px 9px;display:flex;box-shadow:0 18px 40px #14141714,inset 0 1px #ffffffc7}.model-viewer-shell.fullscreen .model-selection-strip{grid-template-columns:minmax(0,1fr) auto;gap:10px}.model-viewer-shell.fullscreen .model-selection-strip.section-active{gap:10px;min-height:44px;padding:6px 10px;bottom:18px;left:92px;right:112px}.model-viewer-shell.fullscreen .model-selection-strip .model-section-controls{grid-column:auto}.model-selection-copy{gap:4px;display:grid}.model-selection-strip.section-active .model-selection-copy{gap:1px;min-width:88px;max-width:120px}.model-selection-copy strong{font-size:.84rem}.model-selection-strip.section-active .model-selection-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.1;overflow:hidden}.model-viewer-shell.fullscreen .model-selection-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:52vw;font-size:.82rem;line-height:1.15;overflow:hidden}.model-viewer-shell.fullscreen .model-selection-strip.section-active .model-selection-copy strong{max-width:120px;font-size:.72rem}.model-selection-copy small{color:var(--muted);line-height:1.5}.model-selection-strip.section-active .model-selection-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.1;overflow:hidden}.model-viewer-shell.fullscreen .model-selection-copy small{text-overflow:ellipsis;white-space:nowrap;max-width:56vw;font-size:.68rem;line-height:1.2;overflow:hidden}.model-viewer-shell.fullscreen .model-selection-strip.section-active .model-selection-copy small{max-width:120px;font-size:.62rem}.model-selection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.model-selection-strip.section-active .model-selection-actions{flex-wrap:nowrap;flex:none;gap:6px}.model-selection-actions button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#ffffffd1;border-radius:999px;padding:0 12px;font-weight:650}.model-selection-strip.section-active .model-selection-actions button{min-height:28px;padding:0 9px;font-size:.66rem}.model-selection-actions button:disabled{opacity:.45}.model-viewer-shell.fullscreen .model-selection-actions{gap:7px}.model-viewer-shell.fullscreen .model-selection-actions button{min-height:30px;padding:0 10px;font-size:.72rem}.model-section-controls{gap:5px;min-width:220px;display:grid}.model-selection-strip.section-active .model-section-controls{flex-wrap:nowrap;flex:auto;align-items:center;gap:7px;min-width:0;display:flex}.model-axis-toggle{background:var(--neutral-soft);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;display:inline-grid}.model-axis-toggle button{min-height:26px;color:var(--muted);background:0 0;border:0;border-radius:9px;font-size:.72rem;font-weight:700}.model-axis-toggle button.active{color:var(--primary);background:#fff;box-shadow:0 4px 12px #16161914}.model-section-mode-toggle button{white-space:nowrap;padding:0 8px}.model-axis-toggle.model-section-mode-toggle{grid-template-columns:repeat(5,minmax(0,1fr));min-width:min(360px,42vw)}.model-selection-strip.section-active .model-axis-toggle.model-section-mode-toggle{background:#f5f5f3cc;border-radius:12px;flex:none;grid-template-columns:repeat(5,auto);gap:2px;min-width:0;padding:2px}.model-axis-toggle.model-section-nudge{grid-template-columns:repeat(2,minmax(0,1fr))}.model-selection-strip.section-active .model-section-mode-toggle button{min-height:24px;padding:0 6px;font-size:.64rem}.model-section-hint{color:var(--muted);font-size:.67rem;line-height:1.25}.model-selection-strip.section-active .model-section-hint{display:none}.model-section-reset{min-height:28px;color:var(--ink);white-space:nowrap;background:#ffffffdb;border:1px solid #d2d0cdd1;border-radius:999px;padding:0 10px;font-size:.68rem;font-weight:800}.model-section-room{border:1px solid var(--primary);min-height:28px;color:var(--primary);white-space:nowrap;cursor:pointer;background:#fff;border-radius:999px;padding:0 12px;font-size:.68rem;font-weight:850}.model-section-room:hover:not(:disabled){background:var(--primary-soft,#1616190f)}.model-section-room:disabled{opacity:.45;cursor:not-allowed}.app-shell[data-theme] .model-selection-strip.section-active .model-section-room{color:#15151a}.model-section-face-chip{border:1px solid rgba(var(--muted-rgb), .22);min-height:26px;color:var(--ink);white-space:nowrap;background:#f5f5f3b8;border-radius:999px;align-items:center;padding:0 9px;font-size:.64rem;font-weight:850;display:inline-flex}.model-section-face-chip.active{border-color:rgba(var(--muted-rgb), .42);color:var(--ink);background:#f1f1eeeb}.section-box-push-pull-control{z-index:18;width:44px;height:44px;color:var(--ink);cursor:grab;touch-action:none;background:#fffffff5;border:1px solid #0d948880;border-radius:999px;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 20px #1414172e}.section-box-push-pull-control:active{cursor:grabbing;transform:translate(-50%,-50%)scale(.96)}.section-box-push-pull-icon{pointer-events:none;width:22px;height:22px}.model-section-box-grid{flex:420px;grid-template-columns:repeat(3,minmax(116px,1fr));gap:5px 9px;min-width:260px;max-width:680px;display:grid}.model-section-slider{gap:3px;min-width:220px;display:grid}.model-selection-strip.section-active .model-section-slider{flex:220px;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:7px;min-width:170px;max-width:560px;display:grid}.model-selection-strip.section-active .model-section-slider.compact{flex:initial;grid-template-columns:50px minmax(60px,1fr);min-width:0;max-width:none}.model-section-slider span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:700}.model-section-slider input{width:100%}.model-selection-strip.section-active .model-section-slider span{letter-spacing:.06em;font-size:.58rem}.model-selection-strip.section-active .model-section-slider input{height:3px}.model-selection-strip.model-selection-strip-compact{z-index:9;-webkit-backdrop-filter:blur(12px);background:#ffffffb8;border-color:#e0dedbbd;border-radius:999px;align-items:center;gap:7px;width:fit-content;max-width:min(620px,100vw - 124px);min-height:30px;margin:0;padding:5px 7px;display:inline-flex;position:absolute;bottom:18px;left:96px;right:auto;box-shadow:0 10px 24px #14141712}.model-viewer-shell.fullscreen .model-selection-strip.model-selection-strip-compact{max-width:min(620px,100vw - 124px);bottom:18px;left:96px;right:auto}.model-selection-strip.model-selection-strip-compact .model-selection-copy{align-items:baseline;gap:5px;min-width:0;max-width:300px;display:inline-flex}.model-selection-strip.model-selection-strip-compact .model-selection-copy strong,.model-viewer-shell.fullscreen .model-selection-strip.model-selection-strip-compact .model-selection-copy strong{max-width:210px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1;overflow:hidden}.model-selection-strip.model-selection-strip-compact .model-selection-copy small,.model-viewer-shell.fullscreen .model-selection-strip.model-selection-strip-compact .model-selection-copy small{max-width:110px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;line-height:1;overflow:hidden}.model-selection-strip.model-selection-strip-compact .model-selection-actions{flex-wrap:nowrap;gap:4px}.model-selection-strip.model-selection-strip-compact .model-selection-actions button,.model-viewer-shell.fullscreen .model-selection-strip.model-selection-strip-compact .model-selection-actions button{min-height:22px;padding:0 7px;font-size:.58rem;line-height:1}.model-object-browser{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;gap:12px;margin-top:14px;padding:14px 16px;display:grid}.model-object-browser-floating{z-index:18;-webkit-backdrop-filter:blur(18px)saturate(1.2);background:linear-gradient(#ffffffdb,#f5f5f2b8);border-color:#ffffffa8;border-radius:16px;align-content:start;gap:8px;width:min(280px,100vw - 150px);margin-top:0;padding:12px;position:absolute;top:96px;bottom:96px;left:96px;overflow:hidden;box-shadow:0 18px 50px #1414171f}.model-object-browser-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.model-object-browser-head strong{color:var(--ink);margin-top:2px;font-size:.76rem;line-height:1.1;display:block}.model-object-browser-head small{color:var(--muted);font-size:.72rem}.model-object-browser-meta{justify-content:flex-end;align-items:center;gap:8px;min-width:max-content;display:inline-flex}.model-object-browser-close{border:1px solid var(--line);min-height:28px;color:var(--text);background:#ffffffc7;border-radius:999px;padding:0 9px;font-size:.72rem;font-weight:800}.model-object-browser-close:hover{background:var(--control-bg)}.model-object-search{border:1px solid var(--line);width:100%;min-height:34px;color:var(--text);font:inherit;background:#ffffffe0;border-radius:13px;outline:none;padding:0 12px;font-size:.74rem}.model-object-search:focus{border-color:#52524c5c;box-shadow:0 0 0 3px #52524c14}.model-object-tree{gap:6px;min-width:0;display:grid}.model-object-browser-floating .model-object-tree{min-height:0;max-height:100%;padding-right:2px;overflow:hidden auto}.drawing-shell.model-page-open .model-issue-drawer{z-index:18;background:#fffffff0;border-color:#ffffffa8;border-radius:18px;align-content:start;width:min(300px,100vw - 150px);margin:0;padding:12px;display:grid;position:fixed;inset:96px auto 96px 96px;overflow:hidden;transform:translate(-8px);box-shadow:0 18px 50px #1414171f}.drawing-shell.model-page-open .model-issue-drawer.open{transform:translate(0)}.drawing-shell.model-page-open .model-issue-drawer .drawing-drawer-head{display:none}.drawing-shell.model-page-open .model-issue-drawer .drawing-left{height:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:0;display:grid;overflow:hidden}.drawing-shell.model-page-open .model-issue-drawer .section-head{margin-bottom:0}.drawing-shell.model-page-open .model-issue-drawer .section-head .eyebrow{letter-spacing:.14em;font-size:.58rem}.drawing-shell.model-page-open .model-issue-drawer .section-head h4{margin:2px 0 0;font-size:.82rem}.drawing-shell.model-page-open .model-issue-drawer .issue-filter-compact{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px;margin-bottom:0}.drawing-shell.model-page-open .model-issue-drawer .drawing-sidebar-search{min-height:32px;padding:0 10px;font-size:.76rem}.drawing-shell.model-page-open .model-issue-drawer .issue-filter-icons{flex-wrap:wrap;gap:5px}.drawing-shell.model-page-open .model-issue-drawer .issue-filter-icon{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:0 5px 12px #1414170b}.drawing-shell.model-page-open .model-issue-drawer .issue-filter-icon svg{width:14px;height:14px}.drawing-shell.model-page-open .model-issue-drawer .issue-filter-icon.active:after{width:5px;height:5px;top:5px;right:5px}.drawing-shell.model-page-open .model-issue-drawer .issue-list{scrollbar-width:thin;gap:7px;min-height:0;padding-right:3px;overflow:auto}.drawing-shell.model-page-open .model-issue-drawer .issue-card{border-radius:13px;padding:8px 9px;box-shadow:0 6px 16px #14141712}.drawing-shell.model-page-open .model-issue-drawer .issue-card-head{align-items:center;gap:8px}.drawing-shell.model-page-open .model-issue-drawer .issue-card-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;line-height:1.15;overflow:hidden}.drawing-shell.model-page-open .model-issue-drawer .issue-card-actions{gap:5px}.drawing-shell.model-page-open .model-issue-drawer .issue-card-actions .status-pill{min-height:26px;padding:0 9px;font-size:.7rem}.drawing-shell.model-page-open .model-issue-drawer .issue-delete-button{min-height:26px;padding:0 9px;font-size:.68rem}.drawing-shell.model-page-open .model-issue-drawer .issue-card-meta{gap:5px 8px;margin:6px 0 4px;font-size:.74rem;line-height:1.25}.drawing-shell.model-page-open .model-issue-drawer .issue-card-meta span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.drawing-shell.model-page-open .model-issue-drawer .issue-card small{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.25;display:block;overflow:hidden}.drawing-shell.model-page-open .model-issue-drawer .empty-state{box-shadow:none;border-radius:14px;gap:10px;padding:14px}.drawing-shell.model-page-open .model-issue-drawer .empty-state h3,.drawing-shell.model-page-open .model-issue-drawer .empty-state strong{font-size:.9rem}.drawing-shell.model-page-open .model-issue-drawer .empty-state p{font-size:.82rem;line-height:1.45}.model-object-empty{border:1px dashed var(--line);background:#ffffffad;border-radius:14px;gap:4px;padding:14px;display:grid}.model-object-empty small{color:var(--muted)}.model-tree-node{gap:6px;min-width:0;display:grid}.model-tree-row{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:6px;min-width:0;display:grid}.model-tree-row.active .model-tree-item{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft)}.model-tree-toggle{border:1px solid var(--line);min-width:22px;min-height:22px;color:var(--muted);background:#fff;border-radius:8px;font-size:.68rem;font-weight:700}.model-tree-toggle.placeholder{background:0 0;border-color:#0000}.model-tree-item{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;gap:2px;min-width:0;padding:8px 9px;transition:border-color .16s,background .16s;display:grid}.model-tree-item:hover,.model-tree-item.active{border-color:rgba(var(--primary-rgb), .24);background:var(--primary-soft)}.model-tree-item strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.22;display:-webkit-box;overflow:hidden}.model-tree-item small{color:var(--muted);font-size:.68rem;line-height:1.15}.model-tree-children{border-left:1px dashed rgba(var(--muted-rgb), .24);gap:6px;min-width:0;margin-left:10px;padding-left:8px;display:grid}.detail-copy{margin-bottom:16px}.issue-detail-panel{align-content:start;gap:12px;display:grid}.issue-detail-hero{-webkit-backdrop-filter:blur(18px)saturate(1.24);background:linear-gradient(118deg,#ffffff47,#0000 34%),linear-gradient(145deg,#ffffffd1,#f5f5f39e);border:1px solid #ffffff61;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex;box-shadow:0 18px 44px #1414171a,inset 0 1px #ffffffd1}.issue-detail-hero h4{margin:3px 0 6px;font-size:1rem;line-height:1.25}.issue-detail-hero p:last-child{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.issue-detail-facts{flex-wrap:wrap;gap:6px;display:flex}.issue-detail-facts span{color:var(--muted);background:#f5f5f3eb;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:800}.issue-status-strip{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;display:grid}.issue-status-strip button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.72rem;font-weight:900}.issue-status-strip button:hover{color:var(--text)}.issue-status-strip button.active{background:var(--panel);color:var(--ink);border-color:#1111111f;box-shadow:0 1px 2px #1111110f}.app-shell[data-theme=dark] .issue-status-strip{background:#ffffff08;border-color:#ffffff12}.app-shell[data-theme=dark] .issue-status-strip button.active{border-color:var(--accent);color:#fff;box-shadow:none;background:#1a1a1d24}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.field-group,.form-grid{gap:12px;min-width:0;max-width:100%;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full-span{grid-column:1/-1}.field-group label,.form-grid label{gap:8px;min-width:0;display:grid}.field-group span,.form-grid span{color:var(--muted);font-size:.9rem}.upload-inline{border:1px dashed var(--line);background:var(--neutral-soft);border-radius:14px;min-height:74px;padding:12px;position:relative}.upload-inline.is-dropping{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.upload-inline.is-dropping strong{color:var(--accent)}.timeline-card{margin-top:14px;padding:16px}.issue-detail-panel .timeline-card{margin-top:0}.compact-detail-card,.issue-location-card,.issue-detail-actions-card{background:#ffffffbd;border-radius:18px;box-shadow:0 12px 30px #1414170f}.compact-detail-card,.issue-location-card{padding:13px}.issue-detail-actions-card{border:1px solid var(--line);padding:12px}.issue-detail-panel .issue-evidence-box{background:#fafaf9bd;border-radius:18px;gap:10px;padding:12px;display:grid}.issue-detail-panel .issue-evidence-box p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.issue-detail-panel .issue-evidence-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.issue-detail-panel .issue-evidence-actions label{text-align:center;border-radius:12px;place-items:center;min-height:38px;padding:8px 6px;display:grid}.issue-detail-panel .issue-evidence-actions span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.issue-detail-panel .issue-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-detail-panel .issue-evidence-grid article{padding:7px}.timeline-card p{margin:10px 0 0}.work-item-location-hint{border:1px solid rgba(var(--primary-rgb), .16);background:linear-gradient(135deg, rgba(var(--primary-rgb), .08), #ffffffeb);color:var(--ink);border-radius:18px;gap:4px;margin:12px 0;padding:12px 14px;display:grid}.work-item-location-hint span{color:var(--muted);font-size:.9rem}.photo-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.photo-stage-card{border:1px solid var(--line);color:inherit;font:inherit;background:#fafaf9eb;border-radius:16px;gap:6px;padding:12px;display:grid}.issue-detail-panel .photo-stage-grid{margin-top:0}.issue-detail-panel .photo-stage-card{border-color:rgba(var(--primary-rgb), .14);background:radial-gradient(circle at 78% 18%, rgba(var(--primary-rgb), .12), transparent 40%), #fafaf9e0;min-height:78px}.photo-stage-picker .photo-stage-card{cursor:pointer;text-align:left;transition:border-color .16s,box-shadow .16s,transform .16s}.photo-stage-picker .photo-stage-card:hover{border-color:rgba(var(--primary-rgb), .28);transform:translateY(-1px)}.photo-stage-picker .photo-stage-card.active{border-color:rgba(var(--primary-rgb), .42);box-shadow:0 10px 24px rgba(var(--primary-rgb), .12);background:radial-gradient(circle at 78% 18%, rgba(var(--primary-rgb), .18), transparent 42%), #fafaf8f5;transform:translateY(-1px)}.photo-stage-picker.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-stage-picker.compact .photo-stage-card{min-height:42px;padding:9px 10px}.photo-stage-create-row{gap:8px;display:grid}.photo-stage-create-row>span{color:var(--muted);font-size:.82rem}.photo-stage-card strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.photo-stage-card span{color:var(--ink);font-size:1.2rem;font-weight:800}.issue-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.issue-photo-strip a{border:1px solid var(--line);background:var(--surface-soft);min-width:0;min-height:86px;color:var(--ink);border-radius:16px;font-size:0;display:block;position:relative;overflow:hidden}.issue-photo-strip img{object-fit:cover;color:#0000;width:100%;height:86px;display:block}.issue-photo-strip span{max-width:calc(100% - 16px);color:var(--ink);text-transform:capitalize;background:#ffffffd6;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800;position:absolute;bottom:8px;left:8px}.issue-detail-panel .issue-photo-strip{grid-template-columns:minmax(0,1fr);margin-top:2px}.issue-detail-panel .issue-photo-strip a{aspect-ratio:4/3;background:#fff;border-radius:18px;width:100%;min-height:180px;max-height:min(360px,42vh)}.issue-detail-panel .issue-photo-strip img{object-fit:contain;object-position:center;background:#fff;width:100%;height:100%}.comment-composer{gap:10px;margin-top:12px;margin-bottom:14px;display:grid}.comment-input{border:1px solid var(--line);resize:vertical;border-radius:14px;width:100%;min-height:72px;padding:12px 14px}.detail-log-line{color:var(--muted);background:#f5f5f3b8;border-radius:12px;padding:9px 10px;font-size:.84rem}.comment-actions{justify-content:flex-end;display:flex}.messages-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;min-height:min(680px,100vh - 260px);display:grid}.messages-channel-panel,.messages-chat-panel{flex-direction:column;min-height:0;display:flex}.messages-channel-panel{gap:16px;padding:18px}.messages-channel-panel h3,.messages-chat-header h3{margin:0}.messages-channel-panel p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.5}.message-project-select{gap:8px;display:grid}.message-project-select span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.message-channel-icon,.message-avatar,.issue-comment-avatar{background:var(--surface-muted);width:38px;height:38px;color:var(--ink);border-radius:14px;flex:none;place-items:center;font-weight:900;display:inline-grid}.messages-chat-panel{padding:0;overflow:hidden}.messages-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.messages-list{background:radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--surface-soft) 70%, transparent), transparent 34%), var(--surface-card);flex-direction:column;flex:auto;gap:12px;min-height:360px;max-height:min(62vh,680px);padding:18px 20px;display:flex;overflow:auto}.message-bubble{align-items:flex-start;gap:10px;max-width:min(720px,88%);display:flex}.message-bubble.own{flex-direction:row-reverse;align-self:flex-end}.message-body{border:1px solid var(--line);background:var(--surface-soft);min-width:0;color:var(--ink);border-radius:18px;padding:12px 14px}.message-bubble.own .message-body{border-color:color-mix(in srgb, var(--ink) 16%, var(--line));background:var(--ink);color:var(--surface-card)}.message-meta,.issue-comment-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.message-meta span,.issue-comment-meta span{color:var(--muted);white-space:nowrap;font-size:.78rem}.message-body p,.issue-comment-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.message-composer-card{border-top:1px solid var(--line);background:var(--surface-card);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.message-composer-card textarea{border:1px solid var(--line);background:var(--surface-card);width:100%;min-height:72px;color:var(--ink);resize:vertical;border-radius:16px;padding:12px 14px}.message-alert{border:1px solid var(--danger-soft);color:var(--danger);background:#fee2e2b8;border-radius:14px;margin:12px 20px 0;padding:10px 12px;font-weight:800}.message-alert.compact{margin:10px 0}.message-loading{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:inline-flex}.message-loading.compact{border-radius:14px}.message-loading span{background:currentColor;border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite pulse-dot}.issue-comments-thread{gap:12px;display:grid}.issue-comments-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.issue-comments-head small{color:var(--muted);margin-top:3px;font-weight:600;display:block}.issue-comments-list{gap:10px;display:grid}.issue-comment-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px;display:grid}.issue-comment-avatar{border-radius:12px;width:34px;height:34px;font-size:.78rem}@keyframes pulse-dot{0%,to{opacity:.42;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}.messages-layout{grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.messages-channel-panel,.messages-chat-panel{min-width:0}.messages-channel-panel{gap:16px;padding:18px;display:grid;position:sticky;top:18px}.messages-channel-panel h3,.messages-template-panel h4{margin:0}.messages-channel-panel>p:not(.eyebrow){color:var(--muted);margin:-8px 0 0;line-height:1.5}.message-project-select,.message-search-box{color:var(--muted);text-transform:uppercase;gap:7px;font-size:.82rem;font-weight:800;display:grid}.message-channel-card strong,.message-template-panel strong{color:var(--ink);display:block}.message-channel-card small,.message-composer-head span,.message-composer-actions span,.messages-chat-header span{color:var(--muted);font-size:.86rem}.message-template-panel{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.message-template-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.message-template-grid button,.message-scope-toggle button{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#ffffffd6;border-radius:12px;font-weight:800}.message-template-grid button:hover,.message-scope-toggle button:hover{border-color:rgba(var(--muted-rgb), .36);background:#f5f5f3d6}.message-template-grid button:disabled{cursor:not-allowed;opacity:.55}.messages-chat-panel{grid-template-rows:auto auto auto minmax(360px,1fr) auto;gap:14px;padding:16px;display:grid}.messages-chat-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.messages-chat-header h3{margin:0}.message-alert{border:1px solid var(--danger-soft);color:var(--danger);background:#fef2f2db;border-radius:14px;padding:11px 12px;font-size:.9rem;font-weight:700}.message-alert.info{border-color:var(--warning-soft);color:var(--warning);background:#fffbebe6}.message-filter-bar{border:1px solid var(--line);background:#fafaf9b8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:10px;display:grid}.message-search-box input{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;min-height:42px;padding:0 12px}.message-scope-toggle{grid-template-columns:1fr 1fr;gap:6px;min-width:148px;display:inline-grid}.message-scope-toggle button.active{border-color:rgba(var(--muted-rgb), .46);background:var(--ink);color:#fff}.messages-chat-panel .message-filter-bar{border-radius:14px;align-items:center;gap:8px;min-height:56px;padding:8px;display:flex}.messages-chat-panel .message-search-box{flex:320px;min-width:240px}.messages-chat-panel .message-search-box span{display:none}.messages-chat-panel .message-search-box input{border-radius:999px;min-height:38px;font-size:.82rem}.messages-chat-panel .message-scope-toggle{scrollbar-width:thin;flex:0 auto;gap:6px;min-width:0;max-width:min(680px,58%);padding-bottom:1px;display:flex;overflow-x:auto}.messages-chat-panel .message-scope-toggle button{white-space:nowrap;border-radius:999px;flex:none;min-height:36px;padding:0 12px;font-size:.78rem}.messages-list{border:1px solid var(--line);background:#fafaf994;border-radius:18px;flex-direction:column;gap:12px;min-height:360px;max-height:min(62vh,680px);padding:14px;display:flex;overflow:auto}.message-loading{min-height:240px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-weight:800;display:inline-flex}.message-loading span{border:2px solid #0f766e47;border-top-color:var(--ink);border-radius:999px;width:12px;height:12px;animation:.85s linear infinite spin}.message-loading-skeleton{gap:14px;width:100%;padding:4px 0;display:grid}.message-skeleton-row{grid-template-columns:30px minmax(0,.78fr);align-items:start;gap:10px;display:grid}.message-skeleton-row.own{grid-template-columns:minmax(0,.78fr) 30px;justify-content:end}.message-skeleton-avatar,.message-skeleton-bubble,.message-skeleton-line{background:linear-gradient(90deg,#edf2f7 0%,#fff 42%,#dfe7ef 78%) 0 0/220% 100%;animation:1.25s linear infinite shimmer;overflow:hidden}.message-skeleton-avatar{border-radius:10px;width:30px;height:30px}.message-skeleton-bubble{border:1px solid #e0dedbe6;border-radius:16px;gap:9px;min-height:92px;padding:13px;display:grid}.message-skeleton-bubble.compact{min-height:54px}.message-skeleton-row.own .message-skeleton-bubble{background:linear-gradient(90deg,#dffafa 0%,#fff 42%,#c9f4f4 78%) 0 0/220% 100%}.message-skeleton-line{border-radius:999px;width:100%;height:12px;display:block}.message-skeleton-line.short{width:42%}.message-skeleton-line.medium{width:68%}.floating-chat-panel .message-loading-skeleton{padding:4px 0 12px}.message-day-divider{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;background:#ffffffe6;border-radius:999px;align-self:center;padding:5px 10px;font-size:.76rem;font-weight:900}.message-bubble{grid-template-columns:38px minmax(0,.78fr);align-items:start;gap:10px;display:grid;position:relative}.message-bubble.own{grid-template-columns:minmax(0,.78fr) 38px;justify-content:end}.message-bubble.own .message-avatar{grid-column:2}.message-bubble.own .message-body{background:#ecfeff;border-color:#0891b238;grid-area:1/1}.message-avatar{color:#16161a;background:#f59e0b;border-radius:14px;justify-content:center;align-items:center;width:38px;height:38px;font-size:.76rem;font-weight:900;display:inline-flex}.message-body{border:1px solid var(--line);background:#ffffffeb;border-radius:16px;min-width:0;padding:11px 13px}.message-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.message-meta strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.message-meta span{color:var(--muted);flex:none;font-size:.76rem;font-weight:700}.message-body p{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:7px 0 0;line-height:1.5}.message-composer-card{border:1px solid var(--line);background:#ffffffeb;border-radius:18px;gap:10px;padding:12px;display:grid}.message-composer-head,.message-composer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.message-composer-head>div{gap:3px;display:grid}.message-composer-head strong{color:var(--ink)}.message-composer-head small{color:var(--muted);font-weight:900}.message-composer-head small.over-limit{color:var(--danger)}.message-composer-card textarea{border:1px solid var(--line);width:100%;min-height:104px;color:var(--text);resize:vertical;background:#fff;border-radius:14px;padding:12px 13px}.chat-thread{gap:14px;min-width:0;display:grid}.chat-thread.compact{gap:12px}.chat-thread.simple-comments{gap:10px}.chat-thread.simple-comments .messages-list{min-height:0;max-height:180px;padding-right:2px}.chat-thread.simple-comments .message-composer-card{border-radius:16px;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:8px;padding:8px;display:grid}.chat-thread.simple-comments .message-composer-input-wrap,.chat-thread.simple-comments .message-composer-actions,.chat-thread.simple-comments .composer-button-row{min-width:0}.chat-thread.simple-comments .message-composer-card textarea{resize:vertical;min-height:42px;max-height:96px;padding:10px 12px}.chat-thread.simple-comments .message-composer-actions{justify-content:end}.chat-thread.simple-comments .composer-button-row{flex-wrap:nowrap}.chat-thread.simple-comments .simple-comment-send{width:44px;min-height:42px;padding:0}.chat-thread.simple-comments .simple-comment-send svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.chat-thread-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chat-thread-header small{color:var(--muted);margin-top:3px;font-weight:700;display:block}.chat-thread-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:min(320px,100%);display:grid}.chat-thread-summary-grid>div{border:1px solid var(--line);background:#fafaf9b8;border-radius:14px;padding:9px 10px}.chat-thread-summary-grid span{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.chat-thread-summary-grid strong{color:var(--ink);font-size:1rem}.chat-thread.compact .chat-thread-summary-grid{min-width:0}.chat-thread.compact .messages-list{min-height:220px;max-height:360px}.messages-page .messages-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:12px}.messages-page .messages-channel-panel{border-radius:18px;gap:10px;padding:14px}.messages-page .messages-channel-panel .eyebrow{font-size:.68rem}.messages-page .messages-channel-panel h3{font-size:.92rem;line-height:1.2}.messages-page .messages-channel-panel>p:not(.eyebrow){margin-top:-4px;font-size:.76rem;line-height:1.38}.messages-page .message-project-select{gap:5px;font-size:.7rem}.messages-page .message-project-select .ui-select{border-radius:10px;min-height:34px;font-size:.78rem}.message-add-room-button{border:1px solid var(--line);cursor:pointer;background:#ffffffc7;border-radius:999px;justify-self:start;min-height:26px;margin-left:8px;padding:4px 9px;font-size:.68rem;font-weight:900}.message-section-create,.message-room-create,.message-member-add{grid-template-columns:minmax(0,1fr) auto auto auto}.message-section-create .ui-select,.message-room-create .ui-select,.message-member-add .ui-select{border-radius:10px;min-height:30px;font-size:.72rem}.messages-room-toolbar,.message-members-panel,.message-member-row,.message-member-add{gap:8px;display:grid}.messages-room-toolbar{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px}.messages-room-toolbar div{gap:1px;display:grid}.messages-room-toolbar span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.messages-room-toolbar strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.messages-room-toolbar small{color:var(--muted);font-size:.66rem;font-weight:800}.messages-room-toolbar button,.message-member-row button,.message-member-add button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:30px;padding:5px 10px;font-size:.7rem;font-weight:900}.message-members-panel{border:1px solid var(--line);background:#ffffffd1;border-radius:14px;padding:10px}.message-members-list{gap:6px;max-height:170px;display:grid;overflow:auto}.message-member-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;min-height:36px}.message-member-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;display:block;overflow:hidden}.message-member-row small{color:var(--muted);font-size:.62rem;font-weight:800}.messages-chat-panel .chat-thread.compact{gap:8px;height:100%}.messages-chat-panel .chat-thread.compact .chat-thread-header{align-items:center;gap:8px}.messages-chat-panel .chat-thread.compact .chat-thread-header .eyebrow{margin-bottom:2px;font-size:.64rem}.messages-chat-panel .chat-thread.compact .chat-thread-header h3{font-size:.96rem;line-height:1.15}.messages-chat-panel .chat-thread.compact .chat-thread-header>div>span{display:none}.messages-chat-panel .chat-thread.compact .status-pill{min-height:26px;padding:5px 9px;font-size:.66rem}.messages-chat-panel .chat-thread.compact .chat-thread-summary-grid{scrollbar-width:thin;gap:6px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto}.messages-chat-panel .chat-thread.compact .chat-thread-summary-grid>div{border-radius:10px;flex:none;min-width:86px;min-height:34px;padding:6px 8px}.messages-chat-panel .chat-thread.compact .chat-thread-summary-grid span{font-size:.58rem;line-height:1}.messages-chat-panel .chat-thread.compact .chat-thread-summary-grid strong{text-overflow:ellipsis;white-space:nowrap;max-width:98px;font-size:.76rem;line-height:1.15;display:block;overflow:hidden}.messages-chat-panel .chat-thread.compact .compact-project-chat-bar{border-radius:12px;min-height:36px;padding:5px}.messages-chat-panel .chat-thread.compact .compact-project-chat-chip{border-radius:999px;min-height:28px;padding:5px 9px}.messages-chat-panel .chat-thread.compact .compact-project-chat-chip span{font-size:.58rem}.messages-chat-panel .chat-thread.compact .compact-project-chat-chip strong{font-size:.78rem}.messages-chat-panel .chat-thread.compact .compact-search-toggle{border-radius:12px;width:32px;height:32px}.messages-chat-panel .chat-thread.compact .compact-search-toggle svg{width:15px;height:15px}.messages-chat-panel .chat-thread.compact .compact-search-box input{min-height:30px;font-size:.74rem}.messages-chat-panel .chat-thread.compact .messages-list{border-radius:14px;gap:8px;min-height:min(520px,100vh - 360px);max-height:min(58vh,620px);padding:10px}.messages-chat-panel .chat-thread.compact .message-bubble{grid-template-columns:28px minmax(0,.66fr);gap:7px}.messages-chat-panel .chat-thread.compact .message-bubble.own{grid-template-columns:minmax(0,.48fr) 28px}.messages-chat-panel .chat-thread.compact .message-avatar{border-radius:10px;width:28px;height:28px;font-size:.64rem}.messages-chat-panel .chat-thread.compact .message-body{border-radius:13px;padding:8px 10px;box-shadow:0 10px 24px #1414170f}.messages-chat-panel .chat-thread.compact .message-meta{gap:6px}.messages-chat-panel .chat-thread.compact .message-meta strong{font-size:.74rem}.messages-chat-panel .chat-thread.compact .message-meta span{font-size:.64rem}.messages-chat-panel .chat-thread.compact .message-badge-row{margin-top:4px}.messages-chat-panel .chat-thread.compact .message-visibility-badge{padding:2px 6px;font-size:.56rem}.messages-chat-panel .chat-thread.compact .message-text,.messages-chat-panel .chat-thread.compact .message-body p{margin-top:6px;font-size:.78rem;line-height:1.35}.messages-chat-panel .chat-thread.compact .message-template-grid{gap:6px}.messages-chat-panel .chat-thread.compact .message-template-grid button{border-radius:10px;min-height:30px;font-size:.76rem}.messages-chat-panel .chat-thread.compact .message-composer-card{border-radius:16px;gap:7px;padding:8px}.messages-chat-panel .chat-thread.compact .message-composer-head,.messages-chat-panel .chat-thread.compact .message-composer-actions>span{display:none}.messages-chat-panel .chat-thread.compact .message-composer-actions{justify-content:flex-end}.messages-chat-panel .chat-thread.compact .message-composer-input-wrap textarea{border-radius:14px;min-height:40px;padding:9px 11px;font-size:.8rem}.pinned-message-panel,.message-search-results{border:1px solid var(--line);background:#fffbebb8;border-radius:16px;gap:8px;padding:10px;display:grid}.pinned-message-toggle,.pinned-message-list button,.message-search-results article,.load-older-messages,.message-reply-preview,.composer-reply-banner{border:1px solid var(--line);background:#ffffffe0;border-radius:12px}.pinned-message-toggle,.pinned-message-list button,.load-older-messages,.message-reply-preview{cursor:pointer;font:inherit}.pinned-message-toggle{min-height:38px;color:var(--ink);justify-content:space-between;align-items:center;padding:8px 10px;font-weight:900;display:flex}.pinned-message-list{gap:6px;display:grid}.pinned-message-list button{color:var(--text);text-align:left;gap:2px;padding:8px 10px;display:grid}.pinned-message-list span,.message-search-results span,.message-reply-preview span,.composer-reply-banner span{color:var(--muted);font-size:.76rem;font-weight:900}.pinned-message-list strong,.message-reply-preview strong,.composer-reply-banner strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-search-results{background:#f5f5f3ad}.message-search-results article{gap:5px;padding:9px 76px 9px 10px;display:grid;position:relative}.message-search-results article>div{justify-content:space-between;gap:10px;display:flex}.message-search-results p{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.message-search-results small{color:var(--muted);font-weight:800}.message-search-results button{border:1px solid var(--line);background:var(--ink);min-height:30px;color:var(--surface-card);cursor:pointer;font:inherit;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.load-older-messages{color:var(--text);align-self:center;padding:8px 12px;font-weight:900}.message-bubble.is-highlighted .message-body{box-shadow:0 0 0 3px rgba(var(--muted-rgb), .18)}.message-bubble.system{opacity:.96;grid-template-columns:30px minmax(0,.72fr)}.message-bubble.system .message-avatar{color:#475569;background:#e5e7eb;border-radius:999px;width:30px;height:30px}.message-bubble.system .message-body{background:#f5f5f3db;border-style:dashed;border-radius:14px;padding:9px 11px}.message-bubble.system .message-body p{color:var(--muted);margin-top:4px;font-size:.86rem}.message-text mark{background:rgba(var(--muted-rgb), .16);color:var(--ink);border-radius:6px;padding:1px 4px;font-weight:900}.message-badge-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.message-visibility-badge{border:1px solid var(--line);min-height:20px;color:var(--muted);text-transform:uppercase;background:#fafaf9e6;border-radius:999px;align-items:center;padding:2px 7px;font-size:.68rem;font-weight:900;display:inline-flex}.message-visibility-badge.client-visible{border-color:rgba(var(--muted-rgb), .28);color:var(--ink);background:#f1f1eeb8}.message-visibility-badge.pinned{border-color:var(--warning-soft);color:var(--warning);background:#fef3c7e0}.message-reply-preview{border-left:3px solid rgba(var(--muted-rgb), .45);width:100%;color:var(--text);text-align:left;gap:3px;margin:6px 0;padding:8px 10px;display:grid}.message-inline-actions{gap:6px;margin-top:9px;display:inline-flex}.message-inline-actions button,.composer-button-row button,.selected-attachment-remove,.message-edit-box button{border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:#ffffffe0;border-radius:999px;font-size:.78rem;font-weight:900}.message-inline-actions button{padding:5px 9px}.message-action-menu{z-index:12;opacity:0;margin:0;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;top:7px;right:8px;transform:translateY(-2px)}.message-action-menu summary{color:#141417c2;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #ffffff9e;border-radius:999px;place-items:center;width:28px;height:28px;line-height:1;list-style:none;display:grid;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #14141714}.message-action-menu summary::-webkit-details-marker{display:none}.message-action-menu summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:16px;height:16px}.message-body:hover .message-action-menu,.message-action-menu:focus-within,.message-action-menu[open]{opacity:1;transform:translateY(0)}.message-action-menu[open] summary{color:#fff;background:#0f8b7ff0;border-color:#0f8b7f59}.message-action-list{z-index:80;-webkit-backdrop-filter:blur(18px)saturate(145%);background:#fffffffa;border:1px solid #e0dedbf2;border-radius:14px;min-width:138px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 44px #1414172e}.message-action-list button{color:#16161a;cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.8rem;font-weight:900}.message-action-list button:hover{color:var(--ink);background:#0f8b7f1a}.message-body{-webkit-backdrop-filter:blur(18px)saturate(165%);background:linear-gradient(145deg,#ffffffbd,#ffffff61),radial-gradient(circle at 18% 0,#ffffffe6,#0000 36%);border-color:#ffffff9e;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffffd1,inset 0 -1px #1414170a,0 18px 40px #14141714}.message-body:before{content:"";border-radius:inherit;pointer-events:none;opacity:.86;background:linear-gradient(#ffffff85,#0000);height:46%;position:absolute;inset:0 0 auto}.message-bubble.own .message-body{color:var(--ink);background:linear-gradient(145deg,#e0ffffd1,#bef5ff6b),radial-gradient(circle at 18% 0,#ffffffc7,#0000 38%);border-color:#22d3ee66;box-shadow:inset 0 1px #ffffffdb,inset 0 -1px #0891b214,0 18px 42px #0891b21f}.message-bubble.system .message-body{background:linear-gradient(145deg,#fafaf9c7,#f5f5f36b),radial-gradient(circle at 14% 0,#ffffffc7,#0000 40%);border-color:#96949157;box-shadow:inset 0 1px #ffffffc2,0 14px 32px #1414170f}.message-meta,.message-badge-row,.message-text,.message-body p,.chat-attachment-grid,.message-reply-preview,.message-edit-box,.message-inline-actions{z-index:1;position:relative}.message-bubble.own .message-meta span{color:#141417a3}.floating-chat-panel .message-body{border-radius:20px 20px 20px 8px;padding-right:34px}.floating-chat-panel .message-bubble.own .message-body{border-radius:20px 20px 8px}.floating-chat-panel .message-action-list{top:auto;bottom:calc(100% + 6px)}.message-visibility-badge{-webkit-backdrop-filter:blur(10px);background:#ffffff85;border-color:#ffffff9e;box-shadow:inset 0 1px #ffffffbd}.message-action-menu summary,.message-inline-actions button{-webkit-backdrop-filter:blur(12px);background:#ffffffad;border-color:#ffffffa3;box-shadow:inset 0 1px #fffc,0 8px 20px #14141714}:root[data-theme=dark] .message-action-list,.app-shell[data-theme=dark] .message-action-list{background:#141417fa;border-color:#334155f2}:root[data-theme=dark] .message-action-list button,.app-shell[data-theme=dark] .message-action-list button{color:#f8fafc}:root[data-theme=dark] .message-action-menu summary,.app-shell[data-theme=dark] .message-action-menu summary{color:#e0dedbd1;background:#141417b8;border-color:#96949147}.message-edit-box{gap:8px;display:grid}.message-edit-box textarea{border:1px solid var(--line);background:var(--surface-card);min-height:84px;color:var(--text);resize:vertical;border-radius:12px;padding:10px 12px}.message-edit-actions{justify-content:flex-end;gap:8px;display:flex}.message-edit-actions button{padding:6px 10px}.composer-reply-banner{border-left:3px solid rgba(var(--muted-rgb), .5);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.composer-reply-banner>div{min-width:0;display:grid}.composer-reply-banner button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;flex:none;font-weight:900}.message-visibility-select{gap:5px;display:grid}.message-visibility-select span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.chat-attachment-grid,.selected-attachment-list{gap:8px;margin-top:10px;display:grid}.chat-attachment-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.chat-attachment-card,.selected-attachment-card{border:1px solid var(--line);min-width:0;color:inherit;background:#ffffffd1;border-radius:14px;text-decoration:none;overflow:hidden}.chat-attachment-card{display:grid}.chat-attachment-card.image img{object-fit:cover;width:100%;height:128px}.chat-attachment-card.file{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px}.chat-file-icon{background:var(--danger-soft);width:42px;height:42px;color:var(--danger);border-radius:12px;place-items:center;font-weight:900;display:grid}.chat-attachment-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:900;display:block;overflow:hidden}.chat-attachment-size{color:var(--muted);font-size:.76rem;font-weight:800}.selected-attachment-card{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.selected-attachment-card img,.selected-attachment-file{border-radius:10px;width:54px;height:44px}.selected-attachment-card img{object-fit:cover}.selected-attachment-file{background:var(--danger-soft);color:var(--danger);place-items:center;font-weight:900;display:grid}.selected-attachment-remove{width:30px;height:30px}.message-composer-input-wrap{position:relative}.mention-suggestion-list{z-index:25;border:1px solid var(--line);background:var(--surface-card);border-radius:14px;gap:4px;max-height:220px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 48px #14141729}.mention-suggestion-list button{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;display:grid}.mention-suggestion-list button:hover{background:rgba(var(--muted-rgb), .1)}.mention-suggestion-list .message-avatar{border-radius:10px;width:30px;height:30px}.mention-suggestion-list small{color:var(--muted)}.composer-button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.composer-button-row button{min-height:36px;padding:7px 11px}.composer-button-row .composer-send-button{background:var(--ink);color:var(--surface-card);border-color:#0000}.material-comments-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.material-comments-panel.simple{gap:12px;display:grid}.material-comments-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.material-comments-head h5{margin:0;font-size:16px}.material-comments-head p{color:var(--muted);margin:3px 0 0;font-size:13px}.material-comments-list{gap:10px;max-height:260px;padding-right:4px;display:grid;overflow:auto}.material-comment-item,.material-comment-empty{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px}.material-comment-item>div{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.material-comment-item strong,.material-comment-empty strong{font-size:14px}.material-comment-item span,.material-comment-empty p,.material-comment-readonly{color:var(--muted);font-size:13px}.material-comment-item p,.material-comment-empty p{margin:0}.material-comment-composer{gap:8px;display:grid}.material-comment-composer textarea{resize:vertical;width:100%;min-height:86px}.material-comment-composer>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-comment-composer span{color:var(--muted);font-size:12px}.material-comment-readonly{margin:0}.issue-form{margin-top:18px}.drawing-drawer-shell .issue-detail-panel,.drawing-drawer-shell .issue-form,.drawing-drawer-shell .work-item-location-hint,.drawing-drawer-shell .timeline-card,.drawing-drawer-shell .compact-detail-card,.drawing-drawer-shell .issue-location-card,.drawing-drawer-shell .issue-detail-actions-card{min-width:0;max-width:100%}.drawing-drawer-shell .issue-detail-panel input,.drawing-drawer-shell .issue-detail-panel textarea,.drawing-drawer-shell .issue-detail-panel select,.drawing-drawer-shell .issue-detail-panel .ui-select{text-overflow:ellipsis;max-width:100%}.asset-grid,.team-grid,.design-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.asset-card{gap:14px;display:grid}.asset-thumb{background:var(--neutral-soft);width:54px;height:54px;color:var(--primary);border-radius:18px;font-weight:700}.asset-meta,.team-row-meta,.template-tags{flex-wrap:wrap;gap:8px;display:flex}.table-card{padding:10px 14px 14px}.template-card{text-align:left}.template-tags{margin-top:12px}.reports-page{gap:18px}.reports-hero p{max-width:720px;color:var(--muted);margin:6px 0 0}.reports-hero{align-items:flex-start;gap:18px}.report-builder-steps{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.report-builder-steps span{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#ffffffb8;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.74rem;font-weight:800;display:inline-flex;position:relative}.report-builder-steps span:not(:last-child):after{content:">";color:#7a767094;position:absolute;right:-10px}.report-builder-steps strong{background:var(--neutral-soft);width:22px;height:22px;color:var(--ink);border-radius:999px;place-items:center;font-size:.72rem;display:inline-grid}.report-builder-steps span.active{color:#fff;background:#141417eb;border-color:#14141724}.report-builder-steps span.active strong{color:var(--ink);background:#fff}.reports-workspace-grid{grid-template-columns:minmax(300px,.7fr) minmax(520px,1.3fr);align-items:start;gap:18px;display:grid}.report-type-panel,.report-options-panel,.report-archive-card{align-content:start}.report-type-panel{max-height:calc(100vh - 110px);position:sticky;top:12px;overflow:hidden}.report-type-list{gap:8px;max-height:min(680px,100vh - 230px);padding:2px 2px 6px;display:grid;overflow:auto}.report-type-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffffc2;border-radius:16px;grid-template-columns:5px 38px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;min-height:118px;padding:12px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative}.report-type-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 34px #14141714}.report-type-card.active{background:linear-gradient(135deg,#fafaf9,#ffffffeb);border-color:#14141785;box-shadow:inset 0 0 0 1px #14141714,0 16px 38px #14141717}.report-type-card strong{color:var(--ink);font-size:.92rem;display:block}.report-type-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:.78rem;line-height:1.42;display:-webkit-box;overflow:hidden}.report-card-accent{background:var(--primary);border-radius:999px;width:5px;height:100%;min-height:74px}.report-card-accent.accent-green{background:#16a34a}.report-card-accent.accent-orange{background:#f97316}.report-card-accent.accent-teal{background:#0d9488}.report-card-accent.accent-slate{background:#475569}.report-card-accent.accent-violet{background:#7c3aed}.report-card-accent.accent-amber{background:#d97706}.report-type-icon-wrap,.report-option-icon{border-radius:12px;place-items:center;display:inline-grid}.report-type-icon-wrap{background:var(--neutral-soft);width:38px;height:38px;color:var(--ink)}.report-type-icon,.report-option-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.report-type-title-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.report-card-check{color:#fff;background:#141417eb;border-radius:999px;place-items:center;min-width:34px;height:26px;padding:0 9px;font-size:.68rem;font-weight:800;display:inline-grid}.report-chip-row,.report-options-summary,.report-preview-actions,.report-archive-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.report-chip-row{gap:6px;margin-top:8px}.report-builder-header,.report-summary-card,.report-warning-card,.report-preview-cover,.report-preview-section-list{border:1px solid var(--line);background:#ffffffb8;border-radius:18px}.report-builder-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:14px;display:flex}.report-builder-title{grid-template-columns:5px minmax(0,1fr);gap:12px;display:grid}.report-builder-title h4,.report-builder-section-head h5,.report-summary-card h5,.report-preview-cover h4{color:var(--ink);margin:0}.report-builder-title p,.report-builder-section-head p,.report-builder-status small,.report-summary-card p,.report-preview-cover span,.report-preview-cover small,.report-action-bar span{color:var(--muted);margin:4px 0 0;font-size:.82rem;line-height:1.45}.report-builder-status{text-align:right;justify-items:end;gap:6px;min-width:160px;display:grid}.report-warning-card{border-color:var(--warning-soft);color:var(--warning);background:#fffbebc7;gap:10px;margin:0 0 14px;padding:13px 14px;display:grid}.report-warning-card strong{color:#78350f}.report-warning-card div,.report-preview-empty{gap:6px;display:grid}.report-warning-card span{color:var(--warning);font-size:.82rem}.report-builder-section{border-top:1px solid #d2d0cdd1;gap:12px;padding:15px 0;display:grid}.report-builder-section:first-of-type{border-top:0}.report-builder-section-head{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.report-builder-section-head>span{color:#fff;background:#141417eb;border-radius:999px;place-items:center;width:30px;height:30px;font-weight:850;display:inline-grid}.report-options-form{margin-top:0}.report-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0;display:grid}.report-toggle{border:1px solid var(--line);min-height:78px;color:var(--ink);cursor:pointer;background:#fafaf9cc;border-radius:16px;grid-template-columns:auto 34px minmax(0,1fr);align-items:center;gap:10px;padding:11px;font-size:.86rem;font-weight:700;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.report-toggle.active{background:#fffffff0;border-color:#1414173d;box-shadow:inset 0 0 0 1px #1414170d}.report-toggle input{width:16px;height:16px;accent-color:var(--primary)}.report-toggle span{gap:2px;display:grid}.report-toggle small{color:var(--muted);font-size:.75rem;font-weight:650;line-height:1.35}.report-format-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.report-format-card{border:1px solid var(--line);min-height:70px;color:var(--ink);text-align:left;cursor:pointer;background:#fafaf9cc;border-radius:16px;gap:3px;padding:12px;display:grid}.report-format-card strong{font-size:.88rem}.report-format-card span{color:var(--muted);font-size:.75rem;font-weight:700}.report-format-card.active{color:#fff;background:#141417eb;border-color:#1414176b}.report-format-card.active span{color:#ffffffbd}.report-summary-card{background:#fafaf9c7;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 14px;padding:14px;display:flex}.report-options-summary{margin:0}.report-options-summary span{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:750}.report-action-bar{z-index:9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #1414171f;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex;position:sticky;bottom:10px;box-shadow:0 18px 44px #1414171c}.report-action-bar strong{color:var(--ink);display:block}.report-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-action-buttons .shell-button:disabled{cursor:not-allowed;opacity:.48}.report-archive-table{gap:8px;display:grid;overflow-x:auto}.report-archive-head,.report-archive-row{grid-template-columns:minmax(240px,1.45fr) minmax(130px,.75fr) minmax(160px,.9fr) minmax(150px,.9fr) 120px minmax(280px,1fr);align-items:center;gap:12px;min-width:1080px;display:grid}.report-archive-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 10px;font-size:.72rem;font-weight:800}.report-archive-row{border:1px solid var(--line);background:#fffc;border-radius:18px;padding:12px 10px}.report-archive-row strong,.report-archive-row span{min-width:0}.report-archive-row small{color:var(--muted);margin-top:3px;font-size:.72rem;display:block}.report-archive-actions button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:7px 10px;font-weight:750}.report-archive-actions button.danger{color:var(--danger);border-color:var(--danger-soft);background:#fef2f2c7}.report-preview-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1414172e;justify-content:flex-end;padding:18px;display:flex;position:fixed;inset:0}.report-preview-drawer{color:#172033;background:#fffffff0;border:1px solid #ffffff8f;border-radius:26px;width:min(820px,100%);height:100%;padding:18px;overflow:auto;box-shadow:0 30px 80px #14141738}.report-preview-header{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #d2d0cdc7;border-radius:26px 26px 0 0;margin:-18px -18px 14px;padding:18px;position:sticky;top:-18px}.report-preview-drawer .icon-button{color:#172033;background:#f8fafc;border:1px solid #d2d0cde6;border-radius:999px;width:auto;min-width:68px;padding:0 14px;font-size:.8rem;font-weight:800}.report-preview-drawer .report-preview-header h3,.report-preview-drawer .report-preview-section h4,.report-preview-drawer .report-preview-section-list strong{color:#172033}.report-preview-drawer .report-preview-header p,.report-preview-drawer .report-preview-list span,.report-preview-drawer .report-preview-list p,.report-preview-drawer .muted-copy{color:#64748b}.report-preview-cover{color:#fff;background:linear-gradient(135deg,#141417f0,#334155e6);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.report-preview-cover h4,.report-preview-cover .eyebrow{color:#fff}.report-preview-cover span,.report-preview-cover small{color:#ffffffc2}.report-preview-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.report-preview-summary span{color:#64748b;background:#f3f6fb;border-radius:16px;gap:3px;padding:12px;font-size:.78rem;font-weight:750;display:grid}.report-preview-summary strong{color:#172033;font-size:1.25rem}.report-preview-sections{gap:12px;display:grid}.report-preview-section{border:1px solid var(--line);background:#fafaf9e0;border-radius:18px;gap:10px;padding:14px;display:grid}.report-preview-section h4{color:var(--ink);margin:0}.report-preview-list{gap:8px;display:grid}.report-preview-list article{background:#ffffffe6;border:1px solid #d2d0cde6;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.report-preview-list strong{color:var(--ink);display:block}.report-preview-list span,.report-preview-list p,.muted-copy{color:var(--muted);margin:0;font-size:.82rem}.report-preview-empty{border:1px dashed var(--warning-soft);color:var(--warning);background:#fffbebb8;border-radius:16px;margin:12px 0;padding:14px;font-weight:750}.report-preview-empty strong{color:#78350f}.report-preview-empty span{color:var(--warning);font-size:.84rem}.report-preview-section-list{background:#fafaf9eb;gap:10px;margin:12px 0;padding:14px;display:grid}.report-preview-section-list strong{color:var(--ink)}.report-preview-section-list div{flex-wrap:wrap;gap:8px;display:flex}.report-preview-section-list span{color:#475569;background:#fff;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:750}.report-preview-section.signature{min-height:110px}.report-preview-actions{background:linear-gradient(#fff0,#fffffff5 32%);justify-content:flex-end;margin-top:14px;padding-top:12px;position:sticky;bottom:0}@media (max-width:980px){.reports-hero{display:grid}.report-builder-steps{justify-content:flex-start;min-width:0}.reports-workspace-grid,.report-toggle-grid,.report-preview-summary,.report-format-grid{grid-template-columns:1fr}.report-type-panel{max-height:none;position:static}.report-type-list{max-height:none;overflow:visible}.report-builder-header,.report-summary-card,.report-action-bar,.report-preview-cover{display:grid}.report-builder-status{text-align:left;justify-items:start}.report-action-buttons{justify-content:stretch}.report-action-buttons .shell-button{flex:150px}.report-preview-backdrop{padding:10px}.report-preview-drawer{border-radius:20px}.report-preview-list article{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.report-preview-backdrop,.report-preview-drawer,.report-preview-drawer *{visibility:visible}.report-preview-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;display:block;position:static}.report-preview-drawer{width:100%;height:auto;box-shadow:none;border:0;border-radius:0}.report-preview-actions,.report-preview-drawer .icon-button{display:none}}.team-row{justify-content:flex-start}.avatar-circle{background:var(--neutral-soft);width:44px;height:44px;color:var(--primary);border-radius:14px;font-weight:700}.fab{background:var(--primary);color:#fff;border:0;border-radius:999px;min-height:56px;padding:0 18px;position:fixed;bottom:20px;right:20px;box-shadow:0 16px 34px #1111112e}.toast{z-index:13000;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:12px;padding:14px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast button{color:var(--primary);background:0 0;border:0;font-weight:700}@media (max-width:1400px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.asset-grid,.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-layout,.report-grid{grid-template-columns:1fr}.drawing-layout{grid-template-columns:320px minmax(0,1fr)}.drawing-right{grid-column:1/-1}.inventory-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-date-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1120px){.project-files-header,.file-library-controls{grid-template-columns:1fr}.project-files-header-side,.file-stats-cards{justify-content:flex-start;justify-items:start}.drawing-library-head,.drawing-library-toolbar{grid-template-columns:1fr;display:grid}.drawing-library-actions,.drawing-library-stats{justify-content:flex-start;justify-items:start}.app-shell,.app-shell:not(.sidebar-collapsed),.sidebar-collapsed{grid-template-columns:1fr}.main-shell{order:1}.sidebar{order:2;width:100%;min-height:auto;position:static}.app-shell.sidebar-collapsed .sidebar,.app-shell.sidebar-collapsed .sidebar:hover{width:100%;padding-inline:12px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-copy,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-project-card{pointer-events:auto;opacity:1;width:auto;max-width:none;transform:none}.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-lockup,.app-shell.sidebar-collapsed .sidebar:not(:hover) .collapse-toggle,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item{justify-content:flex-start}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-project-card{border-width:1px;max-height:none;margin-block:0;padding:14px}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-user-mini{display:none}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-banner,.project-grid,.kanban-grid,.inventory-grid,.team-grid{grid-template-columns:1fr}.topbar,.page-header,.drawing-focus-bar,.viewer-head{flex-direction:column;align-items:stretch}.context-strip,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-mode-banner{grid-template-columns:1fr}.explore-mode-actions{justify-content:flex-start}.drawing-toolbar-card{grid-template-columns:1fr}.drawing-toolbar-center,.drawing-toolbar-actions{flex-wrap:wrap;justify-content:flex-start}.drawing-filter-bar{grid-template-columns:1fr 1fr}.search-shell,.project-switcher{min-width:0}.auth-page{grid-template-columns:1fr;padding:18px}.auth-hero{min-height:auto}.auth-grid{grid-template-columns:1fr}.user-menu{justify-content:space-between;width:100%}}@media (max-width:980px){.landing-nav-grid,.project-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-file-sections.view-list .project-file-card{grid-template-columns:1fr}.drawing-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-mode-grid,.drawing-topbar-grid,.drawing-form-grid,.drawing-staging-layout,.drawing-staging-layout.pdf-import-wizard-layout,.drawing-form-grid-compact{grid-template-columns:1fr}.pdf-import-browser,.pdf-import-settings{min-height:0}.pdf-import-browser{grid-template-rows:auto minmax(240px,auto) auto minmax(150px,auto)}.pdf-import-mode-grid{grid-template-columns:1fr}.pdf-import-thumbnails{max-height:260px}.drawing-layout{grid-template-columns:1fr}.sticky-panel{position:static}.drawing-minimap-overlay{width:100%;margin-top:12px;position:static}.drawing-filter-bar{grid-template-columns:1fr}.drawing-drawer-toggles{top:94px}.drawing-drawer-toggles.in-viewer{top:16px}.model-floating-tools{top:var(--model-tool-top);bottom:var(--model-tool-bottom);left:var(--model-tool-left);align-content:start;gap:var(--model-tool-gap);grid-auto-columns:auto;grid-auto-flow:row;max-width:none;max-height:none;padding:0;overflow:visible;transform:none}.model-viewer-shell{--model-tool-size:40px;--model-tool-radius:14px;--model-tool-gap:5px;--model-tool-left:12px;--model-tool-top:68px;--model-tool-bottom:12px}.model-view-cube{transform-origin:100% 0;top:14px;right:12px;transform:scale(.78)}.model-location-sheet{width:auto;max-height:min(72vh,560px);bottom:88px;left:12px;right:12px;overflow-y:auto}.model-layer-sheet{width:auto;max-height:min(72vh,620px);bottom:88px;left:12px;right:12px;overflow-y:auto}.model-layer-create,.model-layer-row,.model-layer-selection-card,.model-layer-selection-copy,.model-layer-selection-controls{grid-template-columns:1fr}.model-layer-actions,.model-layer-footer{flex-wrap:wrap;align-items:stretch}.model-location-grid,.model-location-manager-grid,.model-selection-strip{grid-template-columns:1fr}.model-viewer-shell.fullscreen .model-selection-strip.section-active,.model-selection-strip.section-active{flex-wrap:wrap;align-items:stretch;left:76px;right:14px}.model-selection-strip.section-active .model-section-controls{flex-wrap:wrap}.model-selection-strip.section-active .model-selection-copy{max-width:none}.model-object-browser-head{flex-direction:column;align-items:start}.inventory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-controls,.asset-controls,.material-request-layout,.material-request-filters{grid-template-columns:1fr}.material-detail-panel:not(.detail-flyout){position:static}.material-picker-row,.material-stock-check{grid-template-columns:1fr}.material-date-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-detail-panel{grid-template-columns:1fr;align-items:start}.inventory-board-layout,.asset-board-layout{display:block}.inventory-section-grid{grid-template-columns:1fr}.asset-section-grid,.inventory-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-manager-row{grid-template-columns:auto minmax(0,1fr) auto}.asset-grid.improved{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-flyout{width:auto;max-height:min(80vh,760px);inset:auto 14px 14px;transform:translateY(calc(100% + 18px))}.detail-flyout.open{transform:translateY(0)}.detail-flyout.closing{transform:translateY(calc(100% + 18px))}}@media (max-width:760px){.landing-page{width:min(100% - 28px,100%);padding:42px 0}.landing-nav-grid{grid-template-columns:1fr}.landing-nav-card{min-height:132px}.project-file-library-card{padding:14px}.project-file-grid{grid-template-columns:1fr}.project-files-header-side{width:100%}.project-files-header-side .shell-button-primary{z-index:30;box-shadow:0 18px 44px rgba(var(--primary-rgb), .28);position:fixed;bottom:18px;right:18px}.file-library-tabs{flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.file-library-tabs button{white-space:nowrap}.project-file-meta-grid{grid-template-columns:1fr}.inventory-stock-main.compact{flex-direction:column;align-items:start}.inventory-stock-side{justify-items:start}.inventory-actions{grid-template-columns:1fr}.issue-pin:hover>.issue-pin-tooltip{opacity:0}.issue-pin:focus-visible .mobile-issue-preview-popover,.issue-pin.selected .mobile-issue-preview-popover{z-index:32;gap:8px;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.mobile-issue-preview-popover .issue-pin-tooltip{opacity:1;position:static;transform:none}.mobile-issue-preview-popover .issue-pin-tooltip:after{display:none}.mobile-preview-action{background:var(--primary);color:#fff;text-align:center;white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:800;display:block}.drawing-library-shell{padding:18px}.drawing-library-tabs{justify-content:space-between;width:100%}.drawing-library-tabs button{text-align:center;flex:1 1 0}.drawing-library-grid{grid-template-columns:1fr}.viewer-mode-card.upload-type-card{min-height:136px;padding:16px}.upload-type-copy em{white-space:normal;line-height:1.25}.drawing-file-title-row,.drawing-file-info-row{flex-direction:column;align-items:flex-start}.drawing-file-menu{align-self:flex-end}.app-shell{width:min(100% - 14px,100%);padding-top:12px}.materials-page{gap:12px}.materials-page .section-head{align-items:stretch;gap:10px}.materials-page .section-head h3{font-size:1rem;line-height:1.15}.material-request-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-request-toolbar .shell-button{border-radius:12px;width:100%;min-height:36px;padding-inline:10px;font-size:.78rem}.material-request-table-card{border-radius:18px;padding:12px}.material-request-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:10px}.material-request-filters label:first-child,.material-request-filters label:nth-child(4),.material-request-count-card{grid-column:1/-1}.material-request-filters label{gap:4px}.material-request-filters label span{letter-spacing:.08em;font-size:.62rem}.material-request-filters input,.material-request-filters .ui-select{border-radius:11px;min-height:34px;padding-inline:10px;font-size:.82rem}.material-request-count-card{justify-content:flex-start;min-height:32px;padding-inline:10px;font-size:.74rem}.material-date-group{border-radius:16px;gap:8px;padding:9px}.material-date-group-head{flex-direction:column;align-items:flex-start;gap:8px}.material-date-group-head h4{font-size:.9rem}.material-date-group-head .asset-status-section-tools{justify-content:flex-start;width:100%}.material-request-card{border-radius:14px;gap:6px;min-height:auto;padding:10px;box-shadow:0 8px 18px #1414170a}.material-request-card-top{gap:7px;display:grid}.material-request-card strong{font-size:.88rem}.material-request-quantity{font-size:1rem}.material-request-card-badges{justify-content:flex-start;gap:5px;max-width:none}.material-priority-badge,.material-request-status,.material-overdue-badge{padding:5px 7px;font-size:.62rem}.material-request-card small{font-size:.72rem}.material-detail-flyout.detail-flyout{border-radius:22px;width:auto;max-height:calc(100dvh - 20px);padding:12px;inset:10px}.material-detail-panel{gap:9px}.material-detail-panel .section-head.compact{align-items:flex-start;gap:8px}.material-detail-panel .section-head.compact h4{font-size:1rem;line-height:1.15}.material-detail-badges{justify-content:flex-start}.detail-flyout-close-row{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffffa,#ffffffe0);border-radius:22px 22px 0 0;margin:-12px -12px 0;padding:10px 12px 8px;position:sticky;top:-12px}.detail-flyout-close{border-radius:12px;min-height:36px;padding-inline:14px;font-size:.82rem}.material-panel-note,.material-priority-helper{border-radius:12px;padding:9px 10px;font-size:.76rem;line-height:1.35}.material-detail-decision-bar{border-radius:14px;flex-direction:column;align-items:stretch;gap:9px;padding:10px}.material-detail-decision-bar>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-detail-decision-bar .shell-button{width:100%;min-height:36px;padding-inline:8px;font-size:.78rem}.material-picker-row{gap:8px}.material-stock-check{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.material-stock-check>div{border-radius:11px;min-height:50px;padding:8px}.material-stock-check span{font-size:.62rem}.material-stock-check strong{font-size:.76rem;line-height:1.2}.material-detail-panel .form-grid{gap:8px}.material-detail-panel .form-grid label{gap:5px}.material-detail-panel .form-grid span{font-size:.72rem}.material-detail-panel .form-grid input,.material-detail-panel .form-grid textarea,.material-detail-panel .form-grid .ui-select{border-radius:12px;min-height:38px;font-size:.88rem}.material-detail-panel .form-grid textarea{min-height:82px;padding:10px 12px}.material-panel-actions.icon-only{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.material-action-icon-button{border-radius:13px;flex-basis:auto;width:100%;height:40px}.topbar-left,.topbar-right,.hero-actions,.toolbar-group,.card-actions,.detail-actions,.form-actions,.resource-rack{flex-wrap:wrap}.search-shell,.project-switcher,.notification-button,.quick-add,.page-header-actions .shell-button{width:100%}.context-strip{grid-template-columns:1fr}.pricing-page{padding:20px 16px}.pricing-grid{grid-template-columns:1fr}.page-header h1{font-size:1.8rem}.messages-channel-panel,.messages-chat-panel{padding:14px}.message-channel-stats,.message-template-grid,.message-section-create,.message-room-create,.message-member-add{grid-template-columns:1fr}.messages-chat-panel .message-filter-bar{flex-direction:column;align-items:stretch}.messages-chat-header,.message-composer-head,.message-composer-actions{flex-direction:column;align-items:flex-start}.messages-chat-panel .message-scope-toggle,.message-composer-actions .shell-button{width:100%;max-width:none}.messages-list{min-height:320px;max-height:none;padding:10px}.kpi-grid,.inventory-summary-grid,.asset-summary-grid,.dashboard-grid,.detail-metrics,.work-hub-tabs,.work-summary-grid,.task-summary-grid,.task-filter-panel,.task-form-grid,.task-detail-grid,.form-grid,.asset-grid,.design-grid,.mobile-preview-grid,.quick-panel,.inventory-controls,.asset-controls,.movement-filters,.material-date-card-grid{grid-template-columns:1fr}.inventory-status-section-head,.inventory-status-section-tools,.asset-status-section-head,.asset-status-section-tools{flex-wrap:wrap;align-items:flex-start}.inventory-meta-grid,.inventory-actions{grid-template-columns:1fr}.inventory-action-modal{padding:16px}.asset-grid.improved,.asset-section-grid,.asset-info-grid,.asset-detail-grid{grid-template-columns:1fr}.asset-card-foot-compact{flex-direction:column;align-items:flex-start}.asset-card-actions.compact{grid-template-columns:1fr;width:100%}.inventory-status-bar,.asset-status-bar{padding-bottom:4px}.inventory-header-actions,.inventory-manager-row{grid-template-columns:1fr}.inventory-header-actions{display:grid}.inventory-manager-row{align-items:stretch}.inventory-manager-row .inventory-drag-handle,.inventory-manager-row .shell-button{width:100%}.asset-action-modal{padding:16px}.work-board-layout{grid-template-columns:1fr}.work-plan-list{flex-direction:column;overflow:visible}.work-plan-selector,.work-plan-add-card{flex:auto;max-width:none}.work-plan-add-card{min-height:76px}.work-hub-intro{flex-direction:column;align-items:flex-start}.work-detail-panel{position:relative;top:0}.work-kanban-grid{grid-template-columns:1fr;overflow-x:visible}.work-kanban-column{min-height:auto}.work-type-tabs button,.work-quick-filters button{flex:auto}.overview-card-grid,.work-plan-grid,.work-plan-layout,.daily-log-layout,.messages-layout{grid-template-columns:1fr}.messages-channel-panel{position:static}.message-bubble,.message-bubble.own{grid-template-columns:38px minmax(0,1fr)}.message-bubble.own .message-avatar{grid-column:1}.message-bubble.own .message-body{grid-column:2}.daily-log-morning-header,.daily-task-quick-add,.daily-task-card,.daily-task-meta,.daily-report-grid,.compact-report-grid,.daily-final-report-form,.daily-final-report-fields,.daily-log-overview-grid,.daily-task-quick-add-grid,.daily-log-drawer-add,.daily-task-drawer-grid{grid-template-columns:1fr}.daily-log-date-head{flex-direction:column}.daily-log-date-summary{justify-content:flex-start}.daily-report-grid section.wide{grid-column:auto}.daily-log-drawer{border-radius:0;width:100vw;max-height:100vh;padding:16px;inset:0}.daily-log-drawer-actions{justify-content:stretch;bottom:-16px}.daily-log-drawer-actions .ui-button{width:100%}.daily-task-drawer{width:auto;max-height:calc(100vh - 24px);inset:auto 12px 12px}.daily-task-actions{flex-direction:column;align-items:stretch}.daily-task-actions .ui-button,.daily-task-quick-add-actions .ui-button{width:100%}.daily-log-section-card{grid-template-columns:30px minmax(0,1fr)}.daily-log-section-card .status-pill{grid-column:2;width:fit-content}.trend-chart{min-height:180px}.viewer-stage,.viewer-canvas{min-height:420px}.viewer-return-bar{flex-direction:column;align-items:stretch}.viewer-return-bar>div{text-align:left}.drawing-shell.viewer-open .viewer-stage,.drawing-shell.viewer-open .viewer-stage-3d,.drawing-shell.viewer-open .viewer-canvas{min-height:520px}.drawing-empty-shell{min-height:calc(100vh - 220px);padding:36px 22px}.drawing-floating-tools{grid-auto-columns:48px;grid-auto-flow:column;top:auto;bottom:18px;left:18px}.fab{bottom:14px;left:14px;right:14px}.drawing-drawer-shell{width:auto;inset:12px 12px 84px}.drawer-left,.drawer-right{transform:translateY(calc(100% + 16px))}.drawer-left.open,.drawer-right.open{transform:translateY(0)}.drawing-drawer-toggles{top:88px;left:14px;right:14px}.drawing-drawer-toggles.in-viewer{top:14px;left:14px;right:14px}.drawing-drawer-toggles.drawing-drawer-toggle-layer.in-viewer{top:76px;transform:none}.drawing-drawer-toggle-layer.issue-open{left:14px}.drawing-drawer-toggle-layer.detail-open{right:14px}.drawing-drawer-toggle-layer .drawer-toggle{width:52px;min-width:52px;height:52px;min-height:52px}}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background-color:var(--control-bg);color:var(--text);border-color:var(--line)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#9aa9bfb8}:root[data-theme=dark] .message-channel-stats div,:root[data-theme=dark] .message-filter-bar,:root[data-theme=dark] .messages-list,:root[data-theme=dark] .message-body,:root[data-theme=dark] .message-composer-card,:root[data-theme=dark] .message-day-divider,.app-shell[data-theme=dark] .message-channel-stats div,.app-shell[data-theme=dark] .message-filter-bar,.app-shell[data-theme=dark] .messages-list,.app-shell[data-theme=dark] .message-body,.app-shell[data-theme=dark] .message-composer-card,.app-shell[data-theme=dark] .message-day-divider{border-color:var(--line);background:#141417b8}:root[data-theme=dark] .message-body,.app-shell[data-theme=dark] .message-body{background:linear-gradient(145deg,#222124c2,#1414177a),radial-gradient(circle at 18% 0,#ffffff1a,#0000 38%);border-color:#96949138;box-shadow:inset 0 1px #ffffff1f,0 18px 40px #00000038}:root[data-theme=dark] .message-search-box input,:root[data-theme=dark] .message-composer-card textarea,:root[data-theme=dark] .message-template-grid button,:root[data-theme=dark] .message-scope-toggle button,.app-shell[data-theme=dark] .message-search-box input,.app-shell[data-theme=dark] .message-composer-card textarea,.app-shell[data-theme=dark] .message-template-grid button,.app-shell[data-theme=dark] .message-scope-toggle button{background:var(--control-bg);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .message-bubble.own .message-body,.app-shell[data-theme=dark] .message-bubble.own .message-body{background:linear-gradient(145deg,#0891b257,#14141785),radial-gradient(circle at 18% 0,#7dd3fc2e,#0000 40%);border-color:#22d3ee47;box-shadow:inset 0 1px #ffffff24,0 18px 42px #0891b22e}:root[data-theme=dark] .message-bubble.own .message-meta span,.app-shell[data-theme=dark] .message-bubble.own .message-meta span{color:#e0dedbb3}:root[data-theme=dark] .message-alert,.app-shell[data-theme=dark] .message-alert{border-color:var(--danger-soft);background:#7f1d1d2e}:root[data-theme=dark] .message-alert.info,.app-shell[data-theme=dark] .message-alert.info{border-color:var(--warning-soft);color:var(--warning);background:#78350f33}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .quick-panel,:root[data-theme=dark] .surface-card,:root[data-theme=dark] .hero-banner,:root[data-theme=dark] .table-card,:root[data-theme=dark] .issue-card,:root[data-theme=dark] .project-card,:root[data-theme=dark] .task-card,:root[data-theme=dark] .kanban-column,:root[data-theme=dark] .inventory-card,:root[data-theme=dark] .asset-card,:root[data-theme=dark] .timeline-card,:root[data-theme=dark] .template-card,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .phone-card,:root[data-theme=dark] .project-files-shell,:root[data-theme=dark] .project-files-panel,:root[data-theme=dark] .project-files-card,:root[data-theme=dark] .file-card,:root[data-theme=dark] .file-library-empty,:root[data-theme=dark] .project-workspace-page,:root[data-theme=dark] .project-workspace-hero,:root[data-theme=dark] .work-plan-selector,:root[data-theme=dark] .work-plan-add-card,:root[data-theme=dark] .work-plan-detail,:root[data-theme=dark] .work-level-group,:root[data-theme=dark] .work-breakdown-row,:root[data-theme=dark] .model-viewer-shell,:root[data-theme=dark] .viewer-stage,:root[data-theme=dark] .viewer-stage-3d,:root[data-theme=dark] .drawing-empty-state,:root[data-theme=dark] .drawing-drawer-shell,:root[data-theme=dark] .issue-detail-panel,:root[data-theme=dark] .issue-pin-tooltip,:root[data-theme=dark] .daily-log-section-card,:root[data-theme=dark] .data-table,:root[data-theme=dark] .toast{border-color:var(--line);color:var(--text);box-shadow:var(--shadow);background:#141417f0}:root[data-theme=dark] .sidebar{-webkit-backdrop-filter:blur(20px)saturate(1.18);background:linear-gradient(#222124d1,#14141794),#141417a8;border-color:#96949133;box-shadow:0 20px 60px #00000042,inset 0 1px #ffffff1a}:root[data-theme=dark] .drawing-back-button,.app-shell[data-theme=dark] .drawing-back-button{color:var(--text);background:linear-gradient(#222124e0,#141417cc);border-color:#9694913d;box-shadow:0 12px 26px #00000038,inset 0 1px #ffffff14}:root[data-theme=dark] .drawing-back-button:hover,.app-shell[data-theme=dark] .drawing-back-button:hover{color:#16161a;background:#f5f5f3f0;border-color:#e0dedb47}:root[data-theme=dark] .page-header,:root[data-theme=dark] .context-strip,:root[data-theme=dark] .work-plan-breakdown-shell,:root[data-theme=dark] .work-plan-list,:root[data-theme=dark] .model-selection-strip,:root[data-theme=dark] .drawing-viewer-card,:root[data-theme=dark] .viewer-toolbar,:root[data-theme=dark] .viewer-return-bar,:root[data-theme=dark] .file-filter-bar,:root[data-theme=dark] .file-tabs,:root[data-theme=dark] .quick-filter-bar,:root[data-theme=dark] .board-summary-card,:root[data-theme=dark] .list-view-table,:root[data-theme=dark] .schedule-date-cell,:root[data-theme=dark] .duration-edit-cell{border-color:var(--line);color:var(--text);background:#141417c7}:root[data-theme=dark] .shell-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .notification-button,:root[data-theme=dark] .drawer-toggle,:root[data-theme=dark] .drawing-drawer-head button,:root[data-theme=dark] .segmented-control button,:root[data-theme=dark] .viewer-controls button,:root[data-theme=dark] .floor-tabs button,:root[data-theme=dark] .quick-panel button,:root[data-theme=dark] .file-tab,:root[data-theme=dark] .filter-chip,:root[data-theme=dark] .work-plan-actions-menu button{background:var(--control-bg);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .shell-button-primary,:root[data-theme=dark] .quick-add{color:#fff;background:#2f63f6;border-color:#2f63f6}:root[data-theme=dark] .report-builder-header,:root[data-theme=dark] .report-summary-card,:root[data-theme=dark] .report-action-bar,:root[data-theme=dark] .report-type-card,:root[data-theme=dark] .report-toggle,:root[data-theme=dark] .report-format-card,:root[data-theme=dark] .report-preview-section-list,.app-shell[data-theme=dark] .report-builder-header,.app-shell[data-theme=dark] .report-summary-card,.app-shell[data-theme=dark] .report-action-bar,.app-shell[data-theme=dark] .report-type-card,.app-shell[data-theme=dark] .report-toggle,.app-shell[data-theme=dark] .report-format-card,.app-shell[data-theme=dark] .report-preview-section-list{color:#f8fafc;background:#141417c7;border-color:#ffffff21}:root[data-theme=dark] .report-type-card.active,:root[data-theme=dark] .report-toggle.active,.app-shell[data-theme=dark] .report-type-card.active,.app-shell[data-theme=dark] .report-toggle.active{background:linear-gradient(#ffffff1a,#ffffff0b),#141417e6;border-color:#ffffff42;box-shadow:inset 0 1px #ffffff14,0 18px 40px #0000003d}:root[data-theme=dark] .report-type-icon-wrap,:root[data-theme=dark] .report-option-icon,:root[data-theme=dark] .report-options-summary span,:root[data-theme=dark] .report-preview-section-list span,.app-shell[data-theme=dark] .report-type-icon-wrap,.app-shell[data-theme=dark] .report-option-icon,.app-shell[data-theme=dark] .report-options-summary span,.app-shell[data-theme=dark] .report-preview-section-list span{color:#f8fafc;background:#ffffff14}:root[data-theme=dark] .report-builder-title h4,:root[data-theme=dark] .report-builder-section-head h5,:root[data-theme=dark] .report-summary-card h5,:root[data-theme=dark] .report-action-bar strong,:root[data-theme=dark] .report-type-card strong,:root[data-theme=dark] .report-toggle strong,:root[data-theme=dark] .report-format-card strong,:root[data-theme=dark] .report-preview-section-list strong,.app-shell[data-theme=dark] .report-builder-title h4,.app-shell[data-theme=dark] .report-builder-section-head h5,.app-shell[data-theme=dark] .report-summary-card h5,.app-shell[data-theme=dark] .report-action-bar strong,.app-shell[data-theme=dark] .report-type-card strong,.app-shell[data-theme=dark] .report-toggle strong,.app-shell[data-theme=dark] .report-format-card strong,.app-shell[data-theme=dark] .report-preview-section-list strong{color:#fffaf0}:root[data-theme=dark] .report-builder-title p,:root[data-theme=dark] .report-builder-section-head p,:root[data-theme=dark] .report-builder-status small,:root[data-theme=dark] .report-summary-card p,:root[data-theme=dark] .report-action-bar span,:root[data-theme=dark] .report-type-card p,:root[data-theme=dark] .report-toggle small,:root[data-theme=dark] .report-format-card span,.app-shell[data-theme=dark] .report-builder-title p,.app-shell[data-theme=dark] .report-builder-section-head p,.app-shell[data-theme=dark] .report-builder-status small,.app-shell[data-theme=dark] .report-summary-card p,.app-shell[data-theme=dark] .report-action-bar span,.app-shell[data-theme=dark] .report-type-card p,.app-shell[data-theme=dark] .report-toggle small,.app-shell[data-theme=dark] .report-format-card span{color:#e0dedbb8}:root[data-theme=dark] .report-format-card.active,.app-shell[data-theme=dark] .report-format-card.active{color:#16161a;background:#f8fafc;border-color:#ffffff5c}:root[data-theme=dark] .report-format-card.active strong,.app-shell[data-theme=dark] .report-format-card.active strong{color:#16161a}:root[data-theme=dark] .report-format-card.active span,.app-shell[data-theme=dark] .report-format-card.active span{color:#141417a8}:root[data-theme=dark] .report-warning-card,:root[data-theme=dark] .report-preview-empty,.app-shell[data-theme=dark] .report-warning-card,.app-shell[data-theme=dark] .report-preview-empty{border-color:var(--warning-soft);color:var(--warning);background:#78350f33}:root[data-theme=dark] .report-warning-card strong,:root[data-theme=dark] .report-warning-card span,:root[data-theme=dark] .report-preview-empty strong,:root[data-theme=dark] .report-preview-empty span,.app-shell[data-theme=dark] .report-warning-card strong,.app-shell[data-theme=dark] .report-warning-card span,.app-shell[data-theme=dark] .report-preview-empty strong,.app-shell[data-theme=dark] .report-preview-empty span{color:var(--warning)}:root[data-theme=dark] .report-preview-drawer,.app-shell[data-theme=dark] .report-preview-drawer{color:#f6f6f7;background:#111214f7;border-color:#ffffff1f;box-shadow:0 30px 80px #00000080}:root[data-theme=dark] .report-preview-drawer .report-preview-header,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-header{background:#141417f5;border-bottom-color:#ffffff1f}:root[data-theme=dark] .report-preview-drawer .report-preview-header h3,:root[data-theme=dark] .report-preview-drawer .report-preview-section h4,:root[data-theme=dark] .report-preview-drawer .report-preview-list strong,:root[data-theme=dark] .report-preview-drawer .report-preview-section-list strong,:root[data-theme=dark] .report-preview-drawer .report-preview-summary strong,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-header h3,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-section h4,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-list strong,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-section-list strong,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-summary strong{color:#fffaf0}:root[data-theme=dark] .report-preview-drawer .report-preview-header p,:root[data-theme=dark] .report-preview-drawer .report-preview-summary span,:root[data-theme=dark] .report-preview-drawer .report-preview-list span,:root[data-theme=dark] .report-preview-drawer .report-preview-list p,:root[data-theme=dark] .report-preview-drawer .muted-copy,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-header p,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-summary span,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-list span,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-list p,.app-shell[data-theme=dark] .report-preview-drawer .muted-copy{color:#c5beb2}:root[data-theme=dark] .report-preview-drawer .report-preview-summary span,:root[data-theme=dark] .report-preview-drawer .report-preview-section-list,:root[data-theme=dark] .report-preview-drawer .report-preview-section,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-summary span,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-section-list,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-section{background:#ffffff0d;border-color:#ffffff1f}:root[data-theme=dark] .report-preview-drawer .report-preview-list article,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-list article{background:#ffffff0b;border-color:#ffffff1a}:root[data-theme=dark] .report-preview-drawer .report-preview-section-list span,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-section-list span{color:#e7e3da;background:#ffffff14}:root[data-theme=dark] .report-preview-drawer .report-preview-actions,.app-shell[data-theme=dark] .report-preview-drawer .report-preview-actions{background:linear-gradient(#11121400,#111214f7 32%)}:root[data-theme=dark] .report-preview-drawer .icon-button,.app-shell[data-theme=dark] .report-preview-drawer .icon-button{color:#f6f6f7;background:#ffffff14;border-color:#ffffff2e}:root[data-theme=dark] .work-hub-tabs button{color:#f6f6f7;background:#ffffff13;border-color:#ffffff21;box-shadow:inset 0 1px #ffffff0f}:root[data-theme=dark] .work-hub-tabs button:hover,:root[data-theme=dark] .work-hub-tabs button.active{background:#f3f0e824;border-color:#f3f0e857;box-shadow:0 14px 34px #00000038}:root[data-theme=dark] .work-hub-tabs button span,:root[data-theme=dark] .work-hub-intro h4{color:#fffaf0}:root[data-theme=dark] .work-hub-tabs button small,:root[data-theme=dark] .work-hub-intro span,:root[data-theme=dark] .work-area-note span{color:#c5beb2}:root[data-theme=dark] .work-hub-tabs button strong{color:#fffaf0;background:#ffffff1f}:root[data-theme=dark] .work-hub-tabs button.active strong{color:#0b0c0f;background:#f6f6f7}:root[data-theme=dark] .file-stat-card,.app-shell[data-theme=dark] .file-stat-card{color:#fffaf0;background:linear-gradient(#ffffff18,#ffffff0b),#ffffff13;border-color:#ffffff21;box-shadow:0 14px 34px #00000038,inset 0 1px #ffffff14}:root[data-theme=dark] .file-stat-card span,.app-shell[data-theme=dark] .file-stat-card span{color:#c5beb2}:root[data-theme=dark] .file-stat-card strong,.app-shell[data-theme=dark] .file-stat-card strong{color:#fffaf0}:root[data-theme=dark] .project-file-card,.app-shell[data-theme=dark] .project-file-card{color:#fffaf0;background:linear-gradient(#ffffff0f,#ffffff08),#111214f5;border-color:#ffffff21;box-shadow:0 18px 40px #00000042,inset 0 1px #ffffff0f}:root[data-theme=dark] .project-file-card:hover,:root[data-theme=dark] .project-file-card.active,.app-shell[data-theme=dark] .project-file-card:hover,.app-shell[data-theme=dark] .project-file-card.active{border-color:#f3f0e852;box-shadow:0 22px 46px #00000057,inset 0 1px #ffffff17}:root[data-theme=dark] .project-file-thumb,.app-shell[data-theme=dark] .project-file-thumb{background:linear-gradient(#ffffff18,#ffffff09);border-color:#ffffff1f}:root[data-theme=dark] .project-file-thumb.mode-3d,.app-shell[data-theme=dark] .project-file-thumb.mode-3d{background:radial-gradient(circle at 42% 36%,#f3f0e829,#0000 38%),linear-gradient(#ffffff16,#ffffff09)}:root[data-theme=dark] .project-file-model-thumb,.app-shell[data-theme=dark] .project-file-model-thumb{background:linear-gradient(135deg,#202123fa,#121315eb)}:root[data-theme=dark] .project-file-model-thumb:before,.app-shell[data-theme=dark] .project-file-model-thumb:before{border-color:#f3f0e838}:root[data-theme=dark] .project-file-title-row strong,.app-shell[data-theme=dark] .project-file-title-row strong{color:#fffaf0}:root[data-theme=dark] .project-file-title-row small,:root[data-theme=dark] .project-file-meta-grid span,:root[data-theme=dark] .file-issue-stats span,.app-shell[data-theme=dark] .project-file-title-row small,.app-shell[data-theme=dark] .project-file-meta-grid span,.app-shell[data-theme=dark] .file-issue-stats span{color:#c5beb2}:root[data-theme=dark] .project-file-thumb>.status-pill,.app-shell[data-theme=dark] .project-file-thumb>.status-pill{color:#fffaf0;background:#0f1012c2;border-color:#ffffff24}:root[data-theme=dark] .material-stock-check>div,.app-shell[data-theme=dark] .material-stock-check>div{background:linear-gradient(#ffffff14,#ffffff09),#111214f0;border-color:#ffffff21;box-shadow:inset 0 1px #ffffff0f}:root[data-theme=dark] .material-stock-check span,.app-shell[data-theme=dark] .material-stock-check span{color:#c5beb2}:root[data-theme=dark] .material-stock-check strong,.app-shell[data-theme=dark] .material-stock-check strong{color:#fffaf0}:root[data-theme=dark] .material-stock-check.tone-success>div:first-child,.app-shell[data-theme=dark] .material-stock-check.tone-success>div:first-child{background:linear-gradient(#4ade8021,#4ade800b),#111214f2;border-color:#4ade8047}:root[data-theme=dark] .material-stock-check.tone-warning>div:first-child,.app-shell[data-theme=dark] .material-stock-check.tone-warning>div:first-child{border-color:var(--warning-soft);background:linear-gradient(#fbbf2424,#fbbf240b),#111214f2}:root[data-theme=dark] .material-stock-check.tone-neutral>div:first-child,.app-shell[data-theme=dark] .material-stock-check.tone-neutral>div:first-child{background:linear-gradient(#ffffff1a,#ffffff0a),#111214f2;border-color:#ffffff26}:root[data-theme=dark] .progress-track,:root[data-theme=dark] .gantt-chart-shell,:root[data-theme=dark] .gantt-day-column,:root[data-theme=dark] .viewer-canvas,:root[data-theme=dark] .model-canvas,:root[data-theme=dark] .file-thumbnail,:root[data-theme=dark] .skeleton{background:#9694911f}:root[data-theme=dark] .gantt-month-row b{border-color:var(--line);color:var(--primary);background:#ffffff14}:root[data-theme=dark] .gantt-day-row span{border-color:var(--line)}:root[data-theme=dark] .gantt-day-row span.weekend{background:var(--warning-soft)}:root[data-theme=dark] .gantt-day-row span.non-working,:root[data-theme=dark] .gantt-grid-line.non-working{background:#96949114}:root[data-theme=dark] .gantt-day-row span.holiday,:root[data-theme=dark] .gantt-grid-line.holiday{background:var(--danger-soft)}:root[data-theme=dark] .gantt-day-row span.holiday strong{color:var(--danger)}:root[data-theme=dark] .schedule-settings-modal,:root[data-theme=dark] .schedule-settings-head button,:root[data-theme=dark] .schedule-holiday-form button,:root[data-theme=dark] .schedule-holiday-row button,:root[data-theme=dark] .schedule-settings-days button,:root[data-theme=dark] .schedule-holiday-form input,:root[data-theme=dark] .schedule-holiday-row{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .schedule-setting-switch,:root[data-theme=dark] .schedule-settings-section{background:#96949114}:root[data-theme=dark] .schedule-settings-days button.active{background:var(--success-soft);color:var(--ink)}:root[data-theme=dark] .data-table th,:root[data-theme=dark] .data-table td,:root[data-theme=dark] .work-breakdown-row,:root[data-theme=dark] .work-level-header,:root[data-theme=dark] .gantt-date-header{border-color:var(--line)}:root[data-theme=dark] .work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:first-child,:root[data-theme=dark] .work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:last-child{background:#141417fa}:root[data-theme=dark] .work-schedule-board,:root[data-theme=dark] .work-schedule-left-pane,:root[data-theme=dark] .work-schedule-left-head,:root[data-theme=dark] .work-schedule-timeline-head,:root[data-theme=dark] .work-schedule-fixed-row{border-color:var(--line);background:#141417db}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .detail-copy,:root[data-theme=dark] small,:root[data-theme=dark] .muted{color:var(--muted)}.app-shell:not([data-theme=dark]) .topbar,.app-shell:not([data-theme=dark]) .page-header,.app-shell:not([data-theme=dark]) .context-strip,.app-shell:not([data-theme=dark]) .setup-checklist,.app-shell:not([data-theme=dark]) .quick-panel,.app-shell:not([data-theme=dark]) .surface-card,.app-shell:not([data-theme=dark]) .hero-banner,.app-shell:not([data-theme=dark]) .table-card,.app-shell:not([data-theme=dark]) .issue-card,.app-shell:not([data-theme=dark]) .project-card,.app-shell:not([data-theme=dark]) .task-card,.app-shell:not([data-theme=dark]) .inventory-card,.app-shell:not([data-theme=dark]) .asset-card,.app-shell:not([data-theme=dark]) .daily-log-section-card,.app-shell:not([data-theme=dark]) .project-files-shell,.app-shell:not([data-theme=dark]) .project-files-panel,.app-shell:not([data-theme=dark]) .file-card,.app-shell:not([data-theme=dark]) .work-plan-detail,.app-shell:not([data-theme=dark]) .work-level-group,.app-shell:not([data-theme=dark]) .material-request-date-group,.app-shell:not([data-theme=dark]) .report-type-card,.app-shell:not([data-theme=dark]) .report-preview-panel{border-color:var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffffffa,#fafaf7f2),#fff}.app-shell:not([data-theme=dark]) .page-header h1,.app-shell:not([data-theme=dark]) .hero-banner h2,.app-shell:not([data-theme=dark]) .surface-card h3,.app-shell:not([data-theme=dark]) .surface-card h4,.app-shell:not([data-theme=dark]) .project-card h4,.app-shell:not([data-theme=dark]) .task-card h4,.app-shell:not([data-theme=dark]) .inventory-card h4,.app-shell:not([data-theme=dark]) .asset-card h4{color:var(--ink);letter-spacing:-.035em;font-weight:780}.app-shell:not([data-theme=dark]) .eyebrow{color:#6f6f68;letter-spacing:.16em;font-weight:700}.app-shell:not([data-theme=dark]) .shell-button-primary,.app-shell:not([data-theme=dark]) .quick-add,.app-shell:not([data-theme=dark]) .fab{color:#fff;background:#171717;border-color:#171717;box-shadow:0 12px 26px #11111124}.app-shell:not([data-theme=dark]) .shell-button-primary:hover,.app-shell:not([data-theme=dark]) .quick-add:hover,.app-shell:not([data-theme=dark]) .fab:hover{background:#2a2a27;border-color:#2a2a27}.app-shell:not([data-theme=dark]) .shell-button-secondary,.app-shell:not([data-theme=dark]) .icon-button,.app-shell:not([data-theme=dark]) .notification-button,.app-shell:not([data-theme=dark]) .theme-toggle,.app-shell:not([data-theme=dark]) .company-chip,.app-shell:not([data-theme=dark]) .company-chip-button,.app-shell:not([data-theme=dark]) .user-logout{border-color:var(--line);color:var(--text);background:#fffffff0}.app-shell:not([data-theme=dark]) .status-pill,.app-shell:not([data-theme=dark]) .filter-chip,.app-shell:not([data-theme=dark]) .file-tab,.app-shell:not([data-theme=dark]) .segmented-control button,.app-shell:not([data-theme=dark]) .floor-tabs button,.app-shell:not([data-theme=dark]) .work-plan-selector,.app-shell:not([data-theme=dark]) .setup-checklist span{background:var(--neutral-soft);border-color:var(--line);color:var(--muted)}.app-shell:not([data-theme=dark]) .file-tab.active,.app-shell:not([data-theme=dark]) .segmented-control button.active,.app-shell:not([data-theme=dark]) .floor-tabs button.active,.app-shell:not([data-theme=dark]) .work-plan-selector.active,.app-shell:not([data-theme=dark]) .notification-filter-bar button.active,.app-shell:not([data-theme=dark]) .setup-checklist span.done,.app-shell:not([data-theme=dark]) .report-type-card.selected{color:var(--ink);background:#11111112;border-color:#11111129}.app-shell:not([data-theme=dark]) .data-table th{color:#5f5f58;background:#f5f5f2}.app-shell:not([data-theme=dark]) .data-table tbody tr:hover,.app-shell:not([data-theme=dark]) .data-table tbody tr.selected,.app-shell:not([data-theme=dark]) .team-members-table tbody tr:hover{background:#1111110b}.app-shell:not([data-theme=dark]) .progress-track span,.app-shell:not([data-theme=dark]) .progress-track span.tone-info,.app-shell:not([data-theme=dark]) .gantt-task-bar,.app-shell:not([data-theme=dark]) .gantt-task-bar i{background:linear-gradient(90deg,#171717,#7a7a72)}.app-shell:not([data-theme=dark]) .asset-readiness .tone-success,.app-shell:not([data-theme=dark]) .inventory-health .tone-success{background:linear-gradient(90deg,#15803d,#65a30d)}.app-shell:not([data-theme=dark]) .notification-page-list,.app-shell:not([data-theme=dark]) .report-archive-table,.app-shell:not([data-theme=dark]) .list-view-table{background:#fff}.app-shell:not([data-theme=dark]) .notification-page-list{background:0 0}:root[data-theme=dark] body{background:var(--body-gradient)}:root[data-theme=dark] .app-shell,.app-shell[data-theme=dark]{color:var(--text)}:root[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .sidebar{background:linear-gradient(#fff3,#ffffff14),#141517bd;border-color:#ffffff24;box-shadow:0 24px 60px #00000073,inset 0 1px #ffffff3d}:root[data-theme=dark] .brand-mark,.app-shell[data-theme=dark] .brand-mark{color:#0b0c0f;background:radial-gradient(circle at 30% 18%,#ffffff61,#0000 34%),linear-gradient(145deg,#f1ede4,#7f796f);box-shadow:0 14px 28px #0000004d,inset 0 1px #ffffffa6}:root[data-theme=dark] .brand-mark:after,.app-shell[data-theme=dark] .brand-mark:after{color:#0b0c0f}:root[data-theme=dark] .sidebar-item,.app-shell[data-theme=dark] .sidebar-item{color:#d5d0c5}:root[data-theme=dark] .collapse-toggle,.app-shell[data-theme=dark] .collapse-toggle{color:#c5beb2}:root[data-theme=dark] .sidebar-icon,:root[data-theme=dark] .pin-icon,.app-shell[data-theme=dark] .sidebar-icon,.app-shell[data-theme=dark] .pin-icon{color:currentColor;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1c}:root[data-theme=dark] .sidebar-item:hover,:root[data-theme=dark] .collapse-toggle:hover,.app-shell[data-theme=dark] .sidebar-item:hover,.app-shell[data-theme=dark] .collapse-toggle:hover{color:var(--ink);background:#ffffff1f;border-color:#ffffff24;box-shadow:0 12px 26px #00000038}:root[data-theme=dark] .sidebar-item.active,.app-shell[data-theme=dark] .sidebar-item.active{color:var(--ink);background:#ffffff24;border-color:#ffffff2e}:root[data-theme=dark] .sidebar-item.active:before,.app-shell[data-theme=dark] .sidebar-item.active:before{background:linear-gradient(#fff8ec,#8f887e);box-shadow:0 0 18px #ffffff3d}:root[data-theme=dark] .topbar,:root[data-theme=dark] .page-header,:root[data-theme=dark] .context-strip,:root[data-theme=dark] .setup-checklist,:root[data-theme=dark] .quick-panel,:root[data-theme=dark] .surface-card,:root[data-theme=dark] .hero-banner,:root[data-theme=dark] .table-card,:root[data-theme=dark] .issue-card,:root[data-theme=dark] .project-card,:root[data-theme=dark] .task-card,:root[data-theme=dark] .inventory-card,:root[data-theme=dark] .asset-card,:root[data-theme=dark] .daily-log-section-card,:root[data-theme=dark] .project-files-shell,:root[data-theme=dark] .project-files-panel,:root[data-theme=dark] .file-card,:root[data-theme=dark] .work-plan-detail,:root[data-theme=dark] .work-level-group,:root[data-theme=dark] .material-request-date-group,:root[data-theme=dark] .report-type-card,:root[data-theme=dark] .report-preview-panel,.app-shell[data-theme=dark] .topbar,.app-shell[data-theme=dark] .page-header,.app-shell[data-theme=dark] .context-strip,.app-shell[data-theme=dark] .setup-checklist,.app-shell[data-theme=dark] .quick-panel,.app-shell[data-theme=dark] .surface-card,.app-shell[data-theme=dark] .hero-banner,.app-shell[data-theme=dark] .table-card,.app-shell[data-theme=dark] .issue-card,.app-shell[data-theme=dark] .project-card,.app-shell[data-theme=dark] .task-card,.app-shell[data-theme=dark] .inventory-card,.app-shell[data-theme=dark] .asset-card,.app-shell[data-theme=dark] .daily-log-section-card,.app-shell[data-theme=dark] .project-files-shell,.app-shell[data-theme=dark] .project-files-panel,.app-shell[data-theme=dark] .file-card,.app-shell[data-theme=dark] .work-plan-detail,.app-shell[data-theme=dark] .work-level-group,.app-shell[data-theme=dark] .material-request-date-group,.app-shell[data-theme=dark] .report-type-card,.app-shell[data-theme=dark] .report-preview-panel{border-color:var(--line);background:linear-gradient(180deg, #ffffff0e, #ffffff06), var(--panel);color:var(--text);box-shadow:var(--shadow-soft)}:root[data-theme=dark] .context-strip>div,:root[data-theme=dark] .status-pill,:root[data-theme=dark] .filter-chip,:root[data-theme=dark] .file-tab,:root[data-theme=dark] .segmented-control button,:root[data-theme=dark] .floor-tabs button,:root[data-theme=dark] .work-plan-selector,:root[data-theme=dark] .setup-checklist span,:root[data-theme=dark] .notification-filter-bar button,:root[data-theme=dark] .company-chip,:root[data-theme=dark] .company-chip-button,:root[data-theme=dark] .user-menu,:root[data-theme=dark] .user-logout,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .notification-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .avatar-shell,.app-shell[data-theme=dark] .context-strip>div,.app-shell[data-theme=dark] .status-pill,.app-shell[data-theme=dark] .filter-chip,.app-shell[data-theme=dark] .file-tab,.app-shell[data-theme=dark] .segmented-control button,.app-shell[data-theme=dark] .floor-tabs button,.app-shell[data-theme=dark] .work-plan-selector,.app-shell[data-theme=dark] .setup-checklist span,.app-shell[data-theme=dark] .notification-filter-bar button,.app-shell[data-theme=dark] .company-chip,.app-shell[data-theme=dark] .company-chip-button,.app-shell[data-theme=dark] .user-menu,.app-shell[data-theme=dark] .user-logout,.app-shell[data-theme=dark] .theme-toggle,.app-shell[data-theme=dark] .notification-button,.app-shell[data-theme=dark] .icon-button,.app-shell[data-theme=dark] .avatar-shell{color:var(--text);background:#ffffff14;border-color:#ffffff21}:root[data-theme=dark] .file-tab.active,:root[data-theme=dark] .segmented-control button.active,:root[data-theme=dark] .floor-tabs button.active,:root[data-theme=dark] .work-plan-selector.active,:root[data-theme=dark] .notification-filter-bar button.active,:root[data-theme=dark] .setup-checklist span.done,:root[data-theme=dark] .report-type-card.active,:root[data-theme=dark] .report-type-card.selected,:root[data-theme=dark] .project-card.active,:root[data-theme=dark] .theme-toggle.active,:root[data-theme=dark] .asset-status-bar button.active,.app-shell[data-theme=dark] .file-tab.active,.app-shell[data-theme=dark] .segmented-control button.active,.app-shell[data-theme=dark] .floor-tabs button.active,.app-shell[data-theme=dark] .work-plan-selector.active,.app-shell[data-theme=dark] .notification-filter-bar button.active,.app-shell[data-theme=dark] .setup-checklist span.done,.app-shell[data-theme=dark] .report-type-card.active,.app-shell[data-theme=dark] .report-type-card.selected,.app-shell[data-theme=dark] .project-card.active,.app-shell[data-theme=dark] .theme-toggle.active,.app-shell[data-theme=dark] .asset-status-bar button.active{color:var(--ink);background:#ffffff24;border-color:#ffffff2e}:root[data-theme=dark] .shell-button-primary,:root[data-theme=dark] .quick-add,:root[data-theme=dark] .fab,.app-shell[data-theme=dark] .shell-button-primary,.app-shell[data-theme=dark] .quick-add,.app-shell[data-theme=dark] .fab{color:#0b0c0f;background:#f6f6f7;border-color:#f6f6f7;box-shadow:0 16px 34px #00000052}:root[data-theme=dark] .shell-button-primary:hover,:root[data-theme=dark] .quick-add:hover,:root[data-theme=dark] .fab:hover,.app-shell[data-theme=dark] .shell-button-primary:hover,.app-shell[data-theme=dark] .quick-add:hover,.app-shell[data-theme=dark] .fab:hover{background:#fffaf0;border-color:#fffaf0}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,.app-shell[data-theme=dark] input,.app-shell[data-theme=dark] select,.app-shell[data-theme=dark] textarea{color:var(--ink);background-color:#101114;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder,.app-shell[data-theme=dark] input::placeholder,.app-shell[data-theme=dark] textarea::placeholder{color:#d9d4c99e}:root[data-theme=dark] .page-header h1,:root[data-theme=dark] .hero-banner h2,:root[data-theme=dark] .surface-card h3,:root[data-theme=dark] .surface-card h4,:root[data-theme=dark] .project-card h4,:root[data-theme=dark] .task-card h4,:root[data-theme=dark] .inventory-card h4,:root[data-theme=dark] .asset-card h4,:root[data-theme=dark] .context-strip strong,:root[data-theme=dark] .company-chip strong,:root[data-theme=dark] .user-menu-copy strong,.app-shell[data-theme=dark] .page-header h1,.app-shell[data-theme=dark] .hero-banner h2,.app-shell[data-theme=dark] .surface-card h3,.app-shell[data-theme=dark] .surface-card h4,.app-shell[data-theme=dark] .project-card h4,.app-shell[data-theme=dark] .task-card h4,.app-shell[data-theme=dark] .inventory-card h4,.app-shell[data-theme=dark] .asset-card h4,.app-shell[data-theme=dark] .context-strip strong,.app-shell[data-theme=dark] .company-chip strong,.app-shell[data-theme=dark] .user-menu-copy strong{color:var(--ink)}:root[data-theme=dark] .page-header p,:root[data-theme=dark] .context-strip span,:root[data-theme=dark] .brand-lockup p,:root[data-theme=dark] .surface-card p,:root[data-theme=dark] .project-card p,:root[data-theme=dark] .task-card p,:root[data-theme=dark] .detail-copy,:root[data-theme=dark] .company-chip span,:root[data-theme=dark] .user-menu-copy span,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] small,:root[data-theme=dark] .muted,.app-shell[data-theme=dark] .page-header p,.app-shell[data-theme=dark] .context-strip span,.app-shell[data-theme=dark] .brand-lockup p,.app-shell[data-theme=dark] .surface-card p,.app-shell[data-theme=dark] .project-card p,.app-shell[data-theme=dark] .task-card p,.app-shell[data-theme=dark] .detail-copy,.app-shell[data-theme=dark] .company-chip span,.app-shell[data-theme=dark] .user-menu-copy span,.app-shell[data-theme=dark] .eyebrow,.app-shell[data-theme=dark] small,.app-shell[data-theme=dark] .muted{color:var(--muted)}:root[data-theme=dark] .progress-track,:root[data-theme=dark] .gantt-chart-shell,:root[data-theme=dark] .gantt-day-column,:root[data-theme=dark] .viewer-canvas,:root[data-theme=dark] .model-canvas,:root[data-theme=dark] .file-thumbnail,:root[data-theme=dark] .skeleton,.app-shell[data-theme=dark] .progress-track,.app-shell[data-theme=dark] .gantt-chart-shell,.app-shell[data-theme=dark] .gantt-day-column,.app-shell[data-theme=dark] .viewer-canvas,.app-shell[data-theme=dark] .model-canvas,.app-shell[data-theme=dark] .file-thumbnail,.app-shell[data-theme=dark] .skeleton{background:#ffffff14}:root[data-theme=dark] .progress-track span,:root[data-theme=dark] .progress-track span.tone-info,:root[data-theme=dark] .gantt-task-bar,:root[data-theme=dark] .gantt-task-bar i,:root[data-theme=dark] .work-schedule-board .gantt-task-bar.sub,.app-shell[data-theme=dark] .progress-track span,.app-shell[data-theme=dark] .progress-track span.tone-info,.app-shell[data-theme=dark] .gantt-task-bar,.app-shell[data-theme=dark] .gantt-task-bar i,.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(90deg,#f6f6f7,#8a8379)}.app-shell:not([data-theme=dark]) .work-schedule-board .gantt-task-bar.schedule-preview-bar,.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.schedule-preview-bar{background:#f5730038;border-color:#f57300ad}:root[data-theme=dark] .data-table th,:root[data-theme=dark] .team-members-table th,.app-shell[data-theme=dark] .data-table th,.app-shell[data-theme=dark] .team-members-table th{color:#d5d0c5;background:#ffffff12}:root[data-theme=dark] .data-table tbody tr:hover,:root[data-theme=dark] .data-table tbody tr.selected,:root[data-theme=dark] .team-members-table tbody tr:hover,.app-shell[data-theme=dark] .data-table tbody tr:hover,.app-shell[data-theme=dark] .data-table tbody tr.selected,.app-shell[data-theme=dark] .team-members-table tbody tr:hover{background:#ffffff14}:root[data-theme=dark] .tone-info,:root[data-theme=dark] .notification-icon-badge,:root[data-theme=dark] .drawing-aps-action-button,.app-shell[data-theme=dark] .tone-info,.app-shell[data-theme=dark] .notification-icon-badge,.app-shell[data-theme=dark] .drawing-aps-action-button{color:var(--ink);background:#ffffff1a;border-color:#ffffff24}:root[data-theme=dark] .notification-page-item.unread,.app-shell[data-theme=dark] .notification-page-item.unread{border-color:var(--line);background:0 0}:root[data-theme=dark] .dashboard-hero-control,:root[data-theme=dark] .dashboard-summary-tile,:root[data-theme=dark] .dashboard-kpi-card,:root[data-theme=dark] .dashboard-action-item,:root[data-theme=dark] .dashboard-today-item,:root[data-theme=dark] .dashboard-activity-row,:root[data-theme=dark] .dashboard-project-row,:root[data-theme=dark] .dashboard-quick-action-card,:root[data-theme=dark] .dashboard-onboarding-card,:root[data-theme=dark] .dashboard-empty-control,:root[data-theme=dark] .dashboard-health-row,.app-shell[data-theme=dark] .dashboard-hero-control,.app-shell[data-theme=dark] .dashboard-summary-tile,.app-shell[data-theme=dark] .dashboard-kpi-card,.app-shell[data-theme=dark] .dashboard-action-item,.app-shell[data-theme=dark] .dashboard-today-item,.app-shell[data-theme=dark] .dashboard-activity-row,.app-shell[data-theme=dark] .dashboard-project-row,.app-shell[data-theme=dark] .dashboard-quick-action-card,.app-shell[data-theme=dark] .dashboard-onboarding-card,.app-shell[data-theme=dark] .dashboard-empty-control,.app-shell[data-theme=dark] .dashboard-health-row{color:var(--text);background:linear-gradient(#ffffff13,#ffffff09),#151619;border-color:#ffffff21;box-shadow:0 14px 32px #00000042}:root[data-theme=dark] .dashboard-action-item:hover,:root[data-theme=dark] .dashboard-today-item:hover,:root[data-theme=dark] .dashboard-activity-row:hover,:root[data-theme=dark] .dashboard-project-row:hover,:root[data-theme=dark] .dashboard-kpi-card:hover,:root[data-theme=dark] .dashboard-summary-tile:hover,:root[data-theme=dark] .dashboard-quick-action-card:hover,.app-shell[data-theme=dark] .dashboard-action-item:hover,.app-shell[data-theme=dark] .dashboard-today-item:hover,.app-shell[data-theme=dark] .dashboard-activity-row:hover,.app-shell[data-theme=dark] .dashboard-project-row:hover,.app-shell[data-theme=dark] .dashboard-kpi-card:hover,.app-shell[data-theme=dark] .dashboard-summary-tile:hover,.app-shell[data-theme=dark] .dashboard-quick-action-card:hover{background:linear-gradient(#ffffff1c,#ffffff0e),#1b1c20;border-color:#fff3;box-shadow:0 18px 40px #00000057}:root[data-theme=dark] .dashboard-action-item strong,:root[data-theme=dark] .dashboard-today-item strong,:root[data-theme=dark] .dashboard-activity-row strong,:root[data-theme=dark] .dashboard-project-row strong,:root[data-theme=dark] .dashboard-summary-tile strong,:root[data-theme=dark] .dashboard-kpi-card strong,:root[data-theme=dark] .dashboard-quick-action-card strong,:root[data-theme=dark] .dashboard-onboarding-card strong,.app-shell[data-theme=dark] .dashboard-action-item strong,.app-shell[data-theme=dark] .dashboard-today-item strong,.app-shell[data-theme=dark] .dashboard-activity-row strong,.app-shell[data-theme=dark] .dashboard-project-row strong,.app-shell[data-theme=dark] .dashboard-summary-tile strong,.app-shell[data-theme=dark] .dashboard-kpi-card strong,.app-shell[data-theme=dark] .dashboard-quick-action-card strong,.app-shell[data-theme=dark] .dashboard-onboarding-card strong{color:var(--ink)}:root[data-theme=dark] .dashboard-action-item span,:root[data-theme=dark] .dashboard-today-item span,:root[data-theme=dark] .dashboard-activity-row span,:root[data-theme=dark] .dashboard-project-row span,:root[data-theme=dark] .dashboard-summary-tile span,:root[data-theme=dark] .dashboard-kpi-card span,:root[data-theme=dark] .dashboard-kpi-card small,:root[data-theme=dark] .dashboard-quick-action-card span,:root[data-theme=dark] .dashboard-onboarding-card small,:root[data-theme=dark] .dashboard-health-row span,.app-shell[data-theme=dark] .dashboard-action-item span,.app-shell[data-theme=dark] .dashboard-today-item span,.app-shell[data-theme=dark] .dashboard-activity-row span,.app-shell[data-theme=dark] .dashboard-project-row span,.app-shell[data-theme=dark] .dashboard-summary-tile span,.app-shell[data-theme=dark] .dashboard-kpi-card span,.app-shell[data-theme=dark] .dashboard-kpi-card small,.app-shell[data-theme=dark] .dashboard-quick-action-card span,.app-shell[data-theme=dark] .dashboard-onboarding-card small,.app-shell[data-theme=dark] .dashboard-health-row span{color:var(--muted)}:root[data-theme=dark] .dashboard-action-item.tone-success,.app-shell[data-theme=dark] .dashboard-action-item.tone-success{background:linear-gradient(#4ade8017,#4ade8009),#151619;border-color:#4ade803d}:root[data-theme=dark] .dashboard-action-item.tone-warning,.app-shell[data-theme=dark] .dashboard-action-item.tone-warning{border-color:var(--warning-soft);background:linear-gradient(#fbbf241a,#fbbf2409),#151619}:root[data-theme=dark] .dashboard-action-item.tone-danger,.app-shell[data-theme=dark] .dashboard-action-item.tone-danger{background:linear-gradient(#fb71851a,#fb718509),#151619;border-color:#fb718547}:root[data-theme=dark] .dashboard-action-item.tone-info,.app-shell[data-theme=dark] .dashboard-action-item.tone-info{background:linear-gradient(#ffffff18,#ffffff0a),#151619;border-color:#ffffff2e}:root[data-theme=dark] .movement-table-card,.app-shell[data-theme=dark] .movement-table-card{color:#f5f2ea;background:linear-gradient(#ffffff0e,#ffffff06),#18191b;border-color:#ffffff24}:root[data-theme=dark] .movement-table-card .section-head h4,:root[data-theme=dark] .inventory-movement-table td,.app-shell[data-theme=dark] .movement-table-card .section-head h4,.app-shell[data-theme=dark] .inventory-movement-table td{color:#f5f2ea}:root[data-theme=dark] .inventory-movement-table,.app-shell[data-theme=dark] .inventory-movement-table{background:#17181a}:root[data-theme=dark] .inventory-movement-table th,.app-shell[data-theme=dark] .inventory-movement-table th{color:#e8e2d8;background:#242527;border-color:#ffffff29}:root[data-theme=dark] .inventory-movement-table tbody tr,.app-shell[data-theme=dark] .inventory-movement-table tbody tr{background:#17181a}:root[data-theme=dark] .inventory-movement-table tbody tr:nth-child(2n),.app-shell[data-theme=dark] .inventory-movement-table tbody tr:nth-child(2n){background:#1d1e21}:root[data-theme=dark] .inventory-movement-table tbody tr:hover,.app-shell[data-theme=dark] .inventory-movement-table tbody tr:hover{background:#292a2d}:root[data-theme=dark] .inventory-movement-table .status-pill,.app-shell[data-theme=dark] .inventory-movement-table .status-pill{color:#f5f2ea;background:#2c2d30;border-color:#ffffff2e}:root[data-theme=dark] .row-action-button,.app-shell[data-theme=dark] .row-action-button{color:#f5f2ea;background:#303134;border-color:#ffffff2e}:root[data-theme=dark] .row-action-button:hover,.app-shell[data-theme=dark] .row-action-button:hover{color:#fffaf0;background:#3b3c40;border-color:#ffffff47}:root[data-theme=dark] .row-action-button.danger,.app-shell[data-theme=dark] .row-action-button.danger{color:#ffb4b4;background:#342b2c;border-color:#ffffff2e}:root[data-theme=dark] .row-action-button.danger:hover,.app-shell[data-theme=dark] .row-action-button.danger:hover{color:#ffd6d6;background:#443335}:root[data-theme=dark] .report-archive-card,.app-shell[data-theme=dark] .report-archive-card{color:#f5f2ea;background:linear-gradient(#ffffff0e,#ffffff06),#18191b;border-color:#ffffff24}:root[data-theme=dark] .report-archive-card .section-head h4,:root[data-theme=dark] .report-archive-row strong,:root[data-theme=dark] .report-archive-row span,.app-shell[data-theme=dark] .report-archive-card .section-head h4,.app-shell[data-theme=dark] .report-archive-row strong,.app-shell[data-theme=dark] .report-archive-row span{color:#f5f2ea}:root[data-theme=dark] .report-archive-head,.app-shell[data-theme=dark] .report-archive-head{color:#d8d2c8}:root[data-theme=dark] .report-archive-row,.app-shell[data-theme=dark] .report-archive-row{background:linear-gradient(#ffffff12,#ffffff09),#17181a;border-color:#ffffff24}:root[data-theme=dark] .report-archive-row:hover,.app-shell[data-theme=dark] .report-archive-row:hover{background:linear-gradient(#ffffff1b,#ffffff0d),#222326;border-color:#ffffff38}:root[data-theme=dark] .report-archive-row small,.app-shell[data-theme=dark] .report-archive-row small{color:#bfb8ad}:root[data-theme=dark] .report-archive-actions button,.app-shell[data-theme=dark] .report-archive-actions button{color:#f5f2ea;background:#303134;border-color:#ffffff2e}:root[data-theme=dark] .report-archive-actions button:hover,.app-shell[data-theme=dark] .report-archive-actions button:hover{color:#fffaf0;background:#3b3c40;border-color:#ffffff47}:root[data-theme=dark] .report-archive-actions button.danger,.app-shell[data-theme=dark] .report-archive-actions button.danger{color:#ffb4b4;background:#342b2c;border-color:#ffffff2e}:root[data-theme=dark] .report-archive-actions button.danger:hover,.app-shell[data-theme=dark] .report-archive-actions button.danger:hover{color:#ffd6d6;background:#443335}:root[data-theme=dark] .notification-filter-bar,.app-shell[data-theme=dark] .notification-filter-bar{color:#f5f2ea;background:linear-gradient(#ffffff0e,#ffffff06),#18191b;border-color:#ffffff24}:root[data-theme=dark] .notification-filter-bar button,.app-shell[data-theme=dark] .notification-filter-bar button{color:#e8e2d8;background:#27282b;border:1px solid #ffffff1f}:root[data-theme=dark] .notification-filter-bar button:hover,.app-shell[data-theme=dark] .notification-filter-bar button:hover{color:#fffaf0;background:#333438;border-color:#ffffff38}:root[data-theme=dark] .notification-filter-bar button.active,.app-shell[data-theme=dark] .notification-filter-bar button.active{color:#0b0c0f;background:#f6f6f7;border-color:#ffffff3d;box-shadow:0 14px 28px #00000047}:root[data-theme=dark] .notification-filter-bar span,.app-shell[data-theme=dark] .notification-filter-bar span{color:#f5f2ea;background:#ffffff1c}:root[data-theme=dark] .work-plan-mode-switch,.app-shell[data-theme=dark] .work-plan-mode-switch{background:#18191b;border:1px solid #ffffff1f}:root[data-theme=dark] .work-plan-mode-switch button,.app-shell[data-theme=dark] .work-plan-mode-switch button{color:#d8d2c8}:root[data-theme=dark] .work-plan-mode-switch button.active,.app-shell[data-theme=dark] .work-plan-mode-switch button.active{color:#0b0c0f;background:#f6f6f7;box-shadow:0 12px 24px #00000047}:root[data-theme=dark] .project-modal-backdrop,.app-shell[data-theme=dark] .project-modal-backdrop{background:#00000061}:root[data-theme=dark] .schedule-click-helper,.app-shell[data-theme=dark] .schedule-click-helper{color:#d8d2c8}:root[data-theme=dark] .work-schedule-board,.app-shell[data-theme=dark] .work-schedule-board{background:#111216;border-color:#ffffff24}:root[data-theme=dark] .work-schedule-left-pane,.app-shell[data-theme=dark] .work-schedule-left-pane{background:#151619;border-color:#ffffff24}:root[data-theme=dark] .work-schedule-left-head,:root[data-theme=dark] .work-schedule-timeline-head,:root[data-theme=dark] .schedule-header-scroll,.app-shell[data-theme=dark] .work-schedule-left-head,.app-shell[data-theme=dark] .work-schedule-timeline-head,.app-shell[data-theme=dark] .schedule-header-scroll{color:#d8d2c8;background:#111216}:root[data-theme=dark] .schedule-header-scroll,.app-shell[data-theme=dark] .schedule-header-scroll{scrollbar-color:#d8d2c86b #ffffff1a}:root[data-theme=dark] .schedule-header-scroll::-webkit-scrollbar-track{background:#ffffff1a}.app-shell[data-theme=dark] .schedule-header-scroll::-webkit-scrollbar-track{background:#ffffff1a}:root[data-theme=dark] .schedule-header-scroll::-webkit-scrollbar-thumb{background:#d8d2c86b;border-color:#ffffff1a}.app-shell[data-theme=dark] .schedule-header-scroll::-webkit-scrollbar-thumb{background:#d8d2c86b;border-color:#ffffff1a}:root[data-theme=dark] .gantt-date-header,.app-shell[data-theme=dark] .gantt-date-header{background:#202124;border-color:#ffffff24}:root[data-theme=dark] .gantt-month-row b,.app-shell[data-theme=dark] .gantt-month-row b{color:#f5f2ea;background:#2b2c2f;border-color:#ffffff24}:root[data-theme=dark] .gantt-day-row span,.app-shell[data-theme=dark] .gantt-day-row span{color:#bfb8ad;background:#202124;border-color:#ffffff24}:root[data-theme=dark] .gantt-day-row span.non-working,.app-shell[data-theme=dark] .gantt-day-row span.non-working{background:#242529}:root[data-theme=dark] .work-gantt-chart,.app-shell[data-theme=dark] .work-gantt-chart{background-color:#151619;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--gantt-day-width,56px) - 1px), #ffffff1f calc(var(--gantt-day-width,56px) - 1px), #ffffff1f var(--gantt-day-width,56px));border-color:#ffffff24}:root[data-theme=dark] .gantt-grid-line,.app-shell[data-theme=dark] .gantt-grid-line{border-color:#ffffff1f}.app-shell .floating-chat-panel .chat-thread{background:var(--panel);flex-direction:column;min-height:0;display:flex}:root[data-theme=dark] .floating-chat-panel .chat-thread,.app-shell[data-theme=dark] .floating-chat-panel .chat-thread{background:#121417}.app-shell .floating-chat-panel .message-filter-bar{border:0;border-bottom:1px solid var(--line);background:#ffffffb3;border-radius:0;align-items:center;gap:6px;min-height:42px;margin:0;padding:6px 10px;display:flex;overflow-x:auto}.app-shell .floating-chat-panel .message-search-box{flex:0 0 148px;min-width:0;font-size:0;display:block}.app-shell .floating-chat-panel .message-search-box span{display:none}.app-shell .floating-chat-panel .message-search-box input{border-radius:999px;width:100%;min-height:30px;padding:0 10px;font-size:.74rem}.app-shell .floating-chat-panel .message-scope-toggle{flex:auto;gap:5px;min-width:0;display:flex;overflow-x:auto}.app-shell .floating-chat-panel .message-scope-toggle button{white-space:nowrap;border-radius:999px;flex:none;min-height:30px;padding:0 10px;font-size:.72rem}.app-shell .floating-chat-panel .messages-list{flex:auto;height:auto;min-height:0;max-height:none}.app-shell .floating-chat-panel .message-composer-card{box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:8px 12px 12px;padding:0;display:grid;position:relative;bottom:auto;overflow:visible}.app-shell .floating-chat-panel .message-composer-input-wrap{grid-column:1;justify-self:stretch;width:100%;min-width:0}.app-shell .floating-chat-panel .message-composer-actions{grid-column:2;place-self:center end;margin-top:0}.app-shell .floating-chat-panel .message-body{padding:8px 34px 8px 10px}.app-shell .floating-chat-panel .message-meta{gap:6px}.app-shell .floating-chat-panel .message-meta strong{font-size:.78rem}.app-shell .floating-chat-panel .message-meta span{font-size:.64rem}.app-shell .floating-chat-panel .message-text,.app-shell .floating-chat-panel .message-body p{font-size:.82rem;line-height:1.38}.app-shell .floating-chat-panel .message-visibility-badge{min-height:17px;padding:1px 6px;font-size:.58rem}.app-shell .floating-chat-panel .message-avatar{border-radius:9px;width:28px;height:28px;font-size:.62rem}.app-shell .floating-chat-panel .message-bubble,.app-shell .floating-chat-panel .message-bubble.own{grid-template-columns:28px minmax(0,1fr);gap:8px}.app-shell .floating-chat-panel .message-bubble.own{grid-template-columns:minmax(0,1fr) 28px}.app-shell .floating-chat-panel .message-alert{font-size:.66rem}.message-bubble.is-live-message{transform-origin:0 100%;will-change:opacity, transform;animation:.26s cubic-bezier(.16,1,.3,1) both chatBubbleIn}.message-bubble.own.is-live-message{transform-origin:100% 100%;animation-name:chatBubbleInOwn}.message-bubble.is-live-message .message-body{animation:.38s cubic-bezier(.16,1,.3,1) both chatBubbleBodySettle}.message-bubble.is-sending .message-body{transition:border-color .18s,box-shadow .18s,opacity .18s}@keyframes chatBubbleIn{0%{opacity:0;transform:translate(-12px,12px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes chatBubbleInOwn{0%{opacity:0;transform:translate(12px,12px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes chatBubbleBodySettle{0%{filter:saturate(.92);box-shadow:0 18px 46px #0891b229}to{filter:saturate()}}@media (prefers-reduced-motion:reduce){.auth-confirmation-card,.auth-confirmation-card:before,.auth-confirmation-logo,.auth-confirmation-pulse,.auth-confirmation-progress span.active:after,.auth-confirmation-spinner,.message-bubble.is-live-message,.message-bubble.is-live-message .message-body{animation:none}.auth-confirmation-progress span.active:after{transform:scaleX(1)}}.message-send-status{text-transform:lowercase}.message-send-status.sending{color:#64748b}.message-send-status.failed{color:var(--danger);font-weight:900}.message-send-status.sent{color:var(--ink)}.message-retry-row{color:var(--danger);align-items:center;gap:8px;margin-top:8px;font-size:.76rem;font-weight:800;display:inline-flex}.message-retry-row button{border:1px solid var(--danger-soft);min-height:28px;color:var(--danger);cursor:pointer;font:inherit;background:#fef2f2f2;border-radius:999px;padding:4px 9px}.chat-attachment-size.uploading{color:#64748b}.chat-attachment-size.failed{color:var(--danger);font-weight:900}.app-shell .floating-chat-panel .message-retry-row{font-size:.66rem}.app-shell .floating-chat-panel .compact-project-chat-chip strong,.app-shell .floating-chat-panel .message-search-box input,.app-shell .floating-chat-panel .message-composer-card textarea{font-size:.76rem}.app-shell .floating-chat-panel .message-composer-card textarea{border-radius:8px;min-height:44px;max-height:96px;padding:10px 11px}.app-shell .floating-chat-panel .message-action-list button{padding:7px 9px;font-size:.74rem}:root[data-theme=dark] .floating-chat-head,:root[data-theme=dark] .floating-chat-tabs,:root[data-theme=dark] .floating-chat-panel .message-filter-bar,:root[data-theme=dark] .floating-chat-panel .message-composer-card,.app-shell[data-theme=dark] .floating-chat-head,.app-shell[data-theme=dark] .floating-chat-tabs,.app-shell[data-theme=dark] .floating-chat-panel .message-filter-bar,.app-shell[data-theme=dark] .floating-chat-panel .message-composer-card{background:#111216f5}:root[data-theme=dark] .floating-chat-panel .message-composer-card,.app-shell[data-theme=dark] .floating-chat-panel .message-composer-card{background:0 0}.steel-cutting-module{gap:12px;min-width:0;display:grid}.steel-cutting-header,.steel-section-head,.steel-table-toolbar,.steel-cutting-toolbar,.steel-demand-actions,.steel-cutting-actions,.steel-row-actions{align-items:center;gap:10px;display:flex}.steel-cutting-header,.steel-section-head{justify-content:space-between;align-items:flex-start}.steel-cutting-header h4,.steel-section-head h4{margin:2px 0;font-size:.98rem;font-weight:720;line-height:1.25}.steel-cutting-header p,.steel-section-head p{color:var(--muted-text);margin:0;font-size:.84rem;line-height:1.45}.steel-cutting-actions,.steel-cutting-toolbar,.steel-demand-actions{flex-wrap:wrap}.steel-cutting-module .shell-button{min-height:34px;box-shadow:none;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:680}.steel-cutting-module .shell-button-primary{box-shadow:none}.steel-cutting-metrics,.steel-waste-total{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;display:grid}.steel-cutting-metric{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:12px;min-height:64px;padding:10px 12px;box-shadow:0 8px 22px #1414170a}.steel-cutting-metric strong{color:var(--text-strong);font-family:var(--font-display);font-size:.98rem;font-weight:720;line-height:1.15;display:block}.steel-cutting-metric span,.steel-cutting-metric small{color:var(--muted-text);margin-top:4px;font-size:.74rem;line-height:1.35;display:block}.steel-cutting-toolbar{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 24px #1414170b}.steel-toolbar-main,.steel-toolbar-secondary,.steel-toolbar-group,.steel-demand-actions>div:last-child{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.steel-toolbar-main{align-items:center}.steel-toolbar-secondary{border-top:1px solid var(--border-subtle);padding-top:10px}.steel-toolbar-field{min-width:min(260px,100%)}.steel-toolbar-title-field{flex:280px}.steel-toolbar-status{min-width:90px;color:var(--muted-text);letter-spacing:.045em;text-transform:uppercase;align-self:stretch;gap:4px;font-size:.68rem;font-weight:720;display:grid}.steel-toolbar-status .status-pill{align-self:end}.steel-toolbar-group{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:12px;padding:8px}.steel-toolbar-export{margin-left:auto}.steel-toolbar-group-label{color:var(--muted-text);letter-spacing:.055em;text-transform:uppercase;align-self:center;font-size:.68rem;font-weight:760}.steel-cutting-toolbar label,.steel-toolbar-field{color:var(--muted-text);letter-spacing:.045em;text-transform:uppercase;gap:4px;font-size:.68rem;font-weight:720;display:grid}.steel-cutting-message,.steel-warning-list{border-radius:12px;padding:9px 11px;font-size:.8rem;font-weight:650}.steel-cutting-message{color:#155e75;background:#ecfeffc7;border:1px solid #0e74902e}.steel-warning-list{border:1px solid var(--warning-soft);color:var(--warning);background:#fffbebd1;flex-wrap:wrap;gap:8px;display:flex}.steel-warning-list span{background:#ffffffb8;border-radius:999px;padding:5px 8px}.steel-tabs{margin-top:0}.steel-demand-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:12px;display:grid}.steel-demand-layout>section,.steel-demand-layout>aside,.steel-offcut-panel,.steel-result-grid,.steel-waste-report{min-width:0}.steel-demand-actions{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:space-between;margin-bottom:10px;padding:10px}.steel-demand-actions-copy{gap:2px;display:grid}.steel-demand-actions-copy span,.steel-table-kicker{color:var(--muted-text);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:760}.steel-demand-actions-copy strong{color:var(--text-strong);font-size:.84rem;font-weight:650}.steel-cutting-table-wrap,.steel-stock-editor,.steel-offcut-panel,.steel-pattern-card,.steel-profile-card,.steel-waste-report{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;box-shadow:0 8px 24px #1414170a}.steel-cutting-table-wrap,.steel-stock-editor,.steel-offcut-panel,.steel-waste-report{padding:10px}.steel-table-toolbar{justify-content:space-between;align-items:end;margin-bottom:10px}.steel-table-toolbar>div{gap:2px;display:grid}.steel-table-toolbar strong{color:var(--text-strong);font-size:.9rem;font-weight:700}.steel-cutting-table,.steel-small-table table{border-collapse:collapse;width:100%;min-width:1040px}.steel-small-table,.steel-cutting-table-wrap{overflow-x:auto}.steel-cutting-table th,.steel-cutting-table td,.steel-small-table th,.steel-small-table td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle;padding:7px;font-size:.74rem;line-height:1.25}.steel-cutting-table th,.steel-small-table th{color:var(--muted-text);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:720}.steel-cutting-table input,.steel-cutting-table select,.steel-small-table input,.steel-small-table select,.steel-cutting-toolbar input,.steel-cutting-toolbar select{border:1px solid var(--border-subtle);background-color:var(--surface-input);width:100%;min-height:32px;color:var(--text-strong);font:inherit;letter-spacing:0;text-transform:none;border-radius:9px;padding:6px 8px;font-size:.78rem;font-weight:560}.steel-cutting-table input[type=checkbox],.steel-small-table input[type=checkbox]{width:18px;min-height:18px}.steel-icon-button,.steel-row-actions button{border:1px solid var(--border-subtle);background:var(--surface-card);min-height:28px;color:var(--text-strong);cursor:pointer;border-radius:8px;padding:5px 7px;font-size:.7rem;font-weight:650}.steel-icon-button.danger{color:var(--danger)}.steel-result-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;display:grid}.steel-summary-cards,.steel-pattern-list{gap:8px;display:grid}.steel-profile-card,.steel-pattern-card{padding:11px}.steel-profile-card>div,.steel-pattern-card>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.steel-profile-card strong,.steel-pattern-card strong{color:var(--text-strong);font-size:.86rem;font-weight:700}.steel-profile-card span,.steel-pattern-card small{color:var(--muted-text);font-size:.75rem}.steel-profile-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.steel-profile-card dl div{background:var(--surface-subtle);border-radius:7px;padding:8px}.steel-profile-card dt{color:var(--muted-text);text-transform:uppercase;font-size:.64rem;font-weight:720}.steel-profile-card dd{color:var(--text-strong);font-family:var(--font-display);margin:3px 0 0;font-weight:700}.steel-pattern-card p{color:var(--text-strong);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Consolas, monospace);margin:10px 0 6px;font-size:.84rem}.steel-mono{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Consolas, monospace);font-size:.74rem}:root[data-theme=dark] .steel-cutting-message,.app-shell[data-theme=dark] .steel-cutting-message{color:#a5f3fc;background:#0891b21f}:root[data-theme=dark] .steel-warning-list,.app-shell[data-theme=dark] .steel-warning-list{background:var(--warning-soft);color:#fde68a}@media (max-width:1180px){.steel-demand-layout,.steel-result-grid{grid-template-columns:1fr}}@media (max-width:720px){.steel-cutting-header,.steel-section-head,.steel-table-toolbar{flex-direction:column;align-items:flex-start}.steel-cutting-toolbar>input,.steel-cutting-toolbar>select{min-width:100%}}.main-shell>.topbar{background:linear-gradient(#ffffffeb,#f8f8f5db),#ffffffe0;border:1px solid #11111114;border-radius:24px;grid-template-columns:minmax(360px,1fr) minmax(420px,auto);align-items:center;gap:12px;margin:0 0 16px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffffb8,0 14px 34px #1414170f}.main-shell>.topbar .topbar-left{flex:initial;grid-template-columns:minmax(240px,1fr) minmax(180px,320px);gap:10px;min-width:0;display:grid}.main-shell>.topbar .topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.main-shell>.topbar .search-shell,.main-shell>.topbar .project-switcher{width:100%;min-width:0;max-width:none}.main-shell>.topbar .search-shell input,.main-shell>.topbar .project-switcher,.main-shell>.topbar .company-chip,.main-shell>.topbar .ai-assistant-trigger,.main-shell>.topbar .theme-toggle,.main-shell>.topbar .notification-button,.main-shell>.topbar .quick-add,.main-shell>.topbar .user-menu{border-radius:14px;height:42px;min-height:42px}.main-shell>.topbar .search-shell input,.main-shell>.topbar .project-switcher{padding-inline:14px;font-size:.9rem}.main-shell>.topbar .search-shell input{padding:0 34px 0 38px}.main-shell>.topbar .company-chip{background:#ffffffb8;gap:1px;min-width:132px;max-width:174px;padding:5px 12px}.main-shell>.topbar .company-chip span{letter-spacing:.14em;font-size:.62rem}.main-shell>.topbar .company-chip strong{max-width:142px;font-size:.82rem}.main-shell>.topbar .ai-assistant-trigger{box-shadow:none;gap:7px;padding-inline:13px}.main-shell>.topbar .ai-assistant-trigger span,.main-shell>.topbar .theme-toggle span{white-space:nowrap;font-size:.84rem}.main-shell>.topbar .theme-toggle{padding-inline:12px;font-weight:850}.main-shell>.topbar .theme-toggle:before{width:16px;height:16px}.main-shell>.topbar .notification-button.notification-icon-button,.main-shell>.topbar .quick-add-icon-button,.main-shell>.topbar .avatar-shell{width:42px;min-width:42px;padding:0}.main-shell>.topbar .notification-button.notification-icon-button .notification-button-glyph{width:26px;height:26px}.main-shell>.topbar .notification-button.notification-icon-button .notification-count-badge{top:-5px;right:-5px}.main-shell>.topbar .status-pill{white-space:nowrap;min-height:34px;padding:0 12px;font-size:.78rem}.sync-status-indicator{color:#526052;white-space:nowrap;background:#ffffffb8;border:1px solid #88957e42;border-radius:999px;align-items:center;gap:7px;max-width:260px;min-height:34px;padding:0 10px;font-size:.76rem;font-weight:750;line-height:1;display:inline-flex}.sync-status-indicator span:not(.sync-status-dot){text-overflow:ellipsis;overflow:hidden}.sync-status-dot{border-radius:999px;flex:none;width:8px;height:8px}.sync-status-indicator.tone-success .sync-status-dot{background:#2f8f5f}.sync-status-indicator.tone-info .sync-status-dot{background:#3a76a8;animation:1.1s ease-in-out infinite sync-pulse}.sync-status-indicator.tone-warning .sync-status-dot{background:#b8892d}.sync-status-indicator.tone-danger .sync-status-dot{background:#bf4b45}.sync-status-indicator.tone-neutral .sync-status-dot{background:#8b9387}.sync-status-indicator button{color:#8f4d33;cursor:pointer;font:inherit;background:0 0;border:0;flex:none;padding:0}.sync-status-indicator.is-clickable{cursor:pointer}.sync-status-indicator.is-clickable:hover{border-color:#60745961;box-shadow:0 8px 18px #14141714}.sync-center-shell{gap:18px;display:grid}.sync-center-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.sync-center-toolbar{gap:14px;padding:16px;display:grid}.sync-center-filter-row{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;display:grid}.sync-center-filter-row label{gap:6px;display:grid}.sync-center-filter-row label span{color:#6f796a;letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:800}.sync-center-search input{color:#1f2a21;min-height:38px;font:inherit;background:#ffffffd6;border:1px solid #818c763d;border-radius:12px;padding:0 12px}.sync-center-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sync-center-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);align-items:start;gap:18px;display:grid}.sync-center-list,.sync-center-detail{gap:14px;padding:18px;display:grid}.sync-center-section-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.sync-center-section-head.compact{margin-top:8px}.sync-center-section-head h3{color:#1f2a21;margin:2px 0 0;font-size:1rem}.sync-center-section-head>span{color:#758071;font-size:.78rem;font-weight:750}.sync-center-items{gap:10px;display:grid}.sync-center-status-group{gap:8px;display:grid}.sync-center-status-group+.sync-center-status-group{border-top:1px solid #818c7629;padding-top:12px}.sync-center-status-group-head{color:#6f796a;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.76rem;font-weight:850;display:flex}.sync-center-status-group-head span{border:1px solid #818c762e;border-radius:999px;padding:2px 8px}.sync-center-item{background:#ffffffb3;border:1px solid #818c762e;border-radius:14px;padding:10px}.sync-center-item.active{border-color:#5b784a73;box-shadow:0 12px 24px #14141714}.sync-center-item-main{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:start;gap:12px;width:100%;padding:0;display:flex}.sync-center-item-title{gap:3px;min-width:0;display:grid}.sync-center-item-title strong{color:#1f2a21;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sync-center-item-title small,.sync-center-item-meta em,.sync-center-item-foot{color:#6f796a;font-size:.78rem}.sync-center-item-meta{place-items:end;gap:6px;display:grid}.sync-center-item-foot{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.sync-center-error{color:#9d4f2f;font-weight:760}.sync-center-item-actions,.sync-resolution-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sync-center-empty{color:#6f796a;border:1px dashed #818c7647;border-radius:14px;gap:4px;padding:18px;display:grid}.sync-center-empty.compact{padding:14px}.sync-conflict-panel{gap:14px;display:grid}.sync-conflict-panel dl{gap:8px;margin:0;display:grid}.sync-conflict-panel dl div{grid-template-columns:120px minmax(0,1fr);gap:6px;display:grid}.sync-conflict-panel dt{color:#6f796a;text-transform:uppercase;font-size:.74rem;font-weight:800}.sync-conflict-panel dd{color:#1f2a21;margin:0}.sync-payload-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sync-payload-compare article{background:#f8f9f5c2;border:1px solid #818c762e;border-radius:12px;padding:12px}.sync-payload-compare span{color:#6f796a;text-transform:uppercase;margin-bottom:8px;font-size:.74rem;font-weight:800;display:block}.sync-payload-compare pre{color:#263126;font-family:var(--font-mono), ui-monospace, SFMono-Regular, Consolas, monospace;white-space:pre-wrap;max-height:190px;margin:0;font-size:.74rem;overflow:auto}.sync-center-help,.sync-center-history-empty{color:#6f796a;margin:0;font-size:.82rem}.sync-history-panel{border-top:1px solid #818c7629;gap:10px;padding-top:10px;display:grid}.sync-history-list{gap:8px;display:grid}.sync-history-list article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.sync-history-list span:not(.status-pill){color:#2a3329;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sync-history-list em{color:#758071;font-size:.74rem;font-style:normal}.qc-checklist-inline-row{gap:8px;padding:8px 0;display:grid}.qc-checklist-inline-row+.qc-checklist-inline-row{border-top:1px solid #96949133}.qc-checklist-inline-row p{margin:0}@keyframes sync-pulse{0%,to{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.main-shell>.topbar .user-menu{background:#ffffffc2;gap:8px;max-width:300px;padding:3px 5px 3px 3px}.main-shell>.topbar .user-menu-copy strong{max-width:136px;font-size:.82rem}.main-shell>.topbar .user-menu-copy span{font-size:.7rem}.main-shell>.topbar .user-logout{border-radius:10px;min-height:30px;padding-inline:9px;font-size:.75rem}.main-shell>.page-header{background:linear-gradient(#fffffff0,#fafaf7e0),#ffffffe6;border:1px solid #11111114;border-radius:24px;align-items:center;margin-bottom:18px;padding:18px 20px;box-shadow:inset 0 1px #ffffffb8,0 14px 34px #1414170e}.main-shell>.page-header h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,2.6vw,2.55rem)}.main-shell>.page-header p:last-child{margin-top:6px;font-size:.98rem}.main-shell>.page-header .page-header-actions{flex:none}.main-shell>.page-header .page-header-actions .status-pill,.main-shell>.page-header .page-header-actions .shell-button{white-space:nowrap;border-radius:14px;min-height:42px}:root[data-theme=dark] .main-shell>.topbar,:root[data-theme=dark] .main-shell>.page-header,.app-shell[data-theme=dark] .main-shell>.topbar,.app-shell[data-theme=dark] .main-shell>.page-header{background:linear-gradient(#141417eb,#141417db),#141417e0;border-color:#9694912e;box-shadow:inset 0 1px #ffffff0f,0 16px 38px #00000038}:root[data-theme=dark] .main-shell>.topbar .company-chip,:root[data-theme=dark] .main-shell>.topbar .user-menu,.app-shell[data-theme=dark] .main-shell>.topbar .company-chip,.app-shell[data-theme=dark] .main-shell>.topbar .user-menu{background:#141417b8}:root[data-theme=dark] .sync-status-indicator,.app-shell[data-theme=dark] .sync-status-indicator{color:#d7ded3;background:#141417b8;border-color:#96949138}:root[data-theme=dark] .sync-status-indicator button,.app-shell[data-theme=dark] .sync-status-indicator button{color:#f1bd91}:root[data-theme=dark] .sync-center-search input,:root[data-theme=dark] .sync-center-item,:root[data-theme=dark] .sync-payload-compare article,.app-shell[data-theme=dark] .sync-center-search input,.app-shell[data-theme=dark] .sync-center-item,.app-shell[data-theme=dark] .sync-payload-compare article{color:#d7ded3;background:#14141794;border-color:#9694912e}:root[data-theme=dark] .sync-center-section-head h3,:root[data-theme=dark] .sync-center-item-title strong,:root[data-theme=dark] .sync-conflict-panel dd,:root[data-theme=dark] .sync-payload-compare pre,:root[data-theme=dark] .sync-history-list span:not(.status-pill),.app-shell[data-theme=dark] .sync-center-section-head h3,.app-shell[data-theme=dark] .sync-center-item-title strong,.app-shell[data-theme=dark] .sync-conflict-panel dd,.app-shell[data-theme=dark] .sync-payload-compare pre,.app-shell[data-theme=dark] .sync-history-list span:not(.status-pill){color:#eef4ea}@media (max-width:1240px){.main-shell>.topbar{grid-template-columns:1fr}.main-shell>.topbar .topbar-right{justify-content:flex-start}.sync-center-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sync-center-grid,.sync-center-filter-row{grid-template-columns:1fr}}@media (max-width:760px){.sync-center-summary-grid,.sync-payload-compare,.sync-conflict-panel dl div,.sync-history-list article{grid-template-columns:1fr}.main-shell>.topbar{border-radius:20px;padding:10px}.main-shell>.topbar .topbar-left{grid-template-columns:1fr}.main-shell>.topbar .topbar-right{grid-template-columns:repeat(5,minmax(42px,auto));align-items:center;display:grid}.main-shell>.topbar .company-chip,.main-shell>.topbar .ai-assistant-trigger,.main-shell>.topbar .sync-status-indicator,.main-shell>.topbar .theme-toggle,.main-shell>.topbar .user-menu{grid-column:span 5;width:100%;max-width:none}.main-shell>.topbar .user-menu{justify-content:flex-start}.main-shell>.page-header{flex-direction:column;align-items:stretch;padding:16px}.main-shell>.page-header h1{font-size:1.9rem}.main-shell>.page-header .page-header-actions{justify-content:flex-start}}.app-shell{--control-height:40px;--compact-gap:10px;--card-padding:16px}:where(button,input,select,textarea,a):focus-visible{outline:2px solid var(--glow);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}:where(button,input,select,textarea):disabled{cursor:not-allowed}.app-shell :where(input,select,textarea),.ui-select{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--control-bg);color:var(--text);font:inherit}.app-shell :where(input,select){padding:0 12px}.app-shell textarea{resize:vertical;padding:10px 12px}.app-shell :where(label)>span:first-child{color:var(--muted);font-size:.76rem;font-weight:760}.shell-button{min-height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;font-weight:720}.shell-button:hover:not(:disabled){box-shadow:var(--shadow-soft);border-color:#1111112e;transform:translateY(-1px)}.shell-button-ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.shell-button-danger{background:var(--danger-soft);color:var(--danger);border-color:#b423183d}.action-button{white-space:nowrap;gap:8px}.action-button-icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.ui-page-header{border:1px solid var(--line);background:linear-gradient(180deg, #fffffff5, #fafaf7eb), var(--panel);box-shadow:var(--shadow-soft);border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.ui-page-header-copy{min-width:0}.ui-page-header h1{color:var(--ink);letter-spacing:0;margin:0;font-size:2rem;line-height:1.08}.ui-page-header p:last-child{max-width:760px;color:var(--muted);margin:6px 0 0;line-height:1.5}.ui-page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.summary-card,.metric-card{min-width:0;padding:var(--card-padding);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 1px 2px #11111109}button.summary-card{text-align:left;cursor:pointer;gap:6px;width:100%;display:grid}.summary-card strong,.metric-card strong{letter-spacing:0;margin:6px 0 2px;font-size:1.45rem;line-height:1.08}.summary-card small,.summary-card-meta{color:var(--muted);font-size:.78rem}.app-tabs,.sub-tabs,.work-plan-mode-switch,.boq-quantity-subtabs,.material-plan-filters,.bbs-view-tabs,.boq-template-scope-tabs,.boq-template-category-tabs,.segmented-control,.notification-filter-bar{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:5px;display:flex}.app-tabs button,.sub-tabs button,.work-plan-mode-switch button,.boq-quantity-subtabs button,.material-plan-filters button,.bbs-view-tabs button,.boq-template-scope-tabs button,.boq-template-category-tabs button,.segmented-control button,.notification-filter-bar button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:0 12px;font-weight:760}.app-tabs button small,.sub-tabs button small{color:inherit;opacity:.72;margin-left:6px}.app-tabs button.active,.app-tabs button[aria-selected=true],.sub-tabs button.active,.sub-tabs button[aria-selected=true],.work-plan-mode-switch button.active,.boq-quantity-subtabs button.active,.material-plan-filters button.active,.bbs-view-tabs button.active,.boq-template-scope-tabs button.active,.boq-template-category-tabs button.active,.segmented-control button.active,.notification-filter-bar button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}.work-plan-mode-toolbar .work-plan-mode-switch button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);box-shadow:0 6px 16px var(--accent-soft);font-weight:800}:root[data-theme=dark] .work-plan-mode-toolbar .work-plan-mode-switch button.active,.app-shell[data-theme=dark] .work-plan-mode-toolbar .work-plan-mode-switch button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);box-shadow:0 6px 18px #1a1a1d47}.work-plan-breakdown-card{font-size:.76rem}.work-plan-breakdown-card .eyebrow,.advanced-schedule-panel .eyebrow,.resources-services-head .eyebrow,.material-plan-head .eyebrow,.scurve-panel-head .eyebrow{letter-spacing:.13em;font-size:.62rem}.work-plan-breakdown-head h4,.advanced-schedule-panel h4,.resources-services-head h4,.material-plan-head h4,.boq-quantity-summary-panel h4{font-size:.9rem;line-height:1.22}.work-plan-breakdown-head span,.work-plan-edit-header p,.work-plan-save-message,.schedule-mode-helper,.advanced-schedule-panel p,.resources-services-head p,.material-plan-head p,.scurve-panel-head p{font-size:.72rem;line-height:1.35}.work-plan-edit-header label,.work-plan-facts label{gap:3px;font-size:.64rem;font-weight:760}.work-plan-edit-header input,.work-plan-facts input,.work-plan-facts select{border-radius:9px;min-height:30px;padding:0 9px;font-size:.76rem;font-weight:700}.work-plan-mode-toolbar,.schedule-mode-strip{gap:7px}.work-plan-breakdown-card .app-tabs,.work-plan-breakdown-card .sub-tabs,.work-plan-mode-switch,.schedule-mode-switcher,.boq-quantity-subtabs,.material-plan-filters,.resources-services-tabs,.resources-services-status-filter,.segmented-control.compact,.gantt-scale-toggle,.baseline-controls,.advanced-report-tabs{border-radius:13px;gap:3px;padding:3px}.work-plan-breakdown-card .app-tabs button,.work-plan-breakdown-card .sub-tabs button,.work-plan-mode-switch button,.schedule-mode-switcher button,.boq-quantity-subtabs button,.material-plan-filters button,.resources-services-tabs button,.resources-services-status-filter button,.segmented-control.compact button,.gantt-scale-toggle button,.baseline-controls button,.advanced-report-tabs button{border-radius:10px;min-height:28px;padding:0 10px;font-size:.72rem;font-weight:780;line-height:1.1}.work-plan-progress-badge{border-radius:13px;min-width:86px;padding:8px 10px}.work-plan-progress-badge strong{font-size:1rem}.work-plan-progress-badge span{font-size:.6rem}.work-plan-breakdown-card .status-pill,.material-plan-status,.service-plan-status,.resource-warning-badge,.resource-type-chip,.resource-status-badge,.resource-schedule-chip{border-radius:999px;min-height:22px;padding:3px 8px;font-size:.64rem;line-height:1.05}.advanced-schedule-panel,.resources-services-panel,.material-plan-panel,.scurve-dashboard-panel{gap:12px;padding:14px}.boq-quantity-summary-strip span,.boq-quantity-summary-grid span,.advanced-schedule-cards span,.scurve-summary-cards span,.material-plan-summary span,.resources-services-summary span{border-radius:13px;min-height:52px;padding:10px 12px;font-size:.66rem;line-height:1.24}.boq-quantity-summary-strip strong,.boq-quantity-summary-grid strong,.advanced-schedule-cards strong,.scurve-summary-cards strong,.material-plan-summary strong,.resources-services-summary strong{font-size:.95rem;line-height:1.05}.scurve-toolbar,.material-plan-actions,.material-plan-bottom-actions,.resources-services-actions{gap:6px}.scurve-toolbar .shell-button,.material-plan-actions button,.material-plan-bottom-actions button,.resources-services-actions button{border-radius:12px;min-height:31px;padding:0 12px;font-size:.72rem;font-weight:780}.scurve-cutoff-field{border-radius:13px;min-height:31px;padding:3px 7px;font-size:.66rem}.scurve-cutoff-field input{min-height:24px;font-size:.66rem}.resources-services-group-head strong,.resources-services-card-head strong,.resources-services-activity-title strong{font-size:.82rem}.resources-services-group-head span,.resources-services-card-head span,.resources-services-activity-title small,.resources-services-activity-title span{font-size:.64rem}.ui-filter-bar{justify-content:space-between;align-items:end;gap:var(--compact-gap);border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;padding:10px;display:flex}.ui-filter-fields{gap:var(--compact-gap);flex-wrap:wrap;flex:auto;align-items:end;min-width:0;display:flex}.ui-filter-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.data-table-shell{border:1px solid var(--line);background:var(--panel);border-radius:16px;width:100%;overflow:auto}.data-table{min-width:720px;font-size:.9rem}.data-table th,.data-table td{vertical-align:middle;padding:10px 12px}.data-table-shell.is-sticky .data-table th{z-index:2;position:sticky;top:0}.data-table th{background:var(--surface-soft);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:820}.data-table :where(th,td)[data-align=right]{text-align:right}.data-table :where(th,td)[data-align=center]{text-align:center}.data-table td:has(.status-pill){white-space:nowrap}.surface-card,.table-card,.empty-state{border-radius:18px}.surface-card,.table-card,.project-card,.task-card,.inventory-card,.asset-card,.daily-log-section-card,.report-type-card,.report-preview-panel{box-shadow:var(--shadow-soft)}.empty-state{text-align:left;justify-items:start;gap:8px;padding:18px;display:grid}.empty-state strong{color:var(--ink);font-size:1rem}.empty-state p,.empty-state small{max-width:560px;color:var(--muted);margin:0;line-height:1.5}.detail-drawer{z-index:90;border:1px solid var(--line);background:var(--panel);width:min(520px,100vw - 32px);box-shadow:var(--shadow);border-radius:20px;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:16px 16px 16px auto}.detail-drawer-backdrop{z-index:80}.detail-drawer-head,.detail-drawer-actions{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.detail-drawer-actions{border-top:1px solid var(--line);border-bottom:0}.detail-drawer-head button{border:1px solid var(--line);background:var(--control-bg);border-radius:10px;min-height:32px;padding:0 10px}.detail-drawer-body{min-height:0;padding:16px;overflow:auto}.confirm-modal{z-index:95;gap:12px;width:min(440px,100vw - 32px);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-modal h3{margin:0}.confirm-modal-body{color:var(--muted);line-height:1.55}.resources-services-card-list.compact{gap:10px}@media (max-width:900px){.ui-page-header,.ui-filter-bar{flex-direction:column;align-items:stretch}.ui-page-header-actions,.ui-filter-actions{justify-content:flex-start}.summary-card strong,.metric-card strong{font-size:1.25rem}}@media (max-width:640px){.app-shell{--control-height:44px;--card-padding:14px}.ui-page-header h1{font-size:1.55rem}.app-tabs,.sub-tabs,.work-plan-mode-switch,.boq-quantity-subtabs,.material-plan-filters,.bbs-view-tabs,.boq-template-scope-tabs,.boq-template-category-tabs{flex-wrap:nowrap;overflow-x:auto}.app-tabs button,.sub-tabs button,.work-plan-mode-switch button,.boq-quantity-subtabs button,.material-plan-filters button,.bbs-view-tabs button,.boq-template-scope-tabs button,.boq-template-category-tabs button{flex:none}.detail-drawer{border-radius:20px 20px 0 0;width:100%;max-height:88vh;inset:auto 0 0}}.beta-public-page,.beta-admin-page{min-height:100vh;color:var(--text-primary,#17221d);background:radial-gradient(circle at 0 0,#1e785c1f,#0000 28rem),linear-gradient(135deg,#f8faf7 0%,#eef5ef 48%,#fff 100%);padding:32px}.beta-hero,.beta-admin-topbar,.beta-admin-summary,.beta-admin-card{width:min(1180px,100%);margin:0 auto}.beta-hero{grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);align-items:center;gap:28px;display:grid}.beta-hero-copy{gap:18px;display:grid}.beta-hero-copy h1,.beta-admin-topbar h1{color:#102119;letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,4rem)}.beta-hero-copy p,.beta-admin-topbar p,.beta-form-head p{color:#52665d}.beta-benefit-grid{gap:12px;display:grid}.beta-benefit-grid div,.beta-admin-summary article,.beta-confirm-grid div{background:#ffffffb8;border:1px solid #2e564429;border-radius:12px;padding:14px}.beta-benefit-grid strong,.beta-admin-summary strong,.beta-confirm-grid strong{color:#13281f;display:block}.beta-benefit-grid span,.beta-admin-summary span,.beta-confirm-grid span{color:#64746e;margin-top:4px;font-size:.9rem;display:block}.beta-form-card{border-radius:16px;gap:18px;padding:24px;display:grid}.beta-form-head h2,.beta-admin-card h2,.beta-admin-modal h2{color:#14251d;letter-spacing:0;margin:0}.beta-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.beta-field,.beta-form-grid label,.beta-wide-field{color:#31473d;gap:6px;font-size:.88rem;font-weight:700;display:grid}.beta-field input,.beta-field select,.beta-field textarea,.beta-form-grid input,.beta-form-grid select,.beta-wide-field textarea{color:#17221d;width:100%;font:inherit;background-color:#fff;border:1px solid #304c402e;border-radius:10px;padding:11px 12px;font-weight:600}.beta-field textarea,.beta-wide-field textarea{resize:vertical}.beta-field small,.beta-login-link{color:#6b7b75;font-size:.82rem}.beta-agreement{color:#40534b;align-items:flex-start;gap:10px;font-weight:700;display:flex}.beta-agreement input{margin-top:3px}.beta-login-link{text-align:center;text-decoration:none}.beta-admin-topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.beta-admin-topbar nav,.beta-row-actions,.form-actions{flex-wrap:wrap;gap:8px;display:flex}.beta-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch;gap:12px;margin-bottom:16px;display:grid}.beta-admin-card{border-radius:16px;padding:18px}.beta-admin-card-head,.beta-application-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.beta-table-wrap{overflow-x:auto}.beta-admin-table{border-collapse:collapse;width:100%;min-width:920px}.beta-admin-table th,.beta-admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #314a3f1f;padding:12px 10px}.beta-admin-table th{color:#66766f;text-transform:uppercase;font-size:.78rem}.beta-admin-table td small,.beta-admin-table td span{color:#6d7a75;margin-top:3px;display:block}.beta-admin-table code,.beta-coupon-line code,.beta-detail-list code{color:#145437;background:#f5faf6;border:1px solid #365e4b2e;border-radius:8px;padding:4px 7px;font-size:.8rem;font-weight:800;display:inline-flex}.beta-row-actions button,.beta-row-actions a,.beta-admin-card-head button{color:#1f3a2d;cursor:pointer;font:inherit;background:#fff;border:1px solid #2e4b3e29;border-radius:9px;padding:8px 10px;font-size:.82rem;font-weight:800;text-decoration:none}.beta-row-actions button:disabled{cursor:not-allowed;opacity:.48}.beta-status{text-transform:capitalize;border-radius:999px;align-items:center;padding:5px 9px;font-size:.75rem;font-weight:900;display:inline-flex}.beta-status.success{color:#12623d;background:#e8f7ef}.beta-status.warning{color:#9a5b00;background:#fff7df}.beta-status.danger{color:#b42318;background:#feeceb}.beta-status.neutral{color:#47564f;background:#eef2ef}.beta-application-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.beta-application-card{border-radius:14px;padding:16px}.beta-application-head strong,.beta-application-head span{display:block}.beta-application-head span{color:#6a7973;margin-top:3px}.beta-application-meta,.beta-coupon-line{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.beta-application-meta span,.beta-coupon-line span{color:#53655d;background:#f2f6f3;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}.beta-modal-backdrop{z-index:90;background:#0f1c166b;position:fixed;inset:0}.beta-admin-modal{z-index:100;border-radius:16px;width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);padding:20px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.beta-detail-modal{width:min(820px,100vw - 32px)}.beta-detail-list,.beta-confirm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.beta-detail-list div{border-bottom:1px solid #304c401f;padding:9px 0}.beta-detail-list dt{color:#6a7973;text-transform:uppercase;font-size:.76rem;font-weight:900}.beta-detail-list dd{color:#17221d;margin:3px 0 0;font-weight:800}.beta-access-banner{background:linear-gradient(135deg,#effaf3,#fff);border-color:#1e694738;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.beta-access-banner h3,.beta-access-banner p{margin:0}.beta-access-banner h3{color:#113c29;font-size:1rem}.beta-access-banner p{color:#52665d;margin-top:4px}.beta-access-banner.ending-soon{background:linear-gradient(135deg,#fff8e7,#fff);border-color:#b1680047}.beta-access-banner.expired{background:linear-gradient(135deg,#fff1f0,#fff);border-color:#b4231838}@media (max-width:860px){.beta-public-page,.beta-admin-page{padding:18px}.beta-hero,.beta-form-grid,.beta-application-grid,.beta-detail-list,.beta-confirm-grid{grid-template-columns:1fr}.beta-admin-topbar,.beta-access-banner{flex-direction:column;align-items:stretch}.beta-admin-summary{grid-template-columns:1fr}}.project-card{transition:transform .14s,box-shadow .18s,border-color .16s;position:relative}.project-card:before{content:"";background:var(--accent);border-radius:0 999px 999px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.project-card[data-health=success]:before{background:var(--success)}.project-card[data-health=warning]:before{background:var(--warning)}.project-card[data-health=danger]:before{background:var(--danger)}.project-card[data-health=info]:before{background:var(--amber)}.project-card:hover{border-color:#11111129;transform:translateY(-2px);box-shadow:0 18px 40px #1111111a}@media (max-width:980px){.reports-workspace-grid{grid-template-columns:minmax(0,1fr)}.report-type-panel{max-height:none;position:static;overflow:visible}.report-type-list{max-height:none}}.task-summary-card.tone-success strong{color:var(--success)}.task-summary-card.tone-danger strong{color:var(--danger)}.task-summary-card.tone-info strong{color:var(--amber)}.app-shell :where(select),.ui-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.ui-page{gap:var(--space-5);width:100%;max-width:1480px;padding:var(--space-5) var(--space-4);flex-direction:column;margin:0 auto;display:flex}.ui-stack{gap:var(--ui-gap,var(--space-4));flex-direction:column;display:flex}.ui-toolbar{align-items:center;gap:var(--ui-gap,var(--space-3));flex-wrap:wrap;display:flex}.ui-grid{gap:var(--ui-gap,var(--space-4));grid-template-columns:repeat(auto-fill, minmax(min(var(--ui-grid-min,240px), 100%), 1fr));display:grid}.ui-section{gap:var(--space-4);flex-direction:column;display:flex}.ui-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-section-head-copy{flex-direction:column;gap:2px;display:flex}.ui-section-head-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-skeleton{background:linear-gradient(90deg, var(--neutral-soft) 25%, var(--surface-soft) 37%, var(--neutral-soft) 63%);background-size:400% 100%;animation:1.4s infinite ui-shimmer;display:block}.ui-skeleton-text{gap:var(--space-2);flex-direction:column;display:flex}.ui-skeleton-card{gap:var(--space-3);flex-direction:column;display:flex}@keyframes ui-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}@media (max-width:640px){.ui-page{gap:var(--space-4);padding:var(--space-4) var(--space-3)}}.mobile-bottom-nav,.mobile-more-sheet{display:none}@media (max-width:768px){.app-shell,.app-shell:not(.sidebar-collapsed),.app-shell.sidebar-collapsed{width:min(100%,100% - 16px);padding:8px 0 calc(76px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr);gap:0}.app-shell>.sidebar{display:none}.mobile-bottom-nav{z-index:90;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #11111114}.mobile-bottom-nav .sidebar-item,.mobile-bottom-nav .mobile-nav-more{width:100%;min-height:52px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;gap:3px;padding:6px 2px}.mobile-bottom-nav .sidebar-item .sidebar-icon,.mobile-bottom-nav .mobile-nav-more .sidebar-icon{width:24px;height:24px}.mobile-bottom-nav .sidebar-label{letter-spacing:.01em;font-size:.64rem;font-weight:600;line-height:1;display:block}.mobile-bottom-nav .sidebar-item.active,.mobile-bottom-nav .mobile-nav-more.active{background:var(--primary-soft);color:var(--primary)}.mobile-more-sheet{z-index:95;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-more-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#08080aa8;border:0;padding:0;position:absolute;inset:0}.mobile-more-panel{width:100%;max-height:76vh;padding:12px 12px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-strong);background:#fff;border-radius:20px 20px 0 0;position:relative;overflow-y:auto;box-shadow:0 -16px 50px #00000047}:root[data-theme=dark] .mobile-more-panel,.app-shell[data-theme=dark] .mobile-more-panel{background:#16161a;border-top:1px solid #ffffff14;box-shadow:0 -18px 56px #0000009e}.mobile-more-head{justify-content:space-between;align-items:center;padding:4px 4px 12px;display:flex}.mobile-more-head strong{font-family:var(--font-display);font-size:1.05rem}.mobile-more-close{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.mobile-more-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.mobile-more-list{gap:4px;display:grid}.mobile-more-list .sidebar-item{width:100%;min-height:48px}.main-shell>.topbar{border-radius:18px;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.main-shell>.topbar .topbar-left{grid-template-columns:minmax(0,1fr)}.main-shell>.topbar .company-chip{display:none}}.explore-mode-bar{align-items:center;gap:var(--space-3);border:1px solid var(--amber-soft);background:var(--amber-soft);color:var(--text);border-radius:12px;margin:0 0 16px;padding:8px 12px;display:flex}.explore-mode-bar-dot{background:var(--amber);border-radius:999px;flex:none;width:8px;height:8px}.explore-mode-bar-copy{align-items:baseline;gap:8px;min-width:0;margin:0;font-size:.85rem;line-height:1.3;display:flex}.explore-mode-bar-copy strong{font-family:var(--font-display);color:var(--amber);flex:none}.explore-mode-bar-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.explore-mode-bar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.explore-mode-bar-link{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:.82rem;font-weight:600}.explore-mode-bar-link.primary{background:var(--primary);color:var(--surface);border-color:#0000}.explore-mode-bar-dismiss{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.explore-mode-bar-dismiss svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.explore-mode-bar-dismiss:hover{color:var(--text);background:#1111110f}@media (max-width:640px){.explore-mode-bar-copy span{display:none}}.main-shell>.topbar .user-menu{background:0 0;border:0;max-width:none;height:auto;min-height:0;padding:0;position:relative;overflow:visible}.user-menu-trigger{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:8px;max-width:240px;height:42px;padding:4px 8px 4px 4px;display:flex}.user-menu-trigger .avatar-shell{border-radius:10px;flex:none;width:32px;height:32px;min-height:32px;font-size:.75rem}.user-menu-trigger .user-menu-copy{text-align:left;flex-direction:column;min-width:0;display:flex}.user-menu-trigger .user-menu-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.82rem;line-height:1.1;overflow:hidden}.user-menu-trigger .user-menu-copy span{color:var(--muted);font-size:.7rem}.user-menu-caret{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;color:var(--muted);flex:none}.user-menu-dropdown{z-index:120;border:1px solid var(--line);background:var(--surface);min-width:210px;box-shadow:var(--shadow);border-radius:14px;gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-dropdown-head{border-bottom:1px solid var(--line);gap:1px;margin-bottom:4px;padding:4px 10px 8px;display:grid}.user-menu-dropdown-head strong{font-size:.85rem}.user-menu-dropdown-head span{color:var(--muted);font-size:.72rem}.user-menu-dropdown-item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 10px;font-size:.85rem}.user-menu-dropdown-item:hover{background:var(--surface-soft)}.user-menu-dropdown-item.danger{color:var(--danger)}.user-menu-dropdown-item.danger:hover{background:var(--danger-soft)}@media (max-width:640px){.user-menu-trigger .user-menu-copy{display:none}}::selection{color:#fff;background:#1a1a1d52}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#1a1a1d73}.app-shell[data-theme] .surface-card,.app-shell[data-theme] .metric-card,.app-shell[data-theme] .summary-card,.app-shell[data-theme] .project-card,.app-shell[data-theme] .dashboard-kpi-card,.app-shell[data-theme] .task-card,.app-shell[data-theme] .asset-card,.app-shell[data-theme] .inventory-card,.app-shell[data-theme] .template-card,.app-shell[data-theme] .issue-card{background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-edge);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;position:relative}.app-shell[data-theme] .metric-card,.app-shell[data-theme] .dashboard-kpi-card,.app-shell[data-theme] .summary-card{background:radial-gradient(135% 95% at 102% -12%, #1a1a1d14, transparent 52%), var(--glass-fill);overflow:hidden}.app-shell[data-theme=light] .metric-card,.app-shell[data-theme=light] .dashboard-kpi-card,.app-shell[data-theme=light] .summary-card{background:radial-gradient(135% 95% at 102% -12%, #1a1a1d0a, transparent 50%), var(--glass-fill)}.app-shell[data-theme] .surface-card:after,.app-shell[data-theme] .metric-card:after,.app-shell[data-theme] .project-card:after,.app-shell[data-theme] .dashboard-kpi-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:.7;background:linear-gradient(135deg,#ffffff29 0%,#fff0 30%);position:absolute;inset:0}.app-shell[data-theme=light] .surface-card:after,.app-shell[data-theme=light] .metric-card:after,.app-shell[data-theme=light] .project-card:after,.app-shell[data-theme=light] .dashboard-kpi-card:after{opacity:.9;background:linear-gradient(135deg,#ffffffd9 0%,#ffffff1a 26%,#fff0 50%)}.app-shell[data-theme] .surface-card:not([role=dialog]):not([aria-modal=true]):not([class*=modal]):not([class*=flyout]):not([class*=drawer]):not([class*=popover]):not(.drawing-center):hover,.app-shell[data-theme] .metric-card:hover,.app-shell[data-theme] .project-card:hover,.app-shell[data-theme] .dashboard-kpi-card:hover,.app-shell[data-theme] .task-card:hover,.app-shell[data-theme] .asset-card:hover,.app-shell[data-theme] .issue-card:hover{border-color:var(--border-active);box-shadow:var(--glass-shadow), var(--glass-edge), var(--shadow-red-soft);transform:translateY(-4px)}.app-shell[data-theme] .project-card.active,.app-shell[data-theme] .project-card.selected,.app-shell[data-theme] .task-card.active,.app-shell[data-theme] .task-card.selected,.app-shell[data-theme] .issue-card.active,.app-shell[data-theme] .issue-card.selected,.app-shell[data-theme] .asset-card.active,.app-shell[data-theme] .asset-card.selected{background:var(--glass-fill);border-color:var(--border-active);box-shadow:var(--glass-shadow), var(--glass-edge), var(--shadow-red-soft)}.app-shell[data-theme=dark] .sidebar,:root[data-theme=dark] .app-shell .sidebar{background:#0a0a0a;border:1px solid #ffffff0f;border-radius:18px;box-shadow:0 18px 50px #0000008c,inset 0 1px #ffffff0a}.app-shell[data-theme=light] .sidebar{border-right:1px solid var(--border-active);box-shadow:2px 0 #1a1a1d1f,0 18px 50px #14141214,inset 0 1px #ffffffb8}.app-shell[data-theme] .sidebar-item.active{border-color:var(--border-active);color:var(--ink);background:#1a1a1d1a}.app-shell[data-theme] .sidebar-item.active:before{background:var(--glow);box-shadow:0 0 12px #1a1a1dd9}.app-shell[data-theme] .sidebar-item.active .sidebar-icon{color:var(--glow-2);filter:drop-shadow(0 0 6px #1a1a1da6)}.app-shell[data-theme] .sidebar-item-badge{background:var(--accent-pop);color:var(--accent-pop-ink);box-shadow:0 6px 16px #c8ff0047}:root[data-theme=dark] .shell-button-primary,.app-shell[data-theme=dark] .shell-button-primary,:root[data-theme=dark] .quick-add,.app-shell[data-theme=dark] .quick-add{background:var(--primary);border-color:var(--primary);color:#0a0a0a}:root[data-theme=dark] .shell-button-primary svg,.app-shell[data-theme=dark] .shell-button-primary svg{color:#0a0a0a;stroke:#0a0a0a}.app-shell .shell-button-primary:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:scale(1.02)}.app-shell .shell-button-success{background:var(--accent-pop);color:var(--accent-pop-ink);border-color:#0000}.app-shell :where(input,select,textarea):focus,.app-shell :where(input,select,textarea):focus-visible{border-color:var(--border-active);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.app-shell[data-theme] .tone-info{color:var(--glow-2);background:#1a1a1d24}.app-shell[data-theme=light] .tone-info{color:var(--accent);background:#1a1a1d1a}.app-shell[data-theme] .progress-track{background:var(--neutral-soft)}.app-shell[data-theme] .progress-track span{background:var(--cta);box-shadow:0 0 12px #1a1a1d66}:root[data-theme=dark] .report-builder-header,.app-shell[data-theme=dark] .report-builder-header,:root[data-theme=dark] .report-summary-card,.app-shell[data-theme=dark] .report-summary-card,:root[data-theme=dark] .report-action-bar,.app-shell[data-theme=dark] .report-action-bar,:root[data-theme=dark] .report-type-card,.app-shell[data-theme=dark] .report-type-card,:root[data-theme=dark] .report-toggle,.app-shell[data-theme=dark] .report-toggle,:root[data-theme=dark] .report-format-card,.app-shell[data-theme=dark] .report-format-card,:root[data-theme=dark] .report-preview-section-list,.app-shell[data-theme=dark] .report-preview-section-list{background:var(--surface-soft);border-color:var(--line);color:var(--text)}:root[data-theme=dark] .report-type-card.active,.app-shell[data-theme=dark] .report-type-card.active,:root[data-theme=dark] .report-toggle.active,.app-shell[data-theme=dark] .report-toggle.active{border-color:var(--border-active);box-shadow:var(--shadow-red-soft);background:#1a1a1d1a}.app-shell[data-theme=dark] .drawing-grid,:root[data-theme=dark] .app-shell .drawing-grid{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#1a1a1d24 1px,#0000 1px),linear-gradient(90deg,#1a1a1d24 1px,#0000 1px);background-size:34px 34px,34px 34px,170px 170px,170px 170px}@keyframes enflow-orb-drift{0%{transform:translate(0)scale(1)}33%{transform:translate(46px,34px)scale(1.08)}66%{transform:translate(-34px,22px)scale(.95)}to{transform:translate(0)scale(1)}}:root[data-theme=dark] body:before,:root[data-theme=dark] body:after,:root[data-theme=dark] .app-shell:before{content:none}:root[data-theme=dark] body:before{background:var(--accent);opacity:.15;width:600px;height:600px;animation:60s ease-in-out infinite enflow-orb-drift;top:-160px;right:-120px}:root[data-theme=dark] body:after{background:var(--accent);opacity:.1;width:400px;height:400px;animation:78s ease-in-out infinite reverse enflow-orb-drift;bottom:-140px;left:-120px}:root[data-theme=dark] .app-shell:before{background:var(--accent);opacity:.08;width:300px;height:300px;margin-left:-150px;animation:92s ease-in-out infinite enflow-orb-drift;top:-110px;left:50%}.app-shell{z-index:1;position:relative}:root[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .sidebar{background:#0f0f0f}.app-shell[data-theme=dark] .sidebar-item{color:#666}.app-shell[data-theme=dark] .sidebar-item:hover{color:#f5f5f5;background:#ffffff0d}.app-shell[data-theme=dark] .sidebar-item.active{color:#f5f5f5;background:#1a1a1d1a}.app-shell[data-theme=dark] .sidebar-item.active .sidebar-icon{color:var(--accent);filter:drop-shadow(0 0 6px #1a1a1d99)}.app-shell[data-theme=dark] .sidebar-item.active:before{background:var(--accent);box-shadow:0 0 12px #1a1a1dd9}.app-shell[data-theme=dark] .surface-card:hover,.app-shell[data-theme=dark] .metric-card:hover,.app-shell[data-theme=dark] .summary-card:hover,.app-shell[data-theme=dark] .project-card:hover,.app-shell[data-theme=dark] .dashboard-kpi-card:hover,.app-shell[data-theme=dark] .task-card:hover,.app-shell[data-theme=dark] .asset-card:hover,.app-shell[data-theme=dark] .issue-card:hover{border-color:var(--accent);box-shadow:0 0 24px #1a1a1d26}.app-shell[data-theme=dark] .surface-card,.app-shell[data-theme=dark] .metric-card,.app-shell[data-theme=dark] .summary-card,.app-shell[data-theme=dark] .dashboard-kpi-card{color:var(--text)}.app-shell[data-theme=dark] .topbar{background:#0a0a0af0;border-bottom:1px solid #ffffff0f}.app-shell[data-theme=dark] .topbar input,.app-shell[data-theme=dark] .search-shell,.app-shell[data-theme=dark] .search-shell input,.app-shell[data-theme=dark] .global-search input{color:#fff;background:#ffffff0f;border-color:#ffffff1a}.app-shell[data-theme=dark] .eyebrow,.app-shell[data-theme=dark] .metric-label{color:var(--muted);text-transform:uppercase}.app-shell[data-theme=dark] .asset-collapse-button,.app-shell[data-theme=dark] .inventory-collapse-button{background:#ffffff0f}:root[data-theme=dark] .main-shell>.topbar,.app-shell[data-theme=dark] .main-shell>.topbar{background:#0a0a0af0;border-color:#ffffff0f;box-shadow:0 16px 38px #0006}:root[data-theme=dark] .main-shell>.page-header,.app-shell[data-theme=dark] .main-shell>.page-header{box-shadow:var(--glass-shadow);background:#ffffff0a;border-color:#ffffff0f}:root[data-theme=dark] .main-shell>.topbar .search-shell,.app-shell[data-theme=dark] .main-shell>.topbar .search-shell,:root[data-theme=dark] .main-shell>.topbar .search-shell input,.app-shell[data-theme=dark] .main-shell>.topbar .search-shell input{color:#fff;background:#ffffff0f;border-color:#ffffff1a}:root[data-theme=dark] body:before{opacity:.22;width:680px;height:680px}:root[data-theme=dark] body:after{opacity:.14;width:460px;height:460px}:root[data-theme=dark] .app-shell:before{opacity:.12;width:340px;height:340px}.app-shell[data-theme=dark] .brand-copy strong{color:#f5f5f5;letter-spacing:-.01em;font-weight:800}.app-shell[data-theme=dark] .brand-copy p,.app-shell[data-theme=dark] .brand-copy span{color:#888}.app-shell[data-theme=dark] .brand-mark{background:var(--accent);color:var(--accent-foreground);box-shadow:0 0 18px #1a1a1d73}.app-shell[data-theme=dark] .collapse-toggle{color:#666}.app-shell[data-theme=dark] .collapse-toggle:hover{color:#f5f5f5;background:#ffffff0d}.app-shell[data-theme=dark] .sidebar-user-mini{color:#f5f5f5;background:#ffffff0f;border:1px solid #ffffff14}.app-shell[data-theme=dark] .sidebar-project-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px}.app-shell[data-theme=dark] .sidebar-project-card strong{color:#f5f5f5}.app-shell[data-theme=dark] .sidebar-project-card span,.app-shell[data-theme=dark] .sidebar-health-grid span{color:#888}.app-shell[data-theme=dark] .page-header h1,.app-shell[data-theme=dark] .main-shell>.page-header h1,.app-shell[data-theme=dark] .dashboard-greeting h1,.app-shell[data-theme=dark] .dashboard-greeting h2{color:#fff;letter-spacing:-.04em;font-weight:820;line-height:1.02}.app-shell[data-theme=dark] .context-strip span{color:#666;letter-spacing:.12em;text-transform:uppercase}.app-shell[data-theme=dark] .context-strip strong,.app-shell[data-theme=dark] .context-cell .v{color:#f5f5f5}.app-shell[data-theme=dark] .main-shell{flex-direction:column;gap:4px;display:flex}.app-shell[data-theme=dark] .metric-card,.app-shell[data-theme=dark] .dashboard-kpi-card{padding:22px}.app-shell[data-theme=dark] .metric-card strong,.app-shell[data-theme=dark] .dashboard-kpi-card strong{font-family:var(--font-mono);letter-spacing:-.03em;color:#fff;font-weight:600}@media (min-width:1100px){.app-shell[data-theme]{gap:0;width:100%;max-width:none;margin:0;padding:0}.app-shell[data-theme]:not(.sidebar-collapsed){grid-template-columns:264px minmax(0,1fr)}.app-shell[data-theme].sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-shell[data-theme] .sidebar[data-sidebar-state]{border:none;border-right:1px solid #ffffff0f;border-radius:0;height:100vh;margin:0;position:sticky;top:0;box-shadow:inset 0 1px #ffffff0a}.app-shell[data-theme] .main-shell>.topbar{z-index:30;box-shadow:none;border:none;border-bottom:1px solid #ffffff0f;border-radius:0;margin:0;padding:12px 34px;position:sticky;top:0}.app-shell[data-theme] .main-shell>.page-body{padding:24px 34px 80px}.app-shell[data-theme] .main-shell>.context-strip{padding-left:34px;padding-right:34px}}.app-shell[data-theme] .dashboard-kpi-card{text-align:left;border-radius:16px;flex-direction:column;gap:0;min-height:0;padding:22px 22px 0;display:flex;position:relative;overflow:hidden}.app-shell[data-theme] .dashboard-kpi-card .mc-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.app-shell[data-theme] .dashboard-kpi-card .mc-ico{width:40px;height:40px;color:var(--glow-2);background:#1a1a1d1f;border-radius:12px;place-items:center;display:grid}.app-shell[data-theme] .dashboard-kpi-card .mc-ico svg{width:20px;height:20px}.app-shell[data-theme] .dashboard-kpi-card .mc-trend{height:25px;font-family:var(--font-mono);background:var(--panel-3,#ffffff0d);border:1px solid var(--line);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:.72rem;font-weight:600;display:inline-flex}.app-shell[data-theme] .dashboard-kpi-card .mc-trend svg{stroke-width:2.2px;width:13px;height:13px}.app-shell[data-theme=dark] .dashboard-kpi-card .mc-trend.up{color:var(--accent-pop)}.app-shell[data-theme=light] .dashboard-kpi-card .mc-trend.up{color:var(--success)}.app-shell[data-theme] .dashboard-kpi-card .mc-trend.down{color:var(--glow-2)}.app-shell[data-theme] .dashboard-kpi-card .mc-trend.flat{color:var(--text-2)}.app-shell[data-theme] .dashboard-kpi-card strong{font-family:var(--font-mono);letter-spacing:-.045em;color:var(--heading);margin:0;font-size:2.9rem;font-weight:550;line-height:.9}.app-shell[data-theme] .dashboard-kpi-card .mc-name{color:var(--heading);margin-top:14px;font-size:.95rem;font-weight:600}.app-shell[data-theme] .dashboard-kpi-card small{color:var(--text-2);margin-top:4px;font-size:.8rem}.app-shell[data-theme] .dashboard-kpi-card .mc-spark{z-index:1;opacity:.85;pointer-events:none;width:calc(100% + 44px);height:40px;margin:18px -22px 0;position:relative}.app-shell[data-theme=dark] .page-header h1,.app-shell[data-theme=dark] .main-shell>.page-header h1,.app-shell[data-theme=dark] .ui-page-header h1{letter-spacing:-.035em;color:#fff;font-size:clamp(2rem,2.6vw,2.4rem);font-weight:800;line-height:1.04}.app-shell[data-theme=dark] .project-card,.app-shell[data-theme=dark] .surface-card,.app-shell[data-theme=dark] .task-card,.app-shell[data-theme=dark] .asset-card,.app-shell[data-theme=dark] .inventory-card,.app-shell[data-theme=dark] .issue-card{border-radius:16px}.app-shell[data-theme=dark] .data-table th{text-transform:uppercase;letter-spacing:.08em;color:#888;font-size:.7rem;font-weight:700}.app-shell[data-theme=dark] .data-table tbody tr:nth-child(2n){background:#ffffff05}.app-shell[data-theme=dark] .data-table tbody tr:hover{background:#ffffff0a}.app-shell[data-theme=dark] .data-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--glow)}.app-shell[data-theme=dark] .activity:hover,.app-shell[data-theme=dark] .activity-item:hover{border-color:var(--border-active)}.app-shell[data-theme=dark] .eyebrow{color:#666;letter-spacing:.14em;text-transform:uppercase}.app-shell[data-theme=dark] .sidebar[data-sidebar-state]{background:linear-gradient(#0c0c0c 0%,#090909 100%);gap:2px;transition:width .3s cubic-bezier(.2,.8,.2,1),padding .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.app-shell[data-theme=dark]:not(.sidebar-collapsed) .sidebar[data-sidebar-state]{width:264px;padding:16px 14px}.app-shell[data-theme=dark].sidebar-collapsed .sidebar[data-sidebar-state]{width:74px;padding:16px 10px}.app-shell[data-theme=dark].sidebar-collapsed .sidebar[data-sidebar-state]:hover{z-index:75;width:264px;padding:16px 14px;box-shadow:28px 0 70px #0000008c,1px 0 #1a1a1d2e,inset 0 1px #ffffff1a}.app-shell[data-theme=dark].sidebar-collapsed .sidebar:not(:hover) .sidebar-nav:before,.app-shell[data-theme=dark].sidebar-collapsed .sidebar:not(:hover) .sidebar-utility-nav:before{opacity:0;height:0;padding:0;overflow:hidden}.app-shell[data-theme=dark].sidebar-collapsed .sidebar:not(:hover) .sidebar-user-copy{opacity:0;width:0;overflow:hidden}.app-shell[data-theme=dark].sidebar-collapsed .sidebar:not(:hover) .sidebar-user{border-top-color:#0000;justify-content:center;padding-inline:0}.app-shell[data-theme=dark] .brand-mark{color:#0a0a0a;background:#fff;border-radius:14px;width:44px;height:44px;box-shadow:0 4px 14px #00000047}.app-shell[data-theme=dark] .brand-mark img{filter:brightness(0)}.app-shell[data-theme] .brand-mark{place-items:center;display:grid;overflow:hidden}.app-shell[data-theme] .brand-mark:has(.brand-mark-glyph):after{content:none}.app-shell[data-theme] .brand-mark .brand-mark-glyph{z-index:1;object-fit:contain;width:26px;height:26px;position:relative}.app-shell[data-theme=light] .brand-mark .brand-mark-glyph{filter:brightness(0)invert()}.app-shell[data-theme=dark] .brand-copy strong{letter-spacing:-.02em;color:#fff;font-size:1.08rem;font-weight:800}.app-shell[data-theme=dark] .brand-copy p,.app-shell[data-theme=dark] .brand-copy span{color:#888;font-size:.72rem}.app-shell[data-theme=dark] .collapse-toggle{border:1px solid var(--line);color:#888;z-index:2;background:0 0;border-radius:9px;gap:0;width:30px;height:30px;min-height:0;padding:0;position:absolute;top:18px;right:14px}.app-shell[data-theme=dark] .collapse-toggle .pin-label{display:none}.app-shell[data-theme=dark] .collapse-toggle.is-pinned{color:var(--glow-2);border-color:var(--border-active);background:#1a1a1d1f}.app-shell[data-theme=dark] .brand-lockup{padding:4px 40px 12px 8px}.app-shell[data-theme=dark] .sidebar-nav:before{content:"Workspace"}.app-shell[data-theme=dark] .sidebar-utility-nav:before{content:"Team"}.app-shell[data-theme=dark] .sidebar-nav:before,.app-shell[data-theme=dark] .sidebar-utility-nav:before{letter-spacing:.16em;text-transform:uppercase;color:#555;padding:12px 10px 6px;font-size:10px;font-weight:700;display:block}.app-shell[data-theme=dark] .sidebar-item{color:#888;border-radius:14px;height:42px;min-height:42px;font-size:.9rem;font-weight:500}.app-shell[data-theme=dark] .sidebar-item.active,.app-shell[data-theme=dark] .sidebar-item.active .sidebar-label{color:#fff}.app-shell[data-theme=dark] .sidebar-item.active .sidebar-icon{color:var(--glow-2)}.app-shell[data-theme=dark] .sidebar-bottom .sidebar-user{border-top:1px solid var(--line);align-items:center;gap:11px;min-width:0;margin-top:8px;padding:14px 4px 4px;display:flex}.app-shell[data-theme=dark] .sidebar-bottom .sidebar-user .avatar{color:#0a0a0a;background:#f5f5f5;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:.84rem;font-weight:700;display:grid;box-shadow:0 4px 14px #00000047}.app-shell[data-theme=dark] .sidebar-bottom .sidebar-user-copy{flex-direction:column;min-width:0;line-height:1.2;display:flex}.app-shell[data-theme=dark] .sidebar-bottom .sidebar-user-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.app-shell[data-theme=dark] .sidebar-bottom .sidebar-user-copy span{color:#888;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.app-shell[data-theme]{--radius-xl:24px;--radius-lg:16px;--radius-md:14px;--radius-sm:12px;--pad:34px;--gap:18px;--row-h:56px;--card-pad:20px}.app-shell[data-theme] .dashboard-kpi-grid,.app-shell[data-theme] .dashboard-main-grid,.app-shell[data-theme] .project-grid,.app-shell[data-theme] .dashboard-onboarding-grid{gap:var(--gap)}.app-shell[data-theme] .data-table td{height:var(--row-h)}.app-shell[data-theme] .page-header h1,.app-shell[data-theme] .main-shell>.page-header h1,.app-shell[data-theme] .ui-page-header h1,.app-shell[data-theme] .dashboard-title-row h2,.app-shell[data-theme] .dashboard-hero-control h2{font-family:var(--font-display);letter-spacing:-.035em;color:var(--heading);font-size:2.4rem;font-weight:800;line-height:1.02}.app-shell[data-theme] .dashboard-hero-control{align-items:end}.app-shell[data-theme] .dashboard-hero-control .hero-actions{align-self:end}.app-shell[data-theme] .main-shell>.topbar .sync-status-indicator,.app-shell[data-theme] .main-shell>.topbar .user-menu{display:none}@media (min-width:1100px){.app-shell[data-theme] .project-portfolio-page>.section-head:first-child,.app-shell[data-theme] .project-files-header,.app-shell[data-theme] .materials-page>.section-head:first-child,.app-shell[data-theme] .team-actions-head{z-index:3;margin-top:-58px;position:relative}.app-shell[data-theme] .main-shell>.page-body{position:relative}.app-shell[data-theme] .project-portfolio-page>.section-head:first-child,.app-shell[data-theme] .project-files-header,.app-shell[data-theme] .materials-page>.section-head:first-child,.app-shell[data-theme] .team-actions-head{z-index:4;margin:0;position:absolute;top:-54px;right:34px}}.app-shell[data-theme] .context-strip{border:1px solid var(--line);box-shadow:none}.app-shell[data-theme=dark] .context-strip{background:#131314}.app-shell[data-theme=light] .context-strip{background:#fff}.app-shell[data-theme] .main-shell>.topbar .user-menu,.app-shell[data-theme] .main-shell>.topbar .sync-status-indicator{display:none}.app-shell[data-theme] .material-request-toolbar button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:18px;height:18px}.app-shell[data-theme] .sidebar-item{border:none;border-radius:9px;gap:10px;height:32px;min-height:32px;padding:0 10px;font-size:.875rem;font-weight:500}.app-shell[data-theme] .sidebar-item .sidebar-icon{width:20px;min-width:20px;box-shadow:none;background:0 0}.app-shell[data-theme] .sidebar-item .sidebar-svg-icon,.app-shell[data-theme] .sidebar-item .sidebar-icon svg{width:18px;height:18px}.app-shell[data-theme=dark] .sidebar-item,.app-shell[data-theme=dark] .sidebar-item .sidebar-icon{color:#8a8a8a}.app-shell[data-theme=dark] .sidebar-item:hover{background:#ffffff0d}.app-shell[data-theme=dark] .sidebar-item:hover,.app-shell[data-theme=dark] .sidebar-item:hover .sidebar-icon{color:#f5f5f5}.app-shell[data-theme=light] .sidebar-item,.app-shell[data-theme=light] .sidebar-item .sidebar-icon{color:var(--muted)}.app-shell[data-theme=light] .sidebar-item:hover{background:#1412100d}.app-shell[data-theme] .sidebar-item.active{box-shadow:none;background:#1a1a1d1f;border:none}.app-shell[data-theme] .sidebar-item.active,.app-shell[data-theme] .sidebar-item.active .sidebar-label{color:var(--heading);font-weight:600}.app-shell[data-theme] .sidebar-item.active .sidebar-icon{color:var(--accent)}.app-shell[data-theme] .sidebar-item.active:before{content:none}.app-shell[data-theme] .sidebar-nav:before,.app-shell[data-theme] .sidebar-utility-nav:before{letter-spacing:.14em;text-transform:uppercase;padding:16px 12px 8px;font-size:11px;font-weight:700}.app-shell[data-theme=dark] .sidebar-nav:before,.app-shell[data-theme=dark] .sidebar-utility-nav:before{color:#555}.app-shell[data-theme=light] .sidebar-nav:before,.app-shell[data-theme=light] .sidebar-utility-nav:before{color:var(--text-muted)}.app-shell[data-theme] .collapse-toggle{opacity:1;width:34px;height:34px;color:var(--glow-2);background:#1a1a1d1f;border:1px solid #1a1a1d38;border-radius:10px}.app-shell[data-theme] .collapse-toggle:hover{color:var(--glow);background:#1a1a1d2e}.app-shell[data-theme] .sidebar-item .sidebar-badge,.app-shell[data-theme] .sidebar-item .notification-badge,.app-shell[data-theme] .sidebar-item .nav-count,.app-shell[data-theme] .sidebar-nav .count-badge{background:var(--accent-pop);color:var(--accent-pop-ink);font-weight:700}.app-shell[data-theme] .sidebar[data-sidebar-state] .sidebar-item{height:32px;min-height:32px}.app-shell[data-theme] .sidebar .collapse-toggle,.app-shell[data-theme] .sidebar .collapse-toggle.is-pinned{color:var(--glow-2);opacity:1;background:#1a1a1d1f;border:1px solid #1a1a1d38}.app-shell[data-theme=dark] .project-card{background:linear-gradient(#ffffff0d,#ffffff05),#141417}.app-shell[data-theme=dark] .surface-card[role=dialog],.app-shell[data-theme=dark] .project-modal,.app-shell[data-theme=dark] .project-delete-modal,.app-shell[data-theme=dark] .confirm-modal{background:#16161b}.app-shell[data-theme] .project-delete-warning{border:1px solid var(--line);color:var(--heading);background:#ffffff0d;font-weight:600}.app-shell[data-theme=light] .project-delete-warning{color:var(--ink);background:#1412100a}.app-shell[data-theme] .brand-lockup{align-items:center;gap:12px;padding:8px 8px 14px}.app-shell[data-theme] .brand-mark{box-shadow:0 6px 18px #0000004d}.app-shell[data-theme=light] .brand-mark{box-shadow:0 6px 18px #1414122e}.app-shell[data-theme] .collapse-toggle{color:var(--text-2);opacity:.65;background:0 0;border-color:#0000;transition:opacity .14s,background .14s,color .14s}.app-shell[data-theme] .collapse-toggle:hover{opacity:1;color:var(--heading);background:#ffffff12}.app-shell[data-theme=light] .collapse-toggle:hover{background:#1412100f}.app-shell[data-theme] .collapse-toggle.is-pinned{opacity:1;color:var(--glow-2);background:0 0;border-color:#0000}.app-shell[data-theme] .quick-panel{z-index:1200;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121212f0;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:2px;width:290px;padding:10px;display:flex;position:fixed;top:66px;right:24px;box-shadow:0 24px 60px #0000008c}.app-shell[data-theme=light] .quick-panel{background:#fffffff5;border-color:#1412101a;box-shadow:0 24px 60px #1414122e}.app-shell[data-theme] .quick-panel .quick-panel-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:2px 6px 6px;font-size:11px;font-weight:700}.app-shell[data-theme] .quick-panel .quick-panel-empty{color:var(--muted);margin:4px 6px 2px;padding:8px 6px;font-size:12.5px;line-height:1.4}.app-shell[data-theme] .quick-panel button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:9px 10px;display:flex}.app-shell[data-theme] .quick-panel button:hover{background:#ffffff0f}.app-shell[data-theme=light] .quick-panel button:hover{background:#1412100d}.app-shell[data-theme] .quick-panel .qp-ico{width:34px;min-width:34px;height:34px;color:var(--glow-2);background:#1a1a1d1f;border-radius:10px;place-items:center;display:grid}.app-shell[data-theme] .quick-panel .qp-ico svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.app-shell[data-theme] .quick-panel .qp-text{flex-direction:column;min-width:0;display:flex}.app-shell[data-theme] .quick-panel .qp-text strong{color:var(--heading);font-size:.92rem;font-weight:600}.app-shell[data-theme] .quick-panel .qp-text span{color:var(--muted);font-size:.76rem}.app-shell[data-theme] .sidebar-item.active{border-color:#0000}.app-shell[data-theme] .drawing-file-menu{border:1px solid var(--line);width:32px;min-width:32px;height:32px;min-height:32px;color:var(--muted);cursor:pointer;background:#ffffff0d;border-radius:999px;place-items:center;padding:0;font-size:1.05rem;line-height:1;transition:color .14s,background .14s,border-color .14s;display:grid}.app-shell[data-theme=light] .drawing-file-menu{background:#1412100a}.app-shell[data-theme] .drawing-file-menu:hover{color:var(--heading);border-color:var(--line-strong);background:#ffffff1a}.app-shell[data-theme=light] .drawing-file-menu:hover{background:#14121014}.app-shell[data-theme] .section-head h3,.app-shell[data-theme] .section-head h4,.app-shell[data-theme] .surface-card h3,.app-shell[data-theme] .surface-card h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--heading);font-size:1.12rem;font-weight:740;line-height:1.25}.app-shell[data-theme] .eyebrow{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.app-shell[data-theme] .page-header p:last-child,.app-shell[data-theme] .main-shell>.page-header p:last-child,.app-shell[data-theme] .hero-copy{color:var(--text-2);font-size:.95rem;line-height:1.55}.app-shell[data-theme] .mono,.app-shell[data-theme] .data-table .mono,.app-shell[data-theme] .ds-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1;letter-spacing:-.02em}.app-shell[data-theme=dark] .app-tabs button.active,.app-shell[data-theme=dark] .app-tabs button[aria-selected=true],.app-shell[data-theme=dark] .sub-tabs button.active,.app-shell[data-theme=dark] .sub-tabs button[aria-selected=true],.app-shell[data-theme=dark] .segmented-control button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.app-shell[data-theme] .main-shell>.topbar .project-switcher,.app-shell[data-theme] .main-shell>.topbar .ai-assistant-trigger,.app-shell[data-theme] .main-shell>.topbar .user-menu{display:none}.app-shell[data-theme] .surface-card.dashboard-hero-control{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding:0}.app-shell[data-theme] .surface-card.dashboard-hero-control:after{content:none}.app-shell[data-theme] .surface-card.dashboard-hero-control{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.app-shell[data-theme] .dashboard-hero-control>div:first-child{flex:420px;min-width:0}.app-shell[data-theme] .dashboard-hero-control .hero-actions{flex:none;gap:10px;margin-top:6px;display:flex}.app-shell[data-theme] .dashboard-hero-control .hero-actions .shell-button{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.app-shell[data-theme] .dashboard-hero-control .hero-actions .shell-button svg{width:16px;height:16px}.app-shell[data-theme] .dashboard-main-grid .dashboard-quick-actions{order:-3}.app-shell[data-theme] .dashboard-main-grid .dashboard-activity-panel{order:-2}.app-shell[data-theme] .dashboard-main-grid .dashboard-projects-panel{order:-1}.app-shell[data-theme] .dashboard-quick-action-card{text-align:left;align-items:center;gap:14px;display:flex}.app-shell[data-theme] .dashboard-quick-action-card .qa-ico{width:40px;min-width:40px;height:40px;color:var(--glow-2);background:#1a1a1d1f;border-radius:12px;flex:none;place-items:center;display:grid}.app-shell[data-theme] .dashboard-quick-action-card .qa-ico svg{width:20px;height:20px}.app-shell[data-theme] .dashboard-quick-action-card .qa-text{flex-direction:column;gap:2px;min-width:0;display:flex}.app-shell[data-theme] .dashboard-quick-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:720px){.app-shell[data-theme] .dashboard-quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell[data-theme] .dashboard-kpi-grid .dashboard-kpi-card:nth-child(n+5){display:none}.app-shell[data-theme] .brand-mark{background:#000}.app-shell[data-theme] .brand-mark .brand-mark-glyph{object-fit:cover;width:100%;height:100%}.app-shell[data-theme=dark] .brand-mark img,.app-shell[data-theme=light] .brand-mark .brand-mark-glyph,.app-shell[data-theme] .brand-mark .brand-mark-glyph{filter:none}.auth-logo{background:#000}.auth-logo img{object-fit:cover;width:100%;height:100%}.app-shell[data-theme].sidebar-collapsed .sidebar:not(:hover) .sidebar-icon{box-shadow:none;background:0 0;border-radius:0}.app-shell[data-theme].sidebar-collapsed .sidebar:not(:hover) .collapse-toggle{opacity:0;pointer-events:none}.app-shell[data-theme].sidebar-collapsed .sidebar:not(:hover) .brand-lockup{justify-content:center;padding-left:0;padding-right:0;display:flex}.app-shell[data-theme] .project-card{cursor:pointer}.app-shell[data-theme] .project-card-meta{gap:0;margin:16px 0 18px;display:flex}.app-shell[data-theme] .project-card-meta span{border-left:1px solid var(--line);flex-direction:column;flex:1 1 0;gap:4px;min-width:0;padding:0 16px;display:flex}.app-shell[data-theme] .project-card-meta span small{letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-size:.62rem;font-weight:700}.app-shell[data-theme] .project-card-meta span strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.app-shell[data-theme] .project-card-progress-head{justify-content:space-between;align-items:baseline;margin:4px 0 8px;display:flex}.app-shell[data-theme] .project-card-progress-head strong{color:var(--heading);font-size:.95rem;font-weight:700}.app-shell[data-theme] .project-card-progress-head span{color:var(--text-2);font-size:.95rem;font-family:var(--font-mono)}.app-shell[data-theme] .project-card-footer{display:none}.app-shell[data-theme] .project-card .drawing-file-menu{opacity:0;pointer-events:none;transition:opacity .16s;display:grid}.app-shell[data-theme] .project-card:hover .drawing-file-menu{opacity:1;pointer-events:auto}:root[data-theme=dark] body,:root[data-theme=light] body,body{background-attachment:fixed}.app-shell[data-theme=dark] .main-shell>.topbar{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background:#0a0a0a8c}.app-shell[data-theme=light] .main-shell>.topbar{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background:#f1f0ed99}.app-shell[data-theme] .project-card:before{content:none}.app-shell[data-theme] .sidebar-item{height:32px;min-height:32px}.app-shell[data-theme] .sidebar-nav:before,.app-shell[data-theme] .sidebar-utility-nav:before{padding:8px 10px 4px}.app-shell[data-theme] .dashboard-health-row>div:not(.progress-track){flex-direction:column;gap:2px;min-width:0;display:flex}.app-shell[data-theme] .dashboard-health-row>div:not(.progress-track) span{line-height:1.25}.app-shell[data-theme] .dashboard-health-row>div:not(.progress-track) strong{color:var(--heading)}.app-shell[data-theme] .project-portfolio-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:auto;display:flex}.app-shell[data-theme] .surface-card[role=dialog],.app-shell[data-theme] .project-modal,.app-shell[data-theme] .project-create-modal{z-index:1300;max-height:calc(100vh - 40px);position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.app-shell[data-theme] .upload-modal-backdrop,.app-shell[data-theme] .project-modal-backdrop,.app-shell[data-theme] .material-modal-backdrop,.app-shell[data-theme] .beta-modal-backdrop{z-index:1290;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;position:fixed;inset:0}.app-shell[data-theme] .context-strip span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.app-shell[data-theme] .main-shell>.page-header,.app-shell[data-theme] .main-shell>.ui-page-header,.app-shell[data-theme] .ui-page-header,.app-shell[data-theme] .page-header{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:0}.app-shell[data-theme] .ui-page-header:after,.app-shell[data-theme] .page-header:after{content:none}@media (min-width:1100px){.app-shell[data-theme] .main-shell>.page-header,.app-shell[data-theme] .main-shell>.ui-page-header{padding-left:34px;padding-right:34px}}.app-shell[data-theme] .project-card-schedule-row,.app-shell[data-theme] .project-card-major-works,.app-shell[data-theme] .project-card-footer .shell-button{display:none}.app-shell[data-theme] .project-card-head h4{letter-spacing:-.02em;font-size:1.3rem;font-weight:800}.app-shell[data-theme] .project-card .status-pill{align-items:center;gap:7px;display:inline-flex}.app-shell[data-theme] .project-card .status-pill:before{content:"";background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.app-shell[data-theme] .project-card .status-pill.tone-success:before{background:var(--success)}.app-shell[data-theme] .project-card .status-pill.tone-warning:before{background:var(--warning)}.app-shell[data-theme] .project-card .status-pill.tone-danger:before{background:var(--danger)}.app-shell[data-theme] .project-card .status-pill.tone-info:before{background:var(--info)}.app-shell[data-theme] .project-card .status-pill.tone-primary:before{background:var(--primary)}.app-shell[data-theme] .project-card-meta{gap:0;margin:14px 0 16px}.app-shell[data-theme] .project-card-meta span{border-left:1px solid var(--line);color:var(--heading);padding:0 14px;font-weight:700}.app-shell[data-theme] .project-card-meta span:first-child{border-left:none;padding-left:0}.app-shell[data-theme] .project-card-footer{margin-top:12px}.app-shell[data-theme] .main-shell>.topbar .theme-toggle.theme-toggle-icon{place-items:center;gap:0;width:42px;min-width:42px;padding:0;display:grid}.app-shell[data-theme] .theme-toggle.theme-toggle-icon:before{content:none;display:none}.app-shell[data-theme] .theme-toggle.theme-toggle-icon>span:not(.theme-toggle-glyph){display:none}.app-shell[data-theme] .theme-toggle-glyph{place-items:center;width:22px;height:22px;display:grid}.app-shell[data-theme] .theme-toggle-glyph svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:22px;height:22px}.app-shell[data-theme=dark] .theme-toggle.theme-toggle-icon{color:#f5f5f5}.app-shell[data-theme=dark] .theme-toggle.theme-toggle-icon.active{background:#ffffff0f}.theme-glass-switch{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;margin:0;padding:0;line-height:0}.theme-glass-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-glass-track{-webkit-backdrop-filter:blur(11px)saturate(1.4);backdrop-filter:blur(11px)saturate(1.4);background:linear-gradient(135deg,#ffffff57,#ffffff1f);border:1px solid #ffffff80;border-radius:999px;align-items:center;width:100px;height:46px;transition:background .3s,border-color .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1.5px #ffffffa6,inset 0 -3px 8px #1111110f,0 6px 18px #11111124}.theme-glass-switch:hover .theme-glass-track{border-color:#ffffffb8}.theme-glass-text{letter-spacing:.01em;width:56px;height:100%;color:var(--text,#1b1916);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;font-size:.8rem;font-weight:750;transition:opacity .26s;display:grid;position:absolute;top:0}.theme-glass-text-light{right:2px}.theme-glass-text-dark{left:2px}.theme-glass-switch.is-light .theme-glass-text-light,.theme-glass-switch.is-dark .theme-glass-text-dark{opacity:.9}.theme-glass-knob{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(120% 120% at 30% 25%,#fffffff2,#ffffff8c);border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .36s cubic-bezier(.34,1.4,.5,1);display:grid;position:absolute;top:3px;left:3px;box-shadow:inset 0 1px 1.5px #fffffff2,inset 0 -2px 4px #11111114,0 4px 10px #1111113d}.theme-glass-switch.is-dark .theme-glass-knob{transform:translate(54px)}.theme-glass-icon{fill:none;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1;width:19px;height:19px;transition:opacity .26s,transform .36s cubic-bezier(.34,1.4,.5,1)}.theme-glass-sun{stroke:#e8820e}.theme-glass-moon{fill:#4b5563;stroke:none}.theme-glass-switch.is-light .theme-glass-sun{opacity:1;transform:rotate(0)scale(1)}.theme-glass-switch.is-light .theme-glass-moon{opacity:0;transform:rotate(-50deg)scale(.4)}.theme-glass-switch.is-dark .theme-glass-sun{opacity:0;transform:rotate(50deg)scale(.4)}.theme-glass-switch.is-dark .theme-glass-moon{opacity:1;transform:rotate(0)scale(1)}.app-shell[data-theme=dark] .theme-glass-track{background:linear-gradient(135deg,#ffffff29,#ffffff0a);border-color:#fff3;box-shadow:inset 0 1px 1.5px #ffffff38,inset 0 -3px 8px #00000057,0 6px 18px #0000006b}.app-shell[data-theme=dark] .theme-glass-text{color:#f6f6f7}.app-shell[data-theme=dark] .theme-glass-knob{background:radial-gradient(120% 120% at 30% 25%,#ffffffe0,#e2e2e880);border-color:#ffffff8c}@media (prefers-reduced-motion:reduce){.theme-glass-knob,.theme-glass-icon,.theme-glass-text{transition:none}}@media (max-width:480px){.theme-glass-track{width:66px}.theme-glass-text{display:none}.theme-glass-switch.is-dark .theme-glass-knob{transform:translate(20px)}}.app-shell[data-theme=dark] .sidebar-icon{box-shadow:none;background:0 0}.app-shell[data-theme=dark] .sidebar-icon svg,.app-shell[data-theme=dark] .sidebar-svg-icon{width:18px;height:18px}.app-shell[data-theme=light]:not(.sidebar-collapsed) .sidebar[data-sidebar-state]{width:264px;padding:16px 14px}.app-shell[data-theme=light].sidebar-collapsed .sidebar[data-sidebar-state]{width:74px;padding:16px 10px}.app-shell[data-theme=light] .sidebar[data-sidebar-state]{gap:2px;transition:width .3s cubic-bezier(.2,.8,.2,1),padding .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.app-shell[data-theme=light].sidebar-collapsed .sidebar[data-sidebar-state]:hover{z-index:75;width:264px;padding:16px 14px;box-shadow:28px 0 70px #1414122e,inset 0 1px #fff9}.app-shell[data-theme=light].sidebar-collapsed .sidebar:not(:hover) .sidebar-nav:before,.app-shell[data-theme=light].sidebar-collapsed .sidebar:not(:hover) .sidebar-utility-nav:before{opacity:0;height:0;padding:0;overflow:hidden}.app-shell[data-theme=light].sidebar-collapsed .sidebar:not(:hover) .sidebar-user-copy{opacity:0;width:0;overflow:hidden}.app-shell[data-theme=light].sidebar-collapsed .sidebar:not(:hover) .sidebar-user{border-top-color:#0000;justify-content:center;padding-inline:0}.app-shell[data-theme=light] .brand-mark{color:#fff;background:#1b1916;border-radius:14px;width:44px;height:44px;box-shadow:0 4px 14px #14141224}.app-shell[data-theme=light] .brand-copy strong{letter-spacing:-.02em;font-size:1.08rem;font-weight:800}.app-shell[data-theme=light] .brand-copy p,.app-shell[data-theme=light] .brand-copy span{font-size:.72rem}.app-shell[data-theme=light] .brand-lockup{padding:4px 40px 12px 8px}.app-shell[data-theme=light] .collapse-toggle{z-index:2;border-radius:9px;gap:0;width:30px;height:30px;min-height:0;padding:0;position:absolute;top:18px;right:14px}.app-shell[data-theme=light] .collapse-toggle .pin-label{display:none}.app-shell[data-theme=light] .collapse-toggle.is-pinned{color:var(--glow);border-color:var(--border-active);background:#1a1a1d1a}.app-shell[data-theme=light] .sidebar-nav:before{content:"Workspace"}.app-shell[data-theme=light] .sidebar-utility-nav:before{content:"Team"}.app-shell[data-theme=light] .sidebar-nav:before,.app-shell[data-theme=light] .sidebar-utility-nav:before{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);padding:12px 10px 6px;font-size:10px;font-weight:700;display:block}.app-shell[data-theme=light] .sidebar-item{height:42px;min-height:42px;color:var(--muted);border-radius:14px;font-size:.9rem;font-weight:500}.app-shell[data-theme=light] .sidebar-item:hover,.app-shell[data-theme=light] .sidebar-item:hover .sidebar-icon,.app-shell[data-theme=light] .sidebar-item.active,.app-shell[data-theme=light] .sidebar-item.active .sidebar-label{color:var(--heading)}.app-shell[data-theme=light] .sidebar-icon{box-shadow:none;background:0 0}.app-shell[data-theme=light] .sidebar-icon svg,.app-shell[data-theme=light] .sidebar-svg-icon{width:18px;height:18px}.app-shell[data-theme=light] .sidebar-bottom .sidebar-user{border-top:1px solid var(--line);align-items:center;gap:11px;min-width:0;margin-top:8px;padding:14px 4px 4px;display:flex}.app-shell[data-theme=light] .sidebar-bottom .sidebar-user .avatar{color:#fff;background:#1b1916;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:.84rem;font-weight:700;display:grid;box-shadow:0 4px 14px #14141224}.app-shell[data-theme=light] .sidebar-bottom .sidebar-user-copy{flex-direction:column;min-width:0;line-height:1.2;display:flex}.app-shell[data-theme=light] .sidebar-bottom .sidebar-user-copy strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.app-shell[data-theme=light] .sidebar-bottom .sidebar-user-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.surface-card,.work-plan-selector,.status-pill,.work-plan-mode-switch button,.schedule-mode-switcher,.schedule-mode-switcher button{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}:root[data-theme=dark] .project-workspace-hero.surface-card,.app-shell[data-theme=dark] .project-workspace-hero.surface-card{background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .project-workspace-hero .drawing-back-button,.app-shell[data-theme=dark] .project-workspace-hero .drawing-back-button{color:#f5f5f5;background:#ffffff0d;border:1px solid #ffffff1a}:root[data-theme=dark] .project-workspace-hero .drawing-back-button:hover,.app-shell[data-theme=dark] .project-workspace-hero .drawing-back-button:hover{color:#f5f5f5;background:#ffffff14;border-color:#ffffff24}:root[data-theme=dark] .project-workspace-stats .status-pill.tone-neutral,.app-shell[data-theme=dark] .project-workspace-stats .status-pill.tone-neutral{color:#fff;background:#ffffff14}:root[data-theme=dark] .project-workspace-stats .status-pill.tone-info,.app-shell[data-theme=dark] .project-workspace-stats .status-pill.tone-info{color:var(--accent);background:#1a1a1d26}:root[data-theme=dark] .work-plan-selector.surface-card,.app-shell[data-theme=dark] .work-plan-selector.surface-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px}:root[data-theme=dark] .work-plan-selector.surface-card:hover,.app-shell[data-theme=dark] .work-plan-selector.surface-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px #1a1a1d4d,0 8px 24px #1a1a1d1f}:root[data-theme=dark] .work-plan-selector .work-plan-meta span,.app-shell[data-theme=dark] .work-plan-selector .work-plan-meta span{color:#888}:root[data-theme=dark] .work-plan-selector .work-plan-meta .status-pill,.app-shell[data-theme=dark] .work-plan-selector .work-plan-meta .status-pill{color:var(--accent);background:#1a1a1d26}:root[data-theme=dark] .work-plan-mode-switch button,.app-shell[data-theme=dark] .work-plan-mode-switch button{color:#888;background:0 0;border:1px solid #ffffff1a;border-radius:100px}:root[data-theme=dark] .work-plan-mode-switch button:hover,.app-shell[data-theme=dark] .work-plan-mode-switch button:hover{background:#ffffff14}:root[data-theme=dark] .work-plan-mode-switch button.active,.app-shell[data-theme=dark] .work-plan-mode-switch button.active{color:var(--accent);border-color:var(--accent);box-shadow:none;background:#1a1a1d26}:root[data-theme=dark] .schedule-mode-switcher,.app-shell[data-theme=dark] .schedule-mode-switcher{background:#ffffff0a;border:1px solid #ffffff14;border-radius:100px}:root[data-theme=dark] .schedule-mode-switcher button,.app-shell[data-theme=dark] .schedule-mode-switcher button{color:#888;background:0 0}:root[data-theme=dark] .schedule-mode-switcher button.active,.app-shell[data-theme=dark] .schedule-mode-switcher button.active{color:#fff;box-shadow:none;background:#ffffff1a}:root[data-theme=dark] .schedule-mode-strip .status-pill,.app-shell[data-theme=dark] .schedule-mode-strip .status-pill{background:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .work-plan-edit-header label,:root[data-theme=dark] .work-plan-facts label,.app-shell[data-theme=dark] .work-plan-edit-header label,.app-shell[data-theme=dark] .work-plan-facts label{color:#666;text-transform:uppercase;letter-spacing:.08em;font-size:11px}:root[data-theme=dark] .work-plan-edit-header input,:root[data-theme=dark] .work-plan-facts input,:root[data-theme=dark] .work-plan-facts select,.app-shell[data-theme=dark] .work-plan-edit-header input,.app-shell[data-theme=dark] .work-plan-facts input,.app-shell[data-theme=dark] .work-plan-facts select{color:#f5f5f5;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px}:root[data-theme=dark] .work-plan-edit-header input::placeholder,:root[data-theme=dark] .work-plan-facts input::placeholder,.app-shell[data-theme=dark] .work-plan-edit-header input::placeholder,.app-shell[data-theme=dark] .work-plan-facts input::placeholder{color:#444}:root[data-theme=dark] .work-plan-edit-header input:focus,:root[data-theme=dark] .work-plan-facts input:focus,:root[data-theme=dark] .work-plan-facts select:focus,.app-shell[data-theme=dark] .work-plan-edit-header input:focus,.app-shell[data-theme=dark] .work-plan-facts input:focus,.app-shell[data-theme=dark] .work-plan-facts select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a1a1d26}:root[data-theme=dark] .work-plan-facts select option,.app-shell[data-theme=dark] .work-plan-facts select option{color:#f5f5f5;background-color:#141414}.app-shell:not([data-theme=dark]) .project-workspace-hero.surface-card,:root:not([data-theme=dark]) .project-workspace-hero.surface-card{background:#fff;border:1px solid #00000014;box-shadow:0 2px 12px #0000000f}.app-shell:not([data-theme=dark]) .project-workspace-stats .status-pill.tone-neutral,:root:not([data-theme=dark]) .project-workspace-stats .status-pill.tone-neutral{color:#1a1a1a;background:#0000000d}.app-shell:not([data-theme=dark]) .project-workspace-stats .status-pill.tone-info,:root:not([data-theme=dark]) .project-workspace-stats .status-pill.tone-info{color:var(--accent);background:#1a1a1d1a}.app-shell:not([data-theme=dark]) .work-plan-selector.surface-card,:root:not([data-theme=dark]) .work-plan-selector.surface-card{background:#fff;border:1px solid #00000014;border-radius:14px;box-shadow:0 2px 12px #0000000f}.app-shell:not([data-theme=dark]) .work-plan-selector.surface-card:hover,:root:not([data-theme=dark]) .work-plan-selector.surface-card:hover{border-color:var(--accent);box-shadow:0 4px 20px #1a1a1d1a}.app-shell:not([data-theme=dark]) .work-plan-selector .work-plan-meta .status-pill,:root:not([data-theme=dark]) .work-plan-selector .work-plan-meta .status-pill{color:var(--accent);background:#1a1a1d1a}.app-shell:not([data-theme=dark]) .work-plan-mode-switch button,:root:not([data-theme=dark]) .work-plan-mode-switch button{color:#666;background:0 0;border:1px solid #0000001a;border-radius:100px}.app-shell:not([data-theme=dark]) .work-plan-mode-switch button:hover,:root:not([data-theme=dark]) .work-plan-mode-switch button:hover{background:#0000000a}.app-shell:not([data-theme=dark]) .work-plan-mode-switch button.active,:root:not([data-theme=dark]) .work-plan-mode-switch button.active{color:var(--accent);border-color:var(--accent);box-shadow:none;background:#1a1a1d1a}.app-shell:not([data-theme=dark]) .schedule-mode-switcher,:root:not([data-theme=dark]) .schedule-mode-switcher{background:#f0ede8;border:1px solid #00000014;border-radius:100px}.app-shell:not([data-theme=dark]) .schedule-mode-switcher button.active,:root:not([data-theme=dark]) .schedule-mode-switcher button.active{color:#1a1a1a;background:#fff;box-shadow:0 1px 3px #0000001a}.app-shell:not([data-theme=dark]) .schedule-mode-strip .status-pill,:root:not([data-theme=dark]) .schedule-mode-strip .status-pill{background:var(--accent);color:var(--accent-foreground)}.app-shell:not([data-theme=dark]) .work-plan-edit-header label,.app-shell:not([data-theme=dark]) .work-plan-facts label,:root:not([data-theme=dark]) .work-plan-edit-header label,:root:not([data-theme=dark]) .work-plan-facts label{color:#666;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.app-shell:not([data-theme=dark]) .work-plan-edit-header input,.app-shell:not([data-theme=dark]) .work-plan-facts input,.app-shell:not([data-theme=dark]) .work-plan-facts select,:root:not([data-theme=dark]) .work-plan-edit-header input,:root:not([data-theme=dark]) .work-plan-facts input,:root:not([data-theme=dark]) .work-plan-facts select{color:#1a1a1a;background-color:#f8f6f2;border:1px solid #0000001f;border-radius:10px}.app-shell:not([data-theme=dark]) .work-plan-edit-header input:focus,.app-shell:not([data-theme=dark]) .work-plan-facts input:focus,.app-shell:not([data-theme=dark]) .work-plan-facts select:focus,:root:not([data-theme=dark]) .work-plan-edit-header input:focus,:root:not([data-theme=dark]) .work-plan-facts input:focus,:root:not([data-theme=dark]) .work-plan-facts select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a1a1d1a}:root[data-theme=dark] .material-request-card,.app-shell[data-theme=dark] .material-request-card,:root[data-theme=dark] .material-request-count-card,.app-shell[data-theme=dark] .material-request-count-card{box-shadow:none;color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .material-date-group,.app-shell[data-theme=dark] .material-date-group{background:#ffffff08;border:1px solid #ffffff0f}:root[data-theme=dark] .material-request-card.priority-high,.app-shell[data-theme=dark] .material-request-card.priority-high{border-color:var(--warning-soft);background:#a86a121f}:root[data-theme=dark] .material-request-card.priority-critical,.app-shell[data-theme=dark] .material-request-card.priority-critical{border-color:var(--accent);background:#1a1a1d1f}:root[data-theme=dark] .material-request-card:hover,:root[data-theme=dark] .material-request-card.selected,.app-shell[data-theme=dark] .material-request-card:hover,.app-shell[data-theme=dark] .material-request-card.selected{border-color:var(--accent);box-shadow:none;background:#ffffff12}:root[data-theme=dark] .task-command-card,.app-shell[data-theme=dark] .task-command-card,:root[data-theme=dark] .task-summary-card,.app-shell[data-theme=dark] .task-summary-card{box-shadow:none;color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .task-command-card:hover,:root[data-theme=dark] .task-command-card.selected,.app-shell[data-theme=dark] .task-command-card:hover,.app-shell[data-theme=dark] .task-command-card.selected{border-color:var(--accent);background:#ffffff12}:root[data-theme=dark] .team-summary-card,.app-shell[data-theme=dark] .team-summary-card,:root[data-theme=dark] .team-table-wrap,.app-shell[data-theme=dark] .team-table-wrap{box-shadow:none;color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .report-format-card,.app-shell[data-theme=dark] .report-format-card{color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .report-format-card.active,.app-shell[data-theme=dark] .report-format-card.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d26}:root[data-theme=dark] .report-builder-section-head>span,.app-shell[data-theme=dark] .report-builder-section-head>span,:root[data-theme=dark] .report-card-check,.app-shell[data-theme=dark] .report-card-check{color:var(--accent);background:#1a1a1d2e}:root[data-theme=dark] .file-view-toggle,.app-shell[data-theme=dark] .file-view-toggle{background:#ffffff0a;border-color:#ffffff14}:root[data-theme=dark] .project-file-empty-icon,.app-shell[data-theme=dark] .project-file-empty-icon{color:#888;background:#ffffff0d}:root[data-theme=dark] .empty-state,.app-shell[data-theme=dark] .empty-state{box-shadow:none;background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .task-view-switcher,.app-shell[data-theme=dark] .task-view-switcher{background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .task-view-switcher button,.app-shell[data-theme=dark] .task-view-switcher button{color:#888;background:0 0;border:0}:root[data-theme=dark] .task-view-switcher button:hover,.app-shell[data-theme=dark] .task-view-switcher button:hover{color:#f5f5f5;background:#ffffff14}:root[data-theme=dark] .task-view-switcher button.active,.app-shell[data-theme=dark] .task-view-switcher button.active{color:var(--accent);background:#1a1a1d26;border:1px solid #1a1a1d66}:root[data-theme=dark] .task-evidence-box,.app-shell[data-theme=dark] .task-evidence-box,:root[data-theme=dark] .task-review-box,.app-shell[data-theme=dark] .task-review-box,:root[data-theme=dark] .task-comments-box,.app-shell[data-theme=dark] .task-comments-box{background:#ffffff0a;border:1px solid #ffffff14}:root[data-theme=dark] .task-panel-head button:not(.shell-button),.app-shell[data-theme=dark] .task-panel-head button:not(.shell-button),:root[data-theme=dark] .task-evidence-actions button:not(.shell-button),.app-shell[data-theme=dark] .task-evidence-actions button:not(.shell-button),:root[data-theme=dark] .task-evidence-actions label,.app-shell[data-theme=dark] .task-evidence-actions label{color:#f5f5f5;background:#ffffff0d;border:1px solid #ffffff1a}:root[data-theme=dark] .task-panel-head button:not(.shell-button):hover,.app-shell[data-theme=dark] .task-panel-head button:not(.shell-button):hover,:root[data-theme=dark] .task-evidence-actions button:not(.shell-button):hover,.app-shell[data-theme=dark] .task-evidence-actions button:not(.shell-button):hover{border-color:var(--accent);color:var(--accent)}:root[data-theme=dark] .team-action-menu button:not(.shell-button),.app-shell[data-theme=dark] .team-action-menu button:not(.shell-button){color:#f5f5f5;background:0 0;border:0}:root[data-theme=dark] .team-action-menu button:not(.shell-button):hover,.app-shell[data-theme=dark] .team-action-menu button:not(.shell-button):hover{background:#ffffff14}:root[data-theme=dark] .team-action-menu button.danger,.app-shell[data-theme=dark] .team-action-menu button.danger{color:#ff6b6b}:root[data-theme=dark] .team-action-menu button.danger:hover,.app-shell[data-theme=dark] .team-action-menu button.danger:hover{background:#1a1a1d26}:root[data-theme=dark] .report-builder-steps span,.app-shell[data-theme=dark] .report-builder-steps span{color:#888;background:#ffffff14}:root[data-theme=dark] .report-builder-steps span.active,.app-shell[data-theme=dark] .report-builder-steps span.active{color:var(--accent);background:#1a1a1d2e}.work-breakdown-row,.add-work-item-btn,.work-breakdown-row .icon-delete-button{transition:background-color .2s,border-color .2s,color .2s}.app-shell .work-breakdown-row.head,:root .work-breakdown-row.head{background:var(--neutral-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border:0;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.app-shell:not([data-theme=dark]) .work-breakdown-row,:root:not([data-theme=dark]) .work-breakdown-row{border-bottom:1px solid #0000000f}.app-shell:not([data-theme=dark]) .work-breakdown-row:not(.head):hover,:root:not([data-theme=dark]) .work-breakdown-row:not(.head):hover{background:#f8f6f2}.app-shell:not([data-theme=dark]) .work-level-header strong,:root:not([data-theme=dark]) .work-level-header strong{color:#1a1a1a}.app-shell:not([data-theme=dark]) .work-level-header span,:root:not([data-theme=dark]) .work-level-header span{color:#999}.app-shell:not([data-theme=dark]) .work-breakdown-row .boq-volume-cell input,:root:not([data-theme=dark]) .work-breakdown-row .boq-volume-cell input{color:#1a1a1a;background:#f8f6f2;border:1px solid #0000001f}.app-shell:not([data-theme=dark]) .work-breakdown-row .boq-volume-cell input:focus,:root:not([data-theme=dark]) .work-breakdown-row .boq-volume-cell input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a1a1d1a}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-readonly-cell.is-missing,:root:not([data-theme=dark]) .work-breakdown-row .work-readonly-cell.is-missing{color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:2px 8px;font-size:11px;display:inline-block}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range],:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]{appearance:none;accent-color:var(--accent);background:0 0}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:100px;height:4px}:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:100px;height:4px}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:100px;height:4px}:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:100px;height:4px}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 6px #1a1a1d66}:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 6px #1a1a1d66}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #1a1a1d66}:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #1a1a1d66}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=number],:root:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=number]{color:#1a1a1a;background:#f8f6f2;border:1px solid #0000001f}.app-shell:not([data-theme=dark]) .work-breakdown-row input[type=checkbox],:root:not([data-theme=dark]) .work-breakdown-row input[type=checkbox]{accent-color:var(--accent);border:1px solid #0003;border-radius:6px}.app-shell:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger,:root:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger{color:var(--accent)}.app-shell:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger:hover,:root:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger:hover{color:var(--accent);background:#1a1a1d14}.app-shell:not([data-theme=dark]) .work-level-actions .add-work-item-btn,:root:not([data-theme=dark]) .work-level-actions .add-work-item-btn{color:#666;background:#fff;border:1px dashed #00000026;border-radius:100px}.app-shell:not([data-theme=dark]) .work-level-actions .add-work-item-btn:hover,:root:not([data-theme=dark]) .work-level-actions .add-work-item-btn:hover{border-color:var(--accent);color:var(--accent)}:root[data-theme=dark] .work-breakdown-row.head,.app-shell[data-theme=dark] .work-breakdown-row.head{color:#555;text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;border-bottom:1px solid #ffffff0f;font-size:11px}:root[data-theme=dark] .work-breakdown-row,.app-shell[data-theme=dark] .work-breakdown-row{background:0 0;border-color:#ffffff0a;border-bottom-style:solid;border-bottom-width:1px;min-height:52px}:root[data-theme=dark] .work-breakdown-row:not(.head):hover,.app-shell[data-theme=dark] .work-breakdown-row:not(.head):hover{background:#ffffff08}:root[data-theme=dark] .work-breakdown-row.sub,.app-shell[data-theme=dark] .work-breakdown-row.sub{background:0 0}:root[data-theme=dark] .work-level-header strong,.app-shell[data-theme=dark] .work-level-header strong{color:#f5f5f5;font-weight:700}:root[data-theme=dark] .work-level-header span,.app-shell[data-theme=dark] .work-level-header span{color:#555}:root[data-theme=dark] .work-breakdown-row .boq-volume-cell input,.app-shell[data-theme=dark] .work-breakdown-row .boq-volume-cell input{color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px}:root[data-theme=dark] .work-breakdown-row .boq-volume-cell input:focus,.app-shell[data-theme=dark] .work-breakdown-row .boq-volume-cell input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1a1a1d26}:root[data-theme=dark] .work-breakdown-row .work-value-cell,.app-shell[data-theme=dark] .work-breakdown-row .work-value-cell,:root[data-theme=dark] .work-breakdown-row .work-readonly-cell:not(.is-missing),.app-shell[data-theme=dark] .work-breakdown-row .work-readonly-cell:not(.is-missing){color:#f5f5f5}:root[data-theme=dark] .work-breakdown-row .work-readonly-cell:not(.is-missing),.app-shell[data-theme=dark] .work-breakdown-row .work-readonly-cell:not(.is-missing){background:0 0}:root[data-theme=dark] .work-breakdown-row .work-readonly-cell.is-missing,.app-shell[data-theme=dark] .work-breakdown-row .work-readonly-cell.is-missing{color:#ffb800;background:#ffc8001a;border:1px solid #ffb80033;border-radius:6px;padding:2px 8px;font-size:11px;display:inline-block}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range],.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]{appearance:none;accent-color:var(--accent);background:0 0}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent), #ff2d7a);border-radius:100px;height:4px}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent), #ff2d7a);border-radius:100px;height:4px}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--accent), #ff2d7a);border-radius:100px;height:4px}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--accent), #ff2d7a);border-radius:100px;height:4px}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 8px #1a1a1d66}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 8px #1a1a1d66}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #1a1a1d66}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #1a1a1d66}:root[data-theme=dark] .work-breakdown-row .work-progress-input input[type=number],.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=number]{color:#f5f5f5;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:56px}:root[data-theme=dark] .work-breakdown-row input[type=checkbox],.app-shell[data-theme=dark] .work-breakdown-row input[type=checkbox]{accent-color:var(--accent);border:1px solid #fff3;border-radius:6px}:root[data-theme=dark] .work-breakdown-row .icon-delete-button.danger,.app-shell[data-theme=dark] .work-breakdown-row .icon-delete-button.danger{color:var(--accent)}:root[data-theme=dark] .work-breakdown-row .icon-delete-button.danger:hover,.app-shell[data-theme=dark] .work-breakdown-row .icon-delete-button.danger:hover{color:var(--accent);background:#1a1a1d1a}:root[data-theme=dark] .work-level-actions .add-work-item-btn,.app-shell[data-theme=dark] .work-level-actions .add-work-item-btn{color:#888;background:#ffffff0a;border:1px dashed #ffffff26;border-radius:100px}:root[data-theme=dark] .work-level-actions .add-work-item-btn:hover,.app-shell[data-theme=dark] .work-level-actions .add-work-item-btn:hover{border-color:var(--accent);color:var(--accent)}.gantt-task-bar,.schedule-date-cell input,.gantt-day-row span{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.app-shell:not([data-theme=dark]) .work-breakdown-table.schedule-mode,:root:not([data-theme=dark]) .work-breakdown-table.schedule-mode{background:#fff;border-right:1px solid #0000000f}.app-shell:not([data-theme=dark]) .work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule,:root:not([data-theme=dark]) .work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule{color:#999;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #0000000f;font-size:11px}.app-shell:not([data-theme=dark]) .schedule-date-cell input,:root:not([data-theme=dark]) .schedule-date-cell input{color:#1a1a1a;background:#f8f6f2;border:1px solid #0000001f;border-radius:8px}.app-shell:not([data-theme=dark]) .schedule-date-cell input:focus,:root:not([data-theme=dark]) .schedule-date-cell input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a1a1d1a}.app-shell:not([data-theme=dark]) .work-breakdown-table.schedule-mode .duration-edit-cell,:root:not([data-theme=dark]) .work-breakdown-table.schedule-mode .duration-edit-cell{color:#1a1a1a;background:#f0ede8;border-radius:8px}.app-shell:not([data-theme=dark]) .work-breakdown-table.schedule-mode .duration-edit-cell span,:root:not([data-theme=dark]) .work-breakdown-table.schedule-mode .duration-edit-cell span{color:#999}.app-shell:not([data-theme=dark]) .gantt-month-row b,:root:not([data-theme=dark]) .gantt-month-row b{color:#666;border-bottom:1px solid #0000000f}.app-shell:not([data-theme=dark]) .gantt-day-row span,:root:not([data-theme=dark]) .gantt-day-row span{border-right:1px solid #0000000f}.app-shell:not([data-theme=dark]) .gantt-day-row span.weekend,:root:not([data-theme=dark]) .gantt-day-row span.weekend{background:#00000005}.app-shell:not([data-theme=dark]) .gantt-day-row strong,:root:not([data-theme=dark]) .gantt-day-row strong{color:#999}.app-shell:not([data-theme=dark]) .gantt-day-row small,:root:not([data-theme=dark]) .gantt-day-row small{color:#bbb}.app-shell:not([data-theme=dark]) .work-gantt-chart,:root:not([data-theme=dark]) .work-gantt-chart{background-color:#fff;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--gantt-day-width,56px) - 1px), #0000000f calc(var(--gantt-day-width,56px) - 1px), #0000000f var(--gantt-day-width,56px));border:1px solid #00000014}.app-shell:not([data-theme=dark]) .gantt-grid-line,:root:not([data-theme=dark]) .gantt-grid-line{border-left:1px solid #0000000f}.app-shell:not([data-theme=dark]) .gantt-task-bar,.app-shell:not([data-theme=dark]) .work-schedule-board .gantt-task-bar,.app-shell:not([data-theme=dark]) .work-schedule-board .gantt-task-bar.sub,:root:not([data-theme=dark]) .gantt-task-bar,:root:not([data-theme=dark]) .work-schedule-board .gantt-task-bar,:root:not([data-theme=dark]) .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:4px;height:24px;box-shadow:0 2px 8px #1a1a1d33}.app-shell:not([data-theme=dark]) .work-schedule-board .gantt-task-bar.sub,:root:not([data-theme=dark]) .work-schedule-board .gantt-task-bar.sub{height:18px}.app-shell:not([data-theme=dark]) .gantt-today-line,:root:not([data-theme=dark]) .gantt-today-line{background:var(--accent);width:2px;box-shadow:0 0 0 3px #1a1a1d1f}.app-shell:not([data-theme=dark]) .gantt-today-line:before,:root:not([data-theme=dark]) .gantt-today-line:before{content:"TODAY";background:var(--accent);color:var(--accent-foreground);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:800;line-height:1.4;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.app-shell:not([data-theme=dark]) .gantt-scroll-window,:root:not([data-theme=dark]) .gantt-scroll-window{scrollbar-color:#00000026 #0000000a}.app-shell:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-track{background:#0000000a}:root:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-track{background:#0000000a}.app-shell:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-thumb{background:#00000026}:root:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-thumb{background:#00000026}.app-shell:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-thumb:hover{background:#1a1a1d66}:root:not([data-theme=dark]) .gantt-scroll-window::-webkit-scrollbar-thumb:hover{background:#1a1a1d66}:root[data-theme=dark] .work-breakdown-table.schedule-mode,.app-shell[data-theme=dark] .work-breakdown-table.schedule-mode{background:#ffffff05;border-right:1px solid #ffffff0f}:root[data-theme=dark] .work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule,.app-shell[data-theme=dark] .work-breakdown-table.schedule-mode .work-breakdown-row.head.schedule{color:#555;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #ffffff0f;font-size:11px}:root[data-theme=dark] .schedule-date-cell input,.app-shell[data-theme=dark] .schedule-date-cell input{color:#f5f5f5;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px}:root[data-theme=dark] .schedule-date-cell input:focus,.app-shell[data-theme=dark] .schedule-date-cell input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a1a1d26}:root[data-theme=dark] .work-breakdown-table.schedule-mode .duration-edit-cell,.app-shell[data-theme=dark] .work-breakdown-table.schedule-mode .duration-edit-cell{color:#f5f5f5;background:#ffffff0f;border-radius:8px}:root[data-theme=dark] .work-breakdown-table.schedule-mode .duration-edit-cell span,.app-shell[data-theme=dark] .work-breakdown-table.schedule-mode .duration-edit-cell span{color:#888}:root[data-theme=dark] .gantt-month-row b,.app-shell[data-theme=dark] .gantt-month-row b{color:#888;background:0 0;border-bottom:1px solid #ffffff0f}:root[data-theme=dark] .gantt-day-row span,.app-shell[data-theme=dark] .gantt-day-row span{background:0 0;border-right:1px solid #ffffff0a}:root[data-theme=dark] .gantt-day-row span:nth-child(2n),.app-shell[data-theme=dark] .gantt-day-row span:nth-child(2n){background:#ffffff03}:root[data-theme=dark] .gantt-day-row span.weekend,.app-shell[data-theme=dark] .gantt-day-row span.weekend{background:#ffffff05}:root[data-theme=dark] .gantt-day-row strong,.app-shell[data-theme=dark] .gantt-day-row strong{color:#555;font-size:12px}:root[data-theme=dark] .gantt-day-row small,.app-shell[data-theme=dark] .gantt-day-row small{color:#444;font-size:10px}:root[data-theme=dark] .work-gantt-chart,.app-shell[data-theme=dark] .work-gantt-chart{background-color:#ffffff03;background-image:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--gantt-day-width,56px) - 1px), #ffffff0a calc(var(--gantt-day-width,56px) - 1px), #ffffff0a var(--gantt-day-width,56px));border:1px solid #ffffff0f}:root[data-theme=dark] .gantt-grid-line,.app-shell[data-theme=dark] .gantt-grid-line{border-left:1px solid #ffffff0a}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-gantt-row .work-gantt-chart,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-gantt-row .work-gantt-chart{background-color:#ffffff08}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-gantt-row.child .work-gantt-chart,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-gantt-row.child .work-gantt-chart{background-color:#ffffff05}:root[data-theme=dark] .gantt-task-bar,:root[data-theme=dark] .work-schedule-board .gantt-task-bar,:root[data-theme=dark] .work-schedule-board .gantt-task-bar.sub,.app-shell[data-theme=dark] .gantt-task-bar,.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar,.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:4px;height:24px;box-shadow:0 0 8px #1a1a1d4d}:root[data-theme=dark] .work-schedule-board .gantt-task-bar.sub,.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(90deg,#1a1a1dd9,#ff6b6bd9);height:18px}:root[data-theme=dark] .gantt-today-line,.app-shell[data-theme=dark] .gantt-today-line{background:var(--accent);width:2px;box-shadow:0 0 0 3px #1a1a1d1f}:root[data-theme=dark] .gantt-today-line:before,.app-shell[data-theme=dark] .gantt-today-line:before{content:"TODAY";background:var(--accent);color:var(--accent-foreground);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:800;line-height:1.4;position:absolute;top:-2px;left:50%;transform:translate(-50%)}:root[data-theme=dark] .gantt-scroll-window,.app-shell[data-theme=dark] .gantt-scroll-window{scrollbar-color:#ffffff1a #ffffff0a}:root[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-track{background:#ffffff0a}.app-shell[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-track{background:#ffffff0a}:root[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-thumb{background:#ffffff1a}.app-shell[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-thumb{background:#ffffff1a}:root[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-thumb:hover{background:#1a1a1d66}.app-shell[data-theme=dark] .gantt-scroll-window::-webkit-scrollbar-thumb:hover{background:#1a1a1d66}.viewer-stage-3d{background:radial-gradient(circle at 82% 86%,#1a1a1d14,#0000 46%),#0a0a0a}.viewer-stage-3d.bg-dark{background:radial-gradient(circle at 82% 86%,#1a1a1d1a,#0000 46%),#0a0a0a}.viewer-stage-3d.bg-white{background:#fff}:root[data-theme=dark] .viewer-stage-3d,.app-shell[data-theme=dark] .viewer-stage-3d{box-shadow:none;background:radial-gradient(circle at 82% 86%,#1a1a1d14,#0000 46%),#0a0a0a;border-color:#ffffff0f}:root[data-theme=dark] .viewer-stage-3d.bg-dark,.app-shell[data-theme=dark] .viewer-stage-3d.bg-dark{background:radial-gradient(circle at 82% 86%,#1a1a1d1a,#0000 46%),#0a0a0a}:root[data-theme=dark] .viewer-stage-3d.bg-white,.app-shell[data-theme=dark] .viewer-stage-3d.bg-white{background:#fff}.drawing-shell.viewer-page-open{background:#0a0a0a}.model-viewer-shell.fullscreen .viewer-head-copy{box-shadow:none;-webkit-backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:100px}.model-title-line strong{color:#f5f5f5;font-weight:700}.model-title-line span,.model-viewer-shell.fullscreen .model-title-line span{color:var(--accent);letter-spacing:.06em;background:#1a1a1d33;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600}.model-back-button{-webkit-backdrop-filter:blur(12px);box-shadow:none;color:#f5f5f5;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px}.model-back-button:hover{border-color:var(--accent);color:var(--accent);background:#1a1a1d26}.model-viewer-shell.fullscreen .model-viewer-head .model-back-button{border-radius:12px}.model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill,:root[data-theme=dark] .model-viewer-shell .viewer-status-strip .status-pill,.app-shell[data-theme=dark] .model-viewer-shell .viewer-status-strip .status-pill{color:var(--accent);-webkit-backdrop-filter:blur(12px);box-shadow:none;background:#1a1a1d2e;border:1px solid #1a1a1d47;border-radius:100px}.model-floating-tools button{box-shadow:none;color:#888;-webkit-backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px}.model-floating-tools button:before{content:none}.model-floating-tools button:hover{color:#f5f5f5;box-shadow:none;background:#ffffff1a;border-color:#ffffff26}.model-floating-tools button.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d26;box-shadow:0 0 12px #1a1a1d33}.model-tool-divider{box-shadow:none;background:#ffffff24}.viewcube-home,.viewcube-fit{color:#888;box-shadow:none;-webkit-backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff14}.viewcube-face{color:#888;box-shadow:none;background:#ffffff0f;border:1px solid #ffffff1f}.viewcube-face-label{text-shadow:none}.viewcube-home:hover,.viewcube-fit:hover,.viewcube-face:hover,.viewcube-face.active,.viewcube-face.hover-region{border-color:var(--accent);color:var(--accent);background:#1a1a1d33}.viewcube-face:hover,.viewcube-face.hover-region:hover,.viewcube-face.hover-region{box-shadow:0 0 0 2px #1a1a1d2e}.model-loading-overlay,.model-unsupported-state{-webkit-backdrop-filter:blur(16px);box-shadow:none;background:#0a0a0ae0;border:1px solid #ffffff0f}.model-loading-overlay strong,.model-unsupported-state strong{color:#f5f5f5}.model-loading-overlay .model-state-copy p,.model-loading-overlay .model-state-copy small,.model-unsupported-state p,.model-unsupported-state small{color:#888}.viewer-loading-overlay{background:#0a0a0ae6}.viewer-loading-overlay strong{color:#888}.viewer-loading-skeleton span{background:linear-gradient(90deg,#1a1a1d1f 25%,#1a1a1d73 45%,#1a1a1d1f 65%) 0 0/200% 100%}.issue-pin-tooltip,:root[data-theme=dark] .issue-pin-tooltip,.app-shell[data-theme=dark] .issue-pin-tooltip{color:#f5f5f5;background:#141414f2;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 24px 62px #00000080}.issue-pin-tooltip:after{background:#141414f2;border-bottom:1px solid #ffffff1a;border-right:1px solid #ffffff1a}.issue-pin-tooltip small{color:#888}.issue-pin-tooltip strong{color:#f5f5f5}.issue-pin-tooltip span,.issue-pin-tooltip em{color:#888}.issue-pin-draft .issue-pin-dot,.issue-pin.selected .issue-pin-dot{position:relative}.issue-pin-draft .issue-pin-dot:after,.issue-pin.selected .issue-pin-dot:after{content:"";box-sizing:border-box;border:2px solid var(--issue-pin-color,var(--accent));pointer-events:none;border-radius:999px;width:22px;height:22px;margin:-11px 0 0 -11px;animation:1.6s ease-out infinite enflow-pin-pulse;position:absolute;inset:50%}@keyframes enflow-pin-pulse{0%{opacity:.7;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.issue-pin-draft .issue-pin-dot:after,.issue-pin.selected .issue-pin-dot:after{opacity:0;animation:none}}.model-share-panel,.model-scenes-panel,.model-layer-sheet,.model-object-browser-floating{color:#f5f5f5;-webkit-backdrop-filter:blur(16px);background:#121212f2;border-color:#ffffff14;box-shadow:0 18px 46px #00000080}.model-share-panel input,.model-share-panel select,.model-share-panel textarea,.model-scenes-panel input,.model-scenes-panel select,.model-scenes-panel textarea,.model-layer-sheet input,.model-layer-sheet select,.model-layer-sheet textarea,.model-object-browser-floating input,.model-object-browser-floating select{color:#f5f5f5;background-color:#ffffff0d;border-color:#ffffff1a}.model-share-panel label,.model-scenes-panel label,.model-layer-sheet label{color:#888}.shell-button,.shell-button-primary,.quick-add,.fab,.status-pill{transition-property:transform,box-shadow}:root:not([data-theme=dark]) .viewer-stage-3d,.app-shell:not([data-theme=dark]) .viewer-stage-3d,:root:not([data-theme=dark]) .viewer-stage-3d.bg-dark,.app-shell:not([data-theme=dark]) .viewer-stage-3d.bg-dark{background:radial-gradient(circle at 82% 86%,#1a1a1d0f,#0000 46%),#f1f0ed;border-color:#1412101a}:root:not([data-theme=dark]) .viewer-stage-3d.bg-white,.app-shell:not([data-theme=dark]) .viewer-stage-3d.bg-white{background:#fff}:root:not([data-theme=dark]) .drawing-shell.viewer-page-open,.app-shell:not([data-theme=dark]) .drawing-shell.viewer-page-open{background:#f1f0ed}:root:not([data-theme=dark]) .model-viewer-shell.fullscreen .viewer-head-copy,.app-shell:not([data-theme=dark]) .model-viewer-shell.fullscreen .viewer-head-copy{background:#ffffffb8;border:1px solid #1412101a;box-shadow:0 12px 26px #1412100f}:root:not([data-theme=dark]) .model-title-line strong,.app-shell:not([data-theme=dark]) .model-title-line strong{color:#26241f}:root:not([data-theme=dark]) .model-title-line span,.app-shell:not([data-theme=dark]) .model-title-line span,:root:not([data-theme=dark]) .model-viewer-shell.fullscreen .model-title-line span,.app-shell:not([data-theme=dark]) .model-viewer-shell.fullscreen .model-title-line span{color:var(--accent);background:#1a1a1d24}:root:not([data-theme=dark]) .model-back-button,.app-shell:not([data-theme=dark]) .model-back-button{color:#26241f;background:#ffffffb8;border:1px solid #1412101a}:root:not([data-theme=dark]) .model-back-button:hover,.app-shell:not([data-theme=dark]) .model-back-button:hover{border-color:var(--accent);color:var(--accent);background:#1a1a1d1a}:root:not([data-theme=dark]) .model-viewer-shell .viewer-status-strip .status-pill,.app-shell:not([data-theme=dark]) .model-viewer-shell .viewer-status-strip .status-pill{color:var(--accent);background:#1a1a1d1f;border:1px solid #1a1a1d3d}:root:not([data-theme=dark]) .model-floating-tools button,.app-shell:not([data-theme=dark]) .model-floating-tools button{color:#6f6b64;background:#ffffffb8;border:1px solid #14121014}:root:not([data-theme=dark]) .model-floating-tools button:hover,.app-shell:not([data-theme=dark]) .model-floating-tools button:hover{color:#26241f;background:#ffffffeb;border-color:#14121024}:root:not([data-theme=dark]) .model-floating-tools button.active,.app-shell:not([data-theme=dark]) .model-floating-tools button.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d1f;box-shadow:0 0 12px #1a1a1d2e}:root:not([data-theme=dark]) .model-tool-divider,.app-shell:not([data-theme=dark]) .model-tool-divider{background:#14121029}:root:not([data-theme=dark]) .viewcube-home,:root:not([data-theme=dark]) .viewcube-fit,.app-shell:not([data-theme=dark]) .viewcube-home,.app-shell:not([data-theme=dark]) .viewcube-fit{color:#6f6b64;background:#ffffffb8;border:1px solid #1412101a}:root:not([data-theme=dark]) .viewcube-face,.app-shell:not([data-theme=dark]) .viewcube-face{color:#6f6b64;background:#ffffffb8;border:1px solid #1412101f}:root:not([data-theme=dark]) .viewcube-home:hover,:root:not([data-theme=dark]) .viewcube-fit:hover,:root:not([data-theme=dark]) .viewcube-face:hover,:root:not([data-theme=dark]) .viewcube-face.active,:root:not([data-theme=dark]) .viewcube-face.hover-region,.app-shell:not([data-theme=dark]) .viewcube-home:hover,.app-shell:not([data-theme=dark]) .viewcube-fit:hover,.app-shell:not([data-theme=dark]) .viewcube-face:hover,.app-shell:not([data-theme=dark]) .viewcube-face.active,.app-shell:not([data-theme=dark]) .viewcube-face.hover-region{border-color:var(--accent);color:var(--accent);background:#1a1a1d29}:root:not([data-theme=dark]) .model-loading-overlay,:root:not([data-theme=dark]) .model-unsupported-state,.app-shell:not([data-theme=dark]) .model-loading-overlay,.app-shell:not([data-theme=dark]) .model-unsupported-state{background:#ffffffeb;border:1px solid #14121014}:root:not([data-theme=dark]) .model-loading-overlay strong,:root:not([data-theme=dark]) .model-unsupported-state strong,.app-shell:not([data-theme=dark]) .model-loading-overlay strong,.app-shell:not([data-theme=dark]) .model-unsupported-state strong{color:#26241f}:root:not([data-theme=dark]) .model-loading-overlay .model-state-copy p,:root:not([data-theme=dark]) .model-loading-overlay .model-state-copy small,:root:not([data-theme=dark]) .model-unsupported-state p,:root:not([data-theme=dark]) .model-unsupported-state small,.app-shell:not([data-theme=dark]) .model-loading-overlay .model-state-copy p,.app-shell:not([data-theme=dark]) .model-loading-overlay .model-state-copy small,.app-shell:not([data-theme=dark]) .model-unsupported-state p,.app-shell:not([data-theme=dark]) .model-unsupported-state small{color:#6f6b64}:root:not([data-theme=dark]) .viewer-loading-overlay,.app-shell:not([data-theme=dark]) .viewer-loading-overlay{background:#f5f4f1eb}:root:not([data-theme=dark]) .viewer-loading-overlay strong,.app-shell:not([data-theme=dark]) .viewer-loading-overlay strong{color:#6f6b64}:root:not([data-theme=dark]) .viewer-loading-skeleton span,.app-shell:not([data-theme=dark]) .viewer-loading-skeleton span{background:linear-gradient(90deg,#1a1a1d1a 25%,#1a1a1d57 45%,#1a1a1d1a 65%) 0 0/200% 100%}:root:not([data-theme=dark]) .issue-pin-tooltip,.app-shell:not([data-theme=dark]) .issue-pin-tooltip{color:#26241f;background:#fffffff7;border:1px solid #1412101a;box-shadow:0 24px 62px #1412102e}:root:not([data-theme=dark]) .issue-pin-tooltip:after,.app-shell:not([data-theme=dark]) .issue-pin-tooltip:after{background:#fffffff7;border-bottom:1px solid #1412101a;border-right:1px solid #1412101a}:root:not([data-theme=dark]) .issue-pin-tooltip small,:root:not([data-theme=dark]) .issue-pin-tooltip span,:root:not([data-theme=dark]) .issue-pin-tooltip em,.app-shell:not([data-theme=dark]) .issue-pin-tooltip small,.app-shell:not([data-theme=dark]) .issue-pin-tooltip span,.app-shell:not([data-theme=dark]) .issue-pin-tooltip em{color:#6f6b64}:root:not([data-theme=dark]) .issue-pin-tooltip strong,.app-shell:not([data-theme=dark]) .issue-pin-tooltip strong{color:#26241f}:root:not([data-theme=dark]) .model-share-panel,:root:not([data-theme=dark]) .model-scenes-panel,:root:not([data-theme=dark]) .model-layer-sheet,:root:not([data-theme=dark]) .model-object-browser-floating,.app-shell:not([data-theme=dark]) .model-share-panel,.app-shell:not([data-theme=dark]) .model-scenes-panel,.app-shell:not([data-theme=dark]) .model-layer-sheet,.app-shell:not([data-theme=dark]) .model-object-browser-floating{color:#26241f;background:#fffffff5;border-color:#1412101a;box-shadow:0 18px 46px #14121024}:root:not([data-theme=dark]) .model-share-panel input,:root:not([data-theme=dark]) .model-share-panel select,:root:not([data-theme=dark]) .model-share-panel textarea,:root:not([data-theme=dark]) .model-scenes-panel input,:root:not([data-theme=dark]) .model-scenes-panel select,:root:not([data-theme=dark]) .model-scenes-panel textarea,:root:not([data-theme=dark]) .model-layer-sheet input,:root:not([data-theme=dark]) .model-layer-sheet select,:root:not([data-theme=dark]) .model-layer-sheet textarea,:root:not([data-theme=dark]) .model-object-browser-floating input,:root:not([data-theme=dark]) .model-object-browser-floating select,.app-shell:not([data-theme=dark]) .model-share-panel input,.app-shell:not([data-theme=dark]) .model-share-panel select,.app-shell:not([data-theme=dark]) .model-share-panel textarea,.app-shell:not([data-theme=dark]) .model-scenes-panel input,.app-shell:not([data-theme=dark]) .model-scenes-panel select,.app-shell:not([data-theme=dark]) .model-scenes-panel textarea,.app-shell:not([data-theme=dark]) .model-layer-sheet input,.app-shell:not([data-theme=dark]) .model-layer-sheet select,.app-shell:not([data-theme=dark]) .model-layer-sheet textarea,.app-shell:not([data-theme=dark]) .model-object-browser-floating input,.app-shell:not([data-theme=dark]) .model-object-browser-floating select{color:#26241f;background-color:#fff;border-color:#1412101f}:root:not([data-theme=dark]) .model-share-panel label,:root:not([data-theme=dark]) .model-scenes-panel label,:root:not([data-theme=dark]) .model-layer-sheet label,.app-shell:not([data-theme=dark]) .model-share-panel label,.app-shell:not([data-theme=dark]) .model-scenes-panel label,.app-shell:not([data-theme=dark]) .model-layer-sheet label{color:#6f6b64}.app-shell:not([data-theme=dark]) .create-custom-template-button,:root:not([data-theme=dark]) .create-custom-template-button{border-color:var(--line);background:var(--ink);color:#fff}.app-shell:not([data-theme=dark]) .create-custom-template-button:hover,:root:not([data-theme=dark]) .create-custom-template-button:hover{color:#fff;background:#000}:root[data-theme=dark] .create-custom-template-button,.app-shell[data-theme=dark] .create-custom-template-button{border-color:var(--line);background:var(--text);color:var(--bg)}:root[data-theme=dark] .create-custom-template-button:hover,.app-shell[data-theme=dark] .create-custom-template-button:hover{color:var(--bg);background:#fff}.app-shell:not([data-theme=dark]) .procurement-status-filters button small,:root:not([data-theme=dark]) .procurement-status-filters button small{background:var(--neutral-soft);color:var(--muted)}:root[data-theme=dark] .procurement-status-filters button small,.app-shell[data-theme=dark] .procurement-status-filters button small{color:var(--muted);background:#ffffff14}.app-shell:not([data-theme=dark]) .procurement-status-filters button.active,:root:not([data-theme=dark]) .procurement-status-filters button.active{border-color:color-mix(in srgb, var(--accent) 34%, transparent);background:var(--accent-soft);color:var(--accent)}.app-shell:not([data-theme=dark]) .procurement-status-filters button.active small,:root:not([data-theme=dark]) .procurement-status-filters button.active small{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}:root[data-theme=dark] .procurement-status-filters button.active,.app-shell[data-theme=dark] .procurement-status-filters button.active{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:var(--accent-soft);color:var(--accent)}:root[data-theme=dark] .procurement-status-filters button.active small,.app-shell[data-theme=dark] .procurement-status-filters button.active small{background:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent)}.app-shell:not([data-theme=dark]) .schedule-mode-switcher button.active,:root:not([data-theme=dark]) .schedule-mode-switcher button.active{color:var(--ink)}:root[data-theme=dark] .schedule-mode-switcher button.active,.app-shell[data-theme=dark] .schedule-mode-switcher button.active{color:var(--text)}.app-shell:not([data-theme=dark]) .drawing-upload-modal,:root:not([data-theme=dark]) .drawing-upload-modal{border-color:var(--line);color:var(--text);background:#fff;box-shadow:0 30px 80px #16161938}:root[data-theme=dark] .drawing-upload-modal,.app-shell[data-theme=dark] .drawing-upload-modal{border-color:var(--line);color:var(--text);background:#141414;box-shadow:0 30px 80px #0009}.app-shell:not([data-theme=dark]) .drawing-back-button:hover,:root:not([data-theme=dark]) .drawing-back-button:hover{background:var(--ink);color:#fff;border-color:#1414172e;box-shadow:0 14px 30px #14141729}:root[data-theme=dark] .work-plan-add-card strong,.app-shell[data-theme=dark] .work-plan-add-card strong{background:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .work-plan-add-card span,.app-shell[data-theme=dark] .work-plan-add-card span{color:var(--text)}:root[data-theme=dark] .work-plan-add-card,.app-shell[data-theme=dark] .work-plan-add-card{border-color:var(--line);background:var(--neutral-soft)}.app-shell:not([data-theme=dark]) .work-plan-add-card,:root:not([data-theme=dark]) .work-plan-add-card{border-color:var(--accent);background:var(--neutral-soft)}:root[data-theme=dark] .breakdown-toggle,.app-shell[data-theme=dark] .breakdown-toggle{border-color:var(--line);background:var(--neutral-soft);color:var(--text)}:root[data-theme=dark] .breakdown-toggle:hover,.app-shell[data-theme=dark] .breakdown-toggle:hover{border-color:var(--accent);color:var(--ink);background:#1a1a1d29}.app-shell:not([data-theme=dark]) .breakdown-toggle,:root:not([data-theme=dark]) .breakdown-toggle{border-color:var(--line);background:var(--surface);color:var(--accent)}.app-shell:not([data-theme=dark]) .breakdown-toggle:hover,:root:not([data-theme=dark]) .breakdown-toggle:hover{border-color:var(--accent);background:var(--neutral-soft)}:root[data-theme=dark] .work-value-cell,.app-shell[data-theme=dark] .work-value-cell{color:var(--text);background:0 0}:root[data-theme=dark] .work-value-cell.rollup,.app-shell[data-theme=dark] .work-value-cell.rollup{background:var(--neutral-soft);color:var(--text)}.app-shell:not([data-theme=dark]) .work-value-cell.rollup,:root:not([data-theme=dark]) .work-value-cell.rollup{color:var(--accent);background:#1a1a1d14}:root[data-theme=dark] .schedule-toolbar-group,:root[data-theme=dark] .baseline-controls.schedule-toolbar-group,.app-shell[data-theme=dark] .schedule-toolbar-group,.app-shell[data-theme=dark] .baseline-controls.schedule-toolbar-group,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-level-row,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-level-row{border-color:var(--line);background:var(--surface)}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{background:#ffffff08}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child{background:#ffffff05}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-wbs-cell.summary,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-wbs-cell.summary{border-color:var(--line);color:var(--text);background:#ffffff14}:root[data-theme=dark] .schedule-progress-cell,:root[data-theme=dark] .schedule-status-cell,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-progress-cell,.app-shell[data-theme=dark] .schedule-progress-cell,.app-shell[data-theme=dark] .schedule-status-cell,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-progress-cell{border-color:var(--line);background:var(--surface);color:var(--text)}:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .gantt-date-header,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .gantt-date-header{background:#202124}:root[data-theme=dark] .gantt-day-row strong,.app-shell[data-theme=dark] .gantt-day-row strong{color:#9a9a9a}:root[data-theme=dark] .gantt-day-row small,.app-shell[data-theme=dark] .gantt-day-row small{color:#828282}:root[data-theme=dark] .advanced-schedule-row>*,.app-shell[data-theme=dark] .advanced-schedule-row>*{border-color:var(--line);background:var(--surface);color:var(--text)}:root[data-theme=dark] .lite-work-item-row>*,.app-shell[data-theme=dark] .lite-work-item-row>*{color:var(--text);background:#ffffff08}:root[data-theme=dark] .advanced-schedule-row.lite-level-summary-row>*,:root[data-theme=dark] .lite-wbs-table .lite-level-summary-row>*,.app-shell[data-theme=dark] .advanced-schedule-row.lite-level-summary-row>*,.app-shell[data-theme=dark] .lite-wbs-table .lite-level-summary-row>*{background:var(--neutral-soft);color:var(--text)}:root[data-theme=dark] .lite-collapse-toggle,.app-shell[data-theme=dark] .lite-collapse-toggle{border-color:var(--line);background:var(--neutral-soft);color:var(--text)}:root[data-theme=dark] .lite-collapse-toggle:hover,.app-shell[data-theme=dark] .lite-collapse-toggle:hover{border-color:var(--accent);background:#1a1a1d29}.app-shell:not([data-theme=dark]) .advanced-schedule-row.lite-level-summary-row>*,.app-shell:not([data-theme=dark]) .lite-wbs-table .lite-level-summary-row>*,:root:not([data-theme=dark]) .advanced-schedule-row.lite-level-summary-row>*,:root:not([data-theme=dark]) .lite-wbs-table .lite-level-summary-row>*{background:var(--neutral-soft)}.lite-schedule-panel{gap:14px}.lite-schedule-panel .eyebrow{color:var(--accent)}.lite-schedule-panel .advanced-schedule-cards{gap:9px}.lite-schedule-panel .advanced-schedule-cards span{border-radius:14px;min-height:64px;padding:12px 14px;transition:transform .2s cubic-bezier(.2,.78,.2,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.lite-schedule-panel .advanced-schedule-cards span:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 8px 22px #0000002e}.lite-schedule-panel .advanced-schedule-cards strong{letter-spacing:-.01em;font-size:1.2rem}.lite-schedule-panel .advanced-schedule-cards span:first-child{border-color:var(--accent-soft);background:radial-gradient(130% 150% at 0% 0%, var(--accent-soft), transparent 55%), var(--neutral-soft)}.lite-schedule-panel .advanced-schedule-cards span:first-child:after{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;inset:8px auto 8px 0}.lite-schedule-panel .advanced-schedule-cards span:first-child strong{color:var(--accent)}.lite-wbs-table .lite-level-summary-row>*{min-height:40px;font-weight:700}.lite-wbs-table .lite-level-title{font-weight:800}.lite-wbs-table .lite-work-item-row>*{transition:background .16s,border-color .16s}.lite-wbs-table .lite-work-item-row>:hover{border-color:var(--line-strong);background:var(--surface-soft)}.lite-wbs-table .lite-progress{font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-weight:800;display:flex}.lite-wbs-table .lite-progress:before{content:"";background-color:var(--line-strong);background-image:linear-gradient(90deg, var(--accent), #ff8a7a);background-repeat:no-repeat;background-size:calc(var(--pct,0) * 1%) 100%;border-radius:999px;flex:auto;min-width:38px;height:6px}.lite-wbs-table .lite-progress.is-complete:before{background-image:linear-gradient(90deg,#2fbf71,#54e08c)}.lite-wbs-table .lite-progress>span{text-align:right;white-space:nowrap;flex:none;min-width:38px}.app-shell[data-theme] .main-shell>.page-header .page-header-actions,.app-shell[data-theme] .main-shell>.ui-page-header .page-header-actions{display:none}.app-shell[data-theme] .reports-workspace-grid{align-items:start;gap:20px}.app-shell[data-theme] .report-action-bar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.app-shell[data-theme] .report-action-bar .report-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.critical-path-shell{--cp-surface:#fff;--cp-ink:#14120f;--cp-muted:#6f6b64;--cp-line:#1412101f;--cp-line-soft:#14121014;--cp-hover:#1412100f;--cp-primary:#1a1a1a;--cp-focus:#1412108c;--cp-critical:var(--danger);--cp-delayed:#c2540f;--cp-near:var(--warning);--cp-ontrack:var(--success)}.critical-path-actions button,.critical-path-filters button{font-variant-numeric:tabular-nums;border-radius:999px;min-height:36px;transition:background .15s,border-color .15s,color .15s}.critical-path-filters select{min-height:36px}.critical-path-actions button:focus-visible,.critical-path-filters button:focus-visible,.critical-path-filters select:focus-visible{outline:2px solid var(--cp-focus);outline-offset:2px}.critical-path-actions button:first-child{background:var(--cp-primary);color:#fff;border:1px solid var(--cp-primary)}.critical-path-actions button:first-child:hover{background:#000}.critical-path-actions button:nth-child(2){color:var(--cp-primary);border:1.5px solid var(--cp-primary);background:0 0}.critical-path-actions button:nth-child(2):hover{background:var(--cp-hover)}.critical-path-actions .critical-path-icon-action{background:var(--cp-surface);width:36px;min-width:36px;color:var(--cp-primary);border:1.5px solid var(--cp-line)}.critical-path-actions .critical-path-icon-action:hover{background:var(--cp-hover);border-color:#14121057}.critical-path-actions .critical-path-fullscreen-close{border:1.5px solid var(--danger);color:var(--danger);background:0 0}.critical-path-actions .critical-path-fullscreen-close:hover{background:var(--danger-soft)}.critical-path-modebar span,.critical-path-modebar strong,.critical-path-summary-grid strong{font-variant-numeric:tabular-nums}.critical-path-summary-grid span{position:relative}.critical-path-summary-grid span:nth-child(2):after,.critical-path-summary-grid span:nth-child(3):after,.critical-path-summary-grid span:nth-child(4):after{content:"";border-radius:999px;width:8px;height:8px;position:absolute;top:10px;right:10px}.critical-path-summary-grid span:nth-child(2):after{background:var(--cp-critical)}.critical-path-summary-grid span:nth-child(3):after{background:var(--cp-delayed)}.critical-path-summary-grid span:nth-child(4):after{background:var(--cp-near)}.critical-node rect:first-child,.critical-node .critical-node-card{fill:var(--cp-surface);stroke:var(--cp-line);stroke-width:1.3px;filter:drop-shadow(0 4px 12px #1412101a)drop-shadow(0 1px 2px #1412100f);transition:filter .2s ease-out}.critical-node-accent{fill:#14121047;pointer-events:none}.critical-node-badge-dot{fill:#14121073}.critical-node-badge-text{fill:#3a3631;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;font-size:9.5px;font-weight:800}.critical-node-title{fill:var(--cp-ink);font-size:13px;font-weight:800}.critical-node-min-title{fill:var(--cp-ink);font-size:12px;font-weight:800}.critical-node-kicker,.critical-node-meta,.critical-node-date{fill:var(--cp-muted);font-size:10px;font-weight:600}.critical-node-meta{font-variant-numeric:tabular-nums}.critical-node-pct{fill:var(--cp-muted);text-anchor:end;font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.critical-node-progress-bg{fill:var(--cp-line-soft)}.critical-node-progress{fill:var(--cp-primary)}.critical-node-connect-handle,.critical-node-connect-label{opacity:0;transition:opacity .15s ease-out,transform .12s ease-out,fill .12s ease-out}.critical-node-connect-handle{fill:#fff;stroke:#1a1a1a;stroke-width:1.6px;cursor:crosshair;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 4px 8px #1412102e)}.critical-node-connect-handle:hover{fill:#1a1a1a;transform:scale(1.2)}.critical-node-connect-handle:hover+.critical-node-connect-label{fill:#fff}.critical-node.node-critical rect:first-child,.critical-node.node-critical .critical-node-card{fill:color-mix(in srgb, var(--cp-critical) 6%, var(--cp-surface));stroke:color-mix(in srgb, var(--cp-critical) 42%, transparent)}.critical-node.node-critical .critical-node-accent,.critical-node.node-critical .critical-node-progress,.critical-node.node-critical .critical-node-badge-dot{fill:var(--cp-critical)}.critical-node.node-delayed rect:first-child,.critical-node.node-delayed .critical-node-card{fill:color-mix(in srgb, var(--cp-delayed) 6%, var(--cp-surface));stroke:color-mix(in srgb, var(--cp-delayed) 42%, transparent)}.critical-node.node-delayed .critical-node-accent,.critical-node.node-delayed .critical-node-progress,.critical-node.node-delayed .critical-node-badge-dot{fill:var(--cp-delayed)}.critical-node.node-delayed .critical-node-badge rect{fill:color-mix(in srgb, var(--cp-delayed) 16%, var(--cp-surface))}.critical-node.node-delayed .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-delayed) 50%, #1a1a1a)}.critical-node.node-near-critical rect:first-child,.critical-node.node-near-critical .critical-node-card{fill:color-mix(in srgb, var(--cp-near) 6%, var(--cp-surface));stroke:color-mix(in srgb, var(--cp-near) 42%, transparent)}.critical-node.node-near-critical .critical-node-accent,.critical-node.node-near-critical .critical-node-progress,.critical-node.node-near-critical .critical-node-badge-dot{fill:var(--cp-near)}.critical-node.node-near-critical .critical-node-badge rect{fill:color-mix(in srgb, var(--cp-near) 16%, var(--cp-surface))}.critical-node.node-near-critical .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-near) 50%, #1a1a1a)}.critical-node.node-completed rect:first-child,.critical-node.node-completed .critical-node-card{fill:color-mix(in srgb, var(--cp-ontrack) 6%, var(--cp-surface));stroke:color-mix(in srgb, var(--cp-ontrack) 42%, transparent)}.critical-node.node-completed .critical-node-accent,.critical-node.node-completed .critical-node-progress,.critical-node.node-completed .critical-node-badge-dot{fill:var(--cp-ontrack)}.critical-node.node-completed .critical-node-badge rect{fill:color-mix(in srgb, var(--cp-ontrack) 16%, var(--cp-surface))}.critical-node.node-completed .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-ontrack) 50%, #1a1a1a)}.critical-node.node-in-progress .critical-node-accent,.critical-node.node-in-progress .critical-node-progress{fill:var(--cp-primary)}.critical-node.node-not-started .critical-node-accent{fill:#9b958b}.critical-node.node-not-started .critical-node-progress{fill:#14121073}.report-card-check{color:#fff;background:#141417eb;border-radius:999px;width:24px;min-width:24px;height:24px;padding:0}.report-card-check svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.report-type-status{justify-content:flex-end;align-items:flex-start;min-height:24px;display:inline-flex}.report-role-row{align-items:center;gap:7px;margin-top:9px;display:flex}.report-role-label{color:var(--muted);font-size:.72rem;font-weight:750}.status-pill.report-role-pill{min-height:26px;font-weight:800}.status-pill.report-role-pill.role-orange{background:var(--warning-soft);color:var(--warning)}.status-pill.report-role-pill.role-green{background:var(--success-soft);color:var(--success)}.status-pill.report-role-pill.role-blue{color:var(--accent);background:#1a1a1d24}.status-pill.report-role-pill.role-teal{color:var(--ink);background:#0d948826}.status-pill.report-role-pill.role-slate{color:var(--muted);background:#47556929}.report-builder-steps span.completed{border-color:var(--success-soft);background:var(--success-soft);color:var(--success)}.report-builder-steps span.completed strong{color:#fff;background:#16a34a}.report-warning-card.is-info{border-color:var(--line);color:var(--ink);background:#fafaf9d9;align-items:flex-start;gap:12px;display:flex}.report-warning-card.is-info .report-warning-icon{color:var(--warning);flex:none;place-items:center;margin-top:1px;display:inline-grid}.report-warning-card.is-info .report-warning-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.report-warning-card.is-info .report-warning-body{gap:6px;display:grid}.report-warning-card.is-info strong{color:var(--ink);font-size:.86rem}.report-warning-card.is-info ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.report-warning-card.is-info li{color:var(--muted);padding-left:16px;font-size:.8rem;position:relative}.report-warning-card.is-info li:before{content:"";background:#7a7670b3;border-radius:999px;width:5px;height:5px;position:absolute;top:8px;left:3px}.report-warning-card.is-info small{color:var(--muted);font-size:.74rem}.report-action-bar{justify-content:flex-start}.report-action-bar .report-action-buttons{flex:1;justify-content:flex-start;align-items:center}.report-action-divider{background:#14141724;width:1px;height:24px;margin:0 4px}.report-action-tip{display:inline-flex}.report-action-buttons .shell-button.report-action-tertiary{color:var(--muted);background:0 0;border-color:#0000;font-weight:700}.report-action-buttons .shell-button.report-action-tertiary:hover:not(:disabled){background:var(--neutral-soft);color:var(--ink)}.report-recipients-field .report-recipient-chips{flex-wrap:wrap;gap:7px;display:flex}.report-recipient-chip{background:var(--neutral-soft);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:4px 8px 4px 5px;font-size:.8rem;font-weight:650;display:inline-flex}.report-recipient-avatar{color:#fff;background:#141417d1;border-radius:999px;place-items:center;width:20px;height:20px;font-size:.66rem;font-weight:800;display:inline-grid}.report-recipient-remove{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:.95rem;line-height:1;display:inline-grid}.report-recipient-remove:hover{color:var(--ink);background:#14141714}.report-recipient-input{position:relative}.report-recipient-suggest{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px -14px #00000073}.report-recipient-suggest li{margin:0}.report-recipient-suggest button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 8px;display:flex}.report-recipient-suggest button:hover{background:var(--neutral-soft)}.report-recipient-suggest-main{flex-direction:column;min-width:0;display:flex}.report-recipient-suggest-main strong{color:var(--ink);font-size:.82rem}.report-recipient-suggest-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.report-recipient-input input{padding-right:40px}.report-recipient-add{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:inline-grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.report-recipient-add:hover{background:var(--neutral-soft);color:var(--ink)}.report-recipient-add svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}:root[data-theme=dark] .status-pill.report-role-pill.role-orange,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-orange{background:var(--warning-soft);color:var(--warning)}:root[data-theme=dark] .status-pill.report-role-pill.role-green,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-green{background:var(--success-soft);color:var(--success)}:root[data-theme=dark] .status-pill.report-role-pill.role-blue,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-blue{color:var(--info);background:#1a1a1d42}:root[data-theme=dark] .status-pill.report-role-pill.role-teal,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-teal{color:#5eead4;background:#0d948842}:root[data-theme=dark] .status-pill.report-role-pill.role-slate,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-slate{color:#cbd5e1;background:#96949138}:root[data-theme=dark] .report-warning-card.is-info,.app-shell[data-theme=dark] .report-warning-card.is-info{color:#f8fafc;background:#141417b3;border-color:#ffffff21}:root[data-theme=dark] .report-warning-card.is-info strong,.app-shell[data-theme=dark] .report-warning-card.is-info strong{color:#fffaf0}:root[data-theme=dark] .report-warning-card.is-info li,:root[data-theme=dark] .report-warning-card.is-info small,.app-shell[data-theme=dark] .report-warning-card.is-info li,.app-shell[data-theme=dark] .report-warning-card.is-info small{color:#e0dedbb8}:root[data-theme=dark] .report-card-check,.app-shell[data-theme=dark] .report-card-check{color:#16161a;background:#f8fafc}:root[data-theme=dark] .report-action-divider,.app-shell[data-theme=dark] .report-action-divider{background:#ffffff29}:root[data-theme=dark] .report-builder-steps span.completed,.app-shell[data-theme=dark] .report-builder-steps span.completed{border-color:var(--success-soft);background:var(--success-soft);color:var(--success)}:root[data-theme=dark] .report-recipient-chip,.app-shell[data-theme=dark] .report-recipient-chip{color:#f8fafc;background:#ffffff14}:root[data-theme=dark] .report-recipient-avatar,.app-shell[data-theme=dark] .report-recipient-avatar{color:#16161a;background:#ffffffd9}:root[data-theme=dark] .report-recipient-remove:hover,.app-shell[data-theme=dark] .report-recipient-remove:hover{color:#f8fafc;background:#ffffff1f}.app-shell[data-theme] .project-workspace-back{border:1px solid var(--line);height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:.86rem;font-weight:600;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.app-shell[data-theme] .project-workspace-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.app-shell[data-theme] .project-workspace-back:hover{color:var(--heading);border-color:var(--accent);background:#1a1a1d0f}.app-shell[data-theme] .notification-dropdown{border:1px solid var(--line);border-radius:18px;width:340px;padding:0;overflow:hidden;box-shadow:0 24px 60px #00000047}.app-shell[data-theme=dark] .notification-dropdown{background:#18181c;box-shadow:0 24px 60px #00000080}.app-shell[data-theme=light] .notification-dropdown{background:#fff}.app-shell[data-theme] .notification-dropdown-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 14px;display:flex}.app-shell[data-theme] .notification-dropdown-head .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:.66rem;font-weight:700}.app-shell[data-theme] .notification-dropdown-head>div>strong{color:var(--heading);font-size:1.15rem;font-weight:700;line-height:1.1;display:block}.app-shell[data-theme] .notification-dropdown-head>button{border:1px solid var(--line);height:32px;color:var(--ink);cursor:pointer;background:0 0;border-radius:9px;flex:none;padding:0 12px;font-size:.8rem;font-weight:600;transition:background .16s,color .16s,border-color .16s}.app-shell[data-theme] .notification-dropdown-head>button:hover{border-color:var(--accent);color:var(--heading);background:#1a1a1d0f}.app-shell[data-theme] .notification-dropdown-list{max-height:320px;padding:6px;overflow-y:auto}.app-shell[data-theme] .notification-empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:34px 22px;display:flex}.app-shell[data-theme] .notification-empty-state strong{color:var(--heading);font-size:1rem;font-weight:700}.app-shell[data-theme] .notification-empty-state span{color:var(--muted);max-width:240px;font-size:.85rem;line-height:1.4}.app-shell[data-theme] .notification-view-all{border:0;border-top:1px solid var(--line);width:100%;color:var(--heading);text-align:center;cursor:pointer;background:0 0;padding:13px 16px;font-size:.9rem;font-weight:700;transition:background .16s,color .16s;display:block}.app-shell[data-theme] .notification-view-all:hover{color:var(--glow-2);background:#1a1a1d0f}.model-viewer-shell.fullscreen .viewer-head-copy{gap:10px;width:auto}.app-shell:not([data-theme=dark]) .model-floating-tools button,:root:not([data-theme=dark]) .model-floating-tools button,.app-shell:not([data-theme=dark]) .model-back-button,:root:not([data-theme=dark]) .model-back-button,.app-shell:not([data-theme=dark]) .viewcube-home,.app-shell:not([data-theme=dark]) .viewcube-fit,:root:not([data-theme=dark]) .viewcube-home,:root:not([data-theme=dark]) .viewcube-fit{background:#fffffff0;border-color:#1412101a;box-shadow:0 4px 12px #1412101a,0 1px 3px #14121012}.app-shell:not([data-theme=dark]) .model-floating-tools button,:root:not([data-theme=dark]) .model-floating-tools button{color:#4a4742}.app-shell:not([data-theme=dark]) .model-floating-tools button:hover,:root:not([data-theme=dark]) .model-floating-tools button:hover{color:#26241f;background:#fff;border-color:#14121029;box-shadow:0 6px 16px #14121024,0 1px 3px #14121014}.app-shell:not([data-theme=dark]) .model-floating-tools button.active,:root:not([data-theme=dark]) .model-floating-tools button.active{border-color:var(--accent);color:var(--accent);background:#1a1a1d1f;box-shadow:0 4px 14px #1a1a1d38,0 1px 3px #1412100f}.app-shell:not([data-theme=dark]) .model-viewer-shell.fullscreen .viewer-head-copy,:root:not([data-theme=dark]) .model-viewer-shell.fullscreen .viewer-head-copy{background:#ffffffeb;border-color:#14121014;box-shadow:0 6px 20px #1412101a}.app-shell[data-theme=dark] .model-floating-tools button,:root[data-theme=dark] .model-floating-tools button,.app-shell[data-theme=dark] .model-back-button,:root[data-theme=dark] .model-back-button{box-shadow:0 2px 8px #00000052}.model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill.tone-info{color:#b8b8b8;box-shadow:none;background:#ffffff14;border:1px solid #ffffff29}.app-shell:not([data-theme=dark]) .model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill.tone-info,:root:not([data-theme=dark]) .model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill.tone-info{color:#6f6b64;background:#1412100d;border-color:#1412101a}.app-shell:not([data-theme=dark]) .model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill.tone-neutral,:root:not([data-theme=dark]) .model-viewer-shell .model-viewer-head .viewer-status-strip .status-pill.tone-neutral{box-shadow:0 4px 12px #1a1a1d29}.app-shell[data-theme] .material-date-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}.app-shell[data-theme] .material-request-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.app-shell[data-theme] .material-request-card:hover{border-color:var(--accent)}.app-shell[data-theme] .material-request-card.priority-high,.app-shell[data-theme] .material-request-card.priority-critical{background:var(--panel)}.app-shell[data-theme] .material-request-card.priority-high{box-shadow:inset 3px 0 0 var(--warning), var(--shadow);border-color:var(--warning-soft)}.app-shell[data-theme] .material-request-card.priority-critical{box-shadow:inset 3px 0 0 var(--danger), var(--shadow);border-color:var(--danger-soft)}.app-shell[data-theme] .material-request-card strong{color:var(--ink);font-size:1rem;font-weight:700}.app-shell[data-theme] .material-request-quantity{color:var(--ink);font-size:.95rem;font-weight:700}.app-shell[data-theme] .material-request-status{font-family:var(--font-display)}.app-shell[data-theme] .material-request-status.status-ordered,.app-shell[data-theme] .material-request-status.status-purchased,.app-shell[data-theme] .material-request-status.status-partially-ordered,.app-shell[data-theme] .material-request-status.status-closed,.app-shell[data-theme] .material-request-status.status-draft{background:var(--neutral-soft);color:var(--text);border-color:#0000}.app-shell[data-theme] .material-request-status.status-received,.app-shell[data-theme] .material-request-status.status-delivered{background:var(--success-soft);color:var(--success);border-color:#0000}.app-shell[data-theme] .material-request-status.status-partially-received,.app-shell[data-theme] .material-request-status.status-need-purchase{background:var(--warning-soft);color:var(--warning);border-color:#0000}.app-shell[data-theme] .material-request-count-card{background:var(--neutral-soft);color:var(--text)}.app-shell[data-theme] .gantt-month-row b{background:var(--panel-soft);border-bottom:1px solid var(--line)}.app-shell[data-theme] .gantt-date-header{background:var(--panel-soft)}.app-shell[data-theme] .work-schedule-fixed-row{background:var(--panel-soft);border:1px solid var(--line)}.app-shell[data-theme] .work-schedule-fixed-row.child,.app-shell[data-theme] .schedule-wbs-cell.child{background:var(--panel)}.app-shell[data-theme] .work-schedule-level-block{border-top:1px solid var(--line)}.app-shell[data-theme] .gantt-day-row span.non-working,.app-shell[data-theme] .gantt-grid-line.non-working{background:#14121009}.app-shell[data-theme=dark] .gantt-day-row span.non-working,.app-shell[data-theme=dark] .gantt-grid-line.non-working{background:#ffffff0a}@media (min-width:1121px){.app-shell[data-theme] .context-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-shell[data-theme] .context-strip{box-shadow:none;background:0 0;border:none;border-radius:0}.app-shell[data-theme] .context-strip>div{background:0 0;border-radius:0}@media (min-width:1121px){.app-shell[data-theme] .context-strip{gap:0;padding:0}.app-shell[data-theme] .context-strip>div{border-left:1px solid var(--line);padding:4px 26px}.app-shell[data-theme] .context-strip>div:first-child{border-left:none;padding-left:2px}}@media (min-width:1100px){.app-shell[data-theme] .main-shell>.page-body{position:relative}.app-shell[data-theme] .work-board-page>.work-board-head{z-index:4;margin:0;position:absolute;top:-54px;right:34px}.app-shell[data-theme] .dashboard-hero-control{grid-template-columns:1fr auto;align-items:end;column-gap:24px}.app-shell[data-theme] .dashboard-hero-control>.hero-actions{grid-area:1/2;align-self:end;margin:0;position:static}.app-shell[data-theme] .dashboard-hero-control .hero-copy{margin-bottom:0}}.app-shell[data-theme=dark] .work-item-card{border-color:var(--line);background:#ffffff0b;box-shadow:0 8px 24px #00000059}.app-shell[data-theme=dark] .work-item-card:hover,.app-shell[data-theme=dark] .work-item-card.selected{border-color:var(--accent);box-shadow:0 12px 30px #00000080}.app-shell[data-theme=dark] .work-card-type{color:var(--muted);background:#ffffff12}.app-shell[data-theme=dark] .work-card-keyfacts>div{border-color:var(--line);background:#ffffff08}.app-shell[data-theme=light] .work-item-card:hover,.app-shell[data-theme=light] .work-item-card.selected{border-color:var(--accent);box-shadow:0 12px 28px #1a1a1d14}.app-shell[data-theme] .material-request-filters .shell-button-secondary{display:none}@media (min-width:1100px){.app-shell[data-theme] .project-files-header{z-index:4;margin:0;position:absolute;top:-77px;right:34px}}.app-shell[data-theme] .work-plan-selector:hover,.app-shell[data-theme] .work-plan-selector.active,.app-shell[data-theme] .task-command-card:hover,.app-shell[data-theme] .task-command-card.selected{border-color:var(--accent);box-shadow:0 14px 32px #1a1a1d17}.app-shell[data-theme=dark] .work-plan-selector.active{background:linear-gradient(#1a1a1d14,#ffffff05)}.app-shell[data-theme=light] .work-plan-selector.active{background:linear-gradient(#1a1a1d0f,#fff)}.app-shell[data-theme] .dashboard-health-panel,.app-shell[data-theme] .dashboard-today-panel{display:none}.app-shell[data-theme=dark] .drawing-drawer-shell,.app-shell[data-theme=dark] .model-issue-drawer .drawing-left,.app-shell[data-theme=dark] .issue-detail-panel,.app-shell[data-theme=dark] .issue-pin-tooltip{border-color:var(--line);background:#141417f5}.app-shell[data-theme=dark] .model-issue-drawer .issue-filter-compact .drawing-sidebar-search,.app-shell[data-theme=dark] .model-issue-drawer .issue-filter-icon,.app-shell[data-theme=dark] .model-issue-drawer .issue-empty,.app-shell[data-theme=dark] .model-issue-drawer .issue-list-empty{border-color:var(--line);background:#ffffff0a}.app-shell[data-theme] .material-request-card.priority-high,.app-shell[data-theme] .material-request-card.priority-critical{box-shadow:var(--shadow)}.app-shell[data-theme=dark] .material-request-card.priority-critical{background:linear-gradient(135deg,#ff5a4529,#ffffff08 58%),#141417;border-color:#ff5a4538}.app-shell[data-theme=light] .material-request-card.priority-critical{background:linear-gradient(135deg,#c0322a17,#fff 58%);border-color:#c0322a2e}.app-shell[data-theme=dark] .material-request-card.priority-high{border-color:var(--warning-soft);background:linear-gradient(135deg,#fbbf2421,#ffffff08 58%),#141417}.app-shell[data-theme=light] .material-request-card.priority-high{background:linear-gradient(135deg,#a86a1214,#fff 58%);border-color:#a86a1229}@media (min-width:1000px){.app-shell[data-theme] .reports-workspace-grid{align-items:stretch}.app-shell[data-theme] .report-type-panel{flex-direction:column;max-height:none;display:flex;position:static}.app-shell[data-theme] .report-type-list{flex:auto;min-height:0;max-height:none;overflow-y:auto}}@media (min-width:980px){.app-shell[data-theme] .dashboard-main-grid{align-items:stretch}.app-shell[data-theme] .dashboard-main-grid .dashboard-action-center{grid-column:1/-1}.app-shell[data-theme] .dashboard-action-center .dashboard-panel-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;display:grid}}.app-shell[data-theme=dark] .data-table,.app-shell[data-theme=dark] .daily-log-section-card,.app-shell[data-theme=dark] .toast{border-color:var(--line);background:#141417f5}.app-shell[data-theme=dark] .work-plan-loading-state{background:linear-gradient(#ffffff0d,#ffffff05),#141417}.app-shell[data-theme=dark] .work-plan-loading-state:before{background:linear-gradient(110deg,#0000 0%,#1a1a1d1f 42%,#0000 72%)}.app-shell[data-theme=dark] .work-plan-loading-spinner{border-color:var(--accent);border-top-color:var(--accent)}.app-shell[data-theme=dark] .work-plan-loading-skeleton i{background:#ffffff0f}.app-shell[data-theme=dark] .work-breakdown-table.schedule-mode .work-breakdown-row.schedule>:last-child{background:#ffffff08}.app-shell[data-theme] .sidebar-icon svg,.app-shell[data-theme] .sidebar-icon svg path,.app-shell[data-theme] .sidebar-svg-icon,.app-shell[data-theme] .sidebar-svg-icon path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.app-shell[data-theme] .task-command-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;margin:0;display:-webkit-box;overflow:hidden}.app-shell[data-theme] .task-command-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start}.app-shell[data-theme] .material-detail-flyout.detail-flyout,.app-shell[data-theme] .material-detail-flyout.detail-flyout.open{z-index:90;width:min(560px,100vw - 36px);max-height:calc(100dvh - 24px);position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%)}.app-shell[data-theme] .material-detail-flyout.detail-flyout.closing{opacity:0;transform:translate(-50%,-46%)}.app-shell[data-theme] .detail-flyout-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080}.app-shell[data-theme=dark] .material-detail-decision-bar{border-color:var(--line);background:#ffffff0d}.app-shell[data-theme=dark] .material-priority-helper{color:#ff9a8c;background:#ff5a4521;border-color:#ff5a454d}.app-shell[data-theme=dark] .material-detail-flyout .material-priority-helper,.app-shell[data-theme=dark] .material-detail-panel .material-priority-helper{color:#ff9a8c}.app-shell[data-theme] .notification-filter-bar button{color:var(--muted);letter-spacing:-.005em;font-size:.85rem;font-weight:600}.app-shell[data-theme] .notification-filter-bar button.active{color:var(--heading);font-weight:700}.app-shell[data-theme] .notification-filter-bar span{font-variant-numeric:tabular-nums;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:700}.app-shell[data-theme] .task-detail-panel{top:0}.app-shell[data-theme] .report-builder-steps{flex-wrap:nowrap}@media (min-width:1100px){.app-shell[data-theme] .reports-page>.section-head.reports-hero{z-index:4;margin:0;position:absolute;top:-54px;right:34px}}.app-shell[data-theme] .project-card:hover,.app-shell[data-theme] .task-card:hover,.app-shell[data-theme] .issue-card:hover,.app-shell[data-theme] .asset-card:hover,.app-shell[data-theme] .inventory-card:hover,.app-shell[data-theme] .work-item-card:hover,.app-shell[data-theme] .task-command-card:hover,.app-shell[data-theme] .work-plan-selector:hover,.app-shell[data-theme] .material-request-card:hover,.app-shell[data-theme] .report-type-card:hover,.app-shell[data-theme] .surface-card:hover,.app-shell[data-theme] .dashboard-kpi-card:hover,.app-shell[data-theme] .dashboard-quick-action-card:hover,.app-shell[data-theme] .dashboard-action-item:hover,.app-shell[data-theme] .dashboard-today-item:hover,.app-shell[data-theme] .dashboard-activity-row:hover,.app-shell[data-theme] .dashboard-project-row:hover,.app-shell[data-theme] .dashboard-onboarding-card:hover{transform:none}.app-shell[data-theme] .report-builder-steps span{border-color:var(--line);color:var(--muted);background:0 0}.app-shell[data-theme] .report-builder-steps span strong{background:var(--neutral-soft);color:var(--muted)}.app-shell[data-theme] .report-builder-steps span.active,.app-shell[data-theme] .report-builder-steps span.completed{color:var(--heading);border-color:var(--line);background:0 0}.app-shell[data-theme] .report-builder-steps span.active strong,.app-shell[data-theme] .report-builder-steps span.completed strong{background:var(--accent);color:var(--accent-foreground)}.app-shell[data-theme] .report-builder-steps span:not(:last-child):after{color:var(--muted)}@media (min-width:1100px){.app-shell[data-theme] .notifications-page>.section-head,.app-shell[data-theme] .settings-center>.section-head{z-index:4;margin:0;position:absolute;top:-54px;right:34px}}.app-shell[data-theme] .drawing-file-menu{letter-spacing:0;font-size:0}.app-shell[data-theme] .drawing-file-menu:before{content:"";background:currentColor;border-radius:50%;width:3.5px;height:3.5px;box-shadow:-5px 0,5px 0}.app-shell[data-theme] .drawing-file-menu:hover{color:var(--accent)}.app-shell[data-theme=dark] .report-builder-steps span.active strong,.app-shell[data-theme=dark] .report-builder-steps span.completed strong{color:#161616;background:#ffffffeb}.app-shell[data-theme=light] .report-builder-steps span.active strong,.app-shell[data-theme=light] .report-builder-steps span.completed strong{color:#fff;background:#1b1916}.app-shell[data-theme=dark] .work-plan-list{border-color:var(--line);background:#ffffff08}.app-shell[data-theme=light] .work-plan-list{border-color:var(--line);background:#14121008}.app-shell[data-theme] .report-card-accent.accent-slate{background:#6f6a64}.app-shell[data-theme] .report-card-accent.accent-blue{background:var(--accent)}.app-shell[data-theme] .team-role-badge.role-project_manager{color:#a86a12;background:#a86a1224}.app-shell[data-theme=dark] .team-role-badge.role-project_manager{color:var(--warning)}.app-shell[data-theme] .team-role-badge.role-worker{color:var(--muted)}.app-shell[data-theme] .report-card-accent.accent-violet{background:#d97706}.app-shell[data-theme] .team-role-badge.role-owner{color:var(--heading);background:#7a767029}.app-shell[data-theme] .work-plan-menu-trigger{background:0 0;border:0;width:auto;min-width:24px;font-size:0}.app-shell[data-theme] .work-plan-menu-trigger:before{content:"";background:currentColor;border-radius:50%;width:3.5px;height:3.5px;box-shadow:-5px 0,5px 0}.app-shell[data-theme] .work-plan-menu-trigger:hover{color:var(--accent);background:0 0}.app-shell[data-theme] .work-schedule-left-head span{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:700}.app-shell[data-theme] .work-schedule-level-row strong{color:var(--heading);font-size:.86rem;font-weight:700}.app-shell[data-theme] .work-schedule-level-row span{color:var(--muted);font-size:.68rem;font-weight:600}.app-shell[data-theme] .schedule-wbs-cell{color:var(--muted);font-size:.72rem;font-weight:700}.app-shell[data-theme] .work-schedule-board .breakdown-name-cell input{font-size:.84rem;font-weight:600}.app-shell[data-theme] .work-schedule-board .breakdown-toggle,.app-shell[data-theme] .work-schedule-board .icon-delete-button{border-radius:8px;width:24px;min-width:24px;height:24px}.app-shell[data-theme] .work-schedule-board .icon-delete-button svg{width:15px;height:15px}.app-shell[data-theme] .dashboard-projects-panel .progress-row{grid-template-columns:minmax(0,1fr) minmax(46px,.7fr) auto}.app-shell[data-theme] .dashboard-projects-panel .progress-track{min-width:0}.cursor-glow{pointer-events:none;z-index:60;mix-blend-mode:screen;will-change:transform;background:radial-gradient(circle,#1a1a1d29,#1a1a1d0f 42%,#0000 70%);border-radius:50%;width:560px;height:560px;margin:-280px 0 0 -280px;position:fixed;top:0;left:0}.app-shell[data-theme=light] .cursor-glow{mix-blend-mode:multiply;background:radial-gradient(circle,#1a1a1d1a,#0000 65%)}@media (prefers-reduced-motion:reduce){.cursor-glow{display:none}}.work-plan-breakdown-head{align-items:flex-start;gap:18px}.work-plan-edit-header{flex:auto;grid-template-columns:minmax(150px,.75fr) minmax(240px,1.7fr);gap:12px 16px;width:auto;max-width:none}.work-plan-edit-header>.schedule-mode-strip{grid-column:1/-1;margin-bottom:2px}.work-plan-facts{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px 16px;display:grid}.work-plan-progress-badge{border:1px solid var(--accent-soft);background:radial-gradient(150% 170% at 100% 0%, var(--accent-soft), transparent 62%), var(--neutral-soft);border-radius:18px;place-content:center;align-self:stretch;gap:3px;min-width:140px;padding:16px 22px;display:grid}.work-plan-progress-badge strong{color:var(--accent);letter-spacing:-.02em;font-size:1.6rem;line-height:1}.work-plan-progress-badge span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:700}@media (max-width:860px){.work-plan-edit-header{grid-template-columns:1fr}.work-plan-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}:root[data-theme=dark] .scurve-left-header,.app-shell[data-theme=dark] .scurve-left-header,:root[data-theme=dark] .scurve-month-row,.app-shell[data-theme=dark] .scurve-month-row,:root[data-theme=dark] .scurve-left-footer-row,.app-shell[data-theme=dark] .scurve-left-footer-row,:root[data-theme=dark] .scurve-timeline-footer-row,.app-shell[data-theme=dark] .scurve-timeline-footer-row{color:#c9c9c9;background:#ffffff0d}:root[data-theme=dark] .scurve-period-row,.app-shell[data-theme=dark] .scurve-period-row{color:#a6a6a6;background:#ffffff09}:root[data-theme=dark] .scurve-left-curve-spacer,.app-shell[data-theme=dark] .scurve-left-curve-spacer{background:#ffffff05}:root[data-theme=dark] .scurve-timeline-work-row>span,.app-shell[data-theme=dark] .scurve-timeline-work-row>span{color:var(--text);background:0 0}:root[data-theme=dark] .scurve-timeline-work-row>span.scheduled,.app-shell[data-theme=dark] .scurve-timeline-work-row>span.scheduled{background:linear-gradient(#0000 34%,#ffffff0d 34% 66%,#0000 66%)}:root[data-theme=dark] .scurve-timeline-work-row>span.scheduled:before,.app-shell[data-theme=dark] .scurve-timeline-work-row>span.scheduled:before{background:#ffffff80}:root[data-theme=dark] .scurve-left-header span,:root[data-theme=dark] .scurve-left-work-row>span,:root[data-theme=dark] .scurve-left-work-row>strong,:root[data-theme=dark] .scurve-month-row span,:root[data-theme=dark] .scurve-period-row span,:root[data-theme=dark] .scurve-timeline-work-row span,:root[data-theme=dark] .scurve-timeline-footer-row span,.app-shell[data-theme=dark] .scurve-left-header span,.app-shell[data-theme=dark] .scurve-left-work-row>span,.app-shell[data-theme=dark] .scurve-left-work-row>strong,.app-shell[data-theme=dark] .scurve-month-row span,.app-shell[data-theme=dark] .scurve-period-row span,.app-shell[data-theme=dark] .scurve-timeline-work-row span,.app-shell[data-theme=dark] .scurve-timeline-footer-row span{border-bottom-color:#ffffff0f;border-right-color:#ffffff0f}:root[data-theme=dark] .scurve-line.planned,:root[data-theme=dark] .scurve-marker.planned,.app-shell[data-theme=dark] .scurve-line.planned,.app-shell[data-theme=dark] .scurve-marker.planned{stroke:#d4d4d4}:root[data-theme=dark] .advanced-scurve-point.planned,.app-shell[data-theme=dark] .advanced-scurve-point.planned{background:#d4d4d4}:root[data-theme=dark] .scurve-line.actual,:root[data-theme=dark] .scurve-marker.actual,.app-shell[data-theme=dark] .scurve-line.actual,.app-shell[data-theme=dark] .scurve-marker.actual{stroke:#5b9bd5}:root[data-theme=dark] .advanced-scurve-point.actual,.app-shell[data-theme=dark] .advanced-scurve-point.actual{background:#5b9bd5}.app-shell[data-theme] .project-delete-modal.surface-card:hover,.app-shell[data-theme] .project-delete-modal:hover{transform:translate(-50%,-50%);box-shadow:0 28px 90px #00000080}.app-shell[data-theme] .surface-card[role=dialog]:hover,.app-shell[data-theme] .project-modal:hover,.app-shell[data-theme] .project-create-modal:hover{transform:translate(-50%,-50%)}.app-shell[data-theme] .schedule-mode-confirm-modal .project-delete-icon{background:var(--neutral-soft);color:var(--accent);margin-inline:0}.schedule-mode-confirm-modal .project-delete-icon svg{width:26px;height:26px}:root[data-theme=dark] .critical-path-shell,.app-shell[data-theme=dark] .critical-path-shell{--cp-surface:#1c1d22;--cp-ink:#f4f4f5;--cp-muted:#9a9a9a;--cp-line:#ffffff29;--cp-line-soft:#ffffff14;--cp-hover:#ffffff14;--cp-primary:#ededee;--cp-focus:#ffffff80}:root[data-theme=dark] .critical-path-map-card,.app-shell[data-theme=dark] .critical-path-map-card{background:#121317;border-color:#ffffff14}.app-shell[data-theme=dark] .critical-path-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.app-shell[data-theme=dark] .critical-path-actions button:first-child:hover{background:#ff6b5c}:root[data-theme=dark] .critical-node-accent,.app-shell[data-theme=dark] .critical-node-accent{fill:#ffffff38}:root[data-theme=dark] .critical-node-badge-dot,.app-shell[data-theme=dark] .critical-node-badge-dot{fill:#ffffff8c}:root[data-theme=dark] .critical-node-badge-text,.app-shell[data-theme=dark] .critical-node-badge-text{fill:#d8d8d8}.app-shell[data-theme=dark] .critical-node.node-critical .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-critical) 55%, #f4f4f5)}.app-shell[data-theme=dark] .critical-node.node-delayed .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-delayed) 62%, #f4f4f5)}.app-shell[data-theme=dark] .critical-node.node-near-critical .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-near) 62%, #f4f4f5)}.app-shell[data-theme=dark] .critical-node.node-completed .critical-node-badge-text{fill:color-mix(in srgb, var(--cp-ontrack) 62%, #f4f4f5)}:root[data-theme=dark] .critical-edge path,.app-shell[data-theme=dark] .critical-edge path{stroke:#ffffff47}:root[data-theme=dark] .critical-node-connect-handle,.app-shell[data-theme=dark] .critical-node-connect-handle{fill:#1c1d22;stroke:#ffffffb3}:root[data-theme=dark] .critical-node-connect-label,.app-shell[data-theme=dark] .critical-node-connect-label{fill:#f4f4f5}.app-shell[data-theme=dark] .resources-activity-summary-cell{background:#ffffff0a;border-color:#ffffff14}.app-shell[data-theme=dark] .resources-activity-compact-card{border-bottom-color:#ffffff0f}.app-shell[data-theme=dark] .resources-activity-compact-card:hover{background:#ffffff05}.resources-activity-summary-cell strong.tone-muted{color:var(--muted);font-weight:650}.app-shell[data-theme=dark] .daily-log-employee-card{box-shadow:none;background:#ffffff0a;border-color:#ffffff14}.app-shell[data-theme=dark] .daily-log-employee-card:hover,.app-shell[data-theme=dark] .daily-log-employee-card:focus-visible{border-color:var(--accent);background:#ffffff0f;box-shadow:0 0 20px #1a1a1d1f}.app-shell[data-theme=dark] .daily-log-employee-card.active{border-color:var(--accent);box-shadow:0 0 22px #1a1a1d24}.app-shell[data-theme=dark] .daily-log-employee-card.tone-pending{border-color:var(--warning-soft);background:linear-gradient(135deg,#f59e0b1f,#ffffff08)}.app-shell[data-theme=dark] .daily-log-employee-card.tone-complete{border-color:var(--success-soft);background:linear-gradient(135deg,#22c55e1f,#ffffff08)}.app-shell[data-theme=dark] .daily-log-employee-card.tone-overdue{border-color:var(--danger-soft);background:linear-gradient(135deg,#ef44441f,#ffffff08)}.app-shell[data-theme=dark] .daily-log-employee-card.tone-complete,.app-shell[data-theme=dark] .daily-log-employee-card.tone-pending,.app-shell[data-theme=dark] .daily-log-employee-card.tone-overdue{border-color:#ffffff14}.app-shell[data-theme=dark] .daily-log-employee-card.active,.app-shell[data-theme=dark] .daily-log-employee-card.tone-complete.active,.app-shell[data-theme=dark] .daily-log-employee-card.tone-pending.active,.app-shell[data-theme=dark] .daily-log-employee-card.tone-overdue.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft), 0 0 22px #1a1a1d29}.app-shell[data-theme=dark] .project-file-empty{background:#ffffff05;border-color:#ffffff1f}.app-shell[data-theme=dark] .project-file-empty-icon{box-shadow:none;background:#ffffff0f}.app-shell[data-theme=dark] .project-file-empty-icon span{background:#ffffff38}.app-shell[data-theme=dark] .project-file-empty-icon span:nth-child(3){background:var(--accent)}.app-shell[data-theme=dark] .app-tabs,.app-shell[data-theme=dark] .sub-tabs,.app-shell[data-theme=dark] .work-plan-mode-switch,.app-shell[data-theme=dark] .boq-quantity-subtabs,.app-shell[data-theme=dark] .bbs-view-tabs{background:#ffffff08;border-color:#ffffff12}.app-shell[data-theme=dark] .app-tabs button.active,.app-shell[data-theme=dark] .app-tabs button[aria-selected=true],.app-shell[data-theme=dark] .sub-tabs button.active,.app-shell[data-theme=dark] .sub-tabs button[aria-selected=true],.app-shell[data-theme=dark] .work-plan-mode-switch button.active,.app-shell[data-theme=dark] .boq-quantity-subtabs button.active,.app-shell[data-theme=dark] .bbs-view-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.app-shell[data-theme=dark] .daily-log-primary-flow{border-color:var(--success-soft);background:var(--success-soft);color:#6ee7a8}.daily-log-drawer .daily-report-summary{border-bottom:1px solid var(--line);gap:7px;padding-bottom:8px}.daily-log-drawer .daily-report-summary span{font-size:.72rem}.daily-log-drawer .daily-task-quick-add{border-radius:14px;padding:10px}.daily-log-drawer .daily-task-quick-add .daily-task-title-list-field input{min-height:38px;font-size:.92rem;font-weight:650}.daily-log-drawer .daily-task-quick-add label>span{letter-spacing:.04em;font-weight:800}.team-members-table td{overflow-wrap:normal;word-break:normal;font-size:.8rem}.team-member-identity strong{font-size:.86rem}.team-member-identity small{font-size:.68rem}.team-members-table th{font-size:.66rem}.app-shell[data-theme=dark] .team-members-table th{background:#ffffff0d}.app-shell[data-theme=dark] .team-members-table tbody tr:hover{background:#1a1a1d12}.app-shell[data-theme=dark] .upload-stepper span{background:#ffffff0d;border-color:#ffffff14}.app-shell[data-theme=dark] .upload-stepper span.active{border-color:var(--accent);color:#fff;background:#1a1a1d24}.app-shell[data-theme=dark] .drawing-upload-dropzone{background:#ffffff05;border-color:#ffffff1a}.app-shell[data-theme=dark] .viewer-mode-card.upload-type-card{background:#ffffff08;border-color:#ffffff14}.app-shell[data-theme=dark] .viewer-mode-card.upload-type-card.active{border-color:var(--accent);background:#1a1a1d1a}.app-shell[data-theme=dark] .drawing-empty-icon{box-shadow:none;background:#ffffff0f}.app-shell[data-theme=dark] .drawing-empty-icon span{background:#ffffff38}.lite-wbs-table .lite-work-item-title{padding-left:30px}.app-shell[data-theme=dark] .work-summary-card{box-shadow:none;background:#ffffff0a;border-color:#ffffff14}.app-shell[data-theme=dark] .work-hub-shell{background:#ffffff08}.app-shell[data-theme=dark] .inline-status-button,.app-shell[data-theme=dark] .quick-create-popover button,.app-shell[data-theme=dark] .work-detail-head button{color:var(--text);background:#ffffff0f;border-color:#ffffff1f}.app-shell[data-theme=dark] .inline-status-button:hover{border-color:var(--accent);background:#ffffff1a}.work-list-table th,.work-list-table td{padding:13px 12px}.app-shell[data-theme=dark] .work-list-table tbody tr:hover{background:#ffffff08}.app-shell[data-theme=dark] .task-assignee-picker label{color:var(--text);background:#ffffff0d;border-color:#ffffff1a}.app-shell[data-theme=dark] .task-assignee-picker label:hover{border-color:var(--accent)}.app-shell[data-theme=dark] .task-assignee-picker label:has(input:checked){border-color:var(--accent);color:#fff;background:#1a1a1d24}.toolbar-group .task-view-switcher{flex:auto}.toolbar-group .task-view-switcher button{flex:auto;justify-content:center}.app-shell[data-theme=dark] .selection-checkbox span{background:#ffffff14;border-color:#ffffff4d}.app-shell[data-theme=dark] .selection-checkbox input:checked+span,.app-shell[data-theme=dark] .selection-checkbox input:indeterminate+span{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #16161b}.app-shell[data-theme=dark] .search-shell input,.app-shell[data-theme=dark] .ui-select,.app-shell[data-theme=dark] .field-group input,.app-shell[data-theme=dark] .field-group select,.app-shell[data-theme=dark] .field-group textarea,.app-shell[data-theme=dark] .form-grid input,.app-shell[data-theme=dark] .form-grid textarea{box-shadow:none}.app-shell[data-theme=dark] .search-shell input:focus,.app-shell[data-theme=dark] .ui-select:focus,.app-shell[data-theme=dark] .form-grid input:focus,.app-shell[data-theme=dark] .form-grid textarea:focus{border-color:var(--accent);outline-color:#ffffff2e}.material-detail-flyout{gap:10px;padding:14px}.material-detail-flyout .form-grid{gap:9px}.material-detail-flyout .form-grid input,.material-detail-flyout .form-grid select,.material-detail-flyout .ui-select{min-height:38px}.material-detail-flyout .form-grid textarea{min-height:66px}.material-detail-flyout .material-stock-check{gap:6px}.material-detail-flyout .material-stock-check>div{min-height:46px;padding:7px 10px}.app-shell[data-theme=dark] .material-stock-check>div{background:#ffffff0a;border-color:#ffffff14}.app-shell[data-theme=dark] .material-stock-check.tone-neutral>div:first-child{background:#ffffff0f}.team-table-wrap{border-radius:14px;overflow-x:auto}.team-members-table{table-layout:auto;width:100%;min-width:980px}.team-col-name,.team-col-email,.team-col-phone,.team-col-role,.team-col-access,.team-col-status,.team-col-active,.team-col-actions{width:auto}.team-members-table th,.team-members-table td{white-space:nowrap;vertical-align:middle;padding:13px 16px}.team-members-table th{letter-spacing:.08em;font-size:.62rem}.team-member-identity{gap:10px}.team-member-identity strong{white-space:nowrap;font-size:.9rem}.team-member-identity small{white-space:nowrap}.team-avatar{border-radius:11px;width:34px;height:34px;font-size:.74rem}.team-members-table td:nth-child(2){font-size:.82rem}.app-shell[data-theme=dark] .team-role-badge.role-owner{color:#c084fc;background:#c084fc29}.app-shell[data-theme=dark] .team-role-badge.role-admin{color:#ff8a7a;background:#1a1a1d29}.app-shell[data-theme=dark] .team-role-badge.role-project_manager{color:#a5b4fc;background:#818cf829}.app-shell[data-theme=dark] .team-role-badge.role-supervisor{color:var(--success);background:#34d39929}.app-shell[data-theme=dark] .team-role-badge.role-worker{color:#cbd5e1;background:#ffffff14}.app-shell[data-theme=dark] .team-role-badge.role-client_viewer{color:#cbd5e1;background:#94a3b829}[role=dialog] .boq-create-choice-card:hover,[role=dialog] .viewer-mode-card:hover,[aria-modal=true] .boq-create-choice-card:hover,[aria-modal=true] .viewer-mode-card:hover{transform:none}.lite-wbs-table,.lite-level-children{grid-template-columns:minmax(0,1.45fr) minmax(0,.82fr) minmax(0,.68fr)}.app-shell[data-theme=dark] .material-priority-badge.priority-normal{color:#cbd5e1;background:#ffffff0f;border-color:#ffffff1a}.app-shell[data-theme=dark] .material-priority-badge.priority-high{background:var(--warning-soft);border-color:var(--warning-soft);color:var(--warning)}.app-shell[data-theme=dark] .material-priority-badge.priority-critical{color:#ff9485;background:#ff5a452e;border-color:#ff5a4561}.app-shell[data-theme=dark] .material-request-status.status-pending{background:var(--warning-soft);color:var(--warning);border-color:#0000}.app-shell[data-theme=dark] .material-request-status.status-approved{background:var(--success-soft);color:var(--success);border-color:#0000}.app-shell[data-theme=dark] .material-request-status.status-rejected{background:var(--danger-soft);color:var(--danger);border-color:#0000}.app-shell[data-theme=dark] .material-overdue-badge{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-soft)}.material-modal-backdrop>.surface-card,.material-modal-backdrop>[role=dialog],.material-modal-backdrop>.task-create-modal,.material-modal-backdrop>.task-create-panel{position:relative!important;inset:auto!important;transform:none!important}.procurement-shell{gap:16px;display:grid}.procurement-shell-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.procurement-shell-tabs{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;gap:4px;padding:5px;display:inline-flex}.procurement-shell-tabs button{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:9px;padding:0 20px;font-size:.92rem;font-weight:800;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.procurement-shell-tabs button:hover{color:var(--text)}.procurement-shell-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}.app-shell[data-theme=dark] .procurement-shell-tabs{background:#ffffff08;border-color:#ffffff12}.app-shell[data-theme=dark] .procurement-shell-tabs button.active{border-color:var(--accent);color:#fff;box-shadow:none;background:#1a1a1d24}.procurement-tab-count{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:900;display:inline-grid}.procurement-flow-steps{border:1px solid var(--line);background:var(--neutral-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:8px 14px;list-style:none;display:flex}.procurement-flow-step{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:.74rem;font-weight:750;display:inline-flex}.procurement-flow-step:not(:last-child):after{content:"";background:var(--line-strong);border-radius:999px;width:18px;height:1.5px;margin:0 6px 0 4px}.procurement-flow-dot{border:1.5px solid var(--line-strong);background:0 0;border-radius:999px;width:9px;height:9px;transition:background .18s,border-color .18s,box-shadow .18s}.procurement-flow-step.is-reached{color:var(--text)}.procurement-flow-step.is-reached .procurement-flow-dot{border-color:var(--accent);background:var(--accent)}.procurement-flow-step.is-active{color:var(--accent)}.procurement-flow-step.is-active .procurement-flow-dot{box-shadow:0 0 0 4px var(--accent-soft)}.procurement-shell-body>.page-stack{gap:14px}@media (max-width:760px){.procurement-flow-steps{display:none}.procurement-shell-tabs{width:100%}.procurement-shell-tabs button{flex:auto;justify-content:center}}:root[data-theme=dark] .critical-path-shell.is-fullscreen .critical-path-modebar,.app-shell[data-theme=dark] .critical-path-shell.is-fullscreen .critical-path-modebar{background:#101115d6;border-color:#ffffff14;box-shadow:0 14px 40px #00000073}:root[data-theme=dark] .critical-path-modebar span,.app-shell[data-theme=dark] .critical-path-modebar span{color:#b8b8b8;background:#ffffff0d;border-color:#ffffff14}:root[data-theme=dark] .critical-path-modebar strong,.app-shell[data-theme=dark] .critical-path-modebar strong{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.critical-path-summary-grid span{transition:transform .18s,border-color .18s;position:relative;overflow:hidden}.critical-path-summary-grid span:hover{border-color:var(--line-strong);transform:translateY(-2px)}.critical-path-summary-grid span:before{content:"";background:var(--line-strong);border-radius:0 3px 3px 0;width:3px;position:absolute;inset:8px auto 8px 0}.critical-path-summary-grid span:nth-child(2):before{background:#f87171}.critical-path-summary-grid span:nth-child(3):before{background:#fb923c}.critical-path-summary-grid span:nth-child(4):before{background:#fbbf24}.critical-path-summary-grid span:nth-child(6):before{background:#34d399}.critical-path-summary-grid span:nth-child(2) strong{color:var(--danger)}.critical-path-summary-grid span:nth-child(3) strong,.critical-path-summary-grid span:nth-child(4) strong{color:var(--warning)}.critical-path-summary-grid span:nth-child(6) strong{color:var(--success)}.critical-path-legend{flex-wrap:wrap;align-items:center;gap:16px;padding:2px;display:flex}.cp-legend-item{color:var(--muted);align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:inline-flex}.cp-legend-item i{border-radius:999px;flex:none;width:9px;height:9px}.cp-legend-critical i{background:#f87171}.cp-legend-delayed i{background:#fb923c}.cp-legend-near i{background:#fbbf24}.cp-legend-ontrack i{background:#34d399}.critical-path-shell.is-fullscreen .critical-path-legend{z-index:12;border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;gap:12px;padding:8px 13px;position:absolute;top:122px;left:10px}:root[data-theme=dark] .critical-path-shell.is-fullscreen .critical-path-legend,:root[data-theme=dark] .critical-path-shell.is-fullscreen .critical-path-toolbar{background:#101115db;border-color:#ffffff14;box-shadow:0 14px 40px #00000073}:root[data-theme=dark] .critical-path-actions button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .critical-path-actions button:first-child:hover{background:#ff6b5c}:root[data-theme=dark] .critical-path-filters button{color:#b8b8b8;background:#ffffff0d;border-color:#ffffff1a}:root[data-theme=dark] .critical-path-filters button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.critical-path-actions{gap:6px}.critical-path-actions .critical-path-icon-action{transition:background .16s,border-color .16s,transform .16s}.critical-path-actions .critical-path-icon-action:hover{transform:translateY(-1px)}.resources-services-actions .ra-btn svg,.resources-readiness svg,.resources-services-group-progress svg,.resources-activity-status svg,.resources-activity-segment svg,.resources-activity-plan svg,.resource-schedule-chip svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.resources-services-actions{flex-wrap:wrap;gap:8px;max-width:none}.resources-services-actions .ra-btn{border:1px solid var(--line);background:var(--control-bg);min-height:33px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:.74rem;font-weight:720;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.resources-services-actions .ra-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.resources-services-actions .ra-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.resources-services-actions .ra-btn-primary{color:#fff;background:linear-gradient(#d8492c 0%,#b8301a 100%);border-color:#0000;font-weight:750;box-shadow:0 6px 16px -8px #1a1a1db3}.resources-services-actions .ra-btn-primary:hover{filter:brightness(1.06);border-color:#0000}.resources-services-actions .ra-add-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:2px;padding:3px;display:inline-flex}.resources-services-actions .ra-add-group .ra-btn{background:0 0;border-color:#0000;border-radius:9px;min-height:27px;padding:0 10px}.resources-services-actions .ra-add-group .ra-btn:hover{background:var(--control-bg);border-color:#0000;transform:none}.resources-services-actions .ra-btn-ghost{color:var(--muted);background:0 0;border-color:#0000;font-weight:700}.resources-services-actions .ra-btn-ghost:hover{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}.resources-services-actions .ra-btn-ghost:disabled{opacity:.4;cursor:not-allowed}.resources-services-actions .ra-btn-icon{width:33px;padding:0}.resources-readiness{grid-template-columns:minmax(250px,.95fr) minmax(0,1.9fr);gap:10px;display:grid}.resources-readiness-hero{border:1px solid var(--line);background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), var(--surface-soft);border-radius:16px;align-content:center;gap:12px;padding:14px 16px;display:grid}.resources-readiness-figure{gap:2px;display:grid}.resources-readiness-figure strong{color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;font-size:1.7rem;font-weight:800;line-height:1;display:flex}.resources-readiness-figure strong span{color:var(--muted);font-size:.92rem;font-weight:700}.resources-readiness-figure>span{color:var(--muted);letter-spacing:.02em;font-size:.7rem;font-weight:700}.resources-readiness-gauge{align-items:center;gap:10px;display:flex}.resources-readiness-track{background:var(--neutral-soft);border-radius:999px;flex:1;height:8px;position:relative;overflow:hidden}.resources-readiness-track>span{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #ffae9c));border-radius:999px;transition:width .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 auto 0 0}.resources-readiness-gauge>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.resources-readiness-breakdown{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px;display:grid}.resources-readiness-chip{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;padding:9px 12px;display:grid}.resources-readiness-chip-ico{background:var(--neutral-soft);width:30px;height:30px;color:var(--muted);border-radius:9px;grid-row:1/span 2;justify-content:center;align-items:center;display:inline-flex}.resources-readiness-chip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;line-height:1.05}.resources-readiness-chip>span:last-child{color:var(--muted);font-size:.66rem;font-weight:700}.resources-readiness-chip.is-clear .resources-readiness-chip-ico{color:color-mix(in srgb, var(--success) 75%, var(--muted))}.resources-readiness-chip.is-clear strong{color:var(--muted)}.resources-readiness-chip.tone-warning{border-color:color-mix(in srgb, var(--warning) 32%, var(--line))}.resources-readiness-chip.tone-warning .resources-readiness-chip-ico{background:var(--warning-soft);color:var(--warning)}.resources-readiness-chip.tone-warning strong{color:var(--warning)}.resources-readiness-chip.tone-danger{border-color:color-mix(in srgb, var(--danger) 36%, var(--line))}.resources-readiness-chip.tone-danger .resources-readiness-chip-ico{background:var(--danger-soft);color:var(--danger)}.resources-readiness-chip.tone-danger strong{color:var(--danger)}.resources-readiness-chip.tone-info .resources-readiness-chip-ico{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.resources-services-group-progress{align-items:center;gap:9px;display:flex}.resources-services-group-track{background:var(--neutral-soft);border-radius:999px;width:96px;height:6px;position:relative;overflow:hidden}.resources-services-group-track>span{background:var(--accent);border-radius:999px;transition:width .42s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 auto 0 0}.resources-services-group-progress>span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.66rem;font-weight:750}.resources-activity-compact-card{border-left:3px solid #0000;transition:background .16s,border-color .16s}.resources-activity-compact-card.tone-success{border-left-color:color-mix(in srgb, var(--success) 70%, transparent)}.resources-activity-compact-card.tone-warning{border-left-color:color-mix(in srgb, var(--warning) 78%, transparent)}.resources-activity-compact-card.tone-danger{border-left-color:var(--danger)}.resources-activity-compact-card.tone-muted{border-left-color:#0000}.resources-activity-status{background:var(--neutral-soft);min-height:22px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.66rem;font-weight:800;display:inline-flex}.resources-activity-status:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.resources-activity-status.tone-success{background:var(--success-soft);color:var(--success)}.resources-activity-status.tone-warning{background:var(--warning-soft);color:var(--warning)}.resources-activity-status.tone-danger{background:var(--danger-soft);color:var(--danger)}.resources-activity-status.tone-muted{background:var(--neutral-soft);color:var(--muted)}.resource-schedule-chip svg{opacity:.7}.resources-activity-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px}.resources-activity-segment{border:1px solid var(--line);background:var(--surface-soft);min-width:0;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;transition:background .15s,border-color .15s,transform .15s;display:grid}.resources-activity-segment:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:0 2px 10px -6px #00000080}.resources-activity-segment:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.resources-segment-ico{background:var(--neutral-soft);width:30px;height:30px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.resources-segment-ico svg{width:17px;height:17px}.resources-segment-body{gap:1px;min-width:0;display:grid}.resources-segment-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.6rem;font-weight:800}.resources-segment-body strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.resources-segment-body small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:650;overflow:hidden}.resources-segment-state{background:var(--neutral-soft);width:22px;height:22px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.resources-activity-segment.tone-success{border-color:color-mix(in srgb, var(--success) 30%, var(--line));background:color-mix(in srgb, var(--success) 9%, var(--surface-soft))}.resources-activity-segment.tone-success .resources-segment-ico,.resources-activity-segment.tone-success .resources-segment-state{background:var(--success-soft);color:var(--success)}.resources-activity-segment.tone-warning{border-style:dashed;border-color:color-mix(in srgb, var(--ink) 18%, transparent);background:0 0}.resources-activity-segment.tone-warning .resources-segment-body strong{color:var(--ink)}.resources-activity-segment.tone-muted{border-style:dashed;border-color:var(--line);background:0 0}.resources-activity-segment.tone-muted .resources-segment-body strong{color:var(--muted);font-weight:650}.resources-activity-segment.tone-muted .resources-segment-ico{opacity:.7}.resources-activity-plan{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent);min-height:40px;color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;gap:6px;padding:0 15px;font-size:.74rem;font-weight:800;transition:background .15s,transform .15s;display:inline-flex}.resources-activity-plan:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.resources-activity-plan:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}@media (max-width:940px){.resources-readiness{grid-template-columns:1fr}.resources-activity-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-activity-plan{grid-column:1/-1;min-height:36px}}@media (max-width:560px){.resources-activity-compact-grid{grid-template-columns:1fr}}.resources-services-tabs button{align-items:center;gap:6px;display:inline-flex}.resources-services-tabs button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.65;flex:none;width:14px;height:14px}.resources-services-tabs button.active svg{opacity:1}.resources-planning-table{scrollbar-width:thin}.resources-planning-row:not(.head){transition:background .14s}.resources-planning-row:not(.head):hover{background:var(--surface-soft)}.resources-planning-row>span{font-variant-numeric:tabular-nums;border-right-color:color-mix(in srgb, var(--line) 55%, transparent)}.resources-planning-row.head{border-bottom:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));background:color-mix(in srgb, var(--ink) 7%, var(--surface));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.resources-planning-row.head>span{letter-spacing:.05em}.resources-planning-row strong{color:var(--ink);font-weight:800}.resources-planning-actions button{font-size:.68rem;font-weight:750;transition:background .15s,border-color .15s,color .15s,transform .15s}.resources-planning-actions button:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--control-bg))}.resources-planning-actions button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.resources-planning-actions button.subtle{color:var(--muted);background:0 0;border-color:#0000}.resources-planning-actions button.subtle:hover{background:var(--surface-soft);color:var(--ink)}.resources-planning-actions button.danger{color:var(--danger)}.resources-planning-actions button.danger:hover{border-color:color-mix(in srgb, var(--danger) 55%, var(--line));background:var(--danger-soft)}.resources-planning-actions .material-plan-checkbox{align-items:center;margin-right:2px;display:inline-flex}.resources-services-status-filter{margin-bottom:2px}.resource-timeline-head{border-bottom:1px solid color-mix(in srgb, var(--accent) 20%, var(--line));background:color-mix(in srgb, var(--ink) 7%, var(--surface));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.resource-timeline-row{transition:background .14s}.resource-timeline-row:hover{background:var(--surface-soft)}.resource-timeline-row>strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:800;overflow:hidden}.resource-timeline-track{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 8%, transparent) 0 1px, transparent 1px 28px), var(--surface-soft)}.resource-timeline-bar{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent));color:#fff;height:23px;font-weight:750;transition:transform .14s,box-shadow .14s,filter .14s;box-shadow:0 4px 12px -7px #1a1a1dcc}.resource-timeline-bar:hover{filter:brightness(1.1)}.resource-timeline-bar.service{background:color-mix(in srgb, var(--accent) 14%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--ink);box-shadow:none}.resource-timeline-bar.conflict{background:var(--danger);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb, var(--danger) 45%, transparent)}.work-plan-layout .surface-card:hover,.work-plan-layout.surface-card:hover{transform:none!important}.critical-path-detail-panel,.critical-edge-popover,.critical-dependency-confirm{z-index:13}.app-shell[data-theme=dark] .critical-path-detail-panel{background:#16171c;border-color:#ffffff1a;box-shadow:0 24px 60px #00000080}.app-shell[data-theme=dark] .critical-path-detail-panel dl div{border-bottom-color:#ffffff1a}.app-shell[data-theme=dark] .critical-edge-popover,.app-shell[data-theme=dark] .critical-dependency-confirm{background:#16171c;border-color:#ffffff1a;box-shadow:0 18px 42px #00000080}.app-shell[data-theme=dark] .critical-edge-popover button,.app-shell[data-theme=dark] .critical-dependency-confirm button{color:var(--ink);background:#ffffff0f;border-color:#ffffff1f}.app-shell[data-theme=dark] .critical-relation-picker button.active,.app-shell[data-theme=dark] .critical-dependency-actions button:nth-child(2){background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-display-cell.duration,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-display-cell.lag,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-display-cell.relation{color:var(--ink);background:#ffffff0f;border-color:#ffffff1f}.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-display-cell:hover,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-display-cell:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, #ffffff1f);background:#ffffff1a}.app-shell[data-theme=dark] .icon-delete-button,.app-shell[data-theme=dark] .work-schedule-level-row .work-level-actions button.danger{border-color:color-mix(in srgb, var(--danger) 32%, transparent);background:var(--danger-soft);color:var(--danger)}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span{text-align:center}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(2){text-align:left}.work-schedule-board.advanced-gantt-board .work-schedule-left-head{padding-left:14px;padding-right:14px}.procurement-builder-backdrop{background:#060609b8}.procurement-builder-panel{background:var(--panel);border-color:var(--line)}:root[data-theme=dark] .procurement-builder-panel,.app-shell[data-theme=dark] .procurement-builder-panel{background:#16171c;border-color:#ffffff1a;box-shadow:-28px 0 80px #0000008c}.procurement-builder-panel header{background:radial-gradient(130% 170% at 100% 0%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 56%);padding:18px 20px 16px}.app-shell[data-theme] .procurement-builder-panel header .eyebrow,:root[data-theme] .procurement-builder-panel header .eyebrow{color:var(--accent)}.procurement-builder-panel header h3{letter-spacing:-.01em;font-size:1.15rem;font-weight:800}.procurement-builder-panel header>div>p:last-child{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.76rem;font-weight:700}.procurement-builder-panel header button{border:1px solid var(--line);background:var(--control-bg);color:var(--muted);border-radius:10px;flex:none;font-weight:750;transition:background .15s,color .15s,border-color .15s}.procurement-builder-panel header button:hover{background:var(--surface-soft);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--ink)}.procurement-stepper{align-items:center;gap:0;padding:16px 20px}.procurement-step{min-width:0;min-height:auto;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1 1 0;align-items:center;gap:8px;padding:0;font-size:.76rem;font-weight:750;display:inline-flex}.procurement-step:not(:last-child):after{content:"";background:var(--line);border-radius:999px;flex:1;height:2px;margin-left:4px;transition:background .22s}.procurement-step.done:after{background:color-mix(in srgb, var(--accent) 60%, transparent)}.procurement-step-dot{border:1.5px solid var(--line);background:var(--control-bg);width:26px;height:26px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;font-size:.78rem;font-weight:800;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-grid}.procurement-step-dot svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.procurement-step-label{text-overflow:ellipsis;overflow:hidden}.procurement-step.active .procurement-step-dot{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent)}.procurement-step.active .procurement-step-label{color:var(--ink)}.procurement-step.done .procurement-step-dot{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.procurement-step:disabled{cursor:not-allowed}.procurement-step:focus-visible{outline:none}.procurement-step:focus-visible .procurement-step-dot{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.procurement-builder-body{padding:20px}.procurement-builder-section input,.procurement-builder-section textarea,.procurement-builder-section .ui-select,.quick-vendor-form input{transition:border-color .15s,box-shadow .15s}.procurement-builder-section input:focus,.procurement-builder-section textarea:focus,.procurement-builder-section .ui-select:focus,.quick-vendor-form input:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.procurement-builder-section input[readonly]{color:var(--muted);cursor:default}.vendor-choice-list button{transition:border-color .15s,background .15s}:root[data-theme=dark] .vendor-choice-list button,.app-shell[data-theme=dark] .vendor-choice-list button{color:var(--ink);background:#ffffff0a;border-color:#ffffff1a}:root[data-theme=dark] .vendor-choice-list button.active,.app-shell[data-theme=dark] .vendor-choice-list button.active{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 12%, transparent)}:root[data-theme=dark] .quick-vendor-form,.app-shell[data-theme=dark] .quick-vendor-form{background:#ffffff08;border-color:#ffffff1f}.procurement-builder-loading{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--ink);background:#101116bd}:root[data-theme=dark] .procurement-builder-loading .procurement-button-spinner,.app-shell[data-theme=dark] .procurement-builder-loading .procurement-button-spinner{color:#fff}.procurement-builder-panel footer{gap:10px;padding:14px 20px}@media (max-width:560px){.procurement-step-label{display:none}}.procurement-review{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:0;padding:4px 14px;display:grid}.procurement-review-title{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0;padding:10px 0 8px;font-size:.64rem;font-weight:850}.procurement-review-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:7px 0;display:flex}.procurement-review-row>span{color:var(--muted);flex:none;font-size:.74rem;font-weight:700}.procurement-review-row>strong{color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:750;overflow:hidden}.procurement-total-box{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:1fr;gap:0;padding:4px 14px 10px;display:grid}.procurement-total-row{justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.procurement-total-row>span{color:var(--muted);font-size:.78rem;font-weight:700}.procurement-total-row>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:750}.procurement-total-row.grand{border-top:1.5px solid color-mix(in srgb, var(--accent) 32%, var(--line));margin-top:4px;padding-top:13px}.procurement-total-row.grand>strong{color:var(--accent);font-size:1.2rem;font-weight:850}.procurement-summary-strip{flex-wrap:wrap;gap:8px;display:flex}.procurement-summary-chip{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.84rem;font-weight:650;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.procurement-summary-chip strong{color:var(--ink);font-size:.98rem;font-weight:800}.procurement-summary-chip:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}.procurement-summary-chip.active{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent) 9%, var(--card));color:var(--ink)}.procurement-summary-chip.is-accent strong{color:var(--accent)}.procurement-summary-chip.cart-chip{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--card));color:var(--ink);margin-left:auto}.procurement-shop{gap:12px;display:grid}.procurement-shop-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.procurement-shop-head h4{margin:2px 0 0;font-size:1.05rem}.procurement-shop-list{gap:8px;display:grid}.procurement-shop-row{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-columns:minmax(0,1.6fr) auto minmax(0,1.1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.procurement-shop-row.is-in-cart{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--card))}.procurement-shop-main{gap:2px;min-width:0;display:grid}.procurement-shop-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.procurement-shop-main small{color:var(--muted);font-size:.76rem}.procurement-shop-qty{white-space:nowrap;align-items:baseline;gap:4px;display:flex}.procurement-shop-qty strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.96rem}.procurement-shop-qty span{color:var(--muted);font-size:.78rem}.procurement-shop-vendor{text-align:right;gap:1px;min-width:0;display:grid}.procurement-shop-vendor span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.procurement-shop-vendor strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.84rem}.procurement-shop-add{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent);min-height:38px;color:var(--accent-foreground);cursor:pointer;border-radius:999px;padding:0 18px;font-size:.84rem;font-weight:700;transition:filter .15s,background .15s}.procurement-shop-add:hover{filter:brightness(1.05)}.procurement-shop-add.is-added{background:color-mix(in srgb, var(--accent) 12%, var(--card));color:var(--accent)}.procurement-cart-bar{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--card);box-shadow:var(--shadow-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:12px 16px;display:flex;position:sticky;bottom:12px}.procurement-cart-bar strong{color:var(--ink);font-variant-numeric:tabular-nums}.procurement-checkout-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.procurement-cart,.procurement-checkout-side{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;padding:16px}.procurement-cart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.procurement-cart-head h4{margin:0;font-size:1rem}.procurement-checkout-side{gap:10px;display:grid;position:sticky;top:84px}.procurement-checkout-side .eyebrow{margin:0}.procurement-vendor-search{border:1px solid var(--line);background:var(--control-bg);min-height:40px;color:var(--text);border-radius:12px;padding:0 12px}.procurement-checkout-side .vendor-choice-list{max-height:220px}.procurement-compare-disclosure{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:8px 12px}.procurement-compare-disclosure summary{cursor:pointer;color:var(--ink);font-size:.82rem;font-weight:650}.procurement-compare-disclosure .supplier-compare-list{margin-top:8px}.procurement-checkout-side .procurement-total-box{margin-top:4px}.procurement-checkout-side>.shell-button{width:100%}.procurement-total-box .procurement-total-row>span{background:0 0;border:0;border-radius:0;padding:0;display:block}.procurement-invoice{gap:14px;display:grid}.procurement-invoice-banner{border:1px solid color-mix(in srgb, var(--success,#16a34a) 32%, var(--line));background:color-mix(in srgb, var(--success,#16a34a) 9%, var(--card));border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.procurement-invoice-check{background:var(--success,#16a34a);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:inline-flex}.procurement-invoice-banner strong{color:var(--ink);display:block}.procurement-invoice-banner span{color:var(--muted);font-size:.84rem}.procurement-invoice-doc{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;padding:20px}.procurement-invoice-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.procurement-invoice-head h2{letter-spacing:-.01em;margin:2px 0;font-size:1.3rem}.procurement-invoice-head small{color:var(--muted)}.procurement-invoice-parties{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0;display:grid}.procurement-invoice-parties>div{gap:2px;display:grid}.procurement-invoice-parties strong{color:var(--ink);font-size:.95rem}.procurement-invoice-parties span{color:var(--muted);font-size:.82rem}.procurement-invoice-table{margin-top:4px}.procurement-invoice-spec{color:var(--muted);font-size:.75rem;display:block}.procurement-invoice-totals{justify-content:flex-end;margin-top:14px;display:flex}.procurement-invoice-totals .procurement-total-box{width:min(340px,100%)}.procurement-invoice-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.procurement-flow-empty{text-align:center;justify-items:center;gap:10px;padding:48px 28px 44px;display:grid}.procurement-flow-empty-icon{width:60px;height:60px;color:var(--ink);background:var(--neutral-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.procurement-flow-empty .eyebrow{color:var(--muted)}.procurement-flow-empty h4{letter-spacing:-.01em;color:var(--ink);margin:2px 0 0;font-size:1.25rem;font-weight:600}.procurement-flow-empty p{max-width:400px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.procurement-flow-empty .procurement-flow-empty-note{color:var(--ink);font-weight:600}.procurement-flow-empty .shell-button{margin-top:12px}.procurement-empty{border:1px dashed var(--line);background:var(--surface-soft);border-radius:16px;justify-items:start;gap:6px;padding:22px;display:grid}.procurement-empty strong{color:var(--ink);font-size:.95rem}.procurement-empty span{color:var(--muted);font-size:.84rem}@media (max-width:900px){.procurement-checkout-grid{grid-template-columns:1fr}.procurement-checkout-side{position:static}.procurement-invoice-parties{grid-template-columns:1fr}}@media (max-width:640px){.procurement-shop-row{grid-template-columns:1fr auto;grid-template-areas:"main add""qty add""vendor add";row-gap:6px}.procurement-shop-main{grid-area:main}.procurement-shop-qty{grid-area:qty}.procurement-shop-vendor{text-align:left;grid-area:vendor}.procurement-shop-add{grid-area:add;align-self:center}.procurement-invoice-actions{justify-content:stretch}.procurement-invoice-actions>*{flex:1}}.procurement-callout{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--muted);border-radius:12px;margin:0;padding:12px 14px;font-size:.76rem;font-weight:600;line-height:1.5}.procurement-callout strong{color:var(--accent);font-weight:800}.app-shell[data-theme=dark] .boq-template-list-panel,.app-shell[data-theme=dark] .boq-template-preview-panel,.app-shell[data-theme=dark] .boq-template-calculation-box,.app-shell[data-theme=dark] .boq-template-control-group,.app-shell[data-theme=dark] .boq-template-accordion-row{background:#ffffff08;border-color:#ffffff17}.app-shell[data-theme=dark] .boq-template-list-item:hover,.app-shell[data-theme=dark] .boq-template-list-item.active{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--accent) 13%, transparent)}.app-shell[data-theme=dark] .boq-template-preview-meta span,.app-shell[data-theme=dark] .boq-template-parameter-chips span{color:var(--muted);background:#ffffff0f}.app-shell[data-theme=dark] .boq-template-control-field,.app-shell[data-theme=dark] .boq-add-modal .boq-template-library-toolbar>input,.app-shell[data-theme=dark] .boq-add-modal .ui-select,.app-shell[data-theme=dark] .boq-add-modal input,.app-shell[data-theme=dark] .boq-add-modal select,.app-shell[data-theme=dark] .boq-add-modal textarea{color:var(--ink);background-color:#ffffff0f;border-color:#ffffff1f}.app-shell[data-theme=dark] .boq-quantity-source-toggle{background:#ffffff0d;border-color:#ffffff1a}.app-shell[data-theme=dark] .boq-add-modal .create-custom-template-button,.app-shell[data-theme=dark] .boq-add-modal .drawing-upload-close,.app-shell[data-theme=dark] .boq-add-modal .shell-button,.app-shell[data-theme=dark] .boq-template-toggle-button,.app-shell[data-theme=dark] .boq-parameter-takeoff-button{color:var(--ink);background:#ffffff0f;border-color:#ffffff1f}.app-shell[data-theme=dark] .boq-add-modal .create-custom-template-button:hover,.app-shell[data-theme=dark] .boq-add-modal .drawing-upload-close:hover,.app-shell[data-theme=dark] .boq-template-toggle-button:hover,.app-shell[data-theme=dark] .boq-parameter-takeoff-button:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.app-shell[data-theme=dark] .boq-modal-drawing-preview,.app-shell[data-theme=dark] .boq-template-drawing-preview{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), #14151a;border-color:#ffffff1a}.app-shell[data-theme=dark] .boq-template-drawing-icon{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:#ffffff0d}.app-shell[data-theme=dark] .boq-modal-drawing-preview-canvas{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent) 25%, transparent 25%) 0 0 / 22px 22px, linear-gradient(135deg, transparent 75%, color-mix(in srgb, var(--accent) 12%, transparent) 75%) 0 0 / 22px 22px, #15161b;border-color:color-mix(in srgb, var(--accent) 24%, transparent)}.app-shell[data-theme=dark] .boq-modal-drawing-preview-canvas span{border-color:color-mix(in srgb, var(--accent) 42%, transparent);background:#ffffff0f}.app-shell[data-theme=dark] .structure-preview-svg text,.app-shell[data-theme=dark] .structure-preview-dim-label,.app-shell[data-theme=dark] .structure-preview-note,.app-shell[data-theme=dark] .structure-preview-note.footing-note,.app-shell[data-theme=dark] .structure-preview-note.column-note,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-view-title,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-view-title.column-title{fill:#e4e9f0eb}.app-shell[data-theme=dark] .structure-preview-card,.app-shell[data-theme=dark] .structure-preview-card.footing-detail-card,.app-shell[data-theme=dark] .structure-preview-subpanel,.app-shell[data-theme=dark] .structure-preview-subpanel.column-subpanel{fill:#ffffff09;stroke:#7d91af8c}.app-shell[data-theme=dark] .structure-preview-concrete,.app-shell[data-theme=dark] .structure-preview-concrete.stroke-only,.app-shell[data-theme=dark] .structure-preview-column-concrete,.app-shell[data-theme=dark] .structure-preview-column-elevation,.app-shell[data-theme=dark] .footing-plan-outline,.app-shell[data-theme=dark] .footing-section-concrete{fill:#a0aec024;stroke:#b8c5d6d9}.app-shell[data-theme=dark] .structure-preview-extension{stroke:#94a3b880}.app-shell[data-theme=dark] .structure-preview-dim,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-dimension{stroke:#a0aec0d1}.app-shell[data-theme=dark] .structure-preview-stirrup-line,.app-shell[data-theme=dark] .structure-preview-stirrup-box,.app-shell[data-theme=dark] .structure-preview-column-stirrup,.app-shell[data-theme=dark] .structure-preview-member{stroke:#cbd5e1d1}.app-shell[data-theme=dark] .structure-preview-pedestal,.app-shell[data-theme=dark] .tapered-footing-pedestal-plan,.app-shell[data-theme=dark] .tapered-footing-pedestal-section{fill:#ffffff0d;stroke:#b8c5d68c}.app-shell[data-theme=dark] .tapered-footing-top-outline{fill:#ffffff0a;stroke:#94a3b880}.app-shell[data-theme=dark] .structure-preview-lean,.app-shell[data-theme=dark] .footing-section-lean{fill:#cbd5e121;stroke:#94a3b880}.app-shell[data-theme=dark] .structure-preview-cutout{fill:#14151af5;stroke:#94a3b873}.app-shell[data-theme=dark] .structure-preview-connector{fill:#cbd5e11f;stroke:#94a3b88c}.app-shell[data-theme=dark] .structure-preview-steel{stroke:#b0bed2d1}.app-shell[data-theme=dark] .structure-preview-bar-dot,.app-shell[data-theme=dark] .structure-preview-column-bar{stroke:#14151aeb}.app-shell[data-theme=dark] .boq-live-preview-panel.structure-template-preview svg{background:linear-gradient(135deg,#15161b,#101116)}.app-shell[data-theme=dark] .boq-live-preview-panel .earthwork-section-cut,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-view-frame,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-view-frame.footing-card,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-column-core,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-beam-core,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-generic-block{fill:#ffffff09;stroke:#7d91af80}.app-shell[data-theme=dark] .boq-live-preview-panel .preview-top{fill:#a0b2cd33;stroke:#b0bed2b3}.app-shell[data-theme=dark] .boq-live-preview-panel .preview-side,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-section-concrete{fill:#8294af29;stroke:#b0bed2b3}.app-shell[data-theme=dark] .boq-live-preview-panel .preview-front{fill:#6e809b21;stroke:#b0bed2b3}.app-shell[data-theme=dark] .boq-live-preview-panel .earthwork-layer-line,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-hidden-line{stroke:#94a3b880}.app-shell[data-theme=dark] .boq-live-preview-panel .preview-stirrup{stroke:#cbd5e1c7}.app-shell[data-theme=dark] .boq-live-preview-panel .preview-longitudinal-bar{fill:#e2e8f0eb;stroke:#14151ad1}.app-shell[data-theme=dark] .structure-preview-bar-dot,.app-shell[data-theme=dark] .structure-preview-column-bar,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-section-bar.bottom{fill:var(--accent)}.app-shell[data-theme=dark] .structure-preview-rebar-blue,.app-shell[data-theme=dark] .structure-preview-column-mainbar,.app-shell[data-theme=dark] .footing-preview-rebar.bottom,.app-shell[data-theme=dark] .footing-preview-hook.bottom,.app-shell[data-theme=dark] .boq-live-preview-panel .preview-rebar.bottom{stroke:var(--accent)}.app-shell[data-theme=dark] .structure-preview-timber{fill:#b48c5a33;stroke:#d2aa78b3}.app-shell[data-theme=dark] .boq-live-preview-metrics.earthwork-summary span{color:#7de08a;background:#7de08a21}.preview-lean-dot{fill:#78767399}.preview-soil-line{stroke:#96826480;stroke-width:1px}.footing-soil{fill:url(#soilHatchPattern)}.footing-lean-dots{fill:url(#leanDotsPattern);stroke:none}.footing-ground-line{stroke:#786448b8;stroke-width:1.4px}.footing-formwork{fill:none;stroke:#141417d1;stroke-width:3.4px;stroke-linecap:round}.footing-formwork-plan{stroke:#141417c7;stroke-width:3px}.footing-legend-label{fill:#141417b8;font-size:9px;font-weight:700}.app-shell[data-theme=dark] .preview-lean-dot{fill:#b8bec89e}.app-shell[data-theme=dark] .preview-soil-line{stroke:#a0917873}.app-shell[data-theme=dark] .footing-ground-line{stroke:#aa967899}.app-shell[data-theme=dark] .footing-formwork,.app-shell[data-theme=dark] .footing-formwork-plan{stroke:#e4e9f0e6}.app-shell[data-theme=dark] .footing-legend-label{fill:#d2d8e0db}.app-shell[data-theme=dark] .boq-quantity-source-toggle button.active{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--ink)}.structure-preview-steel-plate{fill:#96aac66b;stroke:#233042d1;stroke-linejoin:round;stroke-width:1.5px}.structure-preview-bolt{fill:#334155eb;stroke:#ffffffe6;stroke-width:1px}.structure-preview-bolt-line{fill:none;stroke:#233042b8;stroke-linecap:round;stroke-width:2px}.structure-preview-grout{fill:#96949157;stroke:#4755696b;stroke-dasharray:2 2;stroke-width:.8px}.structure-preview-weld{fill:#1a1a1dd1;stroke:none}.structure-preview-deck{fill:none;stroke:#233042d1;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.structure-preview-grain{fill:none;stroke:#7848206b;stroke-linecap:round;stroke-width:1px}.structure-preview-timber-line{fill:none;stroke:#784820b8;stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.structure-preview-timber-line.thin{stroke-width:3px}.structure-preview-block{fill:#c4a88a52;stroke:#785a3c9e;stroke-linejoin:round;stroke-width:1.3px}.structure-preview-stone{fill:#8c909657;stroke:#3c424ab8;stroke-linejoin:round;stroke-width:1.6px}.structure-preview-stone-line{fill:none;stroke:#3c424a80;stroke-linecap:round;stroke-width:1px}.structure-preview-track{fill:#cadaf0b3;stroke:#233042b3;stroke-linejoin:round;stroke-width:1.3px}.app-shell[data-theme=dark] .structure-preview-steel-plate{fill:#96aac833;stroke:#b0bed2d1}.app-shell[data-theme=dark] .structure-preview-bolt{fill:#b8c6daf0;stroke:#14151ae6}.app-shell[data-theme=dark] .structure-preview-bolt-line{stroke:#b0bed2b8}.app-shell[data-theme=dark] .structure-preview-grout{fill:#a0a8b438;stroke:#a0aec080}.app-shell[data-theme=dark] .structure-preview-weld{fill:var(--accent)}.app-shell[data-theme=dark] .structure-preview-deck{stroke:#b8c5d6d9}.app-shell[data-theme=dark] .structure-preview-grain{stroke:#d4ac7a80}.app-shell[data-theme=dark] .structure-preview-timber-line{stroke:#d4ac7ab8}.app-shell[data-theme=dark] .structure-preview-block{fill:#cab0962e;stroke:#d4b6969e}.app-shell[data-theme=dark] .structure-preview-stone{fill:#acb4c029;stroke:#c0cad8b8}.app-shell[data-theme=dark] .structure-preview-stone-line{stroke:#c0cad880}.app-shell[data-theme=dark] .structure-preview-track{fill:#96aac82e;stroke:#b0bed2cc}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .pin-label,.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-copy{opacity:0;white-space:nowrap;pointer-events:none;width:0;max-width:0;margin:0;padding:0;overflow:hidden}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item,.app-shell.sidebar-collapsed .sidebar:not(:hover) .collapse-toggle,.app-shell.sidebar-collapsed .sidebar:not(:hover) .brand-lockup,.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-bottom .sidebar-item{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-shell.sidebar-collapsed .sidebar:hover{width:248px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] select,:root[data-theme=dark] .ui-select{accent-color:var(--accent)}:root[data-theme=dark] option,:root[data-theme=dark] select option,:root[data-theme=dark] optgroup{color:#f4f4f5;background-color:#1b1c21}:root[data-theme=dark] option:checked{background-color:#2b2c33}.cat-preview-masonry{fill:#cdbb9c}.cat-preview-finish{fill:#e7e2d6;stroke:#78829680;stroke-width:1px}.cat-preview-paint{fill:#1a1a1d8c}.cat-preview-pipe-run{stroke:#64748b;stroke-width:8px;stroke-linecap:round;fill:none}.cat-preview-fixture{fill:#f1f5f9;stroke:#78829699;stroke-width:1.4px}.cat-preview-paving{fill:#b8bfc8;stroke:#78829680;stroke-width:1px}.cat-preview-plant{fill:#4ea36a}.cat-preview-plant-stem{stroke:#6b5132;stroke-width:5px;stroke-linecap:round}.cat-preview-floor{fill:#b48a5e}.cat-preview-fence{stroke:#8a6e4a;stroke-width:3px;stroke-linecap:round}.cat-preview-temp{fill:#e7e2d6;stroke:#78829699;stroke-width:1.4px}.cat-preview-temp-roof{stroke:#475569;stroke-width:3px;stroke-linecap:round}.cat-preview-safety{fill:#d4503a;stroke:#d4503a;stroke-width:1px}.cat-preview-warn{fill:#f3b53b;stroke:#6e501480;stroke-width:1px}.cat-preview-rubble{fill:#c8b89c;stroke:#78644680;stroke-width:1px}.cat-preview-string{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 3;fill:none}.cat-preview-frame{stroke:#475569;stroke-width:2.4px;stroke-linecap:round;fill:none}.cat-preview-glass{fill:#78aac859;stroke:#506e8c99;stroke-width:1.2px}.cat-preview-fitting{fill:#76828f;stroke:#59626e;stroke-width:1px}:root[data-theme=dark] .cat-preview-fitting{fill:#8c99a8;stroke:#cbd5e1b3}.category-template-preview .preview-view-title,.category-template-preview .earthwork-inner-label,.category-template-preview .earthwork-note,.category-template-preview .footing-legend-label{paint-order:stroke;stroke:#080b12e6;stroke-width:3px;stroke-linejoin:round}:root[data-theme=dark] .cat-preview-safety{fill:#ff6a52}:root[data-theme=dark] .cat-preview-warn{fill:#e6b243}:root[data-theme=dark] .cat-preview-rubble{fill:#c8b89c80}:root[data-theme=dark] .cat-preview-string{stroke:#ff7a63}:root[data-theme=dark] .cat-preview-frame{stroke:#cbd5e1cc}:root[data-theme=dark] .cat-preview-glass{fill:#78aac840;stroke:#96b4d28c}.earthwork-swatch.is-warn{fill:#f3b53b}.earthwork-swatch.is-safety{fill:#d4503a}.earthwork-swatch.is-rubble{fill:#c8b89c}.earthwork-swatch.is-masonry{fill:#cdbb9c}.earthwork-swatch.is-finish{fill:#e7e2d6}.earthwork-swatch.is-paint{fill:#1a1a1d8c}.earthwork-swatch.is-fitting{fill:#64748b}.earthwork-swatch.is-fixture{fill:#f1f5f9}.earthwork-swatch.is-paving{fill:#b8bfc8}.earthwork-swatch.is-plant{fill:#4ea36a}.earthwork-swatch.is-floor{fill:#b48a5e}.earthwork-swatch.is-temp{fill:#e7e2d6}.earthwork-swatch.is-fence{fill:#8a6e4a}.earthwork-soil-base{fill:#efe6d6}.earthwork-soil-hatch{fill:url(#ewSoil)}.earthwork-soil-line{stroke:#8c6e4680;stroke-width:1px}.earthwork-void{fill:#f8fafc;stroke:#7882968c;stroke-width:1.4px}.earthwork-ground-line{stroke:var(--muted);stroke-width:2.6px;stroke-linecap:round;fill:none}.earthwork-base-line{stroke:#475569;stroke-width:2px;stroke-dasharray:6 4;fill:none}.earthwork-note{fill:#475569;font-size:11px;font-weight:800}.earthwork-inner-label{fill:#64748b;font-size:11px;font-weight:700}.earthwork-water-note{fill:#2563eb;font-size:11px;font-weight:800}.earthwork-pump-label{fill:#fff;font-size:10px;font-weight:800}.earthwork-fill-layer{fill:#b4966447;stroke:#8c6e4673;stroke-width:1px}.earthwork-fill-layer.alt{fill:#b4966429}.earthwork-compact-arrow,.earthwork-flow{stroke:#475569;stroke-width:2px;fill:none}.earthwork-discharge{stroke:#2563eb;stroke-width:2.4px;fill:none}.earthwork-arrow-head{fill:#475569}.earthwork-sand{fill:url(#ewSand);stroke:#b4965a80;stroke-width:1px}.earthwork-sand-dot{fill:#aa823cd9}.earthwork-pipe{fill:#94a3b859;stroke:#475569;stroke-width:2px}.earthwork-pipe-bore{fill:#f8fafc;stroke:#78829680;stroke-width:1px}.earthwork-water{fill:#3b82f647}.earthwork-watertable{stroke:#2563eb;stroke-width:2px;stroke-dasharray:7 4;fill:none}.earthwork-pump{fill:var(--accent,var(--accent));stroke:#0003;stroke-width:1px}.earthwork-swatch{stroke:#00000026;stroke-width:1px}.earthwork-swatch.is-soil{fill:#d8c4a0}.earthwork-swatch.is-void{fill:#f1f5f9}.earthwork-swatch.is-fill{fill:#b4966473}.earthwork-swatch.is-sand{fill:#e8d59a}.earthwork-swatch.is-pipe{fill:#94a3b880}.earthwork-swatch.is-water{fill:#3b82f680}.earthwork-swatch.is-pump{fill:var(--accent,var(--accent))}.earthwork-swatch.is-arrow{fill:#94a3b8}:root[data-theme=dark] .earthwork-template-preview svg{background:linear-gradient(135deg,#15161b,#101116)}:root[data-theme=dark] .earthwork-soil-base{fill:#b8986629}:root[data-theme=dark] .earthwork-soil-line{stroke:#ceb88e6b}:root[data-theme=dark] .earthwork-void{fill:#0000004d;stroke:#b0bed280}:root[data-theme=dark] .earthwork-ground-line{stroke:#e2e8f0d9}:root[data-theme=dark] .earthwork-base-line{stroke:#b0bed299}:root[data-theme=dark] .earthwork-note{fill:#e2e8f0d1}:root[data-theme=dark] .earthwork-inner-label{fill:#94a3b8d9}:root[data-theme=dark] .earthwork-water-note{fill:#7eb3ff}:root[data-theme=dark] .earthwork-pump-label{fill:#fff}:root[data-theme=dark] .earthwork-fill-layer{fill:#b898663d;stroke:#ceb88e59}:root[data-theme=dark] .earthwork-fill-layer.alt{fill:#b8986621}:root[data-theme=dark] .earthwork-compact-arrow,:root[data-theme=dark] .earthwork-flow{stroke:#cbd5e1cc}:root[data-theme=dark] .earthwork-arrow-head{fill:#cbd5e1d9}:root[data-theme=dark] .earthwork-discharge{stroke:#7eb3ff}:root[data-theme=dark] .earthwork-sand-dot{fill:#d6bc78d9}:root[data-theme=dark] .earthwork-sand{stroke:#d6bc7866}:root[data-theme=dark] .earthwork-pipe{fill:#94a3b833;stroke:#cbd5e1b3}:root[data-theme=dark] .earthwork-pipe-bore{fill:#0000004d;stroke:#b0bed266}:root[data-theme=dark] .earthwork-water{fill:#5b9bd552}:root[data-theme=dark] .earthwork-watertable{stroke:#5b9bd5}:root[data-theme=dark] .earthwork-pump{fill:var(--accent);stroke:#0000004d}:root[data-theme=dark] .earthwork-swatch.is-soil{fill:#b8986680}:root[data-theme=dark] .earthwork-swatch.is-void{fill:#ffffff1f}:root[data-theme=dark] .earthwork-swatch.is-fill{fill:#b8986666}:root[data-theme=dark] .earthwork-swatch.is-sand{fill:#d6bc788c}:root[data-theme=dark] .earthwork-swatch.is-pipe{fill:#94a3b873}:root[data-theme=dark] .earthwork-swatch.is-water{fill:#5b9bd58c}:root[data-theme=dark] .earthwork-swatch.is-pump{fill:var(--accent)}:root[data-theme=dark] .earthwork-swatch.is-arrow{fill:#cbd5e1b3}:root[data-theme=dark] .earthwork-template-preview .structure-preview-dim{stroke:#94a3b8b3}:root[data-theme=dark] .earthwork-template-preview .structure-preview-dim-label,:root[data-theme=dark] .earthwork-template-preview .footing-legend-label{fill:#e2e8f0d9}:root[data-theme=dark] .work-schedule-board .work-schedule-level-row,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-level-row,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-level-row,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-level-row{border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--accent);background:#ffffff0d}:root[data-theme=dark] .work-schedule-level-row strong,.app-shell[data-theme=dark] .work-schedule-level-row strong{color:#fff}:root[data-theme=dark] .work-schedule-level-row>div:first-child>span,.app-shell[data-theme=dark] .work-schedule-level-row>div:first-child>span{color:#9a9a9a}:root[data-theme=dark] .work-schedule-board .work-schedule-fixed-row,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-fixed-row,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{border-color:var(--line-strong);background:#ffffff0e}:root[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.summary-row,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.summary-row,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.summary-row,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.summary-row{background:#ffffff14;border-color:#ffffff26}:root[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.child,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.child,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.child{border-color:var(--line);background:#ffffff06}:root[data-theme=dark] .work-schedule-board .work-schedule-fixed-row:hover,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-fixed-row:hover,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row:hover,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row:hover{background:#ffffff17;border-color:#fff3;box-shadow:0 8px 24px #0006}:root[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.selected,.app-shell[data-theme=dark] .work-schedule-board .work-schedule-fixed-row.selected,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.selected,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .work-schedule-fixed-row.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent), 0 10px 26px #00000073;background:#1a1a1d1a}:root[data-theme=dark] .work-schedule-board .schedule-wbs-cell,.app-shell[data-theme=dark] .work-schedule-board .schedule-wbs-cell{font-variant-numeric:tabular-nums}:root[data-theme=dark] .work-schedule-board .schedule-wbs-cell.summary,.app-shell[data-theme=dark] .work-schedule-board .schedule-wbs-cell.summary,:root[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-wbs-cell.summary,.app-shell[data-theme=dark] .work-schedule-board.advanced-gantt-board .schedule-wbs-cell.summary{color:#fff;background:#ffffff1a;border-color:#ffffff2e;font-weight:700}:root[data-theme=dark] .add-sub-breakdown-button,.app-shell[data-theme=dark] .add-sub-breakdown-button{border-color:var(--accent);color:var(--accent);background:#1a1a1d0f}:root[data-theme=dark] .add-sub-breakdown-button:hover,.app-shell[data-theme=dark] .add-sub-breakdown-button:hover{border-color:var(--accent);background:#1a1a1d21}.settings-subnav button:hover{background:var(--surface-soft);color:var(--ink);transform:none}.settings-subnav button.active{border-color:color-mix(in srgb, var(--accent) 26%, transparent);background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.settings-subnav button.active small,.settings-panel-head .eyebrow,:root[data-theme=dark] .settings-panel-head .eyebrow,.app-shell[data-theme=dark] .settings-panel-head .eyebrow{color:var(--accent)}.settings-center input:focus-visible,.settings-center select:focus-visible,.settings-center textarea:focus-visible,.settings-center button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-center input:focus,.settings-center select:focus,.settings-center textarea:focus,:root[data-theme=dark] .settings-center input:focus,:root[data-theme=dark] .settings-center select:focus,:root[data-theme=dark] .settings-center textarea:focus,.app-shell[data-theme=dark] .settings-center input:focus,.app-shell[data-theme=dark] .settings-center select:focus,.app-shell[data-theme=dark] .settings-center textarea:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.settings-center input[type=checkbox]{accent-color:var(--accent)}.settings-toggle-row,.notification-preference-row,.settings-role-row{transition:border-color .16s,background .16s}.settings-toggle-row:hover,.notification-preference-row:hover,.settings-role-row:hover{border-color:var(--line-strong)}.daily-log-delete-btn{border-color:color-mix(in srgb, var(--danger) 32%, transparent);color:var(--danger)}.daily-log-delete-btn:hover{border-color:color-mix(in srgb, var(--danger) 52%, transparent);background:var(--danger-soft)}.material-request-timeline{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px;padding-top:10px;display:grid}.material-timeline-step{justify-items:center;gap:5px;min-width:0;display:grid;position:relative}.material-timeline-step i{background:var(--line-strong);z-index:1;border-radius:999px;width:9px;height:9px}.material-timeline-step:before{content:"";background:var(--line);width:100%;height:2px;position:absolute;top:4px;left:-50%}.material-timeline-step:first-child:before{display:none}.material-timeline-step small{letter-spacing:.01em;color:var(--muted);text-align:center;white-space:nowrap;font-size:.62rem;font-weight:700;line-height:1}.material-timeline-step.is-reached i,.material-timeline-step.is-reached:before{background:var(--accent)}.material-timeline-step.is-reached small{color:var(--text)}.material-timeline-step.is-current i{box-shadow:0 0 0 3px var(--accent-soft)}.material-timeline-step.is-current small{color:var(--accent)}.material-request-timeline.is-cancelled{display:block}.material-request-timeline.is-cancelled span{letter-spacing:.04em;text-transform:uppercase;color:var(--danger,#ef4444);font-size:.66rem;font-weight:800}.material-request-order-btn{appearance:none;border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:var(--accent-soft);width:fit-content;max-width:100%;min-height:30px;color:var(--accent);font:inherit;letter-spacing:.01em;cursor:pointer;border-radius:999px;justify-content:center;place-self:start;align-items:center;gap:6px;margin-top:10px;padding:0 13px;font-size:.74rem;font-weight:800;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.material-request-order-btn svg{width:14px;height:14px}.material-request-order-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);transform:translate(1px)}.supplier-compare{border:1px solid var(--line);background:var(--surface-soft,#ffffff0a);border-radius:14px;margin-top:4px;overflow:hidden}.supplier-compare-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.supplier-compare-head strong{color:var(--ink);font-size:.84rem}.supplier-compare-head span{color:var(--muted);font-size:.73rem}.supplier-compare-list{display:grid}.supplier-compare-row{appearance:none;border:0;border-top:1px solid var(--line);width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1.3fr) minmax(0,1.7fr) auto;align-items:center;gap:10px;padding:10px 12px;transition:background .14s,box-shadow .14s;display:grid}.supplier-compare-row:first-child{border-top:0}.supplier-compare-row:hover{background:var(--accent-soft)}.supplier-compare-name{min-width:0;color:var(--ink);align-items:center;gap:6px;font-size:.82rem;font-weight:700;display:inline-flex}.supplier-compare-badge{letter-spacing:.03em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:.6rem;font-style:normal;font-weight:800}.supplier-compare-meta{min-width:0;color:var(--muted);font-size:.72rem}.supplier-compare-cost{white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end;align-items:baseline;gap:6px;font-size:.84rem;font-weight:800;display:inline-flex}.supplier-compare-delta{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:700}.supplier-compare-row.is-best .supplier-compare-cost{color:var(--accent)}.supplier-compare-row.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}@media (min-width:1100px){.app-shell[data-theme] .resources-tab-panel .section-head:has(.inventory-header-actions) .eyebrow{visibility:hidden}}:root[data-theme=dark] .material-plan-filters button.active,:root[data-theme=dark] .boq-template-scope-tabs button.active,:root[data-theme=dark] .boq-template-category-tabs button.active,:root[data-theme=dark] .segmented-control button.active,:root[data-theme=dark] .notification-filter-bar button.active,.app-shell[data-theme=dark] .material-plan-filters button.active,.app-shell[data-theme=dark] .boq-template-scope-tabs button.active,.app-shell[data-theme=dark] .boq-template-category-tabs button.active,.app-shell[data-theme=dark] .segmented-control button.active,.app-shell[data-theme=dark] .notification-filter-bar button.active,:root[data-theme=dark] .asset-status-bar button.active,:root[data-theme=dark] .floor-tabs button.active,:root[data-theme=dark] .file-tab.active,.app-shell[data-theme=dark] .asset-status-bar button.active,.app-shell[data-theme=dark] .floor-tabs button.active,.app-shell[data-theme=dark] .file-tab.active{border-color:var(--accent);color:#fff;box-shadow:none;background:#1a1a1d24}:root[data-theme=dark] .notification-filter-bar button.active span,.app-shell[data-theme=dark] .notification-filter-bar button.active span{color:#fff;background:#ffffff2e}@media (max-width:768px){.app-shell .mobile-bottom-nav{z-index:90;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(150%);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #00000047}:root[data-theme=dark] .mobile-bottom-nav,.app-shell[data-theme=dark] .mobile-bottom-nav{background:#0d0d0fe6;border-top-color:#ffffff14}.app-shell:not([data-theme=dark]) .mobile-bottom-nav{background:#ffffffeb}.app-shell .mobile-bottom-nav .sidebar-item,.app-shell .mobile-bottom-nav .mobile-nav-more{width:100%;min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:7px 2px;transition:color .16s,background .16s,transform .12s;display:flex;position:relative}.app-shell .mobile-bottom-nav .sidebar-item:active,.app-shell .mobile-bottom-nav .mobile-nav-more:active{transform:scale(.93)}.app-shell .mobile-bottom-nav .sidebar-icon{place-items:center;width:24px;height:24px;display:grid}.app-shell .mobile-bottom-nav .sidebar-svg-icon{width:22px;height:22px}.app-shell .mobile-bottom-nav .sidebar-label{letter-spacing:.01em;white-space:nowrap;font-size:.62rem;font-weight:600;line-height:1;display:block}.app-shell .mobile-bottom-nav .sidebar-item.active,.app-shell .mobile-bottom-nav .mobile-nav-more.active{color:var(--accent);background:var(--accent-soft)}.app-shell .mobile-bottom-nav .sidebar-item.active .sidebar-label,.app-shell .mobile-bottom-nav .mobile-nav-more.active .sidebar-label{font-weight:700}}.app-shell .sidebar-bottom .sidebar-user.is-clickable{border-radius:12px;transition:background .15s}.app-shell .sidebar-bottom .sidebar-user.is-clickable:hover{background:var(--primary-soft)}.app-shell .sidebar-bottom .sidebar-user.is-clickable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-shell[data-theme] .ai-message.from-assistant{max-width:100%;padding:12px 14px}.ai-message-user-text{white-space:pre-wrap;margin:0}.ai-md{white-space:normal;flex-direction:column;gap:10px;font-size:.86rem;line-height:1.55;display:flex}.ai-md>:first-child{margin-top:0}.ai-md .ai-md-p{white-space:normal;margin:0}.ai-md .ai-md-h{color:var(--heading);margin:3px 0 0;font-weight:700;line-height:1.25}.ai-md h3.ai-md-h{font-size:1.02rem}.ai-md h4.ai-md-h{font-size:.92rem}.ai-md h5.ai-md-h,.ai-md h6.ai-md-h{font-size:.84rem}.ai-md .ai-md-ul,.ai-md .ai-md-ol{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.ai-md .ai-md-ul{list-style:outside}.ai-md .ai-md-ol{list-style:decimal}.ai-md li{margin:0}.ai-md li::marker{color:var(--muted)}.ai-md strong{color:var(--heading);font-weight:700}.ai-md em{font-style:italic}.ai-md a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.ai-md code{font-family:var(--font-mono);background:#ffffff17;border-radius:5px;padding:1px 5px;font-size:.82em}.app-shell[data-theme=light] .ai-md code{background:#1412100f}.ai-md .ai-md-pre{border:1px solid var(--line);background:#00000057;border-radius:10px;margin:0;padding:10px 12px;overflow-x:auto}.ai-md .ai-md-pre code{color:#e8e8e8;background:0 0;padding:0;font-size:.8rem;line-height:1.5}.ai-md .ai-md-hr{border:0;border-top:1px solid var(--line);margin:2px 0}.ai-md .ai-md-table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.ai-md .ai-md-table{border-collapse:collapse;width:100%;font-size:.82rem}.ai-md .ai-md-table th,.ai-md .ai-md-table td{border-bottom:1px solid var(--line);padding:7px 10px}.ai-md .ai-md-table th{color:var(--heading);background:#ffffff0d;font-weight:700}.app-shell[data-theme=light] .ai-md .ai-md-table th{background:#1412100a}.ai-md .ai-md-table tr:last-child td{border-bottom:0}.ai-md .ai-md-callout{border:1px solid var(--line);background:#ffffff08;border-left-width:3px;border-radius:10px;gap:3px;padding:9px 11px;display:grid}.ai-md .ai-md-callout-label{text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:800}.ai-md .ai-md-callout.type-warning,.ai-md .ai-md-callout.type-caution{border-left-color:var(--warning);background:var(--warning-soft)}.ai-md .ai-md-callout.type-warning .ai-md-callout-label,.ai-md .ai-md-callout.type-caution .ai-md-callout-label{color:var(--warning)}.ai-md .ai-md-callout.type-note,.ai-md .ai-md-callout.type-tip{border-left-color:var(--accent)}.ai-md .ai-md-callout.type-note .ai-md-callout-label,.ai-md .ai-md-callout.type-tip .ai-md-callout-label{color:var(--accent)}.ai-md .ai-md-callout.type-important{border-left-color:var(--danger);background:var(--danger-soft)}.ai-md .ai-md-callout.type-important .ai-md-callout-label{color:var(--danger)}.ai-message-footer{justify-content:flex-end;margin-top:4px;display:flex}.ai-msg-copy{height:26px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:.74rem;font-weight:600;transition:opacity .16s,background .16s,color .16s;display:inline-flex}.ai-msg-copy svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.ai-message.from-assistant:hover .ai-msg-copy,.ai-msg-copy:focus-visible{opacity:1}.ai-msg-copy:hover{color:var(--heading);background:#ffffff12}.app-shell[data-theme=light] .ai-msg-copy:hover{background:#1412100d}@media (hover:none){.ai-msg-copy{opacity:.85}}.row-action-button.subtle{color:var(--muted)}.row-action-button.danger{color:#cf3e3e}:root[data-theme=dark] .row-action-button.danger,.app-shell[data-theme=dark] .row-action-button.danger{color:#ff7a7a}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-page{background:radial-gradient(1000px at 16% 8%,#1a1a1d12,#0000 55%),radial-gradient(900px at 100% 100%,#1a1a1d0d,#0000 60%),#0a0a0b;grid-template-columns:minmax(0,540px) minmax(0,430px);place-content:center;align-items:stretch;gap:0;width:100%;min-height:100dvh;padding:28px;display:grid}.auth-hero{color:#fff;background:radial-gradient(120% 95% at 100% 0,#1a1a1d4d,#0000 56%),linear-gradient(155deg,#571a0f 0%,#2c0d08 52%,#160806 100%);border:1px solid #ffffff0f;border-right:0;border-radius:26px 0 0 26px;flex-direction:column;justify-content:space-between;gap:30px;padding:40px 34px;display:flex;position:relative;overflow:hidden}.auth-hero:before,.auth-hero:after{content:none}.auth-hero>*{z-index:1;position:relative}.auth-hero .auth-brand{align-items:center;gap:12px;display:flex}.auth-hero .auth-logo{width:44px;height:44px;box-shadow:none;background:#ffffff1a;border:1px solid #ffffff29;border-radius:12px}.auth-hero .auth-logo img{width:30px;height:30px}.auth-hero .auth-brand strong{font-family:var(--font-display);letter-spacing:.14em;color:#fff;font-size:.96rem;font-weight:700}.auth-hero .auth-brand p{color:#ffffff9e;font-size:.78rem}.auth-hero .auth-copy{gap:12px;margin-top:auto;display:grid}.auth-hero .auth-copy .eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffa8;margin:0;font-size:.66rem;font-weight:600}.auth-hero .auth-copy .eyebrow:before{content:none}.auth-hero .auth-copy h1{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0;font-size:clamp(2rem,3.3vw,2.75rem);font-weight:600;line-height:1.04}.auth-hero .auth-copy>p:last-child{color:#ffffffb8;max-width:34ch;margin:4px 0 0;font-size:.9rem;line-height:1.5}.auth-hero .auth-benefit-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.auth-benefit-card{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:104px;padding:16px 12px;display:flex}.auth-benefit-card.is-active{background:#fff;border-color:#0000;box-shadow:0 14px 34px #00000047}.auth-benefit-num{width:26px;height:26px;font-family:var(--font-mono);color:#fff;background:#ffffff2e;border-radius:999px;place-items:center;font-size:.76rem;font-weight:700;display:grid}.auth-benefit-card.is-active .auth-benefit-num{color:#fff;background:#1b1916}.auth-benefit-label{font-family:var(--font-display);color:#ffffffeb;font-size:.82rem;font-weight:600;line-height:1.25}.auth-benefit-card.is-active .auth-benefit-label{color:#1b1916}.auth-card{box-shadow:none;color:#f2f2f2;opacity:1;background:#131316;border:1px solid #ffffff12;border-radius:0 26px 26px 0;flex-direction:column;gap:14px;padding:40px 34px;animation:none;display:flex;transform:none}.auth-card-header{gap:4px;margin-bottom:4px;display:grid}.auth-card-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;font-size:.64rem;font-weight:600}.auth-card-kicker:before{content:none}.auth-card-header strong{font-family:var(--font-display);letter-spacing:-.01em;color:#fff;font-size:1.55rem;font-weight:600}.auth-card-header p{color:#ffffff94;font-size:.85rem;line-height:1.45}.auth-card label{gap:7px;display:grid}.auth-card label>span{color:#ffffffd1;font-size:.8rem;font-weight:600}.auth-card input,.auth-card select{color:#fff;height:46px;font-family:var(--font-sans);background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:0 14px;font-size:.9rem}.auth-card input::placeholder{color:#fff6}.auth-card input:focus,.auth-card select:focus{border-color:var(--accent);background-color:#ffffff12;outline:0;box-shadow:0 0 0 3px #1a1a1d29}.auth-password-field{position:relative}.auth-password-field input{width:100%;padding-right:44px}.auth-password-toggle{color:#ffffff80;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#fff}.auth-password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.auth-primary.auth-google-button{color:#fff;height:46px;font-family:var(--font-sans);box-shadow:none;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:inline-flex}.auth-primary.auth-google-button:not(:disabled):hover{background:#ffffff17;border-color:#ffffff38;transform:none}.auth-google-icon{display:inline-flex}.auth-google-icon svg{fill:currentColor;width:18px;height:18px}.auth-divider span{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffff6b;font-size:.62rem;font-weight:600}.auth-divider:before,.auth-divider:after{background:#ffffff1a}.auth-card button[type=submit]{color:#161616;height:48px;font-family:var(--font-sans);background:#fff;border:1px solid #0000;border-radius:12px;margin-top:4px;font-size:.92rem;font-weight:700}.auth-card button[type=submit]:not(:disabled):hover{background:#ffffffe0;transform:none}.auth-card .auth-secondary:not([type=submit]){color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;height:44px}.auth-card .auth-secondary:not([type=submit]):not(:disabled):hover{background:#ffffff17;border-color:#fff3}.auth-links{margin-top:2px}.auth-links a,.auth-links button{color:#ffffffbd;font-weight:600}.auth-links a:hover,.auth-links button:hover{color:#fff}.auth-links a:after,.auth-links button:after{background:var(--accent)}.auth-card .auth-message{color:#ffffffb3;background:#ffffff0d;border:1px solid #ffffff14}.auth-card .auth-message.error{color:#ff9a8c;background:#ff5a4521;border-color:#ff5a4542}.auth-card .auth-message.success{color:#7de08a;background:#7de08a1f;border-color:#7de08a3d}.auth-card .auth-setup-note{color:#ffffffc7;background:#ffffff0d;border:1px solid #ffffff1a}.auth-card .auth-setup-note.error{color:#ff9a8c;background:#ff5a4521;border-color:#ff5a4542}.auth-card .auth-setup-note strong{color:#fff}@media (max-width:900px){.auth-page{grid-template-columns:minmax(0,460px)}.auth-hero{border-bottom:0;border-right:1px solid #ffffff0f;border-radius:24px 24px 0 0}.auth-card{border-radius:0 0 24px 24px}}@media (max-width:560px){.auth-hero{display:none}.auth-card{border-radius:24px}.auth-page{padding:18px}}.auth-hero .auth-benefit-list .auth-benefit-label,.auth-hero .auth-benefit-list .auth-benefit-num{text-transform:none;letter-spacing:normal}.auth-hero .auth-benefit-list .auth-benefit-label{font-family:var(--font-display);color:#fff;text-align:center;background:0 0;padding:0;font-size:.86rem;font-weight:600;line-height:1.3}.auth-hero .auth-benefit-list .auth-benefit-card.is-active .auth-benefit-label{color:#1b1916}.auth-hero .auth-benefit-list .auth-benefit-num{font-family:var(--font-mono);color:#fff;background:#fff3;font-size:.76rem;font-weight:700}.auth-hero .auth-benefit-list .auth-benefit-card.is-active .auth-benefit-num{color:#fff;background:#1b1916}.app-shell .sidebar-item .sidebar-icon{box-shadow:none;color:inherit;background:0 0;border-radius:10px}.app-shell .sidebar-item .sidebar-item-badge{text-align:center;min-width:20px;height:20px;box-shadow:none;border:0;border-radius:999px;flex:none;margin-left:auto;padding:0 6px;font-size:.68rem;font-weight:700;line-height:20px;position:static;inset:auto}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item-badge{display:none}.app-shell[data-theme=light] .sidebar,.app-shell[data-theme=light] .sidebar[data-sidebar-state]{-webkit-backdrop-filter:none;background:#ebe9e6;border:1px solid #14121014;gap:6px;box-shadow:0 12px 34px #14141212}.app-shell[data-theme=light] .sidebar-nav:before,.app-shell[data-theme=light] .sidebar-utility-nav:before{text-transform:none;letter-spacing:.01em;color:#1412106b;padding:14px 10px 6px;font-size:.72rem;font-weight:600}.app-shell[data-theme=light] .sidebar-item{color:#141210a8;box-shadow:none;background:0 0;border-color:#0000;font-weight:500}.app-shell[data-theme=light] .sidebar-item .sidebar-icon{color:#14121099}.app-shell[data-theme=light] .sidebar-item:hover{box-shadow:none;color:#1b1916;-webkit-backdrop-filter:none;background:#1412100d;border-color:#0000;transform:none}.app-shell[data-theme=light] .sidebar-item.active{color:#1b1916;background:#fff;border-color:#1412100f;transform:none;box-shadow:0 1px 2px #1111110d,0 3px 8px #1111110f}.app-shell[data-theme=light] .sidebar-item.active .sidebar-label,.app-shell[data-theme=light] .sidebar-item.active .sidebar-icon{color:#1b1916}.app-shell[data-theme=light] .sidebar-item.active:before{content:none}.app-shell[data-theme=light] .sidebar-item .sidebar-item-badge{color:#14121099;background:#14121014}.app-shell[data-theme=light] .sidebar-item.active .sidebar-item-badge{color:#1b1916;background:#1412101a}.app-shell[data-theme=light] .collapse-toggle.is-pinned{color:#1b1916;background:#14121012;border-color:#14121029}.app-shell[data-theme=dark] .sidebar,.app-shell[data-theme=dark] .sidebar[data-sidebar-state]{-webkit-backdrop-filter:none;background:#101012;border:1px solid #ffffff12;gap:6px;box-shadow:0 24px 60px #00000073}.app-shell[data-theme=dark] .sidebar:after{content:none}.app-shell[data-theme=dark] .sidebar-nav:before,.app-shell[data-theme=dark] .sidebar-utility-nav:before{text-transform:none;letter-spacing:.01em;color:#ffffff57;padding:14px 10px 6px;font-size:.72rem;font-weight:600}.app-shell[data-theme=dark] .sidebar-item{color:#fff9;background:0 0;border-color:#0000;font-weight:500}.app-shell[data-theme=dark] .sidebar-item .sidebar-icon{color:#fff9}.app-shell[data-theme=dark] .sidebar-item:hover{color:#f5f5f5;box-shadow:none;background:#ffffff0d;transform:none}.app-shell[data-theme=dark] .sidebar-item:hover .sidebar-icon{color:#f5f5f5}.app-shell[data-theme=dark] .sidebar-item.active{color:#fff;background:#ffffff17;border-color:#ffffff1a;transform:none;box-shadow:0 1px 2px #0000004d,inset 0 1px #ffffff0f}.app-shell[data-theme=dark] .sidebar-item.active .sidebar-label,.app-shell[data-theme=dark] .sidebar-item.active .sidebar-icon{color:#fff}.app-shell[data-theme=dark] .sidebar-item.active:before{content:none}.app-shell[data-theme=dark] .sidebar-item .sidebar-item-badge{color:#ffffffb3;background:#ffffff1a}.app-shell[data-theme=dark] .sidebar-item.active .sidebar-item-badge{color:#fff;background:#ffffff29}.app-shell[data-theme=dark] .collapse-toggle.is-pinned{color:#f5f5f5;background:#ffffff14;border-color:#ffffff2e}.pcc{gap:16px;display:grid}.app-shell[data-theme] .pcc .pcc-card:hover,.app-shell[data-theme] .pcc .pcc-commandbar:hover{box-shadow:var(--glass-shadow), var(--glass-edge);transform:none}.pcc-commandbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.pcc-cb-left{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.pcc-cb-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pcc-cb-actions .shell-button{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.pcc-cb-actions .shell-button svg{width:15px;height:15px}.pcc-switcher{position:relative}.pcc-switcher-trigger{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-width:0;padding:8px 12px;transition:border-color .16s,background .16s;display:flex}.pcc-switcher-trigger:hover{border-color:var(--border-active)}.pcc-switcher-meta{text-align:left;gap:1px;min-width:0;display:grid}.pcc-switcher-meta .eyebrow{margin:0}.pcc-switcher-meta strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:1rem;font-weight:700;overflow:hidden}.pcc-switcher-caret{color:var(--muted);place-items:center;transition:transform .18s;display:grid}.pcc-switcher-caret svg{width:18px;height:18px}.pcc-switcher-caret.open{transform:rotate(180deg)}.pcc-switcher-scrim{z-index:40;position:fixed;inset:0}.pcc-switcher-menu{z-index:50;gap:4px;width:min(360px,78vw);max-height:60vh;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.pcc-switcher-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .14s,border-color .14s;display:flex}.pcc-switcher-item:hover{background:var(--surface-soft)}.pcc-switcher-item.active{border-color:var(--accent-soft);background:var(--accent-soft)}.pcc-switcher-item-copy{gap:1px;min-width:0;display:grid}.pcc-switcher-item-copy strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.pcc-switcher-item-copy span{color:var(--muted);font-size:.8rem}.pcc-health-badge{align-items:center;gap:7px;font-weight:700;display:inline-flex}.pcc-updated{color:var(--muted);font-size:.82rem;font-family:var(--font-mono);align-items:center;gap:6px;display:inline-flex}.pcc-updated svg{width:14px;height:14px}.pcc-dot{background:var(--muted);border-radius:999px;flex:none;width:8px;height:8px}.pcc-dot-success{background:var(--success)}.pcc-dot-warning{background:var(--warning)}.pcc-dot-danger{background:var(--danger)}.pcc-dot-info{background:var(--accent)}.pcc-dot-neutral{background:var(--muted)}.pcc-greeting{font-family:var(--font-display);letter-spacing:-.01em;color:var(--heading,var(--ink));margin:0 2px 6px;font-size:1.5rem;font-weight:600;line-height:1.2}.pcc-greeting span{font-family:var(--font-sans);letter-spacing:normal;color:var(--muted);margin-top:4px;font-size:.92rem;font-weight:500;display:block}.pcc-sync-pill{border:1px solid var(--warning,var(--line));background:var(--warning-soft,var(--surface-soft));color:var(--warning,var(--ink));font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.pcc-sync-pill svg{width:13px;height:13px}.pcc-sync-pill:hover{filter:brightness(.97)}.pcc-sync-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcc-sync-pill.is-failed{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.pcc-portfolio-list{gap:8px;display:grid}.pcc-portfolio-row{border:1px solid var(--line);background:var(--surface-soft);width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.pcc-portfolio-row:hover{border-color:var(--accent)}.pcc-portfolio-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcc-portfolio-name{align-items:baseline;gap:8px;min-width:0;display:flex}.pcc-portfolio-name strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.pcc-portfolio-name small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.pcc-portfolio-signals{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pcc-signal{background:var(--surface);border:1px solid var(--line);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.pcc-signal svg{width:12px;height:12px}.pcc-signal.is-critical{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.pcc-signal.is-stale{color:var(--warning);border-color:var(--warning-soft);background:var(--warning-soft)}@media (max-width:640px){.pcc-portfolio-row{grid-template-columns:minmax(0,1fr)}.pcc-portfolio-signals{justify-content:flex-start}}.pcc-site{gap:12px;display:grid}.pcc-site-plan{border:1px solid var(--line);background:var(--surface-soft);border-left:3px solid var(--accent);border-radius:14px;gap:4px;padding:11px 12px;display:grid}.pcc-site-plan.is-constraint{border-left-color:var(--warning)}.pcc-site-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.pcc-site-plan p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9rem}.pcc-site-meta{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:.78rem;display:flex}.pcc-site-meta span{align-items:center;gap:5px;display:inline-flex}.pcc-site-meta svg{width:13px;height:13px}.pcc-site-meta .is-done{color:var(--success,var(--muted));font-weight:600}.pcc-site-meta .is-todo{color:var(--warning);font-weight:600}.pcc-timeline{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pcc-timeline-row{border-bottom:1px solid var(--line);grid-template-columns:62px minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.pcc-timeline-row:last-child{border-bottom:0}.pcc-timeline-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem;font-weight:700}.pcc-timeline-body{gap:3px;min-width:0;display:grid}.pcc-timeline-body strong{color:var(--heading,var(--ink));overflow-wrap:anywhere;font-size:.88rem;font-weight:600}.pcc-timeline-stats{color:var(--muted);flex-wrap:wrap;gap:5px 12px;font-size:.76rem;display:flex}.pcc-timeline-stats span{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.pcc-timeline-stats svg{width:12px;height:12px}.pcc-metric-strip{grid-template-columns:repeat(var(--pcc-cols,7), minmax(0, 1fr));gap:12px;display:grid}.pcc-metric{border:1px solid var(--glass-border);background:radial-gradient(135% 95% at 102% -12%, #1a1a1d12, transparent 52%), var(--glass-fill);box-shadow:var(--glass-shadow), var(--glass-edge);cursor:pointer;text-align:left;border-radius:18px;align-content:start;gap:6px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.pcc-metric:hover{border-color:var(--border-active);box-shadow:var(--glass-shadow), var(--glass-edge), var(--shadow-red-soft);transform:translateY(-3px)}.pcc-metric-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.pcc-metric-ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.pcc-metric-ico svg{width:18px;height:18px}.pcc-metric-delta{font-size:.72rem;font-weight:700;font-family:var(--font-mono);white-space:nowrap}.pcc-metric-delta.dir-up{color:var(--success)}.pcc-metric-delta.dir-down{color:var(--danger)}.pcc-metric-delta.dir-flat{color:var(--muted)}.pcc-metric-value{letter-spacing:-.03em;color:var(--heading,var(--ink));font-size:1.9rem;font-weight:800;line-height:1}.pcc-metric-label{color:var(--heading,var(--ink));font-size:.82rem;font-weight:600}.pcc-metric-status{color:var(--muted);font-size:.74rem;line-height:1.3}.pcc-metric.tone-danger .pcc-metric-ico{background:var(--danger-soft);color:var(--danger)}.pcc-metric.tone-warning .pcc-metric-ico{background:var(--warning-soft);color:var(--warning)}.pcc-metric.tone-success .pcc-metric-ico{background:var(--success-soft);color:var(--success)}.pcc-metric.tone-danger{border-color:#c0322a47}.pcc-body{grid-template-columns:minmax(0,1fr) 326px;align-items:start;gap:16px;display:grid}.pcc-main{gap:16px;min-width:0;display:grid}.pcc-row2,.pcc-row3,.pcc-row4{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.pcc-rail{gap:16px;display:grid;position:sticky;top:16px}.pcc-card{align-content:start;gap:14px;display:grid}.pcc-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pcc-card-head-copy{align-items:center;gap:10px;min-width:0;display:flex}.pcc-card-ico{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.pcc-card-ico svg{width:19px;height:19px}.pcc-card-head-copy .eyebrow{margin:0 0 1px}.pcc-card-head h3{margin:0;font-size:1.08rem;line-height:1.1}.pcc-card-action{flex:none;align-items:center;gap:8px;display:flex}.pcc-card-urgent{border-color:var(--accent)!important;background:radial-gradient(120% 80% at 100% 0%, #1a1a1d1a, transparent 55%), var(--glass-fill)!important}.pcc-prio{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:3px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.pcc-prio-urgent{background:linear-gradient(120deg, var(--accent), var(--accent));color:#fff;box-shadow:0 4px 14px #1a1a1d52}.pcc-prio-important{background:var(--warning-soft);color:var(--warning)}.pcc-prio-optional{color:#64748b;background:#64748b29}.app-shell[data-theme=dark] .pcc-prio-optional{color:#94a3b8;background:#94a3b829}.pcc-action-list{gap:10px;display:grid}.pcc-action-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.pcc-action-item.level-urgent{border-color:var(--accent);background:linear-gradient(90deg, #1a1a1d1a, transparent 60%), var(--surface-soft)}.pcc-action-ico{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.pcc-action-item.level-urgent .pcc-action-ico{background:var(--danger-soft);color:var(--danger)}.pcc-action-ico svg{width:18px;height:18px}.pcc-action-body{gap:3px;min-width:0;display:grid}.pcc-action-line{align-items:center;gap:8px;min-width:0;display:flex}.pcc-action-line strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.pcc-action-meta{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.78rem;display:flex}.pcc-action-meta .pcc-action-due{font-weight:600}.pcc-action-item.level-urgent .pcc-action-due{color:var(--danger)}.pcc-action-item .shell-button{white-space:nowrap}.pcc-health{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.pcc-ring{flex:none;width:128px;height:128px;position:relative}.pcc-ring svg{width:100%;height:100%}.pcc-ring-label{text-align:center;place-content:center;gap:0;display:grid;position:absolute;inset:0}.pcc-ring-label strong{letter-spacing:-.04em;color:var(--heading,var(--ink));font-size:2rem;font-weight:800}.pcc-ring-label span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.68rem}.pcc-health-stats{gap:7px;min-width:0;display:grid}.pcc-stat{justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;display:flex}.pcc-stat span{color:var(--muted)}.pcc-stat strong{color:var(--heading,var(--ink));font-weight:700}.pcc-stat-ok{color:var(--success)!important}.pcc-stat-warn{color:var(--warning)!important}.pcc-stat-bad{color:var(--danger)!important}.pcc-scurve-wrap{gap:8px;display:grid}.pcc-scurve{width:100%;height:116px;display:block}.pcc-scurve-legend{color:var(--muted);gap:16px;font-size:.78rem;display:flex}.pcc-scurve-legend span{align-items:center;gap:6px;display:inline-flex}.pcc-leg{border-top:2px solid;width:16px;height:0;display:inline-block}.pcc-leg-actual{border-color:var(--glow-2,var(--accent))}.pcc-leg-planned{border-top-style:dashed;border-color:var(--muted)}.pcc-schedule-stats{border-top:1px solid var(--line);gap:7px;padding-top:12px;display:grid}.pcc-segbar{background:var(--neutral-soft);border-radius:999px;gap:2px;width:100%;height:14px;display:flex;overflow:hidden}.pcc-seg{min-width:3px;height:100%;transition:width .24s}.pcc-seg-planned{background:#94a3b8}.pcc-seg-progress{background:#3b82f6}.pcc-seg-done{background:var(--success)}.pcc-seg-blocked{background:#a855f7}.pcc-seg-overdue{background:var(--danger)}.pcc-seglegend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.78rem;display:flex}.pcc-seglegend span{align-items:center;gap:6px;display:inline-flex}.pcc-seglegend strong{color:var(--heading,var(--ink))}.pcc-segdot-planned{background:#94a3b8}.pcc-segdot-progress{background:#3b82f6}.pcc-segdot-done{background:var(--success)}.pcc-segdot-blocked{background:#a855f7}.pcc-segdot-overdue{background:var(--danger)}.pcc-mini-list{gap:4px;display:grid}.pcc-mini-row{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .14s,border-color .14s;display:grid}.pcc-mini-row:hover{background:var(--surface-soft);border-color:var(--line)}.pcc-mini-title{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;overflow:hidden}.pcc-mini-meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.pcc-chip-row{flex-wrap:wrap;gap:8px;display:flex}.pcc-chip{background:var(--neutral-soft);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.pcc-chip strong{color:var(--heading,var(--ink));font-size:.92rem;font-weight:800}.pcc-chip.tone-danger{background:var(--danger-soft);color:var(--danger)}.pcc-chip.tone-danger strong{color:var(--danger)}.pcc-chip.tone-warning{background:var(--warning-soft);color:var(--warning)}.pcc-chip.tone-warning strong{color:var(--warning)}.pcc-chip.tone-success{background:var(--success-soft);color:var(--success)}.pcc-chip.tone-success strong{color:var(--success)}.pcc-issue-row{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;transition:border-color .14s,transform .14s;display:grid}.pcc-issue-row:hover{border-color:var(--border-active);transform:translate(2px)}.pcc-issue-copy{gap:1px;min-width:0;display:grid}.pcc-issue-copy strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.pcc-issue-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.pcc-flow{align-items:stretch;gap:0;padding:4px 0;display:flex}.pcc-flow-stage{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;flex:1 1 0;justify-items:center;gap:3px;padding:8px 6px;display:grid;position:relative}.pcc-flow-count{color:var(--heading,var(--ink));letter-spacing:-.03em;font-size:1.3rem;font-weight:800}.pcc-flow-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem;font-weight:600}.pcc-flow-arrow{z-index:2;width:22px;height:22px;color:var(--muted);background:var(--surface);border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;right:-11px;transform:translateY(-50%)}.pcc-flow-arrow svg{width:14px;height:14px}.pcc-proc-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.pcc-proc-card{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:14px;gap:2px;padding:12px;transition:transform .16s,border-color .16s;display:grid}.pcc-proc-card:hover{border-color:var(--border-active);transform:translateY(-2px)}.pcc-proc-card strong{letter-spacing:-.03em;color:var(--heading,var(--ink));font-size:1.5rem;font-weight:800}.pcc-proc-card span{color:var(--muted);font-size:.74rem;font-weight:600}.pcc-proc-card.level-urgent{border-color:var(--accent);background:linear-gradient(180deg, var(--danger-soft), transparent)}.pcc-proc-card.level-urgent strong{color:var(--danger)}.pcc-proc-card.level-important{border-color:#a86a1242}.pcc-drawing{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:16px;display:grid}.pcc-drawing-thumb{aspect-ratio:4/3;border:1px solid var(--line);background:var(--neutral-soft);border-radius:14px;position:relative;overflow:hidden}.pcc-drawing-thumb img{object-fit:cover;width:100%;height:100%;display:block}.pcc-drawing-fallback{width:100%;height:100%;color:var(--muted);place-items:center;display:grid}.pcc-drawing-fallback svg{width:34px;height:34px}.pcc-drawing-pins{color:#fff;background:#1a1a1deb;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.74rem;font-weight:700;display:inline-flex;position:absolute;top:8px;right:8px}.pcc-drawing-pins svg{width:12px;height:12px}.pcc-drawing-meta{gap:4px;min-width:0;display:grid}.pcc-drawing-meta>strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.pcc-drawing-meta>span{color:var(--muted);font-size:.8rem}.pcc-drawing-stats{border-top:1px solid var(--line);gap:6px;margin-top:6px;padding-top:8px;display:grid}.pcc-report{gap:12px;display:grid}.pcc-report-states{gap:8px;display:grid}.pcc-report-state{border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.pcc-report-state svg{width:16px;height:16px}.pcc-report-state.done{background:var(--success-soft);color:var(--success)}.pcc-report-state.todo{background:var(--warning-soft);color:var(--warning)}.pcc-report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pcc-report-stat{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.pcc-report-ico{color:var(--accent)}.pcc-report-ico svg{width:18px;height:18px}.pcc-report-stat strong{color:var(--heading,var(--ink));font-size:1.1rem;font-weight:800}.pcc-report-stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.pcc-rail-card{gap:12px}.pcc-approval-list{gap:8px;display:grid}.pcc-approval-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.pcc-approval-ico{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.pcc-approval-ico svg{width:16px;height:16px}.pcc-approval-copy{gap:1px;min-width:0;display:grid}.pcc-approval-copy strong{color:var(--heading,var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.pcc-approval-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.pcc-approval-item .shell-button{padding:6px 12px;font-size:.8rem}.pcc-feed{gap:2px;display:grid}.pcc-feed-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:9px 8px;transition:background .14s;display:grid}.pcc-feed-item:hover{background:var(--surface-soft)}.pcc-feed-item .pcc-dot{margin-top:6px}.pcc-feed-copy{gap:1px;min-width:0;display:grid}.pcc-feed-copy strong{color:var(--heading,var(--ink));font-size:.83rem;font-weight:600;line-height:1.3}.pcc-feed-copy span{color:var(--muted);font-size:.74rem}.pcc-state-card{padding:28px;display:grid}.pcc-onboarding{gap:16px;display:grid}.pcc-onboarding-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.pcc-onboarding-hero h2{letter-spacing:-.03em;margin:6px 0 8px;font-size:clamp(1.6rem,3vw,2.4rem)}.pcc-onboarding-hero p{color:var(--muted);max-width:60ch;margin:0}.pcc-onboarding-actions{flex-wrap:wrap;gap:10px;display:flex}.pcc-onboarding-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.pcc-onboarding-card{cursor:pointer;text-align:left;gap:6px;padding:18px;transition:transform .16s,border-color .16s;display:grid}.pcc-onboarding-card:hover{border-color:var(--border-active);transform:translateY(-3px)}.pcc-onboarding-step{font-family:var(--font-mono);color:var(--accent);font-size:.8rem;font-weight:700}.pcc-onboarding-card strong{color:var(--heading,var(--ink));font-size:1rem}.pcc-onboarding-card small{color:var(--muted);font-size:.82rem;line-height:1.4}.pcc-skeleton{background:linear-gradient(100deg, var(--neutral-soft) 30%, var(--surface-soft) 50%, var(--neutral-soft) 70%);background-size:220% 100%;border-radius:16px;animation:1.4s ease-in-out infinite pcc-shimmer}@keyframes pcc-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pcc-skel-bar{height:64px}.pcc-skel-metric{border-radius:18px;height:104px}.pcc-skel-block{height:220px}.pcc-skel-block.lg{height:260px}.pcc-skel-block.tall{height:480px}@media (max-width:1180px){.pcc-body{grid-template-columns:minmax(0,1fr)}.pcc-rail{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.pcc-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.pcc-row2,.pcc-row3,.pcc-row4,.pcc-rail{grid-template-columns:minmax(0,1fr)}.pcc-metric-strip,.pcc-proc-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.pcc-commandbar{flex-direction:column;align-items:stretch}.pcc-cb-actions{justify-content:stretch}.pcc-cb-actions .shell-button{flex:calc(50% - 8px);justify-content:center}.pcc-switcher-meta strong{max-width:56vw}.pcc-metric-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.pcc-metric{scroll-snap-align:start}.pcc-health{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.pcc-health-stats{width:100%}.pcc-drawing{grid-template-columns:minmax(0,1fr)}.pcc-drawing-thumb{width:160px}.pcc-report-grid,.pcc-proc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pcc-flow{flex-wrap:wrap;gap:8px}.pcc-flow-arrow{display:none}.pcc-flow-stage{flex:40%}}@media (prefers-reduced-motion:reduce){.pcc-skeleton{animation:none}.pcc-metric,.pcc-proc-card,.pcc-onboarding-card,.pcc-issue-row{transition:none}}.work-schedule-board{--wbs-pane-width:clamp(420px, 44%, 560px);grid-template-columns:var(--wbs-pane-width) minmax(0, 1fr)}.work-schedule-board.advanced-gantt-board{--wbs-pane-width:clamp(660px, 55%, 860px);grid-template-columns:var(--wbs-pane-width) minmax(0, 1fr)}.work-schedule-board.advanced-gantt-board.planner-advanced{--wbs-pane-width:clamp(720px, 60%, 920px);grid-template-columns:var(--wbs-pane-width) minmax(0, 1fr)}.work-schedule-left-pane{position:relative}.work-schedule-resizer{top:0;bottom:0;left:clamp(7px, var(--wbs-pane-width,540px), calc(100% - 7px));z-index:86;cursor:col-resize;touch-action:none;justify-content:center;width:16px;margin-left:-8px;display:flex;position:absolute}.work-schedule-resizer:before{content:"";background:0 0;width:2px;transition:background .15s,width .15s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.work-schedule-resizer:hover:before,.work-schedule-board.is-resizing-wbs .work-schedule-resizer:before{background:var(--accent);width:3px}.work-schedule-resizer-grip{background:var(--line);width:5px;height:46px;box-shadow:0 0 0 4px var(--panel);border-radius:999px;transition:background .15s,height .15s;position:sticky;top:96px}.work-schedule-resizer:hover .work-schedule-resizer-grip,.work-schedule-board.is-resizing-wbs .work-schedule-resizer-grip{background:var(--accent);height:60px}.work-schedule-board.is-resizing-wbs{cursor:col-resize;-webkit-user-select:none;user-select:none}.work-schedule-board.is-resizing-wbs .gantt-task-bar{pointer-events:none}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar{border-radius:7px}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar{background:linear-gradient(120deg, var(--accent), #ff6a4d);box-shadow:0 2px 12px #1a1a1d42}.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar{background:linear-gradient(120deg, var(--accent), #e3613e);box-shadow:0 2px 12px #1a1a1d2e}.app-shell[data-theme] .gantt-today-line{background:var(--accent);opacity:.92}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar{align-items:center;gap:6px;height:28px;padding:0 5px 0 10px;display:flex;overflow:hidden}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.sub,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.sub{height:23px;padding-left:9px}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar>i,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar>i{z-index:0;border-radius:inherit;background:#fff3;margin:0;position:absolute;top:0;bottom:0;left:0}.app-shell .work-schedule-board .gantt-bar-text{z-index:1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);letter-spacing:-.01em;color:#fff;pointer-events:none;flex:auto;font-size:.74rem;font-weight:600;line-height:1;position:relative;overflow:hidden}.app-shell .work-schedule-board .gantt-task-bar.sub .gantt-bar-text{font-size:.7rem;font-weight:500}.app-shell .work-schedule-board .gantt-bar-days{z-index:1;color:#1b1916;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;background:#ffffffeb;border-radius:999px;flex:none;padding:2px 7px;font-size:.62rem;font-weight:700;line-height:1.35;position:relative}.app-shell .work-schedule-board .gantt-task-bar.critical .gantt-bar-text,.app-shell .work-schedule-board .gantt-task-bar.delayed .gantt-bar-text{color:#fff}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar{box-shadow:inset 3px 0 0 0 var(--accent), inset 0 0 0 1px #ffffff14, 0 2px 10px #00000047;background:linear-gradient(#34343c,#25242b)}.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar{box-shadow:inset 3px 0 0 0 var(--accent), inset 0 0 0 1px #ffffff0f, 0 4px 12px #1414122e;background:linear-gradient(#3c3a43,#2a2830)}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(#2d2d34,#222129)}.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.sub{background:linear-gradient(#353340,#27252d)}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar>i,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar>i{background:linear-gradient(90deg, var(--accent), #1a1a1db3);border-radius:8px 3px 3px 8px}.app-shell .work-schedule-board .gantt-bar-text{color:#fff}.app-shell .work-schedule-board .gantt-bar-days{color:#1b1916;background:#fff;box-shadow:0 1px 2px #00000038}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.critical,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.critical{background:linear-gradient(180deg, var(--accent), #e0341c);box-shadow:inset 3px 0 #ffffff8c,inset 0 0 0 1px #ff826e59,0 2px 12px #1a1a1d4d}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.critical>i,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.critical>i{background:#00000029}.app-shell .work-schedule-board .gantt-bar-text{text-shadow:0 1px 2px #00000073}.work-schedule-board.advanced-gantt-board .work-schedule-left-pane{container:wbspane/inline-size}.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-fixed-row{width:100%;min-width:0}@container wbspane (max-width:620px){.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-fixed-row{--schedule-grid-columns:34px minmax(120px, 1fr) 46px 54px 54px;--schedule-grid-columns-advanced:34px minmax(120px, 1fr) 46px 52px 52px}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(6),.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(7),.work-schedule-board.advanced-gantt-board .schedule-dependency-cell,.work-schedule-board.advanced-gantt-board .schedule-progress-cell{display:none}}@container wbspane (max-width:460px){.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-fixed-row{--schedule-grid-columns:34px minmax(110px, 1fr) 46px;--schedule-grid-columns-advanced:34px minmax(110px, 1fr) 46px}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(4),.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(5),.work-schedule-board.advanced-gantt-board .schedule-date-mini:not(.compact-duration-cell){display:none}}@container wbspane (max-width:340px){.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-fixed-row{--schedule-grid-columns:34px minmax(80px, 1fr);--schedule-grid-columns-advanced:34px minmax(80px, 1fr)}.work-schedule-board.advanced-gantt-board .work-schedule-left-head>span:nth-child(3),.work-schedule-board.advanced-gantt-board .schedule-date-mini.compact-duration-cell{display:none}}.pcc-metric-value,.pcc-metric-delta,.pcc-ring-label strong,.pcc-flow-count,.pcc-proc-card strong,.pcc-chip strong,.pcc-report-stat strong,.pcc-stat strong,.pcc-bullet-head strong,.pcc-seglegend strong,.pcc-scurve-legend,.pcc-updated{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.pcc-metric-value{letter-spacing:-.035em}.pcc-updated{gap:7px}.pcc-live-dot{background:#22c55e;border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.pcc-updated-sep{opacity:.45;margin:0 1px}@media (prefers-reduced-motion:no-preference){.pcc-live-dot{animation:2.2s ease-out infinite pcc-pulse}}@keyframes pcc-pulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}.pcc-bullet{border-top:1px solid var(--line);gap:7px;padding-top:12px;display:grid}.pcc-bullet-head{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.8rem;display:flex}.pcc-bullet-head strong{font-variant-numeric:tabular-nums;font-weight:700}.pcc-bullet-track{border:1px solid var(--line);background:linear-gradient(90deg, var(--danger-soft) 0%, var(--warning-soft) 52%, var(--success-soft) 100%);border-radius:999px;height:12px;position:relative;overflow:visible}.pcc-bullet-fill{border-radius:999px;min-width:6px;max-width:calc(100% - 4px);height:6px;transition:width .42s cubic-bezier(.2,.7,.2,1);position:absolute;top:50%;left:2px;transform:translateY(-50%)}.pcc-bullet-fill.ahead{background:var(--success)}.pcc-bullet-fill.behind{background:var(--accent)}.pcc-bullet-target{background:var(--ink);width:3px;height:18px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:-3px;transform:translate(-50%)}.pcc-commandbar{-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);background:radial-gradient(130% 160% at 0% 0%, #1a1a1d14, transparent 58%), var(--glass-fill-soft)}.app-shell[data-theme] .pcc .pcc-metric,.pcc-proc-card,.pcc-issue-row,.pcc-mini-row,.pcc-switcher-trigger,.pcc-feed-item,.pcc-onboarding-card,.pcc-action-item{transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s,background .2s}.app-shell[data-theme] .pcc .pcc-metric:hover{box-shadow:var(--glass-shadow), var(--glass-edge), var(--shadow-red);transform:translateY(-4px)}.pcc-metric:active,.pcc-proc-card:active,.pcc-issue-row:active,.pcc-mini-row:active,.pcc-feed-item:active,.pcc-switcher-item:active,.pcc .shell-button:active{transform:scale(.985)}@media (prefers-reduced-motion:no-preference){.pcc-metric-strip .pcc-metric,.pcc-main>.pcc-card,.pcc-main>.pcc-row2,.pcc-main>.pcc-row3,.pcc-main>.pcc-row4,.pcc-rail>.pcc-rail-card{animation:.44s cubic-bezier(.2,.7,.2,1) backwards pcc-rise}.pcc-metric-strip .pcc-metric:first-child{animation-delay:20ms}.pcc-metric-strip .pcc-metric:nth-child(2){animation-delay:55ms}.pcc-metric-strip .pcc-metric:nth-child(3){animation-delay:90ms}.pcc-metric-strip .pcc-metric:nth-child(4){animation-delay:.125s}.pcc-metric-strip .pcc-metric:nth-child(5){animation-delay:.16s}.pcc-metric-strip .pcc-metric:nth-child(6){animation-delay:.195s}.pcc-metric-strip .pcc-metric:nth-child(7){animation-delay:.23s}.pcc-main>:first-child{animation-delay:.12s}.pcc-main>:nth-child(2){animation-delay:.185s}.pcc-main>:nth-child(3){animation-delay:.25s}.pcc-main>:nth-child(4){animation-delay:.315s}.pcc-main>:nth-child(5){animation-delay:.38s}.pcc-rail>.pcc-rail-card:first-child{animation-delay:.24s}.pcc-rail>.pcc-rail-card:nth-child(2){animation-delay:.32s}}@keyframes pcc-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.pcc-metric:focus-visible,.pcc-proc-card:focus-visible,.pcc-issue-row:focus-visible,.pcc-mini-row:focus-visible,.pcc-feed-item:focus-visible,.pcc-switcher-trigger:focus-visible,.pcc-switcher-item:focus-visible,.pcc-action-item .shell-button:focus-visible,.pcc-approval-item .shell-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcc-metric-status{font-size:.76rem}@media (prefers-reduced-motion:reduce){.pcc-bullet-fill,.pcc-live-dot{transition:none;animation:none}.pcc-metric-strip .pcc-metric,.pcc-main>.pcc-card,.pcc-main>.pcc-row2,.pcc-main>.pcc-row3,.pcc-main>.pcc-row4,.pcc-rail>.pcc-rail-card{animation:none}}.pcc-trend-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pcc-trend-stat{display:grid}.pcc-trend-stat strong{letter-spacing:-.03em;color:var(--heading,var(--ink));font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1}.pcc-trend-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:3px;font-size:.72rem}.pcc-trend-empty{color:var(--muted);align-self:center;font-size:.78rem;font-style:italic}.pcc-trend{flex:0 auto;align-items:flex-end;gap:6px;height:64px;display:flex}.pcc-trend-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:5px;min-width:14px;display:flex}.pcc-trend-bar{background:var(--accent-soft);border-radius:5px 5px 2px 2px;width:100%;max-width:16px;min-height:6px;transition:height .32s cubic-bezier(.2,.7,.2,1)}.pcc-trend-bar[data-today]{background:var(--accent)}.pcc-trend-col small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.62rem}@media (prefers-reduced-motion:reduce){.pcc-trend-bar{transition:none}}.pcc-density-toggle{border:1px solid var(--line);background:var(--surface-soft);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:11px;flex:none;place-items:center;transition:border-color .18s,color .18s,background .18s;display:grid}.pcc-density-toggle:hover{border-color:var(--border-active);color:var(--text)}.pcc-density-toggle[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.pcc-density-toggle svg{width:18px;height:18px}.pcc-density-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pcc-compact{gap:12px}.pcc-compact .pcc-metric-strip{gap:9px}.pcc-compact .pcc-metric{gap:4px;padding:11px}.pcc-compact .pcc-metric-ico{border-radius:9px;width:30px;height:30px}.pcc-compact .pcc-metric-ico svg{width:16px;height:16px}.pcc-compact .pcc-metric-value{font-size:1.55rem}.pcc-compact .pcc-metric-label{font-size:.78rem}.pcc-compact .pcc-body,.pcc-compact .pcc-main,.pcc-compact .pcc-row2,.pcc-compact .pcc-row3,.pcc-compact .pcc-row4,.pcc-compact .pcc-rail{gap:12px}.pcc-compact .pcc-card{gap:10px;padding:14px}.pcc-compact .pcc-card-head h3{font-size:1rem}.pcc-compact .pcc-card-ico{width:32px;height:32px}.pcc-compact .pcc-card-ico svg{width:17px;height:17px}.pcc-compact .pcc-ring{width:104px;height:104px}.pcc-compact .pcc-ring-label strong{font-size:1.7rem}.pcc-compact .pcc-health{gap:14px}.pcc-compact .pcc-scurve{height:96px}.pcc-compact .pcc-trend{height:52px}.pcc-compact .pcc-action-item{padding:8px 10px}.pcc-compact .pcc-action-ico{width:32px;height:32px}.pcc-compact .pcc-action-ico svg{width:16px;height:16px}.pcc-compact .pcc-mini-row{padding:6px 8px}.pcc-compact .pcc-issue-row{padding:7px 9px}.pcc-compact .pcc-proc-card{padding:10px}.pcc-compact .pcc-proc-card strong{font-size:1.3rem}.pcc-compact .pcc-report-stat{padding:9px 6px}.pcc-compact .pcc-approval-item{padding:7px 9px}.pcc-compact .pcc-feed-item{padding:7px 8px}.pcc-compact .pcc-commandbar{padding:11px 14px}:root{--hud-surface:#141417db;--hud-chip:#ffffff1a;--hud-line:#ffffff29;--hud-text:#ffffffeb;--hud-muted:#ffffff94;--hud-accent:var(--accent)}.app-shell[data-theme] .measure-secondary-toolbar,.app-shell[data-theme] .measure-status,.app-shell[data-theme] .first-person-mode-menu,.app-shell[data-theme] .first-person-mode-overlay,.app-shell[data-theme] .model-selection-strip.section-active{background:var(--hud-surface);border-color:var(--hud-line);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);color:var(--hud-text);box-shadow:0 18px 44px #00000073}.app-shell[data-theme] .measure-secondary-toolbar :where(button,span,small,strong,label,div,b),.app-shell[data-theme] .measure-status :where(span,small,strong),.app-shell[data-theme] .first-person-mode-menu :where(button,span,small,strong,label,div,b),.app-shell[data-theme] .first-person-mode-overlay :where(button,span,small,strong,label,div,b),.app-shell[data-theme] .model-selection-strip.section-active :where(button,span,small,strong,label,div,b){color:var(--hud-text)}.app-shell[data-theme] .first-person-mode-copy span,.app-shell[data-theme] .model-selection-copy small,.app-shell[data-theme] .model-section-slider span,.app-shell[data-theme] .first-person-slider span{color:var(--hud-muted)}.app-shell[data-theme] .measure-mode-button,.app-shell[data-theme] .measure-secondary-toolbar button,.app-shell[data-theme] .first-person-mode-menu button,.app-shell[data-theme] .first-person-mode-overlay button,.app-shell[data-theme] .model-axis-toggle button{border-color:var(--hud-line);background:var(--hud-chip);color:var(--hud-text)}.app-shell[data-theme] .measure-mode-button:hover,.app-shell[data-theme] .measure-secondary-toolbar button:hover:not(:disabled),.app-shell[data-theme] .first-person-mode-menu button:hover,.app-shell[data-theme] .first-person-mode-overlay button:hover:not(:disabled),.app-shell[data-theme] .model-axis-toggle button:hover{color:#fff;background:#ffffff2e}.app-shell[data-theme] .first-person-mode-tabs,.app-shell[data-theme] .model-axis-toggle{border-color:var(--hud-line);background:#0000004d}.app-shell[data-theme] .first-person-mode-shortcuts span{background:var(--hud-chip);border:1px solid var(--hud-line);color:var(--hud-text)}.app-shell[data-theme] .measure-mode-button.active,.app-shell[data-theme] .measure-secondary-toolbar button.active,.app-shell[data-theme] .first-person-mode-menu button.active,.app-shell[data-theme] .first-person-mode-tabs button.active,.app-shell[data-theme] .model-axis-toggle button.active{color:#15151a;background:#fff;border-color:#fff;font-weight:600;box-shadow:0 2px 8px #00000059}.app-shell[data-theme] .measure-secondary-toolbar button.active :where(span,small,strong,b),.app-shell[data-theme] .measure-mode-button.active :where(span,small,strong,b){color:#15151a}.app-shell[data-theme] .first-person-mode-menu button.danger{background:var(--danger);color:var(--danger-foreground);border-color:#0000;font-weight:600}.app-shell[data-theme] .measure-status{color:var(--hud-text)}.app-shell[data-theme] .measure-status.warning{background:var(--warning-soft);color:var(--warning);border-color:#f59e0b73}.app-shell[data-theme] .measure-secondary-toolbar button:disabled,.app-shell[data-theme] .first-person-mode-overlay button:disabled{opacity:.4}.app-shell[data-theme] .first-person-mode-overlay input[type=range],.app-shell[data-theme] .model-selection-strip.section-active input[type=range]{height:8px;accent-color:var(--hud-accent);cursor:pointer;background:#ffffff2e;border-radius:999px}.app-shell[data-theme] .measure-point-dot{width:16px;height:16px}.app-shell[data-theme] .measure-point-dot.draft{width:14px;height:14px}.app-shell[data-theme] :is(.measure-secondary-toolbar,.measure-mode-button,.first-person-mode-menu,.first-person-mode-overlay,.model-selection-strip.section-active) button:focus-visible,.app-shell[data-theme] :is(.first-person-mode-overlay,.model-selection-strip.section-active) input:focus-visible{outline:2px solid var(--hud-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.app-shell[data-theme] :is(.measure-mode-button,.measure-secondary-toolbar button,.first-person-mode-menu button,.first-person-mode-overlay button,.model-axis-toggle button){transition:none}}.app-shell:not([data-theme=dark]){--hud-surface:#fffffff0;--hud-chip:#1414170f;--hud-line:#1414171f;--hud-text:#141417eb;--hud-muted:#1414178f}.app-shell:not([data-theme=dark]) .measure-secondary-toolbar,.app-shell:not([data-theme=dark]) .measure-status,.app-shell:not([data-theme=dark]) .first-person-mode-menu,.app-shell:not([data-theme=dark]) .first-person-mode-overlay,.app-shell:not([data-theme=dark]) .model-selection-strip.section-active{box-shadow:0 14px 36px #14141224,0 1px 3px #1414120f}.app-shell:not([data-theme=dark]) .measure-mode-button:hover,.app-shell:not([data-theme=dark]) .measure-secondary-toolbar button:hover:not(:disabled),.app-shell:not([data-theme=dark]) .first-person-mode-menu button:hover,.app-shell:not([data-theme=dark]) .first-person-mode-overlay button:hover:not(:disabled),.app-shell:not([data-theme=dark]) .model-axis-toggle button:hover{color:#1a1a1d;background:#1414171c}.app-shell:not([data-theme=dark]) .first-person-mode-tabs,.app-shell:not([data-theme=dark]) .model-axis-toggle{border-color:var(--hud-line);background:#1414170d}.app-shell:not([data-theme=dark]) .measure-mode-button.active,.app-shell:not([data-theme=dark]) .measure-secondary-toolbar button.active,.app-shell:not([data-theme=dark]) .first-person-mode-menu button.active,.app-shell:not([data-theme=dark]) .first-person-mode-tabs button.active,.app-shell:not([data-theme=dark]) .model-axis-toggle button.active{color:#fff;background:#1a1a1d;border-color:#1a1a1d;box-shadow:0 2px 8px #1414123d}.app-shell:not([data-theme=dark]) .measure-secondary-toolbar button.active :where(span,small,strong,b),.app-shell:not([data-theme=dark]) .measure-mode-button.active :where(span,small,strong,b){color:#fff}.app-shell:not([data-theme=dark]) .first-person-mode-overlay input[type=range],.app-shell:not([data-theme=dark]) .model-selection-strip.section-active input[type=range]{background:#14141721}@media (max-width:768px){.app-shell,.app-shell:not(.sidebar-collapsed),.app-shell.sidebar-collapsed{padding-bottom:calc(156px + env(safe-area-inset-bottom,0px))}.material-detail-flyout,.material-detail-panel.material-detail-flyout{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}:root[data-theme=dark] .detail-flyout-close-row,.app-shell[data-theme=dark] .detail-flyout-close-row{background:linear-gradient(#16171afa,#16171ad1)}}.detail-flyout-close{border:1px solid var(--line);background:var(--neutral-soft);width:36px;height:36px;min-height:36px;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:background .15s,border-color .15s;display:inline-grid}.detail-flyout-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.detail-flyout-close:hover{background:var(--primary-soft);border-color:var(--border-active);color:var(--ink);box-shadow:none}:root[data-theme=dark] .detail-flyout-close,.app-shell[data-theme=dark] .detail-flyout-close{color:#f5f5f5;background:#ffffff1a;border-color:#ffffff2e}:root[data-theme=dark] .detail-flyout-close:hover,.app-shell[data-theme=dark] .detail-flyout-close:hover{background:#ffffff29}.ai-assistant-embedded>.ai-assistant-embedded-bar,.ai-assistant-embedded>.ai-assistant-header,.ai-assistant-embedded>.ai-context-panel,.ai-assistant-embedded>.ai-usage-strip,.ai-assistant-embedded>.ai-upgrade-card,.ai-assistant-embedded>.ai-prompt-intro,.ai-assistant-embedded>.ai-prompt-chips,.ai-assistant-embedded>.ai-input-row,.ai-assistant-embedded>.ai-disclaimer,.ai-assistant-embedded>.ai-error-message{flex:none;min-height:0}.ai-assistant-embedded>.ai-chat-history{flex:auto;min-height:0;overflow-y:auto}.ai-assistant-embedded>.ai-prompt-chips{max-height:36vh;overflow-y:auto}@media (max-width:768px){.app-shell,.app-shell:not(.sidebar-collapsed),.app-shell.sidebar-collapsed{padding-top:calc(8px + env(safe-area-inset-top,0px))}}.ui-skeleton-list{gap:var(--space-3,12px);flex-direction:column;width:100%;display:flex}.ui-spinner{box-sizing:border-box;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:999px;animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation-duration:1.5s}}.main-shell>.topbar .topbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.main-shell>.topbar .theme-toggle,.main-shell>.topbar .ai-assistant-trigger,.main-shell>.topbar .notification-button.notification-icon-button,.main-shell>.topbar .quick-add-icon-button,.main-shell>.topbar .user-menu,.main-shell>.topbar .user-menu-trigger{height:44px;min-height:44px}.main-shell>.topbar .notification-button.notification-icon-button,.main-shell>.topbar .quick-add-icon-button{width:44px;min-width:44px}.main-shell>.topbar .theme-toggle{min-width:44px}.main-shell>.topbar .status-pill{border:1px solid var(--line);background:var(--neutral-soft);min-height:30px;color:var(--muted);padding:0 12px;font-size:.76rem;font-weight:650}.main-shell>.topbar .status-pill,.main-shell>.topbar .user-menu{margin-left:10px}.main-shell>.topbar .status-pill+.user-menu{margin-left:0}@media (max-width:760px){.main-shell>.topbar .topbar-right{flex-wrap:wrap;grid-template-columns:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.main-shell>.topbar .notification-button.notification-icon-button,.main-shell>.topbar .quick-add-icon-button{grid-column:auto;width:44px;min-width:44px}.main-shell>.topbar .theme-toggle{grid-column:auto;min-width:44px}}.ai-assistant-close{width:44px;height:44px}.ai-debug-actions button{min-height:44px}.app-shell[data-theme] .main-shell>.topbar .theme-toggle.theme-toggle-icon{width:44px;min-width:44px;height:44px;min-height:44px}.table-empty-state{text-align:center;justify-items:center;gap:6px;padding:32px 20px;display:grid}.table-empty-state strong{color:var(--ink);font-size:.98rem}.table-empty-state span{max-width:440px;color:var(--muted);font-size:.85rem;line-height:1.5}.table-empty-state .shell-button{margin-top:8px}:root{--body-gradient:radial-gradient(900px 760px at 92% -14%, #1a1a1d1a, transparent 60%), radial-gradient(820px 760px at -8% 112%, #27272a14, transparent 58%), radial-gradient(640px 600px at 54% -18%, #1a1a1d0f, transparent 60%), linear-gradient(180deg, #f6f5f2 0%, #efeeea 100%)}:root[data-theme=dark],:root[data-theme=dark],.app-shell[data-theme=dark]{--body-gradient:radial-gradient(900px 900px at 88% -12%, #1a1a1d2b, transparent 60%), radial-gradient(820px 820px at -8% 112%, #27272a24, transparent 58%), radial-gradient(640px 640px at 54% -18%, #1a1a1d1a, transparent 60%), #0a0a0a}.connection-banner{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-soft);align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;display:flex}.connection-banner-dot{background:currentColor;border-radius:999px;flex:none;width:10px;height:10px}.connection-banner-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.connection-banner-copy strong{color:var(--ink);font-size:.92rem;font-weight:700}.connection-banner-copy span{color:var(--muted);font-size:.82rem;line-height:1.4}.connection-banner-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.connection-banner-button{min-height:36px;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;padding:0 14px;font-size:.82rem;font-weight:650}.connection-banner-button.ghost{border-color:var(--line);color:var(--muted)}.connection-banner-button:hover{background:var(--neutral-soft)}.connection-banner-warning{color:var(--warning);background:var(--warning-soft);border-color:var(--warning-soft)}.connection-banner-danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-soft)}.main-shell>.topbar .status-pill.workspace-role-pill{cursor:default;border:0;gap:6px;padding-left:9px}.main-shell>.topbar .status-pill.workspace-role-pill:before{content:"";opacity:.55;background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.material-stock-check>div{cursor:default;border:0}.material-stock-check>div:not(:first-child){background:var(--neutral-soft)}.critical-path-map-card{background:radial-gradient(120% 90% at 50% 0,#ff8a3d0d,#0000 60%),linear-gradient(#f6f5f3,#eeedeb);border-color:#1412100f;box-shadow:inset 0 1px #fffc}.critical-map-grid-bg{opacity:.16}.critical-node rect:first-child,.critical-node .critical-node-card{fill:#fff;stroke:none;rx:20px;ry:20px;filter:drop-shadow(0 14px 24px #1412101f)drop-shadow(0 4px 8px #14121012);transition:filter .2s ease-out}.critical-node:hover .critical-node-card{filter:drop-shadow(0 20px 34px #1412102e)drop-shadow(0 6px 12px #1412101a)}.critical-path-shell .critical-node.selected .critical-node-card{stroke:var(--cp-ink);stroke-width:1.6px}.critical-node-accent{opacity:0}.critical-node.node-critical .critical-node-card,.critical-node.node-critical rect:first-child,.critical-node.node-delayed .critical-node-card,.critical-node.node-delayed rect:first-child,.critical-node.node-near-critical .critical-node-card,.critical-node.node-near-critical rect:first-child,.critical-node.node-completed .critical-node-card,.critical-node.node-completed rect:first-child{fill:#fff;stroke:none}.critical-node.node-critical .critical-node-card,.critical-node.node-critical rect:first-child{filter:drop-shadow(0 14px 24px #1412101a)drop-shadow(0 6px 22px #ff7a1a73)}.critical-node.node-critical:hover .critical-node-card{filter:drop-shadow(0 20px 34px #14121024)drop-shadow(0 8px 28px #ff7a1a99)}.critical-node.node-critical .critical-node-progress,.critical-node.node-critical .critical-node-badge-dot{fill:#ff7a1a}.critical-node.node-critical .critical-node-badge rect{fill:#ff7a1a24}.critical-node.node-critical .critical-node-badge-text{fill:#b85a12}.critical-node-badge rect{fill:#1412100d}.critical-node-connect-handle,.critical-node-connect-label{opacity:.42}.critical-node-connect-handle{fill:#fff;stroke:#14121024;stroke-width:1.4px;filter:drop-shadow(0 4px 10px #14121024)}.critical-node-connect-label{fill:#6f6b64}.critical-node:hover .critical-node-connect-handle,.critical-node:hover .critical-node-connect-label,.critical-node.is-connection-target .critical-node-connect-handle,.critical-node.is-connection-target .critical-node-connect-label{opacity:1}.critical-node.node-critical .critical-node-connect-handle:hover{fill:#ff7a1a;stroke:#ff7a1a}.critical-node-title{font-size:13.5px;font-weight:800}.critical-node-kicker{fill:var(--cp-muted);font-weight:600}.connection-banner{display:none!important}.project-portfolio-page:has(.project-empty-state) .project-portfolio-actions{display:none}.project-empty-state{text-align:center;justify-items:center;gap:10px;padding:36px 24px;display:grid}.project-empty-state .shell-button{border-radius:14px;margin-top:6px;padding:14px 28px;font-size:1rem}@media (max-width:900px){.work-breakdown-table{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto}.work-breakdown-table .work-breakdown-row>.breakdown-name-cell,.work-breakdown-table .work-breakdown-row.head>:first-child{z-index:3;background:var(--surface,#fff);position:sticky;left:0;box-shadow:7px 0 12px -9px #1412104d}}@container wbspane (min-width:621px){.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-left-head,.work-schedule-board.advanced-gantt-board .work-schedule-left-pane .work-schedule-fixed-row{--schedule-grid-columns:34px minmax(180px, 1fr) 46px 54px 54px minmax(160px, 220px);--schedule-grid-columns-advanced:34px minmax(180px, 1fr) 46px 52px 52px minmax(160px, 220px)}}.work-hub-shell{gap:9px;padding:10px}.work-hub-tabs button{padding:9px 11px}.work-hub-intro h4{font-size:.94rem}.work-hub-tabs button.active{border-color:var(--primary,var(--accent));box-shadow:inset 0 0 0 1.5px var(--primary,var(--accent)), 0 8px 20px #1a1a1d1a}.work-hub-tabs button:hover:not(.active){border-color:var(--line);background:#fff;box-shadow:0 8px 18px #1414170f}.work-summary-card{align-items:baseline;gap:6px;padding:7px 11px;display:flex}.work-summary-card strong{font-size:.98rem}.work-summary-card span{margin-top:0;font-size:.72rem}.work-card-indicators span{border:1px solid var(--line);color:var(--muted);background:0 0;padding:3px 8px;font-size:.66rem;font-weight:700}.issue-location-card small{display:none}.issue-location-card p{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}:is(.work-board-layout:has(.issue-detail-panel) .work-board-main,.work-board-layout:has(.work-detail-panel) .work-board-main,.work-board-layout:has(.task-detail-panel) .work-board-main){min-width:0}.ahsp-btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.ahsp-btn:hover{border-color:var(--border-active)}.ahsp-btn:disabled{opacity:.55;cursor:not-allowed}.ahsp-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.ahsp-btn-primary:hover{filter:brightness(1.05);border-color:var(--accent)}.ahsp-btn-secondary{background:var(--surface-soft)}.ahsp-btn-ghost{background:0 0}.ahsp-btn-ghost.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ahsp-badge{letter-spacing:.02em;white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;font-weight:700;line-height:1.45;display:inline-flex}.ahsp-badge-sni{color:#0d9488;background:#0d948824;border-color:#0d948852}.ahsp-badge-modified{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-soft)}.ahsp-badge-custom{color:#7c3aed;background:#8b5cf629;border-color:#8b5cf657}.ahsp-badge-missing{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}[data-theme=dark] .ahsp-badge-sni{color:#2dd4bf}[data-theme=dark] .ahsp-badge-modified{color:var(--warning)}[data-theme=dark] .ahsp-badge-custom{color:#c4b5fd}.ahsp-search-modal,.ahsp-hsd-modal{z-index:1310;border-radius:16px;flex-direction:column;width:min(740px,94vw);max-height:88vh;padding:0;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.ahsp-search-controls,.ahsp-hsd-controls{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 20px;display:flex}.ahsp-search-input{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:10px;padding:9px 12px;font-size:13.5px}.ahsp-search-input:focus{border-color:var(--accent);outline:none}.ahsp-search-modal .drawing-upload-modal-head h3{letter-spacing:-.005em;font-size:1.02rem;line-height:1.3}.ahsp-search-modal .drawing-upload-modal-head p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.52}.ahsp-search-modal .drawing-upload-modal-head .eyebrow{margin-bottom:3px}.boq-ahsp-change{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;margin:0;padding:0;display:inline-flex}.boq-ahsp-change:hover{opacity:.8}.boq-ahsp-change:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ahsp-category-chips{flex-wrap:wrap;gap:6px;display:flex}.ahsp-category-filter{flex-direction:column;align-items:flex-start;gap:6px;width:100%;display:flex}.ahsp-category-filter>.ahsp-category-chips{max-height:60px;transition:max-height .22s;overflow:hidden}.ahsp-category-filter>.ahsp-category-chips.is-expanded{max-height:264px;overflow-y:auto}.ahsp-category-toggle{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:1px 2px;font-size:11.5px;font-weight:650;display:inline-flex}.ahsp-category-toggle:hover{text-decoration:underline}.ahsp-category-toggle-caret{width:13px;height:13px;transition:transform .2s}.ahsp-category-toggle[aria-expanded=true] .ahsp-category-toggle-caret{transform:rotate(180deg)}.ahsp-chip{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600;transition:all .15s}.ahsp-chip:hover{border-color:var(--border-active);color:var(--text)}.ahsp-chip.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ahsp-search-results{flex:1;min-height:0;padding:8px 14px 16px;overflow-y:auto}.app-shell[data-theme] .ahsp-search-modal.surface-card[role=dialog],.app-shell[data-theme] .ahsp-hsd-modal.surface-card[role=dialog]{z-index:1310;max-height:88vh;overflow:hidden}.ahsp-search-status{color:var(--muted);text-align:center;padding:10px 6px;font-size:12.5px}.ahsp-search-error{color:var(--accent)}.ahsp-result-group{margin-top:10px}.ahsp-result-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px;font-size:11px;font-weight:700}.ahsp-result-list{flex-direction:column;gap:6px;display:flex}.ahsp-result-item{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.ahsp-result-item:hover{border-color:var(--accent);background:var(--accent-soft)}.ahsp-result-item.is-current{border-color:var(--accent)}.ahsp-result-main{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ahsp-result-name{color:var(--text);font-size:13.5px;font-weight:600}.ahsp-result-unit{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.ahsp-result-meta{color:var(--muted);font-size:11.5px}.ahsp-breakdown{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;margin:6px 0 4px;padding:12px 14px}.ahsp-breakdown-loading,.ahsp-breakdown-missing{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.ahsp-breakdown-head{margin-bottom:8px}.ahsp-breakdown-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px;font-weight:700;display:block}.ahsp-breakdown-title-btn{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:2px 0;font-size:14px;font-weight:700;display:inline-flex}.ahsp-breakdown-title-btn:disabled{cursor:default}.ahsp-breakdown-change{color:var(--accent);border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.ahsp-breakdown-sub{color:var(--muted);font-size:11.5px;display:block}.ahsp-breakdown-table{border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.ahsp-row{grid-template-columns:minmax(0,2.2fr) .8fr .7fr 1fr 1fr;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:grid}.ahsp-row-head{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);font-size:11px;font-weight:700}.ahsp-col-num{text-align:right;font-variant-numeric:tabular-nums}.ahsp-cell-resource{align-items:center;gap:7px;min-width:0;display:inline-flex}.ahsp-cell-resource span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ahsp-res-icon{font-size:13px}.ahsp-group-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;grid-column:1/-1;padding:8px 10px 2px;font-size:10.5px;font-weight:700}.ahsp-group:first-of-type .ahsp-group-label{padding-top:4px}.ahsp-row-warn{background:#1a1a1d0f;border-radius:6px}.ahsp-row-warn .ahsp-col-num span{color:var(--accent)}.ahsp-cell-subtotal{font-weight:600}.ahsp-row-total{border-top:1px solid var(--border-active);margin-top:4px;font-size:13px;font-weight:700}.ahsp-cell-total{color:var(--accent);font-size:14px}.ahsp-coef-input,.ahsp-hsd-input{font:inherit;text-align:right;font-variant-numeric:tabular-nums;border:1px solid var(--border);background:var(--surface);width:100%;max-width:120px;color:var(--text);border-radius:7px;padding:4px 7px;font-size:12px}.ahsp-coef-input{max-width:84px}.ahsp-coef-input:focus,.ahsp-hsd-input:focus{border-color:var(--accent);outline:none}.ahsp-hsd-edit{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.ahsp-hsd-edit.is-override .ahsp-hsd-input{border-color:var(--accent);background:var(--accent-soft)}.ahsp-hsd-reset{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:2px;font-size:12px}.ahsp-breakdown-error{color:var(--accent);margin:8px 2px 0;font-size:12px}.ahsp-breakdown-foot{border-top:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.ahsp-hsd-source{color:var(--muted);font-size:11.5px}.ahsp-breakdown-actions{flex-wrap:wrap;gap:6px;display:flex}.ahsp-confirm{border:1px solid var(--border-active);background:var(--surface);border-radius:10px;margin-top:10px;padding:12px;font-size:12.5px}.ahsp-confirm-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.ahsp-hsd-controls{flex-direction:row;justify-content:space-between;align-items:center}.ahsp-hsd-controls .ahsp-search-input{flex:1}.ahsp-hsd-status{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:600}.ahsp-hsd-body{flex:1;padding:8px 18px 16px;overflow-y:auto}.ahsp-hsd-group{margin-top:12px}.ahsp-hsd-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:4px 2px 8px;font-size:11px;font-weight:700}.ahsp-hsd-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 56px 160px;align-items:center;gap:10px;padding:6px 4px;display:grid}.ahsp-hsd-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ahsp-hsd-unit{color:var(--muted);text-align:center;font-size:11.5px}.ahsp-hsd-input-wrap{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.ahsp-hsd-input-wrap .ahsp-hsd-input{max-width:130px}.ahsp-hsd-input-wrap.is-unset .ahsp-hsd-input{border-color:var(--accent)}.ahsp-hsd-warn{color:var(--accent);font-size:13px}.ahsp-hsd-namecell{flex-direction:column;gap:3px;min-width:0;display:flex}.ahsp-hsd-tag{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-self:flex-start;padding:1px 7px;font-size:10px;font-weight:600}.ahsp-hsd-tag.tag-custom{color:var(--success,#2f8f5b);border-color:color-mix(in srgb, var(--success,#2f8f5b) 38%, transparent);background:color-mix(in srgb, var(--success,#2f8f5b) 12%, transparent)}.ahsp-hsd-tag.tag-default{color:var(--muted);border-color:var(--border);background:var(--surface-soft)}.ahsp-hsd-tag.tag-empty{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft,color-mix(in srgb, var(--accent) 10%, transparent))}.ahsp-hsd-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ahsp-hsd-pull{margin-right:auto}.ahsp-hsd-filter{flex-wrap:wrap;gap:6px;display:inline-flex}.ahsp-hsd-chip{font:inherit;border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.ahsp-hsd-chip:hover{color:var(--text);border-color:var(--accent)}.ahsp-hsd-chip.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft,color-mix(in srgb, var(--accent) 12%, transparent));font-weight:600}.ahsp-hsd-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.ahsp-hsd-banner{border:1px solid var(--warning-soft);background:var(--warning-soft);color:var(--text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:9px 14px;font-size:12.5px;display:flex}.ahsp-hsd-banner button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:700;text-decoration:underline}.ahsp-price-readonly{font-variant-numeric:tabular-nums;cursor:help;align-items:center;gap:6px;display:inline-flex}.ahsp-price-readonly .ahsp-price-dot{background:#0d9488;border-radius:999px;width:6px;height:6px;display:inline-block}:root{--background:#f1f0ed;--surface:#fff;--surface-elevated:#fff;--surface-muted:#f1f1ee;--text-primary:#14120f;--text-secondary:#26241f;--text-muted:#6f6b64;--text-on-accent:#fff;--border:#1412101a;--border-strong:#14121029;--accent:#cc3b1e;--accent-foreground:#fff;--success:#177038;--success-foreground:#fff;--success-soft:#1770381f;--warning:#85530f;--warning-foreground:#fff;--warning-soft:#85530f26;--danger:#c0322a;--danger-foreground:#fff;--danger-soft:#c0322a1c;--info:#1f6cae;--info-foreground:#fff;--info-soft:#1f6cae1f;--accent-soft:#cc3b1e1a;--bg:var(--background);--panel:var(--surface);--panel-soft:var(--surface-elevated);--surface-soft:var(--surface-elevated);--neutral-soft:var(--surface-muted);--ink:var(--text-primary);--text:var(--text-secondary);--muted:var(--text-muted);--line:var(--border);--line-strong:var(--border-strong)}:root[data-theme=dark],.app-shell[data-theme=dark]{--background:#0a0a0a;--surface:#1a1a1d;--surface-elevated:#242428;--surface-muted:#222226;--text-primary:#fff;--text-secondary:#f5f5f5;--text-muted:#949494;--text-on-accent:#fff;--border:#ffffff1a;--border-strong:#ffffff2e;--accent:#ff5747;--accent-foreground:#fff;--success:#7de08a;--success-foreground:#0a0a0a;--success-soft:#7de08a21;--warning:#fbbf24;--warning-foreground:#0a0a0a;--warning-soft:#fbbf2424;--danger:#ff5a45;--danger-foreground:#0a0a0a;--danger-soft:#ff5a4529;--info:#7cb3e8;--info-foreground:#0a0a0a;--info-soft:#7cb3e824;--accent-soft:#ff3d2e29;--bg:var(--background);--panel:var(--surface);--panel-soft:var(--surface-muted);--surface-soft:var(--surface-elevated);--neutral-soft:var(--surface-muted);--ink:var(--text-primary);--text:var(--text-secondary);--muted:var(--text-muted);--line:var(--border);--line-strong:var(--border-strong);--control-bg:#202024;--body-gradient:#0a0a0a}.app-shell[data-theme=dark] .surface-card,.app-shell[data-theme=dark] .metric-card,.app-shell[data-theme=dark] .summary-card,.app-shell[data-theme=dark] .project-card,.app-shell[data-theme=dark] .dashboard-kpi-card,.app-shell[data-theme=dark] .task-card,.app-shell[data-theme=dark] .asset-card,.app-shell[data-theme=dark] .inventory-card,.app-shell[data-theme=dark] .template-card,.app-shell[data-theme=dark] .issue-card,.app-shell[data-theme=dark] .table-card,.app-shell[data-theme=dark] .kanban-column,.app-shell[data-theme=dark] .timeline-card,.app-shell[data-theme=dark] .quick-panel{background:var(--surface);border:1px solid var(--border)}.app-shell[data-theme=dark] .surface-card:after,.app-shell[data-theme=dark] .metric-card:after,.app-shell[data-theme=dark] .project-card:after,.app-shell[data-theme=dark] .dashboard-kpi-card:after{content:none}.app-shell[data-theme=dark] .pcc-metric,.app-shell[data-theme=dark] .pcc-proc-card,.app-shell[data-theme=dark] .pcc-onboarding-card,.app-shell[data-theme=dark] .pcc-feed-item,.app-shell[data-theme=dark] .pcc-action-item{background:var(--surface);border:1px solid var(--border)}.app-shell[data-theme=dark] .pcc-metric:after{content:none}.app-shell[data-theme=dark] .pcc-card-urgent{background:var(--surface)!important;border-color:var(--accent)!important}.app-shell[data-theme=dark] .eyebrow,.app-shell[data-theme=dark] .sidebar-item,.app-shell[data-theme=dark] .context-strip span,.app-shell[data-theme=dark] .work-plan-facts label,.app-shell[data-theme=dark] .work-plan-edit-header label{color:var(--text-muted)}.app-shell[data-theme=dark] input,.app-shell[data-theme=dark] select,.app-shell[data-theme=dark] textarea,.app-shell[data-theme=dark] .ui-select{background-color:var(--control-bg)}:root{--background:#f1f0ed;--body-gradient:linear-gradient(180deg, #f3f2ef 0%, #ecebe8 100%);--surface:#fff;--surface-elevated:#fff;--surface-muted:#e9e8e4;--control-bg:#f6f5f2;--text-primary:#14120f;--text-secondary:#26241f;--text-muted:#5d5953;--border:#14121024;--border-strong:#14121038;--accent:#cc3b1e;--accent-foreground:#fff;--accent-soft:#cc3b1e1a;--success:#177038;--success-foreground:#fff;--success-soft:#1770381f;--warning:#85530f;--warning-foreground:#fff;--warning-soft:#85530f26;--danger:#b62d25;--danger-foreground:#fff;--danger-soft:#b62d251c;--info:#1b6098;--info-foreground:#fff;--info-soft:#1b60981f}.app-shell:not([data-theme=dark]) .surface-card,.app-shell:not([data-theme=dark]) .metric-card,.app-shell:not([data-theme=dark]) .summary-card,.app-shell:not([data-theme=dark]) .project-card,.app-shell:not([data-theme=dark]) .dashboard-kpi-card,.app-shell:not([data-theme=dark]) .task-card,.app-shell:not([data-theme=dark]) .asset-card,.app-shell:not([data-theme=dark]) .inventory-card,.app-shell:not([data-theme=dark]) .template-card,.app-shell:not([data-theme=dark]) .issue-card,.app-shell:not([data-theme=dark]) .table-card,.app-shell:not([data-theme=dark]) .kanban-column,.app-shell:not([data-theme=dark]) .timeline-card,.app-shell:not([data-theme=dark]) .quick-panel,.app-shell:not([data-theme=dark]) .pcc-metric,.app-shell:not([data-theme=dark]) .pcc-proc-card,.app-shell:not([data-theme=dark]) .pcc-onboarding-card,.app-shell:not([data-theme=dark]) .pcc-feed-item,.app-shell:not([data-theme=dark]) .pcc-action-item{background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 1px 2px #1412100d,0 2px 6px #14121012}.app-shell:not([data-theme=dark]) .surface-card:after,.app-shell:not([data-theme=dark]) .metric-card:after,.app-shell:not([data-theme=dark]) .project-card:after,.app-shell:not([data-theme=dark]) .dashboard-kpi-card:after,.app-shell:not([data-theme=dark]) .pcc-metric:after{content:none}.app-shell:not([data-theme=dark]) .pcc-card-urgent{background:var(--surface)!important;border-color:#c0322a73!important}:root{--amber:#84540f}.app-shell:not([data-theme=dark]) .eyebrow{color:var(--text-muted)}.work-item-card-v2{gap:9px}.work-item-card-v2 .work-item-card-top{align-items:center}.work-card-top-left{align-items:center;gap:8px;min-width:0;display:flex}.work-card-type-ico{background:var(--neutral-soft);width:26px;height:26px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.work-card-type-ico svg{width:15px;height:15px}.work-card-type-ico.is-issue{background:var(--danger-soft);color:var(--danger)}.work-card-type-ico.is-task{background:var(--accent-soft);color:var(--accent)}.work-card-id{font-family:var(--font-mono);letter-spacing:.01em;color:var(--muted);white-space:nowrap;flex:none;font-size:.7rem;font-weight:700}.work-card-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.98rem;font-weight:800;line-height:1.22;display:-webkit-box;overflow:hidden}.work-item-card-v2 .work-card-area{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;line-height:1.3;overflow:hidden}.work-card-meta-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.work-card-person{min-width:0;color:var(--ink);align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:inline-flex}.work-card-avatar{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);letter-spacing:.02em;border-radius:999px;flex:none;place-items:center;font-size:.62rem;font-weight:800;display:grid}.work-card-person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.work-card-due{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:5px;font-size:.8rem;font-weight:700;display:inline-flex}.work-card-due svg{width:14px;height:14px}.work-card-due.overdue{color:var(--danger)}.work-card-flags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.work-card-cat{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:700}.work-card-flag{background:var(--neutral-soft);width:26px;height:26px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:4px;display:inline-flex}.work-card-flag svg{width:14px;height:14px}.work-card-flag.evidence-complete{background:var(--success-soft);color:var(--success)}.work-card-flag.evidence-partial{background:var(--warning-soft);color:var(--warning)}.work-card-flag.evidence-none{opacity:.5}.work-card-flag.is-blocked{background:var(--warning-soft);width:auto;height:24px;color:var(--warning);padding:0 9px;font-size:.7rem;font-weight:750}.work-item-card-v2 .work-card-secondary-actions.primary{gap:6px;padding-top:2px}.cursor-glow{display:none!important}.enflow-greeting{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);opacity:0;flex-direction:column;gap:5px;margin:0 0 18px;padding:18px 20px;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);display:flex;transform:translateY(10px)}.enflow-greeting.is-shown{opacity:1;transform:translateY(0)}.enflow-greeting-row{align-items:center;gap:12px;display:flex}.enflow-greeting-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.enflow-greeting-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.enflow-greeting-title{letter-spacing:-.02em;min-width:0;color:var(--ink);margin:0;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:750;line-height:1.15}.enflow-greeting-sub{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.enflow-greeting-divider{background:var(--line);height:1px;margin:11px 0 3px}.enflow-greeting-clock{align-items:baseline;gap:6px;display:flex}.enflow-greeting-clock-hm{font-family:var(--font-serif);letter-spacing:.01em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:500;line-height:1}.enflow-greeting-clock-sec{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}@media (prefers-reduced-motion:reduce){.enflow-greeting{opacity:1;transition:none;transform:none}}.enflow-greeting{opacity:1;transition:none;animation:.6s cubic-bezier(.2,.7,.2,1) both enflow-greeting-in;transform:none}@keyframes enflow-greeting-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.enflow-greeting{opacity:1;animation:none;transform:none}}.project-portfolio-page .project-empty-state{text-align:center;justify-items:center;gap:12px;padding:48px 28px 44px;display:grid}.project-portfolio-page .project-empty-state:before{content:"+";background:var(--accent-soft,#1a1a1d1a);width:60px;height:60px;color:var(--accent,var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent,var(--accent)) 16%, transparent);border-radius:18px;place-items:center;margin-bottom:4px;font-size:30px;font-weight:500;line-height:1;display:grid}.project-portfolio-page .project-empty-state .eyebrow{color:var(--muted,#6f6b64)}.project-portfolio-page .project-empty-state h3{letter-spacing:-.01em;color:var(--text,#26241f);margin:2px 0 0;font-size:1.25rem;font-weight:600}.project-portfolio-page .project-empty-state p{max-width:380px;color:var(--muted,#6f6b64);margin:0;font-size:.92rem;line-height:1.5}.project-portfolio-page .project-empty-state .shell-button{box-shadow:var(--shadow-soft,0 8px 20px #1414120f);border-radius:14px;justify-self:center;align-items:center;gap:8px;margin-top:12px;padding:13px 26px;font-size:.95rem;font-weight:600;transition:transform .16s,box-shadow .16s;display:inline-flex}.project-portfolio-page .project-empty-state .shell-button:before{content:"+";margin-top:-1px;font-size:1.15rem;font-weight:500;line-height:1}.project-portfolio-page .project-empty-state .shell-button:hover:not(:disabled){box-shadow:var(--shadow,0 10px 28px #1414121f);transform:translateY(-1px)}.project-portfolio-page .project-empty-state:before{content:"";background-color:var(--accent-soft,#1a1a1d1a);background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%231a1a1d%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2020a2%202%200%200%200%202-2V8a2%202%200%200%200-2-2h-7.9a2%202%200%200%201-1.69-.9L9.6%203.9A2%202%200%200%200%207.93%203H4a2%202%200%200%200-2%202v13a2%202%200%200%200%202%202Z%27%2F%3E%3C%2Fsvg%3E);background-position:50%;background-repeat:no-repeat;background-size:28px 28px;font-size:0}:root[data-theme=dark] .project-portfolio-page .project-empty-state:before,.app-shell[data-theme=dark] .project-portfolio-page .project-empty-state:before{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23f6f6f7%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2020a2%202%200%200%200%202-2V8a2%202%200%200%200-2-2h-7.9a2%202%200%200%201-1.69-.9L9.6%203.9A2%202%200%200%200%207.93%203H4a2%202%200%200%200-2%202v13a2%202%200%200%200%202%202Z%27%2F%3E%3C%2Fsvg%3E)}.inventory-empty-card{text-align:center;justify-items:center;gap:12px;padding:48px 28px 44px;display:grid}.inventory-empty-card:before{content:"";background-color:var(--accent-soft,#1a1a1d1a);width:60px;height:60px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent,var(--accent)) 16%, transparent);background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231a1a1d%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3Cpath%20d%3D%22M21%208a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016Z%22%2F%3E%3Cpath%20d%3D%22M3.3%207%2012%2012l8.7-5%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3C%2Fsvg%3E);background-position:50%;background-repeat:no-repeat;background-size:28px 28px;border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.inventory-empty-card .eyebrow{color:var(--muted,#6f6b64)}.inventory-empty-card h4{letter-spacing:-.01em;color:var(--text,#26241f);margin:2px 0 0;font-size:1.25rem;font-weight:600}.inventory-empty-card p{max-width:380px;color:var(--muted,#6f6b64);margin:0;font-size:.92rem;line-height:1.5}.inventory-empty-card .shell-button{box-shadow:var(--shadow-soft,0 8px 20px #1414120f);border-radius:14px;justify-self:center;align-items:center;gap:8px;margin-top:12px;padding:13px 26px;font-size:.95rem;font-weight:600;transition:transform .16s,box-shadow .16s;display:inline-flex}.inventory-empty-card .shell-button:before{content:"+";margin-top:-1px;font-size:1.15rem;font-weight:500;line-height:1}.inventory-empty-card .shell-button:hover:not(:disabled){box-shadow:var(--shadow,0 10px 28px #1414121f);transform:translateY(-1px)}:root[data-theme=dark] .inventory-empty-card:before,.app-shell[data-theme=dark] .inventory-empty-card:before{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23f6f6f7%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3Cpath%20d%3D%22M21%208a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016Z%22%2F%3E%3Cpath%20d%3D%22M3.3%207%2012%2012l8.7-5%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3C%2Fsvg%3E)}.project-modal .form-actions.work-plan-sticky-actions{border:none;border-top:1px solid var(--line,#1414171a);width:auto;max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;justify-content:flex-end;gap:10px;margin:18px 0 0;padding:16px 0 0;position:static}.project-modal .drawing-upload-close{border:1px solid var(--line,#1414171f);color:var(--text);background:0 0}.project-modal .drawing-upload-close:hover:not(:disabled){background:var(--surface-soft,#1414170a)}.app-shell[data-theme=dark] .linked-location-button,:root[data-theme=dark] .linked-location-button,.app-shell[data-theme=dark] .work-card-secondary-actions button,:root[data-theme=dark] .work-card-secondary-actions button,.app-shell[data-theme=dark] .inline-status-button,:root[data-theme=dark] .inline-status-button,.app-shell[data-theme=dark] .quick-create-popover button,:root[data-theme=dark] .quick-create-popover button,.app-shell[data-theme=dark] .work-detail-head button,:root[data-theme=dark] .work-detail-head button{background:var(--surface-soft);color:var(--text);border-color:var(--line)}.app-shell[data-theme=dark] .issue-detail-hero,:root[data-theme=dark] .issue-detail-hero{background:linear-gradient(118deg,#ffffff0f,#0000 34%),linear-gradient(145deg,#ffffff0d,#ffffff05);border-color:#ffffff1a;box-shadow:0 18px 44px #0006,inset 0 1px #ffffff0f}.issue-detail-hero-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.issue-detail-hero-actions button{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--text);cursor:pointer;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:600;transition:all .14s}.issue-detail-hero-actions button:hover{background:var(--surface)}[role=dialog] .form-actions:not(.boq-template-left-actions),[role=dialog] .modal-actions,[role=dialog] .settings-modal-actions{justify-content:flex-end;align-items:center}.app-shell[data-theme=dark] .drawing-upload-close,:root[data-theme=dark] .drawing-upload-close{border-color:var(--line);color:var(--text);background:0 0}.drawing-upload-close:hover:not(:disabled){border-color:var(--border-active,var(--line))}:is(.assets-page:has(.asset-empty-card) .inventory-header-actions .shell-button-primary,.inventory-page:has(.inventory-empty-card) .inventory-header-actions .shell-button-primary,.materials-page:has(.material-empty-state) .material-request-toolbar .shell-button-primary),:is(.main-shell:has(.asset-empty-card) .resource-header-actions-slot .shell-button-primary,.main-shell:has(.inventory-empty-card) .resource-header-actions-slot .shell-button-primary){display:none}.app-shell[data-theme=dark] .team-modal-head button,:root[data-theme=dark] .team-modal-head button{background:var(--control-bg);color:var(--ink);border-color:var(--line)}.app-shell[data-theme=dark] .access-type-toggle button:not(.active),:root[data-theme=dark] .access-type-toggle button:not(.active){color:var(--muted);border-color:var(--line);background:0 0}.app-shell[data-theme=dark] .access-type-toggle button.active,:root[data-theme=dark] .access-type-toggle button.active{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.supplier-compare-layout{grid-template-columns:minmax(0,1fr)}.supplier-price-table td strong,.supplier-price-table td small{display:block}.supplier-price-table td small{color:var(--muted);margin-top:3px;font-size:.76rem}.vgroups-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;display:grid}.vgroups-sidebar{align-content:start;gap:8px;max-height:calc(100dvh - 120px);padding:12px 8px;display:grid;position:sticky;top:12px;overflow-y:auto}.vgroups-search{border:1px solid var(--line);background:var(--panel-soft);height:34px;color:var(--muted);border-radius:10px;align-items:center;gap:7px;padding:0 9px;display:flex}.vgroups-search svg{flex:none;width:14px;height:14px}.vgroups-search input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:none;font-size:.8rem}.vgroups-sidebar-hint{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:2px 0 0;padding:0 8px;font-size:.62rem;font-weight:800}.vgroups-nav-section{gap:1px;display:grid}.vgroups-section-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:6px 0 2px;padding:0 8px;font-size:.6rem;font-weight:800}.vgroups-nav-item{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:6px 9px;font-size:.8rem;transition:background .13s,color .13s;display:flex}.vgroups-nav-item:hover{background:var(--panel-soft)}.vgroups-nav-item.active{background:var(--primary-soft);color:var(--text);font-weight:600}.vgroups-nav-dot{border-radius:3px;flex:none;width:8px;height:8px}.vgroups-nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.vgroups-nav-badge{background:var(--danger-soft);min-width:18px;color:var(--danger);text-align:center;border-radius:999px;flex:none;padding:1px 6px;font-size:.66rem;font-weight:700}.vgroups-nav-empty{color:var(--muted);margin:0;padding:8px;font-size:.78rem}.vgroups-nav-links{border-top:1px solid var(--line);gap:1px;margin-top:4px;padding-top:8px;display:grid}.vgroups-nav-links button{color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 9px;font-size:.78rem}.vgroups-nav-links button:hover{background:var(--panel-soft);color:var(--text)}.vgroups-content-inner{gap:12px;animation:.15s both vgroups-slide;display:grid}@keyframes vgroups-slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vgroups-content-inner{animation:none}}.vgroups-overview-head h3,.vgroups-detail-head h3{color:var(--text);margin:0;font-size:1.05rem;font-weight:650}.vgroups-overview-head p{color:var(--muted);margin:2px 0 0}.vgroups-detail-head{border:1px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.vgroups-detail-title{align-items:center;gap:12px;min-width:0;display:flex}.vgroups-detail-title .vendor-group-icon{flex:none;width:44px;height:44px}.vgroups-detail-title p{color:var(--muted);margin:2px 0 0;font-size:.82rem;line-height:1.4}.vgroups-stat-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.vgroups-stat-row.overview{grid-template-columns:repeat(4,1fr)}.vgroups-stat{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:2px;padding:12px 14px;display:grid}.vgroups-stat span{color:var(--muted);font-size:.72rem;font-weight:600}.vgroups-stat strong{color:var(--text);font-size:1.4rem;font-weight:700;line-height:1.1}.vgroups-stat small{color:var(--muted);font-size:.7rem}.vgroups-alert-banner{border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);background:var(--danger-soft);color:var(--danger);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:.84rem;display:flex}.vgroups-alert-banner .vgroups-alert-icon{flex:none;place-items:center;display:inline-grid}.vgroups-alert-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.vgroups-alert-banner span:nth-child(2){flex:1}.vgroups-alert-banner button{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;font-weight:700}.vgroups-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.vgroups-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:.82rem;font-weight:600}.vgroups-tabs button:hover{color:var(--text)}.vgroups-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.vgroups-vendor-list{gap:8px;display:grid}.vgroups-vendor-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .13s;display:flex}.vgroups-vendor-row:hover{background:var(--panel-soft)}.vgroups-vendor-avatar{border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:.8rem;font-weight:700;display:inline-grid}.vgroups-vendor-main{flex:1;gap:5px;min-width:0;display:grid}.vgroups-vendor-top{align-items:center;gap:8px;display:flex}.vgroups-vendor-top strong{color:var(--text);font-size:.86rem;font-weight:600}.vgroups-vendor-tags{flex-wrap:wrap;gap:4px;display:flex}.vgroups-vendor-tags span{background:var(--panel-soft);color:var(--muted);border-radius:6px;padding:1px 7px;font-size:.68rem;font-weight:600}.vgroups-vendor-tags .more{background:0 0}.vgroups-vendor-meta{color:var(--muted);font-size:.72rem}.vgroups-vendor-flag{flex:none;align-self:center}.vgroups-flag-alert{background:var(--danger-soft);color:var(--danger);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}.vgroups-flag-ok{background:var(--success-soft,#1e84491f);color:var(--success,#1e8449);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}.vgroups-empty{text-align:center;border:1px dashed var(--line);background:var(--surface);border-radius:16px;justify-items:center;gap:8px;padding:44px 24px;display:grid}.vgroups-empty .vgroups-empty-icon{opacity:.55;width:56px;height:56px}.vgroups-empty h4{color:var(--text);margin:4px 0 0;font-size:.98rem;font-weight:600}.vgroups-empty p{max-width:320px;color:var(--muted);margin:0;font-size:.84rem}.vgroups-tab-note{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:14px;justify-items:start;gap:10px;padding:20px;display:grid}.vgroups-tab-note p{margin:0}.vgroups-alert-list{gap:6px;display:grid}.vgroups-alert-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.vgroups-alert-item strong{color:var(--text);font-size:.82rem;font-weight:600;display:block}.vgroups-alert-item small{color:var(--muted);font-size:.72rem}.vgroups-alert-age{color:var(--danger);flex:none;font-size:.74rem;font-weight:700}.vendor-group-grid.vgroups-overview-grid{grid-template-columns:repeat(auto-fill,minmax(208px,1fr))}.vgroups-overview-head{margin-bottom:4px}@media (max-width:768px){.vgroups-layout{grid-template-columns:1fr}.vgroups-sidebar{max-height:none;position:static}.vgroups-stat-row,.vgroups-stat-row.overview{grid-template-columns:repeat(2,1fr)}}.app-shell[data-theme=dark] .photo-stage-card,:root[data-theme=dark] .photo-stage-card{background:var(--control-bg);border-color:#ffffff1f}.app-shell[data-theme=dark] .photo-stage-card strong,:root[data-theme=dark] .photo-stage-card strong{color:var(--text)}.app-shell[data-theme=dark] .issue-detail-facts span,:root[data-theme=dark] .issue-detail-facts span{color:var(--text);background:#ffffff0f}.upload-inline:focus-within,.upload-chip:focus-within{outline:2px solid var(--accent);outline-offset:2px}.upload-button-trigger:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.app-shell[data-theme=dark] .drawing-library-empty,:root[data-theme=dark] .drawing-library-empty{background:#ffffff08;border-color:#ffffff24}.app-shell[data-theme=dark] .issue-detail-actions-card,:root[data-theme=dark] .issue-detail-actions-card,.app-shell[data-theme=dark] .drawing-drawer-shell .issue-detail-actions-card,:root[data-theme=dark] .drawing-drawer-shell .issue-detail-actions-card{background:var(--surface);border-color:var(--line);box-shadow:none}.app-shell[data-theme=dark] .processing-skeleton,:root[data-theme=dark] .processing-skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/220% 100%}.app-shell[data-theme=dark] .processing-bar,:root[data-theme=dark] .processing-bar{background:#ffffff1a}.app-shell[data-theme=dark] .drawing-touch-mini-toolbar button,:root[data-theme=dark] .drawing-touch-mini-toolbar button{background:var(--control-bg);color:var(--ink);border-color:var(--line)}.model-viewer-shell button:focus-visible,.model-floating-tools button:focus-visible,.drawing-drawer-shell button:focus-visible,.drawing-drawer-shell [role=button]:focus-visible,.drawing-drawer-shell [tabindex="0"]:focus-visible,.drawing-toolbar-quick:focus-visible,.drawer-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drawing-touch-mini-toolbar button{height:44px}@media (max-width:760px){.issue-status-strip button,.issue-detail-hero-actions button,.issue-detail-panel .issue-evidence-actions label,.issue-detail-panel .segmented-control.compact button{min-height:44px}}@media (pointer:coarse){.measure-mode-button,.measure-secondary-toolbar button,.measure-calibration-actions button{min-height:44px}}@media (max-width:980px){.model-floating-tools{overscroll-behavior:contain;align-content:start;overflow-y:auto}}@media (max-height:720px){.model-floating-tools{overscroll-behavior:contain;align-content:start;overflow-y:auto}}.shell-button.is-armed{outline:2px solid var(--accent);outline-offset:2px;animation:1.5s ease-in-out infinite drawing-pin-armed}@keyframes drawing-pin-armed{0%,to{outline-color:var(--accent)}50%{outline-color:color-mix(in srgb, var(--accent) 35%, transparent)}}@media (prefers-reduced-motion:reduce){.shell-button.is-armed{animation:none}}.feature-error-fallback{border:1px solid color-mix(in srgb, var(--danger) 30%, var(--line));border-radius:16px;justify-items:start;gap:8px;margin:12px 0;padding:18px 20px;display:grid}.feature-error-fallback strong{color:var(--text);font-size:.98rem}.feature-error-fallback p{color:var(--muted);margin:0;font-size:.86rem}.feature-error-fallback .feature-error-detail{background:var(--danger-soft);width:100%;color:var(--danger);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:10px;padding:8px 10px;font-size:.76rem}.feature-error-fallback .shell-button{margin-top:4px}.work-card-title{letter-spacing:-.01em;font-weight:700}.work-card-id{opacity:.6;font-size:.64rem;font-weight:600}.work-item-card{gap:11px;padding:14px}.work-card-type-ico{width:24px;height:24px}.work-card-flag{background:0 0;width:22px;height:22px}.enflow-greeting-main{justify-content:space-between;align-items:center;gap:20px;display:flex}.enflow-greeting-lead{align-items:center;gap:14px;min-width:0;display:flex}.enflow-greeting-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.enflow-greeting-main .enflow-greeting-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.enflow-greeting-main .enflow-greeting-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.enflow-greeting-main .enflow-greeting-clock{flex:none;align-self:center}@media (max-width:640px){.enflow-greeting-main{flex-direction:column;align-items:stretch;gap:12px}.enflow-greeting-main .enflow-greeting-title{white-space:normal}.enflow-greeting-main .enflow-greeting-clock{border-top:1px solid var(--line);align-self:flex-start;width:100%;margin-top:2px;padding-top:12px}}.work-board-toolbar .toolbar-group{flex-wrap:wrap;row-gap:8px}.work-board-toolbar .work-quick-filters{flex:auto}.work-area-stats{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.work-area-stat{background:var(--neutral-soft);color:var(--muted);border-radius:999px;align-items:baseline;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:600;line-height:1.5;display:inline-flex}.work-area-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.work-area-stat.is-primary{background:var(--accent-soft);color:var(--accent)}.work-area-stat.is-primary strong{color:var(--accent)}.work-board-toolbar .segmented-control.compact{flex-wrap:wrap;max-width:100%}.segmented-control.compact.task-view-switcher-seg{flex:0 auto}:root{--background:#e8e8ea;--surface:#fff;--surface-elevated:#fff;--surface-muted:#ededee;--bg:#e8e8ea;--panel:#fff;--panel-soft:#f6f6f7;--surface-soft:#f6f6f7;--neutral-soft:#ededee;--control-bg:#fffffff5;--text-primary:#1a1a1d;--text-secondary:#444447;--text-muted:#5e5e62;--text-on-accent:#fff;--accent-foreground:#fff;--ink:#1a1a1d;--text:#444447;--muted:#5e5e62;--border:#1414171a;--border-strong:#14141729;--line:#1414171a;--line-strong:#14141729;--border-active:#1414172e;--glass-border:#1414171a;--accent:#1a1a1d;--accent-soft:#1a1a1d14;--primary:#1a1a1d;--primary-soft:#1a1a1d0f;--success:#46664f;--success-soft:#46664f1f;--success-foreground:#fff;--warning:#a46314;--warning-soft:#a4631426;--warning-foreground:#fff;--danger:#c4422e;--danger-soft:#c4422e1f;--danger-foreground:#fff;--info:#395a7d;--info-soft:#395a7d1f;--info-foreground:#fff;--amber:#a46314;--amber-soft:#a4631426;--glow:#1a1a1d;--glow-2:#27272a;--magenta:#27272a;--magenta-deep:#444447;--accent-pop:#1a1a1d;--accent-pop-ink:#fff;--cta:linear-gradient(120deg, #27272a 0%, #1a1a1d 100%);--focus-ring:#1a1a1d38;--shadow-red-soft:0 8px 24px #1414121a;--shadow-red:0 10px 34px #14141224;--shadow:0 1px 2px #1414120d, 0 14px 32px #14141214;--shadow-soft:0 8px 20px #1414120f;--glass-shadow:0 8px 30px #14141224, 0 2px 6px #1414120f;--glass-fill:linear-gradient(150deg, #ffffff9e 0%, #fff6 100%);--glass-fill-soft:linear-gradient(150deg, #ffffff80 0%, #ffffff4d 100%);--body-gradient:linear-gradient(180deg, #efeff0 0%, #e4e4e6 100%);--font-display:var(--font-sans);--font-serif:var(--font-sans)}:root[data-theme=dark],.app-shell[data-theme=dark]{--background:#0f0f11;--surface:#1a1a1d;--surface-elevated:#242428;--surface-muted:#222226;--bg:#0f0f11;--panel:#1a1a1d;--panel-soft:#222226;--surface-soft:#242428;--neutral-soft:#222226;--control-bg:#ffffff0a;--text-primary:#f6f6f7;--text-secondary:#c9c9cc;--text-muted:#949494;--text-on-accent:#0f0f11;--accent-foreground:#0f0f11;--ink:#f6f6f7;--text:#c9c9cc;--muted:#949494;--text-inverse:#1a1a1d;--border:#ffffff1a;--border-strong:#ffffff2e;--line:#ffffff1a;--line-strong:#ffffff2e;--border-active:#fff3;--glass-border:#ffffff14;--accent:#f6f6f7;--accent-soft:#f6f6f71f;--primary:#f6f6f7;--primary-soft:#f6f6f71a;--success:#7da78d;--success-soft:#7da78d29;--success-foreground:#0f0f11;--warning:#db9438;--warning-soft:#db943829;--warning-foreground:#0f0f11;--danger:#d4624e;--danger-soft:#d4624e2e;--danger-foreground:#0f0f11;--info:#9cb4cd;--info-soft:#9cb4cd29;--info-foreground:#0f0f11;--amber:#db9438;--amber-soft:#db943829;--glow:#f6f6f7;--glow-2:#f6f6f7;--magenta:#5b5b54;--magenta-deep:#5b5b54;--accent-pop:#f6f6f7;--accent-pop-ink:#0f0f11;--cta:linear-gradient(120deg, #34342f 0%, #27272a 100%);--focus-ring:#f6f6f742;--shadow-red-soft:0 6px 24px #0006;--shadow-red:0 8px 40px #00000080;--shadow:0 8px 32px #00000080;--shadow-soft:0 6px 24px #0006;--glass-shadow:0 8px 32px #00000080;--glass-fill:#ffffff0a;--glass-fill-soft:#ffffff0f;--body-gradient:linear-gradient(180deg, #0c0c0b 0%, #070706 100%)}body,input,select,textarea,td,th,button{font-variant-numeric:tabular-nums lining-nums}:root{--radius-2xl:28px;--radius-xl:20px;--radius-lg:14px;--radius-md:10px;--radius-sm:6px;--radius-xs:4px}.app-shell[data-theme]{--radius-xl:20px;--radius-lg:14px;--radius-md:10px;--radius-sm:6px}:root{--glass-edge:inset 0 1.5px 0 #ffffffe6, inset 0 0 0 1px #ffffff52, inset 0 -14px 30px #1414170d}:root[data-theme=dark],.app-shell[data-theme=dark]{--glass-edge:inset 0 1px 0 #ffffff0f}.app-shell[data-theme] .task-group-board:not(.task-status-board) .task-command-list{grid-template-columns:1fr}@media (min-width:768px){.app-shell[data-theme] .task-group-board:not(.task-status-board) .task-command-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"top aside""desc aside""prog aside";align-items:center;gap:6px 20px}.task-group-board:not(.task-status-board) .task-command-card .task-command-top{grid-area:top}.task-group-board:not(.task-status-board) .task-command-card>p{text-overflow:ellipsis;white-space:nowrap;grid-area:desc;margin:0;overflow:hidden}.task-group-board:not(.task-status-board) .task-command-card .task-command-progress{grid-area:prog;align-self:center;max-width:300px}.task-group-board:not(.task-status-board) .task-command-card .task-command-meta{grid-area:aside;justify-content:flex-end;align-self:start;align-items:center;max-width:340px}}.app-shell[data-theme=light] .sidebar,.app-shell[data-theme=light] .sidebar[data-sidebar-state]{color:#f7f7f4d1;-webkit-backdrop-filter:none;background:#1e1e21;border:1px solid #ffffff14;box-shadow:0 18px 40px -8px #00000073,0 4px 12px #0000004d,inset 0 1px #ffffff14}.app-shell[data-theme=light] .sidebar:after{content:none}.app-shell[data-theme=light] .sidebar-item,.app-shell[data-theme=light] .sidebar-item .sidebar-icon,.app-shell[data-theme=light] .collapse-toggle,.app-shell[data-theme=light] .pin-label,.app-shell[data-theme=light] .sidebar .brand-copy p,.app-shell[data-theme=light] .sidebar .sidebar-user-copy span,.app-shell[data-theme=light] .sidebar-nav:before,.app-shell[data-theme=light] .sidebar-utility-nav:before{color:#f7f7f494}.app-shell[data-theme=light] .sidebar .brand-copy strong,.app-shell[data-theme=light] .sidebar .sidebar-user-copy strong{color:#f7f7f4}.app-shell[data-theme=light] .sidebar-item:hover,.app-shell[data-theme=light] .collapse-toggle:hover{color:#f7f7f4f0;background:#ffffff12;border-color:#ffffff1a}.app-shell[data-theme=light] .sidebar-item:hover .sidebar-icon{color:#f7f7f4f0}.app-shell[data-theme=light] .sidebar-item.active{color:#fff;background:#ffffff24;border-color:#ffffff29}.app-shell[data-theme=light] .sidebar-item.active .sidebar-icon{color:#fff}.app-shell[data-theme=light] .sidebar-item.active:before{background:linear-gradient(#fff,#b9b9bb);box-shadow:0 0 16px #ffffff38}.app-shell[data-theme=light] .pin-icon{color:#f7f7f4b3;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1c}.app-shell[data-theme=light] .sidebar .avatar{color:#f7f7f4;background:#ffffff1f}.app-shell[data-theme=light] .sidebar .sidebar-user.is-clickable:hover{background:#ffffff12}.app-shell .sidebar{border-radius:20px}.comment-section{flex-direction:column;gap:14px;display:flex}.comment-section-head{align-items:baseline;gap:8px;display:flex}.comment-section-title{color:var(--ink);margin:0;font-size:15px;font-weight:600}.comment-section-count{color:var(--muted);font-size:12px}.comment-error{color:var(--danger);margin:0;font-size:13px}.comment-empty,.comment-empty-state{color:var(--muted);font-size:13px}.comment-empty-state{border:1px dashed var(--line);text-align:center;border-radius:12px;flex-direction:column;gap:2px;padding:16px;display:flex}.comment-empty-state strong{color:var(--ink);font-size:14px}.comment-composer{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.comment-composer.is-compact{padding:8px}.comment-composer-field{position:relative}.comment-textarea{resize:vertical;width:100%;color:var(--ink);font:inherit;background:0 0;border:none;outline:none}.comment-mention-dropdown{z-index:20;background:var(--surface);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-soft,0 8px 24px #0000001f);border-radius:10px;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0}.comment-mention-dropdown button{text-align:left;width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;padding:6px 8px;display:block}.comment-mention-dropdown button:hover{background:var(--surface-soft)}.comment-composer-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.comment-attach-btn,.comment-submit-btn{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:13px}.comment-submit-btn{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comment-attach-btn{margin-right:auto}.comment-attachment-previews{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.comment-attachment-preview{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex;position:relative}.comment-attachment-preview img{object-fit:cover;border-radius:6px;width:40px;height:40px}.comment-attachment-preview button{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.comment-attachment-file{color:var(--muted);font-size:11px;font-weight:700}.comment-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.comment-thread{flex-direction:column;gap:8px;display:flex}.comment-replies{border-left:2px solid var(--line);flex-direction:column;gap:12px;margin-left:40px;padding-left:12px;display:flex}.comment-reply-composer{margin-left:40px}.comment-toggle-replies{color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;font-weight:600}.comment-item{gap:10px;display:flex}.comment-avatar{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.comment-body{flex:1;min-width:0}.comment-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.comment-author{color:var(--ink);font-size:13px;font-weight:600}.comment-time,.comment-edited{color:var(--muted);font-size:12px}.comment-text{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:2px 0 6px;font-size:14px}.comment-attachments{flex-wrap:wrap;gap:8px;margin:0 0 6px;padding:0;list-style:none;display:flex}.comment-attachments img{border:1px solid var(--line);border-radius:8px;max-width:160px;max-height:160px}.comment-attachment-doc{color:var(--primary);font-size:12px}.comment-reactions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.comment-reaction{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.comment-reaction.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.comment-reaction-count{font-variant-numeric:tabular-nums}.comment-reaction-palette{gap:2px;display:none}.comment-reactions:hover .comment-reaction-palette,.comment-reactions:focus-within .comment-reaction-palette{display:inline-flex}.comment-reaction-add{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;padding:2px;font-size:14px}.comment-reaction-add:hover{opacity:1;background:var(--surface-soft)}.comment-action-link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:600}.comment-action-link:hover{color:var(--ink)}.comment-action-danger:hover{color:var(--danger)}.comment-load-more{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;align-self:center;padding:6px 16px;font-size:13px}.material-empty-state{align-content:center;justify-items:center;gap:12px;padding:48px 28px 44px}.material-empty-state:before{content:"+";background:var(--accent-soft);width:60px;height:60px;color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:18px;place-items:center;margin-bottom:4px;font-size:30px;font-weight:500;line-height:1;display:grid}.material-empty-state strong{letter-spacing:-.01em;color:var(--ink);font-size:1.25rem;font-weight:600}.material-empty-state p{max-width:380px;color:var(--muted);font-size:.92rem;line-height:1.5}.material-empty-state .shell-button{box-shadow:var(--shadow-soft);border-radius:14px;align-items:center;gap:8px;margin-top:12px;padding:13px 26px;font-size:.95rem;font-weight:600;display:inline-flex}.material-empty-state .shell-button:before{content:"+";margin-top:-1px;font-size:1.15rem;font-weight:500;line-height:1}.project-empty-state svg,.material-empty-state svg,.project-empty-state svg *,.material-empty-state svg *{stroke:var(--accent);color:var(--accent)}.asset-empty-card{text-align:center;justify-items:center;gap:12px;padding:48px 28px 44px}.asset-empty-card:before{content:"";background-color:var(--accent-soft);width:60px;height:60px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent);background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231a1a1d%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3Cpath%20d%3D%22M21%208a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016Z%22%2F%3E%3Cpath%20d%3D%22M3.3%207%2012%2012l8.7-5%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3C%2Fsvg%3E);background-position:50%;background-repeat:no-repeat;background-size:28px 28px;border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.asset-empty-card .eyebrow{color:var(--muted)}.asset-empty-card h4{letter-spacing:-.01em;color:var(--ink);margin:2px 0 0;font-size:1.25rem;font-weight:600}.asset-empty-card p{max-width:380px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.asset-empty-card .shell-button{width:auto;box-shadow:var(--shadow-soft);border-radius:14px;justify-self:center;align-items:center;gap:8px;margin-top:12px;padding:13px 26px;font-size:.95rem;font-weight:600;display:inline-flex}.asset-empty-card .shell-button:before{content:"+";margin-top:-1px;font-size:1.15rem;font-weight:500;line-height:1}:root[data-theme=dark] .asset-empty-card:before,.app-shell[data-theme=dark] .asset-empty-card:before{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23f6f6f7%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7.5%204.27%209%205.15%22%2F%3E%3Cpath%20d%3D%22M21%208a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016Z%22%2F%3E%3Cpath%20d%3D%22M3.3%207%2012%2012l8.7-5%22%2F%3E%3Cpath%20d%3D%22M12%2022V12%22%2F%3E%3C%2Fsvg%3E)}.notification-menu-copy strong{font-size:.86rem;font-weight:650;line-height:1.3}.notification-menu-copy small{font-size:.8rem;line-height:1.4}.notification-menu-copy em{margin-top:4px;font-size:.74rem}.notification-dropdown-head strong{font-size:1.05rem}.notification-dropdown-head .eyebrow{font-size:.66rem}.project-card,.task-card,.issue-card,.asset-card,.template-card,.dashboard-kpi-card,.dashboard-quick-action-card,.dashboard-onboarding-card,.drawing-file-card,.project-file-card,.task-command-card,.work-item-card,.work-plan-add-card,.work-summary-card,.task-summary-card,.metric-card,.inventory-summary-card,.report-type-card{transition:none;box-shadow:0 18px 42px #14141714}.project-card:hover,.task-card:hover,.issue-card:hover,.asset-card:hover,.template-card:hover,.dashboard-kpi-card:hover,.dashboard-quick-action-card:hover,.dashboard-onboarding-card:hover,.drawing-file-card:hover,.project-file-card:hover,.task-command-card:hover,.work-item-card:hover,.work-plan-add-card:hover,.work-summary-card:hover,.task-summary-card:hover,.metric-card:hover,.inventory-summary-card:hover,.report-type-card:hover{border-color:var(--line)!important;transform:none!important;box-shadow:0 18px 42px #14141714!important}:is(.work-board-layout,.work-board-layout:has(.work-detail-panel),.work-board-layout:has(.issue-detail-panel),.work-board-layout:has(.task-detail-panel)){grid-template-columns:1fr}.task-detail-panel,.issue-detail-panel,.work-detail-panel{z-index:200;border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:97vh;margin:0;animation:.3s cubic-bezier(.22,1,.36,1) detailSheetUp;position:fixed;inset:3vh 0 0;overflow-y:auto;box-shadow:0 -18px 60px #14141747}@keyframes detailSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.detail-sheet-backdrop{z-index:199;background:#0a0a0c73;animation:.22s ease-out detailSheetFade;position:fixed;inset:0}@keyframes detailSheetFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.task-detail-panel,.issue-detail-panel,.work-detail-panel,.detail-sheet-backdrop{animation:none}}.detail-sheet-scroll{z-index:200;scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch;background:#0a0a0c80;animation:.22s ease-out detailSheetFade;position:fixed;inset:0;overflow:hidden auto}.detail-sheet-spacer{scroll-snap-align:start;cursor:pointer;height:56vh}.detail-sheet-scroll>.task-detail-panel,.detail-sheet-scroll>.issue-detail-panel,.detail-sheet-scroll>.work-detail-panel{scroll-snap-align:start;border-radius:24px 24px 0 0;width:min(920px,100%);max-width:min(920px,100%);min-height:100vh;max-height:none;margin:0 auto;animation:.32s cubic-bezier(.22,1,.36,1) detailSheetRise;position:relative;inset:auto;box-shadow:0 -26px 80px #0a0a0c66}@keyframes detailSheetRise{0%{opacity:.5;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.detail-sheet-scroll>.task-detail-panel:before,.detail-sheet-scroll>.issue-detail-panel:before,.detail-sheet-scroll>.work-detail-panel:before{content:"";background:var(--border-strong,#1414172e);border-radius:999px;width:44px;height:4px;margin:12px auto 4px;display:block}@media (prefers-reduced-motion:reduce){.detail-sheet-scroll,.detail-sheet-scroll>.task-detail-panel,.detail-sheet-scroll>.issue-detail-panel,.detail-sheet-scroll>.work-detail-panel{animation:none}}.detail-sheet-scroll>.task-detail-panel,.detail-sheet-scroll>.issue-detail-panel,.detail-sheet-scroll>.work-detail-panel{height:auto;overflow:visible}@media (max-width:640px){.detail-sheet-scroll{scrollbar-width:none}.detail-sheet-scroll::-webkit-scrollbar{width:0;height:0;display:none}.detail-sheet-spacer{height:10vh}.detail-sheet-scroll>.task-detail-panel,.detail-sheet-scroll>.issue-detail-panel,.detail-sheet-scroll>.work-detail-panel{border-radius:18px 18px 0 0;gap:10px;width:100%;max-width:100%;min-height:90vh;margin:0;padding:14px}.detail-sheet-scroll h4{font-size:1.08rem}.detail-sheet-scroll h5{font-size:.92rem}.detail-sheet-scroll .task-status-hero,.detail-sheet-scroll .issue-detail-actions-card,.detail-sheet-scroll section{gap:8px;padding:12px}.detail-sheet-scroll .issue-detail-facts,.detail-sheet-scroll .task-detail-grid{gap:8px}.detail-sheet-scroll .issue-detail-hero>div>p:not(.eyebrow),.detail-sheet-scroll .task-evidence-box>div>p,.detail-sheet-scroll .issue-evidence-box>div>p{display:none}.project-grid,.app-shell[data-theme] .project-grid{grid-template-columns:1fr;gap:12px}.app-shell[data-theme] .project-card{padding:16px}.app-shell[data-theme] .project-card-head h4{font-size:1.15rem}.project-card-meta{gap:0}}@media (max-width:768px){.mobile-more-close{color:var(--muted);background:color-mix(in srgb, var(--ink) 6%, transparent);border-color:#0000;border-radius:999px;transition:color .14s,background .14s}.mobile-more-close:hover,.mobile-more-close:active{color:var(--ink);background:color-mix(in srgb, var(--ink) 12%, transparent)}.mobile-more-close svg{stroke:currentColor;stroke-width:2.2px}.mobile-more-head{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:12px}}@media (max-width:640px){.notification-page-item{gap:10px;padding:11px 2px}.notification-page-main{grid-template-columns:28px 1fr;align-items:center;gap:9px}.notification-icon-badge{border-radius:9px;width:28px;height:28px}.notification-category-icon{width:14px;height:14px}.notification-page-main strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.25;display:-webkit-box;overflow:hidden}.notification-page-main small{-webkit-line-clamp:1;margin-top:1px;font-size:.75rem}.notification-page-main em{margin-top:2px;font-size:.68rem}.notification-page-actions{flex-direction:column;align-items:flex-end;gap:6px}.notification-page-actions .status-pill{padding:2px 7px;font-size:.62rem}.notification-page-actions .shell-button{min-height:0;padding:5px 10px;font-size:.72rem}.notification-filter-bar{gap:6px}.notification-filter-bar button{padding:5px 10px;font-size:.74rem}}@media (max-width:768px){.app-shell[data-theme] .notification-dropdown{top:auto;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:96;width:auto;max-width:none;animation:.2s ease-out detailSheetFade;position:fixed}.app-shell[data-theme] .notification-dropdown-list{max-height:52vh}.app-shell:not([data-theme=dark]) .mobile-bottom-nav{background:#fff;border-top:1px solid #1412101a;box-shadow:0 -10px 30px #1412101a}.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more{color:#141210ad}.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item .sidebar-label,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item .sidebar-icon,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more .sidebar-label,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more .sidebar-icon{color:inherit}.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item.active,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more.active,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item.active .sidebar-label,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .sidebar-item.active .sidebar-icon,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more.active .sidebar-label,.app-shell:not([data-theme=dark]) .mobile-bottom-nav .mobile-nav-more.active .sidebar-icon{color:var(--accent)}}.app-shell:not([data-theme=dark]) .work-plan-breakdown-head{gap:20px}.app-shell:not([data-theme=dark]) .work-plan-edit-header label,.app-shell:not([data-theme=dark]) .work-plan-facts label{color:#14121085;letter-spacing:.09em;gap:6px;font-size:10.5px;font-weight:700}.app-shell:not([data-theme=dark]) .work-plan-edit-header input,.app-shell:not([data-theme=dark]) .work-plan-facts input,.app-shell:not([data-theme=dark]) .work-plan-facts select{color:#1b1916;background-color:#faf9f6;border:1px solid #1412101a;border-radius:12px;padding:11px 13px;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #14121008}.app-shell:not([data-theme=dark]) .work-plan-edit-header input:hover,.app-shell:not([data-theme=dark]) .work-plan-facts input:hover,.app-shell:not([data-theme=dark]) .work-plan-facts select:hover{background-color:#fff;border-color:#14121033}.app-shell:not([data-theme=dark]) .work-plan-edit-header input:focus,.app-shell:not([data-theme=dark]) .work-plan-facts input:focus,.app-shell:not([data-theme=dark]) .work-plan-facts select:focus{background-color:#fff;border-color:#1412108c;outline:none;box-shadow:0 0 0 3px #14121014}.app-shell:not([data-theme=dark]) .work-plan-edit-header>p{color:#14121080;margin:2px 0 0;font-size:.82rem}.app-shell:not([data-theme=dark]) .work-plan-progress-badge{background:linear-gradient(#fff,#f5f3ef);border:1px solid #14121014;border-radius:18px;min-width:150px;padding:18px 24px;box-shadow:0 1px 2px #1412100a,0 10px 26px #1412100d}.app-shell:not([data-theme=dark]) .work-plan-progress-badge strong{color:#1b1916;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.85rem}.app-shell:not([data-theme=dark]) .work-plan-progress-badge span{color:#14121080;letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:700}.work-plan-mode-switch button,.schedule-mode-switcher button{transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.app-shell:not([data-theme=dark]) .work-plan-mode-switch button{color:#14121099;border-color:#1412101a}.app-shell:not([data-theme=dark]) .work-plan-mode-switch button:hover{color:#141210d1;background:#1412100d}.app-shell:not([data-theme=dark]) .schedule-mode-switcher{background:#efece7;border:1px solid #14121012}.app-shell:not([data-theme=dark]) .schedule-mode-switcher button{color:#14121099}.app-shell:not([data-theme=dark]) .schedule-mode-switcher button.active{color:#1b1916;background:#fff;box-shadow:0 1px 2px #1412100f,0 2px 8px #14121014}.app-shell[data-theme=dark] .schedule-mode-switcher button.active{color:#fff;background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff1f}.app-shell[data-theme=dark] .work-plan-edit-header label,.app-shell[data-theme=dark] .work-plan-facts label{color:#ffffff80;letter-spacing:.09em;font-size:10.5px;font-weight:700}.app-shell[data-theme=dark] .work-plan-edit-header input,.app-shell[data-theme=dark] .work-plan-facts input,.app-shell[data-theme=dark] .work-plan-facts select{color:#f5f5f5;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:11px 13px;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #00000040}.app-shell[data-theme=dark] .work-plan-edit-header input:hover,.app-shell[data-theme=dark] .work-plan-facts input:hover,.app-shell[data-theme=dark] .work-plan-facts select:hover{background-color:#ffffff12;border-color:#fff3}.app-shell[data-theme=dark] .work-plan-edit-header input:focus,.app-shell[data-theme=dark] .work-plan-facts input:focus,.app-shell[data-theme=dark] .work-plan-facts select:focus{background-color:#ffffff12;border-color:#ffffff73;outline:none;box-shadow:0 0 0 3px #ffffff14}.app-shell[data-theme=dark] .work-plan-progress-badge{background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff14;border-radius:18px;min-width:150px;padding:18px 24px;box-shadow:0 1px 2px #0000004d,0 10px 26px #0000004d}.app-shell[data-theme=dark] .work-plan-progress-badge strong{color:#f5f5f5;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.85rem}.app-shell[data-theme=dark] .work-plan-progress-badge span{color:#ffffff80;letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:700}.app-shell:not([data-theme=dark]) .work-plan-selector.surface-card:hover{border-color:#1412102e;box-shadow:0 6px 20px #14121014}.app-shell:not([data-theme=dark]) .work-plan-selector.surface-card.active{background:linear-gradient(#14121009,#fff);border-color:#14121080;box-shadow:0 1px 2px #1412100d,0 10px 26px #14121014}.app-shell:not([data-theme=dark]) .work-plan-selector .work-plan-meta span{color:#1412109e;font-variant-numeric:tabular-nums;background:#1412100d;border-radius:7px}.app-shell:not([data-theme=dark]) .work-plan-selector .progress-track>span{background:#1b1916}.app-shell:not([data-theme=dark]) .work-plan-add-card{border-color:#1412102e}.app-shell:not([data-theme=dark]) .work-plan-add-card:hover{background:#fff;box-shadow:0 10px 26px #14121014}.app-shell:not([data-theme=dark]) .work-plan-add-card strong{color:#fff;background:#1b1916}.app-shell:not([data-theme=dark]) .work-plan-add-card span{color:#14121099}.app-shell[data-theme=dark] .work-plan-selector.surface-card:hover{border-color:#ffffff2e;box-shadow:0 6px 20px #00000059}.app-shell[data-theme=dark] .work-plan-selector.surface-card.active{background:linear-gradient(#ffffff0d,#ffffff05);border-color:#ffffff47;box-shadow:0 10px 26px #00000059}.app-shell[data-theme=dark] .work-plan-selector .work-plan-meta span{color:#fff9;font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:7px}.app-shell[data-theme=dark] .work-plan-selector .progress-track>span{background:#ffffffe0}.app-shell[data-theme=dark] .work-plan-add-card{border-color:#ffffff29}.app-shell[data-theme=dark] .work-plan-add-card strong{color:#161616;background:#f5f5f5}.app-shell[data-theme=dark] .work-plan-add-card span{color:#fff9}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-readonly-cell.is-missing{color:#1412108c;background:#1412100d;border:1px solid #1412101f}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]{accent-color:#1b1916}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#2a2724,#6f6b64)}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg,#2a2724,#6f6b64)}.app-shell:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger{color:#14121066}.app-shell:not([data-theme=dark]) .work-breakdown-row .icon-delete-button.danger:hover{color:#141210c7;background:#14121012}.app-shell:not([data-theme=dark]) .work-level-actions .icon-delete-button.danger{color:#1412106b;background:0 0;border:1px solid #1412101f}.app-shell:not([data-theme=dark]) .work-level-actions .icon-delete-button.danger:hover{color:#141210c7;background:#1412100f;border-color:#14121047}.app-shell:not([data-theme=dark]) .work-level-actions .add-work-item-btn:hover{color:#141210cc;border-color:#14121073}.app-shell[data-theme=dark] .work-breakdown-row .work-readonly-cell.is-missing{color:#ffffff85;background:#ffffff14;border:1px solid #ffffff24}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]{accent-color:#f5f5f5}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#ffffff73,#ffffffd9)}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg,#ffffff73,#ffffffd9)}.app-shell[data-theme=dark] .work-breakdown-row .icon-delete-button.danger{color:#fff6}.app-shell[data-theme=dark] .work-breakdown-row .icon-delete-button.danger:hover{color:#ffffffd9;background:#ffffff14}.app-shell[data-theme=dark] .work-level-actions .icon-delete-button.danger{color:#ffffff73;background:0 0;border:1px solid #ffffff24}.app-shell[data-theme=dark] .work-level-actions .icon-delete-button.danger:hover{color:#fff;background:#ffffff14;border-color:#ffffff47}.app-shell[data-theme=dark] .work-level-actions .add-work-item-btn:hover{color:#ffffffd9;border-color:#fff6}.work-schedule-left-pane{scrollbar-width:thin;overflow:auto hidden}.work-schedule-board{--wbs-pane-width:clamp(490px, 47%, 600px)}.work-schedule-fixed-row,.work-schedule-left-head{grid-template-columns:minmax(176px,1.3fr) 196px 72px}.work-schedule-fixed-row .breakdown-name-cell input{text-align:left;text-overflow:ellipsis;min-width:0;overflow:hidden}.app-shell:not([data-theme=dark]) .work-schedule-board .icon-delete-button{color:#1412106b;background:0 0;border:1px solid #1412101f}.app-shell:not([data-theme=dark]) .work-schedule-board .icon-delete-button:hover{color:#141210c7;background:#1412100f;border-color:#14121047;transform:none}.app-shell[data-theme=dark] .work-schedule-board .icon-delete-button{color:#ffffff73;background:0 0;border:1px solid #ffffff24}.app-shell[data-theme=dark] .work-schedule-board .icon-delete-button:hover{color:#fff;background:#ffffff14;border-color:#ffffff47;transform:none}.app-shell:not([data-theme=dark]) .work-schedule-board .schedule-date-cell,.app-shell:not([data-theme=dark]) .work-schedule-board .duration-edit-cell{background:#fff;border:1px solid #1412101a;box-shadow:inset 0 1px #fff9}.app-shell[data-theme=dark] .work-schedule-board .schedule-date-cell,.app-shell[data-theme=dark] .work-schedule-board .duration-edit-cell{box-shadow:none;background:#ffffff0a;border:1px solid #ffffff1a}.app-shell:not([data-theme=dark]) .work-schedule-board .schedule-date-cell input:focus,.app-shell:not([data-theme=dark]) .work-schedule-board .duration-edit-cell input:focus{border-color:#14121080;outline:none;box-shadow:0 0 0 3px #14121014}.app-shell[data-theme=dark] .work-schedule-board .schedule-date-cell input:focus,.app-shell[data-theme=dark] .work-schedule-board .duration-edit-cell input:focus{border-color:#ffffff73;outline:none;box-shadow:0 0 0 3px #ffffff14}.schedule-mode-confirm-modal{overflow-x:hidden}.schedule-mode-confirm-modal .schedule-mode-progress-line{max-width:100%;overflow:hidden}.schedule-mode-confirm-modal .confirm-benefits-row{flex-wrap:wrap}.schedule-board-toprow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.schedule-board-toprow .schedule-click-helper{margin:0}.schedule-scale-floating{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.schedule-scale-floating .schedule-toolbar-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.62rem;font-weight:800}.work-breakdown-row .work-progress-input{align-items:center;gap:8px}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #1b1916 var(--wp-progress,0%), #14121024 var(--wp-progress,0%));border-radius:999px;height:6px}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, #1b1916 var(--wp-progress,0%), #14121024 var(--wp-progress,0%));border-radius:999px;height:6px}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:grab;background:#fff;border:2px solid #1b1916;border-radius:50%;width:16px;height:16px;margin-top:-5px;transition:transform .12s;box-shadow:0 1px 3px #14121040}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:grab;background:#fff;border:2px solid #1b1916;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #14121040}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=number]{color:#1b1916;text-align:center;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #1412101f;border-radius:9px;font-weight:700}.app-shell:not([data-theme=dark]) .work-breakdown-row .work-progress-input input[type=number]:focus{border-color:#14121080;outline:none;box-shadow:0 0 0 3px #14121014}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #f5f5f5 var(--wp-progress,0%), #ffffff29 var(--wp-progress,0%));border-radius:999px;height:6px}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-track{background:linear-gradient(90deg, #f5f5f5 var(--wp-progress,0%), #ffffff29 var(--wp-progress,0%));border-radius:999px;height:6px}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-webkit-slider-thumb{appearance:none;cursor:grab;background:#fff;border:2px solid #00000059;border-radius:50%;width:16px;height:16px;margin-top:-5px;transition:transform .12s;box-shadow:0 1px 4px #00000080}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=range]::-moz-range-thumb{cursor:grab;background:#fff;border:2px solid #00000059;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000080}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=number]{color:#f5f5f5;text-align:center;font-variant-numeric:tabular-nums;background:#ffffff0d;border:1px solid #ffffff24;border-radius:9px;font-weight:700}.app-shell[data-theme=dark] .work-breakdown-row .work-progress-input input[type=number]:focus{border-color:#ffffff73;outline:none;box-shadow:0 0 0 3px #ffffff14}.work-breakdown-row .work-progress-input input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.work-breakdown-row .work-progress-input input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.04)}.critical-path-toolbar .critical-path-actions{align-items:center;gap:8px}.critical-path-actions button:first-child,.critical-path-actions button:nth-child(2){letter-spacing:-.01em;padding:0 18px;font-weight:750}.critical-path-actions .critical-path-icon-action{background:var(--cp-surface);border:1px solid var(--cp-line);width:38px;min-width:38px;height:36px;color:var(--cp-muted);border-radius:11px}.critical-path-actions .critical-path-icon-action:hover{background:var(--cp-hover);color:var(--cp-ink);border-color:#14121047}.critical-path-actions button:nth-child(3){margin-left:6px}.critical-path-actions .critical-path-fullscreen-close{background:var(--cp-surface);border:1px solid var(--cp-line);color:var(--cp-muted);margin-left:auto;padding:0 18px;font-weight:750}.critical-path-actions .critical-path-fullscreen-close:hover{background:var(--cp-hover);color:var(--cp-ink);border-color:#1412104d}.critical-path-filters button{border:1px solid var(--cp-line);background:var(--cp-surface);color:var(--cp-muted);padding:0 16px;font-weight:700}.critical-path-filters button:hover{background:var(--cp-hover);color:var(--cp-ink)}.critical-path-filters button.active{background:var(--cp-primary);border-color:var(--cp-primary);color:#fff}.critical-path-filters select{border:1px solid var(--cp-line);background-color:var(--cp-surface);color:var(--cp-ink);border-radius:11px;padding:0 12px;font-weight:650}.critical-path-filters label span{color:var(--cp-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem;font-weight:800}.critical-path-modebar{gap:6px}.critical-path-modebar span{border:1px solid var(--cp-line-soft);background:var(--cp-surface);color:var(--cp-muted);border-radius:999px;padding:5px 11px;font-size:.72rem;font-weight:650}.cp-legend-item{color:var(--cp-ink);font-size:.72rem;font-weight:650}.cp-legend-item i{width:10px;height:10px;box-shadow:0 0 0 3px #1412100d}@media (min-width:641px){.detail-sheet-scroll{scroll-snap-type:none;place-items:center;padding:24px;display:grid}.detail-sheet-spacer{height:auto;position:absolute;inset:0}.detail-sheet-scroll>.task-detail-panel,.detail-sheet-scroll>.issue-detail-panel,.detail-sheet-scroll>.work-detail-panel{z-index:1;scroll-snap-align:none;border-radius:20px;width:min(640px,100%);max-width:min(640px,100%);min-height:0;max-height:86vh;margin:auto;animation:.24s cubic-bezier(.22,1,.36,1) detailModalIn;position:relative;overflow:hidden auto;box-shadow:0 30px 90px #0a0a0c73}.detail-sheet-scroll>.task-detail-panel:before,.detail-sheet-scroll>.issue-detail-panel:before,.detail-sheet-scroll>.work-detail-panel:before{display:none}}@keyframes detailModalIn{0%{opacity:0;transform:scale(.97)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.detail-sheet-scroll .task-status-hero{border-radius:14px;padding:12px 14px}.detail-sheet-scroll .task-status-hero strong{margin:2px 0;font-size:1.02rem}.detail-sheet-scroll .task-detail-grid{gap:8px 10px}.detail-sheet-scroll .task-detail-grid label{gap:4px;font-size:.72rem}.detail-sheet-scroll .task-detail-grid input,.detail-sheet-scroll .task-detail-grid select,.detail-sheet-scroll .task-detail-grid textarea{border-radius:10px;padding:8px 11px;font-size:.9rem}.detail-sheet-scroll .task-evidence-box,.detail-sheet-scroll .task-review-box,.detail-sheet-scroll .task-comments-box{border-radius:13px;padding:11px}.task-status-column,.task-status-column .task-command-list,.task-command-card,.task-command-top,.task-command-top>div{min-width:0}.task-command-top>div strong{overflow-wrap:anywhere}.task-command-top>div span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-command-top>.status-pill{white-space:nowrap;flex:none}.task-command-card>p{overflow-wrap:anywhere;min-width:0}.task-command-meta{min-width:0}.task-command-meta>span:not(.status-pill){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.task-command-meta .status-pill,.task-command-progress span{max-width:100%}.toolbar-group .task-view-switcher-seg+.shell-button{align-self:stretch;min-height:0}.report-card-accent.accent-green,.report-card-accent.accent-orange,.report-card-accent.accent-teal,.report-card-accent.accent-slate,.report-card-accent.accent-violet,.report-card-accent.accent-amber{background:linear-gradient(#2a2724,#6f6b64)}:root[data-theme=dark] .report-card-accent.accent-green,:root[data-theme=dark] .report-card-accent.accent-orange,:root[data-theme=dark] .report-card-accent.accent-teal,:root[data-theme=dark] .report-card-accent.accent-slate,:root[data-theme=dark] .report-card-accent.accent-violet,:root[data-theme=dark] .report-card-accent.accent-amber,.app-shell[data-theme=dark] .report-card-accent.accent-green,.app-shell[data-theme=dark] .report-card-accent.accent-orange,.app-shell[data-theme=dark] .report-card-accent.accent-teal,.app-shell[data-theme=dark] .report-card-accent.accent-slate,.app-shell[data-theme=dark] .report-card-accent.accent-violet,.app-shell[data-theme=dark] .report-card-accent.accent-amber{background:linear-gradient(#ffffffd9,#fff6)}.status-pill.report-role-pill.role-orange,.status-pill.report-role-pill.role-green,.status-pill.report-role-pill.role-teal,.status-pill.report-role-pill.role-slate{background:var(--accent-soft);color:var(--accent)}:root[data-theme=dark] .status-pill.report-role-pill.role-orange,:root[data-theme=dark] .status-pill.report-role-pill.role-green,:root[data-theme=dark] .status-pill.report-role-pill.role-teal,:root[data-theme=dark] .status-pill.report-role-pill.role-slate,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-orange,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-green,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-teal,.app-shell[data-theme=dark] .status-pill.report-role-pill.role-slate{color:#ffffffd9;background:#ffffff1a}.auth-loading{background:radial-gradient(900px 540px at 50% -12%,#ffffffb3,#0000 60%),linear-gradient(#f6f6f7,#e8e8ea)}.auth-loading-card{text-align:center;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border-radius:24px;justify-items:center;gap:14px;max-width:360px;padding:36px 40px;box-shadow:0 22px 60px #14141714}.auth-loading-card strong{letter-spacing:-.01em;font-size:1.06rem}.auth-loading-card p{margin:0;font-size:.86rem;line-height:1.45}.auth-loading-card .ui-spinner{border-width:2px;border-color:#1414171f;border-top-color:var(--accent)}.material-stock-check{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:0;overflow:hidden}.material-stock-check>div{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0}.material-stock-check>div:last-child{border-right:0}.material-stock-check.tone-success>div:first-child{background:var(--success-soft)}.material-stock-check.tone-warning>div:first-child{background:var(--warning-soft)}.material-stock-check.tone-neutral>div:first-child{background:var(--neutral-soft)}.material-detail-panel .form-grid input:focus,.material-detail-panel .form-grid select:focus,.material-detail-panel .form-grid textarea:focus,.material-detail-panel .form-grid .ui-select:focus,.material-picker-row input:focus,.material-picker-row select:focus{border-color:#14121080;outline:none;box-shadow:0 0 0 3px #14121014}.app-shell[data-theme=dark] .material-detail-panel .form-grid input:focus,.app-shell[data-theme=dark] .material-detail-panel .form-grid select:focus,.app-shell[data-theme=dark] .material-detail-panel .form-grid textarea:focus,.app-shell[data-theme=dark] .material-detail-panel .form-grid .ui-select:focus,.app-shell[data-theme=dark] .material-picker-row input:focus,.app-shell[data-theme=dark] .material-picker-row select:focus{border-color:#ffffff73;box-shadow:0 0 0 3px #ffffff14}.material-detail-panel .form-grid{gap:9px 12px}.material-detail-panel .form-grid label{gap:4px}.material-detail-panel .form-grid>label>span,.material-picker-row label>span{font-size:.72rem}.material-detail-panel .form-grid input,.material-detail-panel .form-grid select,.material-detail-panel .form-grid .ui-select,.material-picker-row input,.material-picker-row select{min-height:38px}.material-detail-panel .form-grid textarea{min-height:56px;padding-top:8px}.material-picker-field{gap:8px}.material-picker-row{gap:10px}.material-stock-check>div{min-height:44px;padding:7px 11px}.material-stock-check span{font-size:.66rem}.material-stock-check strong{font-size:.82rem}.vgroups-stat.is-alert strong,.vgroups-stat.is-alert small{color:var(--warning)}.vgroups-nav-badge,.vgroups-flag-alert{background:var(--warning-soft);color:var(--warning)}.vgroups-alert-age{color:var(--warning)}.vgroups-alert-banner{border-color:color-mix(in srgb, var(--warning) 30%, transparent);background:var(--warning-soft);color:var(--warning)}.vgroups-alert-banner button{color:var(--warning)}.vgroups-nav-dot{filter:grayscale()brightness(.85)}.enflow-sheet-root{z-index:320;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.enflow-sheet-backdrop{background:#08080a80;animation:.24s ease-out enflowSheetFade;position:absolute;inset:0}.enflow-sheet{background:var(--surface,#fff);width:min(920px,100%);max-width:min(920px,100%);height:50dvh;max-height:100dvh;color:var(--ink,#16181d);will-change:height, transform;border-radius:22px 22px 0 0;flex-direction:column;animation:.36s cubic-bezier(.22,1,.36,1) enflowSheetUp;display:flex;position:relative;overflow:hidden;box-shadow:0 -24px 70px #08080a66}.enflow-sheet-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;height:30px;display:flex}.enflow-sheet-handle:active{cursor:grabbing}.enflow-sheet-handle span{background:var(--border-strong,#14141738);border-radius:999px;width:42px;height:4px;display:block}.enflow-sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;overflow:hidden auto}@keyframes enflowSheetUp{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes enflowSheetFade{0%{opacity:0}to{opacity:1}}@keyframes enflowSheetFadeOut{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.enflow-sheet,.enflow-sheet-backdrop{animation:none}}.enflow-sheet-body>.task-detail-panel,.enflow-sheet-body>.issue-detail-panel,.enflow-sheet-body>.work-detail-panel,.enflow-sheet-body>.daily-log-drawer,.enflow-sheet-body>.daily-task-drawer{width:100%;max-width:100%;height:auto;min-height:0;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;animation:none;position:static;inset:auto;overflow:visible;width:100%!important;max-width:100%!important;min-height:0!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;position:static!important;inset:auto!important;overflow:visible!important}@media (min-width:769px){.enflow-sheet-root{align-items:center;padding:24px}.enflow-sheet{border-radius:18px;animation:.2s ease-out enflowSheetFade;box-shadow:0 28px 80px #08080a6b;height:auto!important;max-height:92dvh!important}.enflow-sheet.is-full{height:auto!important}.enflow-sheet-handle{display:none}.enflow-sheet-body{overflow-y:auto!important}}.enflow-sheet,.enflow-sheet-body{overflow-x:hidden}.enflow-sheet-body .task-status-hero>div,.enflow-sheet-body .task-detail-grid>label,.enflow-sheet-body .issue-detail-facts>*{min-width:0}.enflow-sheet-body input,.enflow-sheet-body select,.enflow-sheet-body textarea{box-sizing:border-box;max-width:100%}.enflow-sheet-body h4{font-size:1.05rem}.enflow-sheet-body h5{font-size:.92rem}.enflow-sheet-body .task-panel-head{gap:10px}.enflow-sheet-body .task-panel-head span{font-size:.78rem}.enflow-sheet-body .task-status-hero{border-radius:14px;flex-wrap:wrap;gap:8px;padding:10px 12px}.enflow-sheet-body .task-status-hero strong{margin:2px 0;font-size:1rem}.enflow-sheet-body .task-evidence-box,.enflow-sheet-body .task-review-box,.enflow-sheet-body .task-comments-box,.enflow-sheet-body .issue-detail-actions-card{border-radius:13px;gap:8px;padding:11px}.enflow-sheet-body .task-detail-grid{grid-template-columns:1fr 1fr;gap:8px 10px}.enflow-sheet-body .task-detail-grid label{gap:4px;font-size:.72rem}.enflow-sheet-body .task-detail-grid input,.enflow-sheet-body .task-detail-grid select,.enflow-sheet-body .task-detail-grid textarea{border-radius:10px;padding:8px 11px;font-size:.9rem}.enflow-sheet-body .issue-detail-facts{gap:8px}.enflow-sheet-body .issue-detail-hero>div>p:not(.eyebrow),.enflow-sheet-body .task-evidence-box>div>p,.enflow-sheet-body .issue-evidence-box>div>p{display:none}.enflow-sheet:not(.is-full) .enflow-sheet-body{overflow-y:hidden}.enflow-sheet.is-full .enflow-sheet-body{overflow-y:auto}.enflow-sheet-root.is-closing .enflow-sheet-backdrop{animation:none}.enflow-sheet{animation-timing-function:cubic-bezier(.32,.72,0,1)}.enflow-sheet-body .issue-detail-hero{padding:12px}.enflow-sheet-body .issue-detail-hero-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px}.enflow-sheet-body .issue-detail-hero-actions button{min-height:32px}.enflow-sheet-body .issue-detail-facts span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.material-picker-field .material-name-field{gap:6px;display:grid}.material-picker-field .material-name-field input{box-sizing:border-box;width:100%}.material-picker-field .material-name-hint{color:var(--muted);font-size:.74rem;line-height:1.35}.procurement-shell-tabs--single{align-items:center;min-height:40px;display:flex}.procurement-single-title{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.05rem;font-weight:800}.procurement-main-tabs{flex-wrap:nowrap;gap:6px;overflow-x:hidden}.procurement-main-tabs button{white-space:normal;text-align:center;flex:1 1 0;min-width:0;padding:0 6px;font-size:.78rem;line-height:1.15}.resources-tabs{flex-wrap:nowrap;gap:6px;overflow-x:hidden}.resources-tabs button{white-space:normal;text-align:center;flex:1 1 0;min-width:0;padding:0 6px;font-size:.76rem;line-height:1.12}@media (max-width:640px){.inventory-controls{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.inventory-controls>label:first-child{grid-column:1/-1}.inventory-controls label{gap:4px}.inventory-controls span{letter-spacing:.06em;font-size:.66rem}.inventory-controls input,.inventory-controls .ui-select{border-radius:10px;min-height:38px;padding:0 10px;font-size:.9rem}.inventory-controls .segmented-control{align-self:end;min-width:0}.asset-controls,.material-request-filters{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.asset-controls>label:first-child,.material-request-filters>label:first-child{grid-column:1/-1}.asset-controls label,.material-request-filters label{gap:4px}.asset-controls span,.material-request-filters span{letter-spacing:.06em;font-size:.66rem}.asset-controls input,.asset-controls .ui-select,.material-request-filters input,.material-request-filters .ui-select{border-radius:10px;min-height:38px;padding:0 10px;font-size:.9rem}.asset-controls .segmented-control,.material-request-filters .segmented-control{align-self:end;min-width:0}.movement-filters{grid-template-columns:1fr 1fr;gap:8px}.movement-filters .ui-select{min-height:38px;font-size:.9rem}.sub-tabs{flex-wrap:wrap;gap:6px;overflow-x:visible}.sub-tabs button{white-space:normal;text-align:center;flex:auto;min-width:0}}.notification-icon-issues,.notification-icon-daily_logs,.notification-icon-materials,.notification-icon-inventory,.notification-icon-team,.notification-icon-reminders{color:var(--ink);background:#1a1a1d1a}:root[data-theme=dark] .notification-icon-issues,:root[data-theme=dark] .notification-icon-daily_logs,:root[data-theme=dark] .notification-icon-materials,:root[data-theme=dark] .notification-icon-inventory,:root[data-theme=dark] .notification-icon-team,:root[data-theme=dark] .notification-icon-reminders,.app-shell[data-theme=dark] .notification-icon-issues,.app-shell[data-theme=dark] .notification-icon-daily_logs,.app-shell[data-theme=dark] .notification-icon-materials,.app-shell[data-theme=dark] .notification-icon-inventory,.app-shell[data-theme=dark] .notification-icon-team,.app-shell[data-theme=dark] .notification-icon-reminders{background:#ffffff1a}.sidebar .sidebar-item{min-width:0}.sidebar .sidebar-item .sidebar-label{flex:auto;min-width:0;max-width:none}.sidebar .sidebar-item .sidebar-item-badge{flex:none}@media (max-width:768px){.app-shell .mobile-bottom-nav .sidebar-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}}.floating-chat-shell{z-index:1100;pointer-events:none;justify-items:end;gap:12px;transition:opacity .22s,transform .22s;display:grid;position:fixed;bottom:24px;right:24px}.floating-chat-shell.on-drawings{z-index:1270}.floating-chat-shell>*{pointer-events:auto}body:has([aria-modal=true],.ai-assistant-drawer,.toast,.notification-dropdown,.material-detail-flyout,[role=dialog],.mobile-more-panel) .floating-chat-shell:not(.open):not(.maximized){opacity:0;visibility:hidden;pointer-events:none;transform:scale(.9)}.chat-fab{color:#fff;cursor:pointer;width:58px;height:58px;min-height:58px;font:inherit;-webkit-backdrop-filter:blur(16px)saturate(150%);background:#111111eb;border:1px solid #1111111f;border-radius:999px;justify-content:center;align-items:center;padding:0;font-weight:900;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff24,0 18px 44px #1111113d}.chat-fab:hover{background:#1f2126f5;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff29,0 22px 52px #11111147}.chat-fab-icon{color:#fff;background:linear-gradient(145deg,#ffffff38,#ffffff14),#14141761;border:1px solid #ffffff3d;border-radius:999px;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #00000024}.chat-fab-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:22px;height:22px}.chat-fab strong{border:2px solid var(--surface-card);background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.68rem;display:grid;position:absolute;top:-4px;right:-4px}.chat-fab-spark{color:#1a1a1d;background:#f4f4f5;border-radius:999px;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 2px 7px #00000047}.chat-fab-spark svg{fill:currentColor;stroke:none;width:12px;height:12px}.chat-fab:hover .chat-fab-spark{background:#fff}.floating-chat-panel{background:var(--surface-card);width:min(440px,100vw - 32px);height:min(720px,100vh - 88px);color:var(--text);transform-origin:100% 100%;border:1px solid #1111111a;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden;box-shadow:0 24px 70px #1414173d}.floating-chat-shell.open .floating-chat-panel{animation:.22s cubic-bezier(.2,.8,.2,1) both floating-chat-in}.floating-chat-shell.closing .floating-chat-panel{pointer-events:none;animation:.18s cubic-bezier(.4,0,.2,1) both floating-chat-out}.floating-chat-shell.maximized .floating-chat-panel{width:min(860px,100vw - 148px);height:min(820px,100vh - 64px)}.floating-chat-head{border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.floating-chat-head>div:first-child{min-width:0}.floating-chat-head .eyebrow{margin:0}.floating-chat-head strong{max-width:240px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.floating-chat-shell.maximized .floating-chat-head strong{max-width:520px}.floating-chat-head-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.floating-chat-head .floating-chat-icon-button{border:1px solid var(--line);background:var(--control-bg);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid}.floating-chat-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:17px;height:17px}.floating-chat-body{min-height:0;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.floating-chat-shell{left:auto;right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px));justify-items:end}.chat-fab{width:52px;height:52px;min-height:52px}.floating-chat-panel{inset:max(10px, env(safe-area-inset-top,0px)) 8px calc(10px + env(safe-area-inset-bottom,0px)) 8px;pointer-events:auto;border-radius:16px;width:auto;max-width:none;height:auto;max-height:none;position:fixed}.floating-chat-shell.open .chat-fab,.floating-chat-shell.maximized .chat-fab{display:none}}.ai-assistant-identity{align-items:center;gap:10px;min-width:0;display:flex}.ai-assistant-identity-text{gap:1px;min-width:0;display:grid}.ai-assistant-identity-text h2{margin:0;font-size:1rem;line-height:1.15}.ai-assistant-identity-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.ai-orb{background:var(--accent);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 4px 14px #00000038,inset 0 1px #ffffff47}.ai-orb svg{width:18px;height:18px;fill:var(--accent-foreground,#fff);stroke:none}.ai-welcome{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:20px 16px 8px;display:flex}.ai-welcome-orb{background:var(--accent);border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:2px;display:grid;box-shadow:0 12px 30px #00000047,inset 0 1px #ffffff4d}.ai-welcome-orb svg{width:34px;height:34px;fill:var(--accent-foreground,#fff);stroke:none}.ai-welcome-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:750}.ai-welcome-sub{max-width:32ch;color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.ai-welcome .ai-prompt-chips{flex-direction:column;gap:8px;width:100%;margin-top:10px;display:flex}.ai-welcome .ai-prompt-chip{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:11px;padding:11px 12px;font-size:.88rem;font-weight:600;transition:border-color .14s,background .14s,transform .12s;display:flex}.ai-welcome .ai-prompt-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.ai-welcome .ai-prompt-chip:active{transform:scale(.99)}.ai-welcome .ai-chip-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.ai-welcome .ai-chip-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.ai-welcome .ai-chip-text{min-width:0;line-height:1.25}.ai-usage-strip{background:0 0;border:none;justify-content:center;min-height:0;padding:1px 6px;font-size:.7rem}.ai-usage-strip span,.ai-usage-strip strong{color:var(--muted);font-weight:600}.ai-usage-strip.near-limit,.ai-usage-strip.limit-reached{border-radius:999px;padding:4px 10px}.ai-chat-history{background:0 0;border:none;gap:12px;padding:8px 2px}.ai-chat-history .ai-message{background:0 0;border:none;max-width:100%;padding:0;font-size:.88rem}.ai-chat-history .ai-message.from-user{background:var(--accent);max-width:84%;color:var(--accent-foreground,#fff);border:none;border-radius:16px 16px 4px;align-self:flex-end;padding:9px 13px}.ai-chat-history .ai-message.from-user span{display:none}.ai-chat-history .ai-message.from-user .ai-message-user-text{color:inherit;margin:0}.ai-chat-history .ai-message.from-assistant{background:var(--surface-muted,var(--panel));border:1px solid var(--border);max-width:94%;color:var(--ink);border-radius:16px 16px 16px 4px;align-self:flex-start;padding:10px 13px}.ai-chat-history .ai-message.from-assistant>span{color:var(--muted);letter-spacing:.02em;margin-bottom:3px;font-size:.64rem}.ai-chat-history .ai-message.loading{padding:12px 14px}.ai-typing{align-items:center;gap:5px;display:inline-flex}.ai-typing i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite both aiTyping}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}@keyframes aiTyping{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.floating-chat-pane{flex-direction:column;flex:auto;min-height:0;display:flex}.floating-chat-pane>.ai-assistant-embedded{flex:auto;min-height:0}.ai-assistant-embedded{overscroll-behavior:contain}.ai-chat-history{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body:has(.ai-assistant-drawer){overflow:hidden}@media (max-width:768px){body:has(.floating-chat-shell.open){overflow:hidden}.app-shell[data-theme] .notification-dropdown,:root[data-theme] .notification-dropdown{flex-direction:column;display:flex;overflow:hidden;inset:auto 12px calc(84px + env(safe-area-inset-bottom,0px)) 12px!important;z-index:1300!important;width:auto!important;max-width:none!important;max-height:70vh!important;position:fixed!important;transform:none!important}.app-shell[data-theme] .notification-dropdown,:root[data-theme] .notification-dropdown{flex-direction:column;display:flex;overflow:hidden;z-index:1300!important;width:auto!important;max-width:none!important;max-height:66vh!important;position:fixed!important;inset:calc(100% + 8px) 8px auto!important}.app-shell[data-theme] .notification-dropdown-list,:root[data-theme] .notification-dropdown-list{overscroll-behavior:contain;flex:auto;min-height:0;max-height:none;overflow-y:auto}}@media (min-width:1024px) and (hover:hover){.boq-add-modal .boq-template-workspace>.boq-template-right-column{grid-column:2;min-width:0}}.work-level-heading{min-width:0}.work-level-header .work-level-kicker{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1px;font-size:.58rem;font-weight:800;display:block}.work-level-name-input,.work-schedule-level-row .work-level-name-input{font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;width:min(240px,56vw);max-width:100%;margin:-3px 0 -3px -2px;padding:3px 8px;font-weight:700;transition:background .14s,border-color .14s,box-shadow .14s}.work-level-name-input:hover{border-color:var(--line);background:var(--surface)}.work-level-name-input:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.add-work-level-btn{border:1px dashed var(--line);background:var(--surface);width:fit-content;color:var(--ink);cursor:pointer;border-radius:12px;justify-self:start;align-items:center;gap:6px;margin-top:12px;padding:10px 16px;font-size:.82rem;font-weight:700;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.add-work-level-btn:hover{border-color:var(--accent);background:var(--primary-soft);transform:translateY(-1px)}.add-work-level-btn:active{transform:translateY(0)}.work-sub-collapse{grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1);display:grid}.work-sub-collapse.is-open{grid-template-rows:1fr}.work-sub-collapse>.work-sub-breakdown{opacity:0;visibility:hidden;min-height:0;transition:opacity .2s,visibility 0s linear .28s;overflow:hidden}.work-sub-collapse.is-open>.work-sub-breakdown{opacity:1;visibility:visible;transition:opacity .22s,visibility}@media (prefers-reduced-motion:reduce){.work-sub-collapse,.work-sub-collapse>.work-sub-breakdown{transition:none}}.lite-collapse-toggle,.lite-wbs-table .lite-collapse-toggle{border:1px solid var(--line);border-radius:8px;width:23px;min-width:23px;height:23px;padding:0}.lite-collapse-toggle .breakdown-chevron{fill:none;width:13px;height:13px;stroke:var(--muted);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s,stroke .14s}.lite-collapse-toggle:hover .breakdown-chevron{stroke:var(--ink)}.lite-collapse-toggle[aria-expanded=false] .breakdown-chevron{transform:rotate(-90deg)}:root[data-theme=dark] .work-breakdown-table:not(.schedule-mode) .work-breakdown-row:not(.head),.app-shell[data-theme=dark] .work-breakdown-table:not(.schedule-mode) .work-breakdown-row:not(.head){min-height:0}.work-level-header .work-level-actions .icon-duplicate-button{width:28px;min-width:28px;padding:0}.work-schedule-level-row .work-level-actions .icon-duplicate-button{border-radius:9px;width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.work-plan-breakdown-skeleton{gap:16px;display:grid}.work-plan-breakdown-skeleton .wp-skel-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.work-plan-breakdown-skeleton .wp-skel-cards>span{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;height:64px}.work-plan-breakdown-skeleton .wp-skel-table{gap:8px;display:grid}.work-plan-breakdown-skeleton .wp-skel-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.work-plan-breakdown-skeleton .wp-skel-row>i{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;height:44px}.work-plan-breakdown-skeleton .wp-skel-row.is-level>i{background:var(--neutral-soft);height:48px}.work-plan-breakdown-skeleton .wp-skel-cards>span,.work-plan-breakdown-skeleton .wp-skel-row>i{position:relative;overflow:hidden}.work-plan-breakdown-skeleton .wp-skel-cards>span:after,.work-plan-breakdown-skeleton .wp-skel-row>i:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.3s ease-in-out infinite wpSkelShimmer;position:absolute;inset:0;transform:translate(-100%)}.app-shell[data-theme=dark] .work-plan-breakdown-skeleton .wp-skel-cards>span:after,.app-shell[data-theme=dark] .work-plan-breakdown-skeleton .wp-skel-row>i:after{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}@keyframes wpSkelShimmer{to{transform:translate(100%)}}@media (max-width:640px){.work-plan-breakdown-skeleton .wp-skel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.work-plan-breakdown-skeleton .wp-skel-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.work-plan-breakdown-skeleton .wp-skel-cards>span:after,.work-plan-breakdown-skeleton .wp-skel-row>i:after{animation:none}}.advanced-gantt-controls.planner-toolbar{gap:10px}.advanced-gantt-controls.planner-toolbar .schedule-toolbar-group{gap:8px;padding:5px 9px}.advanced-gantt-controls.planner-toolbar .schedule-action-controls{gap:7px}.advanced-gantt-controls.planner-toolbar .schedule-action-controls button{border-radius:10px;min-height:32px;font-weight:760}.advanced-gantt-controls.planner-toolbar .gantt-scale-toggle.compact-toggle button{min-height:30px}.advanced-gantt-link-path{stroke:#1a1a1d6b;stroke-width:1.4px}.advanced-gantt-link.critical .advanced-gantt-link-path{stroke:var(--danger);stroke-width:1.7px}.advanced-gantt-link.delayed .advanced-gantt-link-path{stroke:var(--warning);stroke-width:1.7px}.advanced-gantt-link-path:hover,.advanced-gantt-link.selected .advanced-gantt-link-path{stroke:var(--accent);stroke-width:2px}#gantt-arrow-normal path{fill:#1a1a1d80}#gantt-arrow-critical path{fill:var(--danger)}#gantt-arrow-delayed path{fill:var(--warning)}.advanced-gantt-link-label{fill:var(--muted);stroke:var(--surface)}.app-shell[data-theme=dark] .advanced-gantt-link-path{stroke:#ffffff70}.app-shell[data-theme=dark] .advanced-gantt-link-path:hover,.app-shell[data-theme=dark] .advanced-gantt-link.selected .advanced-gantt-link-path{stroke:var(--accent)}.app-shell[data-theme=dark] #gantt-arrow-normal path{fill:#ffffff85}.app-shell[data-theme=dark] .advanced-gantt-link-label{fill:#ffffffb8;stroke:#15181d}.schedule-drag-hint{z-index:1300;color:#fff;letter-spacing:.01em;white-space:nowrap;pointer-events:none;background:#1a1a1deb;border-radius:8px;padding:4px 9px;font-size:.72rem;font-weight:800;line-height:1;position:fixed;transform:translate(14px,-135%);box-shadow:0 8px 20px #00000052}.app-shell[data-theme=dark] .schedule-drag-hint{color:#15161a;background:#fffffff2}.work-schedule-board .gantt-task-bar.is-editable .gantt-bar-handle{z-index:3;cursor:ew-resize;opacity:.42;justify-content:center;align-items:center;width:min(16px,32%);transition:opacity .12s;display:flex;position:absolute;top:0;bottom:0}.work-schedule-board .gantt-task-bar.is-editable .gantt-bar-handle-start{left:0}.work-schedule-board .gantt-task-bar.is-editable .gantt-bar-handle-finish{right:0}.work-schedule-board .gantt-task-bar.is-editable .gantt-bar-handle:before{content:"";background:#ffffffeb;border-radius:999px;width:2px;height:10px;box-shadow:0 0 0 1px #00000038}.work-schedule-board .gantt-task-bar.is-editable:hover .gantt-bar-handle,.work-schedule-board .gantt-task-bar.is-editable:focus-visible .gantt-bar-handle{opacity:1}.resources-services-actions .ra-btn-primary{background:var(--ink);color:var(--surface);border-color:#0000;box-shadow:0 8px 20px -12px #0009}.resources-services-actions .ra-btn-primary:hover{background:var(--ink);filter:none;border-color:#0000;transform:translateY(-1px);box-shadow:0 12px 24px -12px #000000b3}.resources-readiness-chip.tone-warning strong,.resources-readiness-chip.tone-danger strong,.resources-readiness-chip.tone-info strong{color:var(--ink)}.resources-activity-plan{border-color:var(--line);background:var(--surface-soft);color:var(--ink)}.resources-activity-plan:hover{border-color:color-mix(in srgb, var(--ink) 32%, var(--line));background:var(--control-bg);transform:translateY(-1px)}@media (max-width:760px){.file-library-tabs{flex-wrap:wrap;gap:6px;overflow-x:visible}.file-library-tabs button{padding:0 11px}.file-view-toggle{justify-self:start;width:fit-content}}.work-level-header .work-level-actions .icon-duplicate-button,.work-schedule-level-row .work-level-actions .icon-duplicate-button{color:var(--muted);background:0 0;border-color:#0000}.work-level-header .work-level-actions .icon-duplicate-button:hover,.work-schedule-level-row .work-level-actions .icon-duplicate-button:hover{background:var(--primary-soft);color:var(--ink)}.work-level-header .work-level-actions .icon-duplicate-button svg,.work-schedule-level-row .work-level-actions .icon-duplicate-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.work-plan-actions-menu .work-plan-action-duplicate{color:var(--ink)}.work-plan-actions-menu .work-plan-action-duplicate:hover{background:var(--primary-soft)}:root[data-theme=dark] .work-plan-actions-menu .work-plan-action-duplicate,.app-shell[data-theme=dark] .work-plan-actions-menu .work-plan-action-duplicate{color:var(--ink)}:root[data-theme=dark] .work-plan-actions-menu .work-plan-action-duplicate:hover,.app-shell[data-theme=dark] .work-plan-actions-menu .work-plan-action-duplicate:hover{background:var(--primary-soft)}.boq-quantity-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.boq-quantity-toolbar>.boq-quantity-subtabs{margin:0}.boq-quantity-toolbar>button,.boq-quantity-toolbar>.shell-button{flex:none}@media (max-width:760px){.boq-quantity-toolbar{flex-direction:column;align-items:stretch;gap:10px}.boq-quantity-toolbar>button,.boq-quantity-toolbar>.shell-button{justify-content:center;width:100%}}.add-work-item-end-button{width:fit-content;min-height:30px;color:var(--primary);cursor:pointer;background:#fafaf8b8;border:1px dashed #1a1a1d52;border-radius:999px;justify-self:start;align-items:center;margin:8px 0 2px;padding:5px 12px;font-size:.79rem;font-weight:640;line-height:1.2;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.add-work-item-end-button:hover{border-color:var(--accent);background:var(--primary-soft);transform:translateY(-1px)}.add-work-item-end-button:active{transform:translateY(0)}:root[data-theme=dark] .add-work-item-end-button,.app-shell[data-theme=dark] .add-work-item-end-button{color:var(--ink);background:#ffffff0d;border-color:#ffffff3d}:root[data-theme=dark] .add-work-item-end-button:hover,.app-shell[data-theme=dark] .add-work-item-end-button:hover{border-color:var(--accent);background:var(--primary-soft)}.workplan-presence{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:4px 11px 4px 9px;display:inline-flex}.workplan-presence-live{background:#2ea36b;border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite workplan-presence-pulse;box-shadow:0 0 #2ea36b80}@keyframes workplan-presence-pulse{0%{box-shadow:0 0 #2ea36b73}70%{box-shadow:0 0 0 6px #2ea36b00}to{box-shadow:0 0 #2ea36b00}}.workplan-presence-avatars{display:inline-flex}.workplan-presence-avatar{border:2px solid var(--surface);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-7px;font-size:.62rem;font-weight:800;display:inline-flex}.workplan-presence-avatar:first-child{margin-left:0}.workplan-presence-more{background:var(--muted)}.workplan-presence-label{color:var(--muted);white-space:nowrap;font-size:.72rem;font-weight:760}@media (max-width:760px){.workplan-presence{margin-left:0}.workplan-presence-label{display:none}}.workplan-collab-status{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.workplan-collab-status .workplan-presence{margin-left:0}.workplan-autosave{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;font-weight:760;display:inline-flex}.workplan-autosave-dot{background:var(--muted);border-radius:50%;width:7px;height:7px}.workplan-autosave-saving .workplan-autosave-dot{background:#b5862e;animation:1.2s ease-out infinite workplan-presence-pulse}.workplan-autosave-error{color:var(--danger)}.workplan-autosave-error .workplan-autosave-dot{background:var(--danger)}.workplan-autosave-saved{color:#2ea36b;border-color:#2ea36b66}.workplan-autosave-saved .workplan-autosave-dot{background:#2ea36b}@media (max-width:760px){.workplan-collab-status{flex-wrap:wrap;margin-left:0}}.resource-assignment-preview-main{align-items:baseline;gap:9px;min-width:0;display:inline-flex}.resource-assignment-preview-main strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:820;overflow:hidden}.resource-assignment-preview-main small{color:var(--muted);white-space:nowrap;font-size:.74rem;font-weight:760}.resource-assignment-preview-main small:before{content:"·";color:var(--muted);margin-right:9px;font-weight:900}.resource-assignment-preview-tag{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.7rem;font-weight:800}.ahsp-icon{vertical-align:-2px;flex-shrink:0}.ahsp-group-label,.ahsp-btn,.ahsp-badge,.ahsp-hsd-status,.ahsp-hsd-banner>span,.ahsp-breakdown-missing p{align-items:center}.ahsp-res-icon,.ahsp-hsd-warn,.ahsp-hsd-reset{justify-content:center;align-items:center;display:inline-flex}:root[data-theme=dark] ::selection,.app-shell[data-theme=dark] ::selection{color:#1a1a1d;background:#f6f6f7e0}:root[data-theme=dark] ::-moz-selection{color:#1a1a1d;background:#f6f6f7e0}.app-shell[data-theme=dark] ::-moz-selection{color:#1a1a1d;background:#f6f6f7e0}.auth-confirmation-loading{background:radial-gradient(130% 110% at 50% 0,#1a1a1d0f,#0000 56%),linear-gradient(#f6f7f8,#edeff1)}.auth-confirmation-card{text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #14141712;border-radius:24px;justify-items:center;gap:16px;width:min(460px,100vw - 32px);max-width:460px;min-height:0;padding:40px 36px 32px;display:grid;box-shadow:0 30px 80px #1414171f,0 2px 6px #1414170d}.auth-confirmation-grid,.auth-confirmation-card:before{display:none}.auth-confirmation-card:after{background:linear-gradient(90deg,#0000,#1a1a1d80 28%,#1a1a1dd9 50%,#1a1a1d80 72%,#0000)}.auth-confirmation-logo{border:1px solid #1414171a;box-shadow:0 14px 30px #14141738,0 0 0 6px #1414170a}.auth-confirmation-pulse{border-color:#1a1a1d52}.auth-confirmation-copy{justify-items:center;max-width:360px}.auth-confirmation-copy strong{color:var(--ink,#1a1a1d)}.auth-confirmation-copy p{color:#1a1a1d8f}.auth-confirmation-progress{background:#14141714;border-radius:999px;width:min(300px,100%);height:6px;padding:0;display:block;position:relative;overflow:hidden}.auth-confirmation-progress-fill{background:linear-gradient(90deg,#1a1a1d,#8c8c90);border-radius:999px;width:42%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite authProgressSlide;position:absolute;top:0;bottom:0;left:0}@keyframes authProgressSlide{0%{transform:translate(-115%)}55%{transform:translate(175%)}to{transform:translate(175%)}}.auth-confirmation-status{color:#1a1a1da8;background:#1414170a;border:1px solid #1414171a}.auth-confirmation-spinner{border:2px solid #14141726;border-top-color:var(--ink,#1a1a1d)}.auth-confirmation-card.status-success .auth-confirmation-spinner,.auth-confirmation-card.status-info .auth-confirmation-spinner{border-color:#46664f52;border-top-color:var(--success)}.auth-confirmation-card .auth-links a{color:var(--ink,#1a1a1d)}@media (prefers-reduced-motion:reduce){.auth-confirmation-progress-fill{width:64%;animation:none}}.shell-button-spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:999px;width:12px;height:12px;margin-inline-end:7px;animation:.72s linear infinite spin;display:inline-block}.shell-button.is-loading{cursor:progress}.work-schedule-level-row .work-level-actions{flex-wrap:nowrap;gap:8px}.work-schedule-level-row .work-level-actions .icon-duplicate-button,.work-schedule-level-row .work-level-actions .icon-delete-button{border-radius:9px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;display:inline-flex}.work-schedule-board.advanced-gantt-board .work-schedule-level-row .work-level-actions .icon-duplicate-button,.work-schedule-board.advanced-gantt-board .work-schedule-level-row .work-level-actions .icon-delete-button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0}.work-schedule-level-row .work-level-actions .icon-duplicate-button svg,.work-schedule-level-row .work-level-actions .icon-delete-button svg{width:15px;height:15px}.work-schedule-board.advanced-gantt-board.is-fullscreen{z-index:220;width:100vw;max-width:100vw;height:100vh;max-height:100vh;box-shadow:none;border:0;border-radius:0;position:fixed;inset:0;overflow:auto}.work-schedule-board.advanced-gantt-board.is-fullscreen .work-schedule-left-pane,.work-schedule-board.advanced-gantt-board.is-fullscreen .work-schedule-timeline-pane{overflow:visible}.work-schedule-board.advanced-gantt-board.is-fullscreen .work-schedule-resizer{height:var(--gantt-fs-content-height,100%);bottom:auto}.schedule-fullscreen-exit{z-index:90;height:32px;color:var(--primary);cursor:pointer;background:#fffffff5;border:1px solid #1a1a1d3d;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.8rem;font-weight:760;display:inline-flex;position:absolute;top:10px;right:14px;box-shadow:0 10px 28px #1414171f}.schedule-fullscreen-exit:hover{border-color:var(--accent);background:var(--primary-soft)}.schedule-fullscreen-button{align-items:center;gap:6px;display:inline-flex}.main-shell>.topbar .theme-glass-track{height:44px}.main-shell>.topbar .theme-glass-knob{top:2px}.work-schedule-board.advanced-gantt-board .work-schedule-left-head{height:calc(var(--schedule-header-height) + 10px)}.schedule-date-pick-cell.schedule-start-cell:after,.schedule-date-pick-cell.schedule-finish-cell:after{display:none}.schedule-preview-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;display:grid;overflow:hidden;box-shadow:0 12px 30px #1414170d}.schedule-preview-card-head{border-bottom:1px solid var(--line);background:var(--neutral-soft);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:13px 16px;display:flex}.schedule-preview-card-head .eyebrow{margin:0}.schedule-preview-count{background:var(--ink);color:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:800}.schedule-preview-card-hint{color:var(--muted);margin-left:auto;font-size:.74rem;font-weight:600}.schedule-preview-card-list{scrollbar-width:thin;gap:2px;max-height:360px;padding:8px;display:grid;overflow-y:auto}.schedule-preview-card-row{border-radius:10px;grid-template-columns:minmax(170px,1.7fr) minmax(148px,1fr) minmax(148px,1fr);align-items:center;gap:12px;padding:9px 10px;display:grid}.schedule-preview-card-row.is-head{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:0;padding:8px 18px;font-size:.64rem;font-weight:850}.schedule-preview-card-list .schedule-preview-card-row:hover{background:var(--neutral-soft)}.schedule-preview-task{align-items:baseline;gap:8px;min-width:0;display:flex}.schedule-preview-wbs{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:800}.schedule-preview-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.8rem;font-weight:700;overflow:hidden}.schedule-preview-change{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:7px;font-size:.78rem;display:flex}.schedule-preview-from{color:var(--muted);-webkit-text-decoration:line-through #8c8c91a6;text-decoration:line-through #8c8c91a6}.schedule-preview-arrow{color:var(--muted);font-weight:700}.schedule-preview-to{color:var(--ink);font-weight:800}.schedule-preview-same{color:var(--muted);font-weight:650}.schedule-preview-newtag{border:1px solid var(--line);background:var(--neutral-soft);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:1px 7px;font-size:.62rem;font-weight:850}.schedule-preview-delta{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.64rem;font-weight:800}.schedule-preview-delta.is-earlier{background:var(--success-soft);color:var(--success)}.schedule-preview-delta.is-later{background:var(--warning-soft);color:var(--warning)}@media (max-width:720px){.schedule-preview-card-row{grid-template-columns:minmax(110px,1.4fr) minmax(116px,1fr) minmax(116px,1fr);gap:8px}.schedule-preview-card-hint{width:100%;margin-left:0}}.schedule-predecessor-pop{z-index:220;border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;min-width:252px;max-width:360px;padding:8px;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 50px #1414172e}.schedule-predecessor-pop-hint{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:2px 6px 6px;font-size:.64rem;font-weight:850}.schedule-predecessor-list{scrollbar-width:thin;gap:2px;display:grid;overflow-y:auto}.schedule-predecessor-option,.schedule-predecessor-relation{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:baseline;gap:10px;width:100%;padding:8px 10px;transition:background .12s,border-color .12s;display:flex}.schedule-predecessor-option:hover,.schedule-predecessor-relation:hover,.schedule-predecessor-option:focus-visible,.schedule-predecessor-relation:focus-visible{background:var(--neutral-soft);border-color:var(--line)}.schedule-predecessor-option strong{min-width:44px;color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem;font-weight:800}.schedule-predecessor-option span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem;font-weight:600;overflow:hidden}.schedule-predecessor-relations{gap:4px;display:grid}.schedule-predecessor-relation{align-items:center}.schedule-predecessor-relation strong{min-width:34px;color:var(--ink);flex:none;font-size:.84rem;font-weight:850}.schedule-predecessor-relation span{color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.25}.schedule-predecessor-back{background:var(--neutral-soft);width:100%;color:var(--ink);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:6px;margin-bottom:6px;padding:6px 9px;font-size:.74rem;font-weight:700;display:flex;overflow:hidden}.schedule-predecessor-empty{color:var(--muted);text-align:center;margin:0;padding:14px 10px;font-size:.76rem}.critical-path-shell.is-fullscreen .critical-path-actions{flex-wrap:wrap;flex:auto}.critical-path-shell.is-fullscreen .critical-path-actions .critical-path-fullscreen-close{margin-left:auto}.critical-path-actions .critical-path-icon-action{border-width:1px;border-color:var(--cp-line-soft,#14121014);width:34px;min-width:34px}.critical-path-actions .critical-path-icon-action svg{stroke-width:1.6px;width:16px;height:16px}.critical-path-shell.is-fullscreen .critical-path-filters{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #d2d0cdd1;border-radius:16px;align-items:center;gap:6px;padding:6px 8px;top:72px;box-shadow:0 16px 44px #1414171a}.critical-path-shell.is-fullscreen .critical-path-filters button{min-height:30px;font-size:.72rem}.critical-path-shell.is-fullscreen .critical-path-filters label{letter-spacing:.05em;align-items:center;gap:6px;margin:0;padding-left:4px;font-size:.6rem;display:inline-flex}.critical-path-shell.is-fullscreen .critical-path-filters label span{white-space:nowrap}.critical-path-shell.is-fullscreen .critical-path-filters select{min-height:30px;font-size:.74rem}.scurve-chart-head{align-items:flex-start}.scurve-chart-head>div:first-child{align-content:start;gap:3px;display:grid}.scurve-chart-head>div:first-child strong{font-size:.92rem}.scurve-chart-head>div:first-child span{font-weight:600}.material-plan-panel .material-plan-bottom-actions{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:4px;padding:10px 60px 10px 14px;position:sticky;bottom:12px;box-shadow:0 14px 34px #14141724}.material-plan-panel .material-plan-bottom-actions button{min-height:38px;padding:0 16px}.material-plan-panel .material-plan-summary{grid-template-columns:repeat(auto-fit,minmax(146px,1fr))}.material-plan-panel .material-plan-summary span{background:var(--surface);min-height:72px;padding:12px 13px}.material-plan-panel .material-plan-summary span strong{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:850;line-height:1.1}.material-plan-panel .material-plan-summary .warning{border-color:var(--warning)}.material-plan-panel .material-plan-filters{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:4px;padding:4px}.material-plan-panel .material-plan-filters button{min-height:32px;color:var(--muted);background:0 0;border-color:#0000;font-size:.76rem}.material-plan-panel .material-plan-filters button:hover{color:var(--ink);background:var(--neutral-soft)}.material-plan-panel .material-plan-filters button.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.work-schedule-add-end-spacer{pointer-events:none;min-height:30px;margin:8px 0 2px}:root .auth-page{background:radial-gradient(1000px circle at 16% 6%, var(--primary-soft), transparent 55%), radial-gradient(900px circle at 100% 100%, var(--primary-soft), transparent 60%), var(--bg)}.auth-page .auth-hero{border-color:var(--line);color:var(--ink);background:radial-gradient(120% 90% at 100% 0%, var(--primary-soft), transparent 56%), linear-gradient(160deg, var(--surface-soft), var(--surface))}.auth-page .auth-hero .auth-brand strong{color:var(--ink)}.auth-page .auth-hero .auth-brand p{color:var(--muted)}.auth-page .auth-hero .auth-logo{background:var(--surface);border-color:var(--line)}.auth-page .auth-hero .auth-copy .eyebrow{color:var(--muted)}.auth-page .auth-hero .auth-copy h1{color:var(--ink)}.auth-page .auth-hero .auth-copy>p:last-child{color:var(--muted)}.auth-page .auth-benefit-card{border-color:var(--line);background:var(--surface)}.auth-page .auth-benefit-card.is-active{background:var(--ink);box-shadow:var(--shadow-soft);border-color:#0000}.auth-page .auth-hero .auth-benefit-card .auth-benefit-label{color:var(--ink)}.auth-page .auth-hero .auth-benefit-card.is-active .auth-benefit-label{color:var(--bg)}.auth-page .auth-hero .auth-benefit-card .auth-benefit-num{color:var(--ink);background:var(--primary-soft)}.auth-page .auth-hero .auth-benefit-card.is-active .auth-benefit-num{color:var(--ink);background:var(--bg)}.auth-page .auth-card{border-color:var(--line);background:var(--surface);color:var(--ink)}.auth-page .auth-card-kicker{color:var(--muted)}.auth-page .auth-card-header strong{color:var(--ink)}.auth-page .auth-card-header p{color:var(--muted)}.auth-page .auth-card label>span{color:var(--ink)}.auth-page .auth-card input,.auth-page .auth-card select{appearance:none;border-color:var(--line);background-color:var(--surface-soft);color:var(--ink)}.auth-page .auth-card input::placeholder{color:var(--muted)}.auth-page .auth-card input:focus,.auth-page .auth-card select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-page .auth-card input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 100px var(--surface-soft) inset;box-shadow:0 0 0 100px var(--surface-soft) inset;border-color:var(--line)}.auth-page .auth-card input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 100px var(--surface-soft) inset;box-shadow:0 0 0 100px var(--surface-soft) inset;border-color:var(--line)}.auth-page .auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 100px var(--surface-soft) inset;box-shadow:0 0 0 3px var(--accent-soft), 0 0 0 100px var(--surface-soft) inset;border-color:var(--accent)}.auth-page .auth-password-toggle{color:var(--muted)}.auth-page .auth-password-toggle:hover{color:var(--ink)}.auth-page .auth-primary.auth-google-button{background:var(--primary-soft);border-color:var(--line);color:var(--ink)}.auth-page .auth-primary.auth-google-button:not(:disabled):hover{background:var(--neutral-soft);border-color:var(--line-strong)}.auth-page .auth-card .auth-secondary:not([type=submit]){background:var(--primary-soft);border-color:var(--line);color:var(--ink)}.auth-page .auth-card .auth-secondary:not([type=submit]):not(:disabled):hover{background:var(--neutral-soft);border-color:var(--line-strong)}.auth-page .auth-divider span{color:var(--muted)}.auth-page .auth-divider:before,.auth-page .auth-divider:after{background:var(--line)}.auth-page .auth-card button[type=submit]{background:var(--ink);color:var(--surface);border-color:#0000}.auth-page .auth-card button[type=submit]:not(:disabled):hover{background:var(--ink);opacity:.9}.auth-page .auth-links a,.auth-page .auth-links button{color:var(--muted)}.auth-page .auth-links a:hover,.auth-page .auth-links button:hover{color:var(--ink)}.auth-page .auth-links a:after,.auth-page .auth-links button:after{background:var(--accent)}.auth-page .auth-card .auth-message{background:var(--primary-soft);border:1px solid var(--line);color:var(--muted)}.auth-page .auth-card .auth-message.error{color:var(--danger);background:var(--danger-soft);border-color:#0000}.auth-page .auth-card .auth-message.success{color:var(--success);background:var(--success-soft);border-color:#0000}.auth-page .auth-card .auth-setup-note{background:var(--primary-soft);border:1px solid var(--line);color:var(--ink)}.auth-page .auth-card .auth-setup-note.error{color:var(--danger);background:var(--danger-soft);border-color:#0000}.auth-page .auth-card .auth-setup-note strong{color:var(--ink)}.resource-assignment-modal .drawing-upload-modal-head{margin-bottom:14px}.resource-assignment-modal .modal-close-button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;flex:none;padding:0 14px;font-size:.8rem;font-weight:650;transition:color .14s,border-color .14s,background .14s}.resource-assignment-modal .modal-close-button:hover{color:var(--ink);border-color:var(--line-strong);background:var(--primary-soft)}.resource-assignment-modal .resource-assignment-form{gap:13px 14px}.resource-assignment-modal .resource-assignment-form label{letter-spacing:.02em;color:var(--muted);gap:6px;font-size:.7rem;font-weight:720}.resource-assignment-modal .resource-assignment-form input,.resource-assignment-modal .resource-assignment-form select,.resource-assignment-modal .resource-assignment-form textarea{min-height:40px;color:var(--ink);border-radius:10px;padding:8px 12px;font-size:.84rem;font-weight:650;transition:border-color .14s,box-shadow .14s,background .14s}.resource-assignment-modal .resource-assignment-form input::placeholder,.resource-assignment-modal .resource-assignment-form textarea::placeholder{color:var(--muted);font-weight:500}:root .resource-assignment-modal .resource-assignment-form input:focus,:root .resource-assignment-modal .resource-assignment-form select:focus,:root .resource-assignment-modal .resource-assignment-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background-color:var(--surface);outline:none}.resource-assignment-modal .resource-assignment-notes textarea{min-height:86px;line-height:1.5}.resource-assignment-modal .resource-assignment-preview{border-radius:12px;margin-top:14px;padding:11px 14px}.team-members-table{min-width:0}.team-members-table th,.team-members-table td{padding:7px 10px}.team-members-table td:has(.team-member-identity)+td{white-space:normal;overflow-wrap:anywhere}.team-members-table td:has(.team-project-access){white-space:normal;overflow-wrap:anywhere}.team-member-identity strong,.team-member-identity small{white-space:normal}.team-action-menu{gap:4px}.team-action-menu button:not(.shell-button){min-height:26px;padding:0 7px;font-size:.7rem}.team-activity-card .invite-list{gap:7px}.team-activity-card .invite-row{border-radius:12px;gap:6px 12px;padding:9px 12px}.team-activity-card .invite-row strong{font-size:.86rem}.team-activity-card .invite-row p{color:var(--muted);margin:2px 0 0;font-size:.8rem}.team-activity-card .invite-row span{color:var(--muted);font-size:.74rem}.team-activity-card .invite-row .status-pill{flex:none;align-self:center;padding:3px 9px;font-size:.68rem}.account-back{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-bottom:14px;padding:6px 13px 6px 10px;font-size:.82rem;font-weight:650;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.account-back:hover{color:var(--ink);border-color:var(--line-strong);background:var(--primary-soft)}.account-back span{font-size:1.05em;line-height:1}.schedule-name-with-action{align-items:center;gap:8px;display:flex}.schedule-name-with-action>.breakdown-name-cell{flex:auto;min-width:0}.schedule-name-with-action>.schedule-row-actions{flex:none}.schedule-predecessor-relation.active{border-color:var(--accent);background:var(--accent-soft)}.schedule-predecessor-lag{gap:6px;margin-top:4px;display:flex}.schedule-predecessor-lag-input{border:1px solid var(--line);background:var(--surface-soft);min-width:0;height:32px;color:var(--ink);font:inherit;border-radius:9px;flex:auto;padding:0 10px;font-size:.82rem}.schedule-predecessor-lag-unit{border:1px solid var(--line);background:var(--surface-soft);height:32px;color:var(--ink);font:inherit;border-radius:9px;flex:none;padding:0 8px;font-size:.8rem}.schedule-predecessor-lag-input:focus,.schedule-predecessor-lag-unit:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.schedule-predecessor-lag-help{color:var(--muted);margin:4px 0 0;font-size:.68rem}.schedule-predecessor-apply-row{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.schedule-predecessor-preview{text-overflow:ellipsis;white-space:nowrap;background:var(--primary-soft);min-width:0;color:var(--ink);font-family:var(--font-mono);border-radius:999px;padding:4px 9px;font-size:.74rem;font-weight:700;overflow:hidden}.schedule-predecessor-apply{background:var(--ink);height:30px;color:var(--surface);font:inherit;cursor:pointer;border:0;border-radius:9px;flex:none;padding:0 16px;font-size:.8rem;font-weight:700}.schedule-predecessor-apply:hover{opacity:.9}.auth-page .auth-hero .auth-benefit-card{transition:transform .2s cubic-bezier(.2,.7,.2,1),background .18s,border-color .18s,box-shadow .24s}.auth-page .auth-hero .auth-benefit-card:not(.is-active){background:linear-gradient(160deg, var(--surface-soft), var(--surface))}.auth-page .auth-hero .auth-benefit-card:not(.is-active):hover{border-color:var(--line-strong);transform:translateY(-3px)}.auth-page .auth-hero .auth-benefit-card.is-active{box-shadow:var(--shadow);transform:translateY(-4px)}.auth-page .auth-hero .auth-benefit-list .auth-benefit-num{width:28px;height:28px;font-size:.78rem;transition:transform .2s cubic-bezier(.2,.7,.2,1),background .18s,color .18s}.auth-page .auth-hero .auth-benefit-list .auth-benefit-card.is-active .auth-benefit-num{transform:scale(1.08)}@media (prefers-reduced-motion:reduce){.auth-page .auth-hero .auth-benefit-card,.auth-page .auth-hero .auth-benefit-list .auth-benefit-num{transition:none}}.work-schedule-board.advanced-gantt-board{--schedule-task-row-height:34px;--schedule-child-row-height:32px}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row{padding-top:3px;padding-bottom:3px}.work-schedule-board.advanced-gantt-board .work-schedule-fixed-row .breakdown-name-cell input{min-height:22px;font-size:.7rem;font-weight:600}.work-schedule-board.advanced-gantt-board .schedule-wbs-cell{min-height:22px}.work-schedule-board.advanced-gantt-board .schedule-display-cell{min-height:20px}.work-schedule-board.advanced-gantt-board .work-schedule-gantt-row .work-gantt-chart{min-height:28px}.work-schedule-board.advanced-gantt-board .work-schedule-gantt-row.child .work-gantt-chart{min-height:26px}.work-schedule-board.advanced-gantt-board .work-schedule-timeline-inner .gantt-today-line{background:#f97316;box-shadow:0 0 0 3px #f973162e}.work-schedule-board.advanced-gantt-board .work-schedule-timeline-inner .gantt-today-line:before{color:#fff;background:#f97316}.work-schedule-board.advanced-gantt-board .work-gantt-chart{cursor:crosshair}.advanced-gantt-controls.planner-toolbar .gantt-scale-toggle.compact-toggle button,.advanced-gantt-controls.planner-toolbar .schedule-action-controls button{box-sizing:border-box;height:32px;min-height:32px}.advanced-gantt-controls.planner-toolbar .schedule-toolbar-label{opacity:.7;font-weight:700}:root:not([data-theme=dark]) .advanced-gantt-controls.planner-toolbar .schedule-toolbar-group,.app-shell:not([data-theme=dark]) .advanced-gantt-controls.planner-toolbar .schedule-toolbar-group{background:#fafaf98c;border-color:#14121014}.gantt-controls-display{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.gantt-controls-actions{border-left:1px solid var(--line,#1412101a);align-items:center;gap:6px;padding-left:12px;display:inline-flex}.work-plan-mode-toolbar .schedule-view-switch{background:var(--surface-soft,#1412100d);border:0;border-radius:13px;gap:3px;padding:3px;overflow:visible}.work-plan-mode-toolbar .schedule-view-switch button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 11px;font-size:.78rem;font-weight:500}.work-plan-mode-toolbar .schedule-view-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line);font-weight:600}.work-plan-mode-toolbar{gap:10px}.gantt-controls-display{gap:9px 14px}.advanced-gantt-controls.planner-toolbar .schedule-toolbar-label{letter-spacing:.09em;opacity:.6;font-size:.55rem;font-weight:700}.advanced-gantt-controls.planner-toolbar .schedule-toolbar-group,.advanced-gantt-controls.planner-toolbar .schedule-fullscreen-button,.advanced-gantt-controls.planner-toolbar .schedule-help-hint{box-sizing:border-box;align-items:center;height:38px;min-height:38px;padding-top:0;padding-bottom:0;display:inline-flex}.work-plan-list .work-plan-selector{padding:7px 9px}.work-plan-list .work-plan-selector .status-pill{padding:3px 7px;font-size:.6rem}.work-plan-list .work-plan-selector .progress-track{height:5px}.work-plan-list .work-plan-selector .work-plan-meta{gap:4px;margin-top:4px}.work-plan-list .work-plan-selector .work-plan-meta span{padding:2px 7px;font-size:.58rem}.as-backdrop{z-index:1400;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0806068c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.as-modal{border:1px solid var(--line);background:var(--surface);width:min(560px,100%);max-height:90vh;box-shadow:var(--glass-shadow,0 24px 70px #00000059);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.as-modal-wide{width:min(1040px,100%)}.as-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.as-head-title{align-items:center;gap:10px;display:flex}.as-head-title strong{color:var(--ink);font-size:1.05rem}.as-head-ico{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.as-head-ico svg{width:17px;height:17px}.as-icon-btn{border:1px solid var(--line);background:var(--surface-soft);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;display:grid}.as-icon-btn:hover{color:var(--ink);border-color:var(--border-active)}.as-icon-btn svg{width:16px;height:16px}.as-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;align-items:center;gap:8px;margin:12px 18px 0;padding:9px 12px;font-size:.84rem;font-weight:600;display:flex}.as-error svg{flex:none;width:16px;height:16px}.as-body,.as-review{gap:16px;padding:16px 18px;display:grid;overflow-y:auto}.as-tabs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.as-tab{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:center;border-radius:12px;gap:2px;padding:10px;transition:border-color .16s,background .16s;display:grid}.as-tab.active{border-color:var(--accent);background:var(--accent-soft)}.as-tab strong{color:var(--ink);font-size:.86rem}.as-tab span{color:var(--muted);font-size:.7rem}.as-fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.as-field{gap:5px;display:grid}.as-field>span{color:var(--muted);font-size:.74rem;font-weight:600}.as-field input,.as-field select{border:1px solid var(--line);background-color:var(--surface);height:38px;color:var(--ink);border-radius:10px;padding:0 10px;font-size:.86rem}.as-field input[type=range]{accent-color:var(--accent);padding:0}.as-section{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.as-section-head{justify-content:space-between;align-items:center;display:flex}.as-section-title{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8rem;font-weight:700}.as-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:650}.as-muted{color:var(--muted);margin:0;font-size:.84rem}.as-crew-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.as-crew-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.as-crew-row>span{color:var(--ink);font-size:.85rem}.as-stepper{align-items:center;gap:10px;display:inline-flex}.as-stepper button{border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:8px;font-size:1rem;line-height:1}.as-stepper button:hover{border-color:var(--accent);color:var(--accent)}.as-stepper strong{text-align:center;font-variant-numeric:tabular-nums;min-width:22px;color:var(--ink)}.as-range-wide{width:100%;accent-color:var(--accent)}.as-range-labels{color:var(--muted);justify-content:space-between;align-items:center;font-size:.76rem;display:flex}.as-inline-num input{border:1px solid var(--line);background:var(--surface);width:64px;height:30px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;margin:0 4px;padding:0 8px}.as-avail-grid{background:var(--surface-soft);border:1px dashed var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:10px;display:grid}.as-avail-row{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.as-avail-row input{border:1px solid var(--line);background:var(--surface);width:80px;height:30px;color:var(--ink);border-radius:8px;padding:0 8px}.as-crew-req{gap:6px;display:grid}.as-crew-req-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.as-crew-need{white-space:nowrap}.as-crew-have{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.as-crew-have input{border:1px solid var(--line);background:var(--surface,#fff);width:52px;color:var(--ink);font:inherit;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-radius:8px;padding:4px 7px;font-size:.82rem}.as-crew-have input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.as-crew-have input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.as-crew-have input:focus{border-color:var(--accent,#6b7280);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#6b7280) 18%, transparent);outline:none}.as-crew-req-row.short{border-color:#c0322a4d}.as-crew-name{color:var(--ink);font-size:.85rem}.as-crew-req-row strong{font-variant-numeric:tabular-nums;color:var(--ink)}.as-crew-flag{font-size:.78rem;font-weight:600}.as-crew-flag.ok{color:var(--success)}.as-crew-flag.short{color:var(--danger)}.as-preview{background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;gap:10px;padding:14px;display:grid}.as-preview-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;font-size:.74rem;font-weight:700;display:flex}.as-preview-stats{flex-wrap:wrap;gap:24px;display:flex}.as-preview-stats>div{gap:2px;display:grid}.as-preview-stats strong{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.as-preview-stats span{color:var(--muted);font-size:.74rem}.as-warn-list{gap:6px;max-height:132px;display:grid;overflow-y:auto}.as-warn{color:var(--warning);align-items:center;gap:7px;font-size:.8rem;display:flex}.as-warn svg{flex:none;width:15px;height:15px}.as-mini-spinner,.as-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite as-spin}.as-mini-spinner{width:13px;height:13px}.as-spinner{border-width:3px;width:40px;height:40px}@keyframes as-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.as-mini-spinner,.as-spinner{animation:none}}.as-generating{text-align:center;justify-items:center;gap:10px;padding:48px 18px;display:grid}.as-generating strong{color:var(--ink);font-size:1rem}.as-generating span{color:var(--muted);max-width:40ch;font-size:.86rem}.as-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.as-foot-stats{color:var(--muted);font-size:.8rem}.as-foot-actions{gap:8px;display:flex}.as-btn{border:1px solid var(--line);background:var(--surface-soft);height:40px;color:var(--ink);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 16px;font-size:.88rem;font-weight:650;display:inline-flex}.as-btn:hover{border-color:var(--border-active)}.as-btn-primary{background:var(--cta,var(--accent));color:#fff;border-color:#0000}.as-btn-primary:disabled{opacity:.5;cursor:not-allowed}.as-btn svg{width:15px;height:15px}.as-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:14px;display:grid}.as-summary>div{gap:2px;display:grid}.as-summary span{color:var(--muted);font-size:.72rem}.as-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.as-summary-impact{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.8rem;line-height:1.5}.as-summary-impact strong{color:var(--ink);font-variant-numeric:tabular-nums}.manpower-stats{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.manpower-stats span{color:var(--muted);font-size:.85rem}.manpower-stats strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:5px;font-size:1.05rem}.manpower-empty{justify-items:start;gap:10px;padding:24px;display:grid}.manpower-notes{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.manpower-form{gap:12px;padding:4px 0;display:grid}.manpower-form label{gap:4px;display:grid}.manpower-form label>span{color:var(--muted);font-size:.78rem}.manpower-form input,.manpower-form select,.manpower-form textarea{width:100%}.manpower-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.manpower-delete-modal{gap:8px;display:grid}.manpower-step{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:8px;justify-content:center;align-items:center;line-height:1;transition:background .14s,border-color .14s;display:inline-flex}.manpower-step:hover:not(:disabled){background:var(--neutral-soft);border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.manpower-step:disabled{opacity:.45;cursor:not-allowed}.manpower-step.is-remove{width:auto;color:var(--muted);padding:0 10px;font-size:.8rem}.manpower-section{flex-direction:column;gap:10px;display:flex}.manpower-section-eyebrow{margin:0}.manpower-section-hint{color:var(--muted);margin:2px 0 0;font-size:.82rem;line-height:1.4}.manpower-alert-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;display:grid}.manpower-gap-card{border-left:3px solid var(--danger);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.manpower-gap-title{color:var(--danger)}.manpower-gap-detail{font-size:.85rem}.manpower-idle-section{flex-direction:column;gap:6px;display:flex}.manpower-idle-line{color:var(--muted);margin:0;font-size:.82rem}.manpower-assign-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.manpower-assign-card{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.manpower-assign-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.manpower-assign-roster{color:var(--muted);white-space:nowrap;font-size:.8rem}.manpower-assign-rows{flex-direction:column;gap:6px;display:flex}.manpower-assign-row{align-items:center;gap:8px;display:flex}.manpower-assign-project{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.manpower-assign-count{text-align:center;min-width:22px}.manpower-assign-empty{color:var(--muted);margin:0;font-size:.8rem}.manpower-assign-select{width:100%;padding:7px 8px;font-size:.82rem}.manpower-assign-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:.82rem;display:flex}.manpower-assign-over{color:var(--danger)}.manpower-assign-idle{color:var(--muted)}@media (max-width:640px){.manpower-form-row{grid-template-columns:1fr}}.as-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.as-col{align-content:start;gap:8px;display:grid}.as-col h4{color:var(--ink);margin:0 0 4px;font-size:.92rem}.as-insight{border-left:3px solid var(--muted);background:var(--surface-soft);border-radius:12px;gap:3px;padding:10px 12px;display:grid}.as-insight strong{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.as-insight p{color:var(--ink);margin:0;font-size:.84rem}.as-insight.tone-critical{border-left-color:var(--danger)}.as-insight.tone-critical strong{color:var(--danger)}.as-insight.tone-warning{border-left-color:var(--warning)}.as-insight.tone-warning strong{color:var(--warning)}.as-insight.tone-tip{border-left-color:var(--accent)}.as-insight.tone-tip strong{color:var(--accent)}.as-insight-action{color:var(--accent);font-size:.76rem;font-weight:650}.as-dep-legend{color:var(--muted);gap:12px;font-size:.76rem;display:flex}.as-dep-list,.as-dur-list{gap:6px;display:grid}.as-dep{border:1px solid var(--line);background:var(--surface-soft);border-radius:11px;gap:5px;padding:9px 11px;display:grid}.as-dep.rejected{opacity:.45}.as-dep-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.as-dep-badge{border-radius:999px;padding:2px 7px;font-size:.64rem;font-weight:800}.as-dep-badge.rule{background:var(--success-soft);color:var(--success)}.as-dep-badge.ai{background:var(--accent-soft);color:var(--accent)}.as-dep-link{color:var(--ink);font-size:.82rem;font-weight:600}.as-dep-type{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.74rem}.as-dep-reason{color:var(--muted);margin:0;font-size:.76rem}.as-dep-actions{gap:6px;display:flex}.as-dep-btn{border:1px solid var(--line);background:var(--surface);width:28px;height:26px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;display:grid}.as-dep-btn svg{width:14px;height:14px}.as-dep-btn.on{background:var(--success-soft);color:var(--success);border-color:#0000}.as-dep-btn.danger.on{background:var(--danger-soft);color:var(--danger)}.as-dur-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 11px;display:grid}.as-dur-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:.83rem;display:flex;overflow:hidden}.as-crit{background:var(--danger);border-radius:50%;flex:none;width:7px;height:7px}.as-dur-src{border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:700}.as-dur-src.src-ahsp{background:var(--success-soft);color:var(--success)}.as-dur-src.src-default{background:var(--warning-soft);color:var(--warning)}.as-dur-row strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.84rem}@media (max-width:880px){.as-review-grid{grid-template-columns:1fr}.as-modal-wide{width:min(620px,100%)}}.as-radio-row{flex-wrap:wrap;gap:8px;display:flex}.as-radio{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;color:var(--ink);border-radius:10px;align-items:center;gap:7px;padding:8px 12px;font-size:.82rem;display:inline-flex}.as-radio input{accent-color:var(--accent);margin:0}.as-radio.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.as-dur-src.src-ai_estimated{background:var(--accent-soft);color:var(--accent)}.as-dur-src.src-unit_default{background:var(--warning-soft);color:var(--warning)}.as-dur-src.src-placeholder{background:var(--neutral-soft);color:var(--muted)}.as-dur-q{background:var(--muted);width:15px;height:15px;color:var(--surface);border-radius:50%;place-items:center;font-size:.62rem;font-weight:800;display:inline-grid}.app-shell[data-theme] .gantt-task-bar.placeholder{opacity:.5;background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#78787829 4px 8px)}.app-shell[data-theme] .gantt-task-bar.placeholder:after{content:"?";background:var(--muted);color:#fff;border-radius:50%;place-items:center;width:14px;height:14px;font-size:.6rem;font-weight:800;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-page .auth-hero .auth-benefit-list .auth-benefit-num{width:30px;height:30px;font-family:var(--font-display,inherit);font-variant-numeric:tabular-nums;letter-spacing:0;justify-content:center;align-items:center;padding:0;font-size:.84rem;font-weight:700;line-height:1;display:flex}.auth-page .auth-hero .auth-benefit-card{border-radius:18px;gap:12px;min-height:108px;padding:18px 14px}.auth-page .auth-hero .auth-benefit-label{font-size:.8rem;line-height:1.3}.critical-path-shell{position:relative}.critical-path-dock{z-index:16;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-radius:14px;align-items:center;gap:3px;padding:5px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 16px 40px #14141729}.critical-path-dock .critical-path-icon-action{width:34px;min-width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;transition:background .15s,border-color .15s;display:inline-grid}.critical-path-dock .critical-path-icon-action:hover{background:var(--neutral-soft);border-color:var(--line)}.critical-path-dock .critical-path-icon-action:focus-visible{outline:2px solid var(--cp-focus,#1412108c);outline-offset:2px}.critical-path-dock .critical-path-icon-action svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.critical-path-dock-zoom{text-align:center;min-width:44px;color:var(--ink);font-variant-numeric:tabular-nums;padding:0 4px;font-size:.74rem;font-weight:800}.critical-path-dock-sep{background:var(--line);width:1px;height:20px;margin:0 3px}:root[data-theme=dark] .critical-path-dock{background:#101115e6;border-color:#ffffff14;box-shadow:0 16px 44px #00000073}.critical-path-shell.is-fullscreen .critical-path-modebar{background:#fafaf9e6;inset:auto auto 16px 50%;transform:translate(-50%)}.critical-path-shell.is-fullscreen .critical-path-legend{inset:auto 16px 16px auto}@media (max-width:980px){.critical-path-shell.is-fullscreen .critical-path-modebar{display:none}}.critical-path-shell.is-fullscreen .critical-path-filters{flex-direction:column;align-items:stretch;gap:9px;width:min(470px,100vw - 20px)}.critical-path-shell .cp-filter-status{flex-wrap:wrap;gap:4px;display:flex}.critical-path-shell .cp-filter-scope{grid-template-columns:1fr 1fr;gap:10px;display:grid}.critical-path-shell.is-fullscreen .cp-filter-scope label,.critical-path-shell .cp-filter-scope label{align-items:stretch;gap:4px;min-width:0;margin:0;padding:0;display:grid}.critical-path-shell .cp-filter-scope label span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.58rem;font-weight:850}.critical-path-shell .cp-filter-scope select{width:100%;min-width:0}body.gantt-panning,body.gantt-panning *{cursor:grabbing!important}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.summary,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.summary{color:#fff;background:linear-gradient(#6e6e74,#4f4f55);box-shadow:inset 0 0 0 1px #ffffff24,inset 3px 0 #ffffff80,0 2px 10px #1a1a1d29}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.summary.delayed,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.summary.delayed{background:linear-gradient(#6e6e74,#4f4f55);box-shadow:inset 0 0 0 1px #ffffff24,inset 3px 0 #f97316,0 2px 10px #1a1a1d29}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.summary.critical,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.summary.critical{background:linear-gradient(#6e6e74,#4f4f55);box-shadow:inset 0 0 0 1px #ffffff24,inset 3px 0 #ef4444,0 2px 10px #1a1a1d29}.app-shell[data-theme] .work-schedule-board .gantt-task-bar.summary .gantt-bar-text{color:#fff}.current-phase-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:14px;padding:14px 16px 16px;display:grid}.current-phase-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.current-phase-label{align-items:center;gap:9px;min-width:0;display:inline-flex}.current-phase-label strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.92rem;font-weight:800;overflow:hidden}.current-phase-badge{background:var(--neutral-soft);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:2px 9px;font-size:.62rem;font-weight:850}.current-phase-today{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.76rem;font-weight:750}.current-phase-timeline{align-items:flex-end;gap:10px}.current-phase-date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;padding-bottom:1px;font-size:.68rem;font-weight:750}.current-phase-track{background:var(--neutral-soft);border-radius:999px;flex:auto;height:8px;margin-top:18px;position:relative}.current-phase-fill{background:var(--muted);opacity:.42;border-radius:999px;position:absolute;top:0;bottom:0;left:0}.current-phase-tick{background:var(--ink);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-50%)}.current-phase-tick em{color:var(--ink);letter-spacing:.02em;white-space:nowrap;font-size:.6rem;font-style:normal;font-weight:850;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.current-phase-summary{align-items:flex-start}.current-phase-active{color:var(--muted);font-size:.8rem;font-weight:650;line-height:1.3}.current-phase-active .cp-active-n{color:var(--success);font-weight:850}.current-phase-active .cp-soon-m{color:var(--ink);font-weight:800}.current-phase-warning{max-width:56%;color:var(--warning);text-align:right;flex:none;font-size:.73rem;font-weight:750;line-height:1.3}.current-phase-empty{color:var(--muted);font-size:.8rem;font-weight:600}.quality-page{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.quality-page.is-empty{color:var(--muted);padding:24px}.quality-page-left{flex-direction:column;gap:8px;min-width:0;display:flex;position:sticky;top:8px}.quality-page-right{min-width:0}.quality-page-loading{color:var(--muted);padding:4px 6px;font-size:.72rem}.quality-right-bar{align-items:center;gap:8px;margin-bottom:6px;display:none}.quality-back-btn,.quality-left-toggle{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;display:none}.quality-subtabs-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.quality-detail-subhead{z-index:3;background:var(--surface,Canvas);border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:8px 2px;font-size:.8rem;display:flex;position:sticky;top:0}.quality-detail-meter{background:var(--neutral-soft);border-radius:999px;flex:auto;min-width:0;height:6px;overflow:hidden}.quality-detail-meter>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .24s;display:block}.quality-detail-meter.is-complete>span{background:var(--success)}.quality-detail-meter-label{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.quality-detail-subhead .is-danger{color:var(--danger);font-weight:700}.quality-detail-subhead .is-warning{color:var(--warning);font-weight:700}@media (max-width:1023px){.quality-page{grid-template-columns:220px minmax(0,1fr)}.quality-page.left-collapsed{grid-template-columns:minmax(0,1fr)}.quality-page.left-collapsed .quality-page-left{display:none}.quality-right-bar{display:flex}.quality-left-toggle{display:inline-flex}}@media (max-width:767px){.quality-page{grid-template-columns:minmax(0,1fr);gap:0}.quality-page-left{position:static}.quality-left-toggle{display:none}.quality-back-btn{display:inline-flex}.quality-page[data-mobile-view=detail] .quality-page-left,.quality-page[data-mobile-view=list] .quality-page-right{display:none}}button.quality-itp-phase-head{cursor:pointer;text-align:left;border:none;justify-content:flex-start;width:100%}.quality-itp-phase-caret{color:var(--muted);flex:none;width:12px;font-size:.8rem}.quality-itp-phase-name{color:var(--ink)}.quality-itp-phase-done{color:var(--success);margin-left:auto;font-size:.78rem;font-weight:700}.quality-itp-phase-count{color:var(--muted);margin-left:auto;font-size:.78rem}.quality-itp-phase-head .quality-itp-lock{margin-left:auto}.quality-itp-phase.is-collapsed .quality-itp-items{display:none}.quality-itp-item.is-flash{animation:1.6s qualityItpFlash}@keyframes qualityItpFlash{0%,to{box-shadow:none}25%{box-shadow:0 0 0 2px var(--warning)}}@media (max-width:767px){.quality-itp-btn{min-height:48px}.quality-itp-photo,.quality-itp-icon-btn{min-width:44px;min-height:44px}.quality-itp-actions{gap:8px}}.quality-ncr-modal{border-radius:0 0 0 16px;width:min(460px,100vw);height:auto;max-height:100vh;animation:.22s qualityNcrDrawerIn;inset:0 0 auto auto;transform:none}@keyframes qualityNcrDrawerIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes qualityNcrSheetIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (max-width:767px){.quality-ncr-modal{border-radius:18px 18px 0 0;width:100%;max-height:88vh;animation:.24s qualityNcrSheetIn;inset:auto 0 0}}.quality-ncr-photo{flex-direction:column;gap:6px;display:flex}.quality-ncr-photo>span{color:var(--muted);font-size:.74rem;font-weight:700}.quality-ncr-photo-picked{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;display:flex}.quality-ncr-photo-picked span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quality-ncr-photo-picked button{color:var(--danger);cursor:pointer;font:inherit;background:0 0;border:none;flex:none}.quality-overview-page{flex-direction:column;gap:16px;display:flex}.quality-overview-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.quality-overview-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.quality-overview-card{text-align:left;cursor:pointer;border:1px solid var(--line);flex-direction:column;gap:10px;padding:16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.quality-overview-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 6px 18px -10px #0006}.quality-overview-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.quality-overview-card-head strong{color:var(--ink);font-size:.92rem}.quality-overview-score{flex:none;font-size:.92rem;font-weight:800}.quality-overview-score.is-good{color:var(--success)}.quality-overview-score.is-warn{color:var(--warning)}.quality-overview-score.is-bad{color:var(--danger)}.quality-overview-card-stats{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.76rem;display:flex}.quality-overview-card-stats .is-bad{color:var(--danger);font-weight:700}.quality-overview-card-cta{color:var(--primary);font-size:.74rem;font-weight:700}.quality-overview-intro{color:var(--muted);margin:0;font-size:.82rem}.quality-overview-score,.quality-overview-card-stats,.quality-overview-metrics{font-variant-numeric:tabular-nums}.quality-overview-scorebar{background:var(--neutral-soft);border-radius:999px;height:5px;overflow:hidden}.quality-overview-scorebar>span{border-radius:999px;height:100%;display:block}.quality-overview-scorebar>span.is-good{background:var(--success)}.quality-overview-scorebar>span.is-warn{background:var(--warning)}.quality-overview-scorebar>span.is-bad{background:var(--danger)}.quality-overview-card[data-risk=high]{border-left:3px solid var(--danger)}.quality-overview-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.quality-section-detail{flex-direction:column;gap:12px;display:flex}.quality-section-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.quality-section-title{color:var(--ink);font-size:.95rem}.quality-section-loading{color:var(--muted);padding:24px 4px;font-size:.85rem}.quality-section{flex-direction:column;gap:16px;display:flex}.quality-section-picker{max-width:440px}.quality-section-picker label{flex-direction:column;gap:5px;display:flex}.quality-section-picker label>span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:800}.quality-wi{flex-direction:column;gap:10px;display:flex}.quality-wi-filters{width:100%}.quality-wi-list{flex-direction:column;gap:4px;max-height:calc(100vh - 220px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.quality-wi-empty{color:var(--muted);padding:10px 6px;font-size:.78rem}.quality-wi-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;padding:9px 10px;transition:background .15s,border-color .15s;display:flex}.quality-wi-item:hover{background:var(--neutral-soft)}.quality-wi-item.is-active{background:var(--surface);border-color:var(--line)}.quality-wi-icon{flex:none;font-size:1rem;line-height:1}.quality-wi-main{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.quality-wi-name{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.82rem;font-weight:650;overflow:hidden}.quality-wi-progress{align-items:center;gap:6px;display:flex}.quality-wi-progress small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.64rem}.quality-wi-checks{color:var(--muted);font-variant-numeric:tabular-nums;background:var(--neutral-soft);white-space:nowrap;border-radius:999px;flex:none;padding:2px 6px;font-size:.64rem;font-weight:700}.quality-wi-checks.is-done{color:var(--success)}.quality-wi-dot{background:var(--muted);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:12px;height:12px;display:inline-flex}.quality-wi-dot em{color:#fff;padding:0 4px;font-size:.6rem;font-style:normal;font-weight:850}.quality-wi-dot.tone-success{background:var(--success)}.quality-wi-dot.tone-warning{background:var(--warning)}.quality-wi-dot.tone-danger{background:var(--danger);min-width:16px;height:16px;padding:0 2px}.quality-wi-dot.tone-info{background:var(--primary)}.quality-wi-dot.tone-neutral{background:var(--line)}.quality-wi-tree,.quality-wi-sublist{margin:0;padding:0;list-style:none}.quality-wi-node{display:block}.quality-wi-row{align-items:center;gap:2px;display:flex}.quality-wi-row .quality-wi-item{flex:auto;width:auto;min-width:0}.quality-wi-twisty{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.2,.78,.2,1),background .15s,color .15s;display:inline-flex}.quality-wi-twisty:hover{background:var(--neutral-soft);color:var(--ink)}.quality-wi-twisty.is-open{transform:rotate(90deg)}.quality-wi-twisty.is-leaf{cursor:default;pointer-events:none}.quality-wi-children{grid-template-rows:1fr;transition:grid-template-rows .26s cubic-bezier(.2,.78,.2,1);display:grid}.quality-wi-children.collapsed{grid-template-rows:0fr}.quality-wi-children>.quality-wi-sublist{min-height:0;overflow:hidden}.quality-wi-sublist{border-left:1px solid var(--line);flex-direction:column;gap:4px;margin-left:18px;padding-top:4px;padding-left:8px;display:flex}.quality-wi-node.tier-0>.quality-wi-row .quality-wi-name{font-weight:750}.quality-wi-node.tier-2>.quality-wi-row .quality-wi-name{color:var(--muted);font-weight:550}@media (prefers-reduced-motion:reduce){.quality-wi-children,.quality-wi-twisty{transition:none}}.quality-detail{flex-direction:column;gap:14px;min-height:320px;display:flex}.quality-detail.is-empty{padding:8px}.quality-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.quality-add-template-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:4px 11px;font-size:.72rem;font-weight:700;transition:border-color .14s,color .14s,background .14s}.quality-add-template-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.quality-detail-title{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.quality-detail-title h3{color:var(--ink);margin:0;font-size:1.02rem;font-weight:800}.quality-detail-score{flex-direction:column;flex:none;align-items:flex-end;display:flex}.quality-detail-score strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:850}.quality-detail-score span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.64rem}.quality-detail-body{margin-top:2px}.quality-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.quality-stat{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.quality-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:850}.quality-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.quality-stat.tone-success strong{color:var(--success)}.quality-stat.tone-danger strong{color:var(--danger)}.quality-stat.tone-warning strong{color:var(--warning)}.quality-itp{flex-direction:column;gap:14px;display:flex}.quality-itp-empty,.quality-ncr-empty,.quality-method-empty,.quality-evidence-empty,.quality-template-empty{color:var(--muted);padding:8px 2px;font-size:.82rem}.quality-itp-phase{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.quality-itp-phase.is-locked{opacity:.62}.quality-itp-phase-head{background:var(--neutral-soft);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;font-size:.74rem;font-weight:800;display:flex}.quality-itp-lock{color:var(--warning);text-transform:none;letter-spacing:0;font-size:.66rem;font-weight:700}.quality-itp-items{margin:0;padding:0;list-style:none}.quality-itp-item{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.quality-itp-item:first-child{border-top:none}.quality-itp-check{border:1.5px solid var(--line);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:.72rem;font-weight:900;display:inline-flex}.quality-itp-check.is-pass{background:var(--success);border-color:var(--success)}.quality-itp-check.is-fail{background:var(--danger);border-color:var(--danger)}.quality-itp-body{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.quality-itp-name{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.quality-itp-name strong{color:var(--ink);font-size:.85rem;font-weight:700}.quality-itp-type{color:#fff;background:var(--muted);border-radius:6px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.62rem;font-weight:850;display:inline-flex}.quality-itp-type.type-hold_point{background:var(--danger)}.quality-itp-type.type-witness_point{background:var(--warning)}.quality-itp-type.type-review_point{background:var(--primary)}.quality-itp-role{min-height:0!important;padding:1px 7px!important;font-size:.6rem!important}.quality-itp-desc{color:var(--muted);margin:0;font-size:.76rem;line-height:1.35}.quality-itp-ref{color:var(--primary);font-size:.68rem;font-weight:600}.quality-itp-hold-warning{color:var(--warning);margin:2px 0 0;font-size:.72rem;font-weight:750}.quality-itp-notes{color:var(--muted);font-size:.68rem}.quality-itp-actions{flex:none;align-items:center;gap:6px;display:flex}.quality-itp-criteria{color:var(--muted);font-size:.72rem;display:block}.quality-itp-measured{align-items:center;gap:5px;margin-top:4px;display:inline-flex}.quality-itp-measured>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.quality-itp-measured input{border:1px solid var(--line);background:var(--control-bg);width:84px;min-height:28px;color:var(--text);border-radius:7px;padding:0 8px;font-size:.78rem}.quality-itp-measured input.quality-itp-measured-unit{width:56px}.quality-itp-measured-readonly{color:var(--muted);font-size:.72rem;display:block}.quality-itp-custom{border:1px solid var(--line);background:var(--neutral-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:1px 7px;font-size:.6rem;font-weight:800}.quality-itp-icon-btn{border:1px solid var(--line);background:var(--control-bg);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.quality-itp-icon-btn:hover{color:var(--ink);border-color:var(--ink)}.quality-itp-icon-btn.is-danger:hover{color:var(--danger);border-color:var(--danger)}.quality-itp-add{margin-top:10px}.quality-itp-add-btn{border:1px dashed var(--line);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:9px 12px;font-size:.8rem;font-weight:700}.quality-itp-add-btn:hover{color:var(--ink);border-color:var(--ink)}.quality-itp-item.is-editing{padding:0;display:block}.quality-itp-form{border:1px solid var(--line);background:var(--neutral-soft);border-radius:12px;padding:12px}.quality-itp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.quality-itp-form-wide{grid-column:1/-1}.quality-itp-form-grid label{flex-direction:column;gap:3px;display:flex}.quality-itp-form-grid label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.quality-itp-form-grid input,.quality-itp-form-grid textarea,.quality-itp-form-grid .ui-select{border:1px solid var(--line);background-color:var(--control-bg);min-height:32px;color:var(--text);border-radius:8px;width:100%;padding:5px 9px;font-size:.82rem}.quality-itp-form-grid textarea{resize:vertical;min-height:48px}.quality-itp-form-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.quality-itp-form-actions button{border:1px solid var(--line);background:var(--control-bg);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.8rem;font-weight:700}.quality-itp-form-actions button.is-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.quality-itp-form-actions button:disabled{opacity:.5;cursor:not-allowed}.quality-ncr-actions{flex-wrap:wrap;gap:8px}.quality-itp-signoffs{flex-direction:column;gap:5px;margin-top:6px;display:flex}.quality-itp-signoff-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.quality-itp-signoff{border:1px solid var(--line);background:var(--neutral-soft);border-left-width:3px;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;padding:3px 8px;font-size:.74rem;display:flex}.quality-itp-signoff.decision-approved{border-left-color:var(--success)}.quality-itp-signoff.decision-witnessed{border-left-color:var(--info,#8aa0c6)}.quality-itp-signoff.decision-rejected{border-left-color:var(--danger)}.quality-itp-signoff-role{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6rem;font-weight:800}.quality-itp-signoff-decision{color:var(--muted);text-transform:capitalize}.quality-itp-signoff small{color:var(--muted)}.quality-itp-signoff button{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:.95rem;line-height:1}.quality-itp-signoff button:hover{color:var(--danger)}.quality-itp-signoff-add{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.7rem;font-weight:700}.quality-itp-signoff-add:hover{color:var(--ink);border-color:var(--ink)}.quality-itp-signoff-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quality-itp-signoff-form input,.quality-itp-signoff-form .ui-select{border:1px solid var(--line);background-color:var(--control-bg);min-height:30px;color:var(--text);border-radius:7px;width:auto;min-width:92px;padding:3px 8px;font-size:.78rem}.quality-itp-signoff-form button{border:1px solid var(--line);background:var(--control-bg);color:var(--ink);cursor:pointer;border-radius:7px;padding:4px 12px;font-size:.76rem;font-weight:700}.quality-itp-signoff-form button.is-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.quality-itp-signoff-form button:disabled{opacity:.5;cursor:not-allowed}.quality-itp-drawings{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.quality-itp-drawing-chips{flex-wrap:wrap;gap:5px;display:flex}.quality-itp-drawing-chip{border:1px solid var(--line);background:var(--neutral-soft);color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.72rem;display:inline-flex}.quality-itp-drawing-chip svg{color:var(--muted);flex:none}.quality-itp-drawing-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:.9rem;line-height:1}.quality-itp-drawing-chip button:hover{color:var(--danger)}.quality-itp-drawing-add{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:.7rem;font-weight:700}.quality-itp-drawing-add:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.quality-itp-drawing-add:disabled{opacity:.5;cursor:not-allowed}.quality-itp-drawing-pick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quality-itp-drawing-pick .ui-select{width:auto;min-width:160px;min-height:30px;padding:3px 8px;font-size:.78rem}.quality-itp-drawing-pick button{border:1px solid var(--line);background:var(--control-bg);color:var(--ink);cursor:pointer;border-radius:7px;padding:4px 12px;font-size:.76rem;font-weight:700}.quality-itp-drawing-pick button.is-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.quality-itp-drawing-pick button:disabled{opacity:.5;cursor:not-allowed}.quality-itp-btn{border:1px solid var(--line);background:var(--control-bg);cursor:pointer;color:var(--ink);border-radius:9px;padding:5px 12px;font-size:.74rem;font-weight:750}.quality-itp-btn.pass.is-active{background:var(--success);border-color:var(--success);color:#fff}.quality-itp-btn.fail.is-active{background:var(--danger);border-color:var(--danger);color:#fff}.quality-itp-btn:disabled{opacity:.5;cursor:default}.quality-itp-photo{border:1px solid var(--line);background:var(--control-bg);cursor:pointer;border-radius:9px;padding:5px 8px;font-size:.86rem;position:relative}.quality-itp-photo em{color:var(--muted);margin-left:2px;font-size:.6rem;font-style:normal;font-weight:850}.quality-ncr-panel,.quality-method,.quality-evidence{flex-direction:column;gap:12px;display:flex}.quality-ncr-head,.quality-method-head,.quality-evidence-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.quality-ncr-head strong,.quality-evidence-head strong{color:var(--ink);font-size:.9rem;font-weight:800}.quality-ncr-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quality-ncr-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.quality-ncr-row-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.quality-ncr-number{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:.74rem;font-weight:850}.quality-ncr-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:auto;font-size:.82rem;font-weight:650;overflow:hidden}.quality-ncr-detail{color:var(--muted);flex-direction:column;gap:6px;padding:0 12px 12px;font-size:.8rem;display:flex}.quality-ncr-corrective{margin:0}.quality-ncr-corrective strong{color:var(--ink)}.quality-method-head p{color:var(--muted);margin:2px 0 0;font-size:.74rem}.quality-method-input,.quality-ncr-form textarea,.quality-ncr-form input,.quality-ncr-form select,.quality-method-ref-add input{border:1px solid var(--line);background-color:var(--control-bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:9px 11px;font-size:.82rem}.quality-method-text{color:var(--ink);white-space:pre-wrap;margin:0;font-size:.84rem;line-height:1.5}.quality-method-refs{flex-direction:column;gap:6px;display:flex}.quality-method-refs-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:800}.quality-method-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quality-ref-chip{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.quality-ref-chip button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.quality-method-ref-add{gap:6px;display:flex}.quality-evidence-upload{align-items:center;gap:6px;display:flex}.quality-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.quality-evidence-cell{position:relative}.quality-evidence-cell .quality-evidence-thumb{width:100%}.quality-evidence-del{color:#fff;cursor:pointer;opacity:0;background:#08080a9e;border:none;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:1rem;line-height:1;transition:opacity .12s;display:inline-flex;position:absolute;top:4px;right:4px}.quality-evidence-cell:hover .quality-evidence-del,.quality-evidence-del:focus-visible{opacity:1}.quality-evidence-del:hover{background:var(--danger)}.quality-method-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 16px;margin-top:12px;display:grid}.quality-method-section{flex-direction:column;gap:6px;display:flex}.quality-evidence-thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--neutral-soft);cursor:pointer;border-radius:10px;padding:0;position:relative;overflow:hidden}.quality-evidence-thumb img{object-fit:cover;width:100%;height:100%;display:block}.quality-evidence-fallback{justify-content:center;align-items:center;width:100%;height:100%;font-size:1.6rem;display:flex}.quality-evidence-caption{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0000008c;padding:3px 6px;font-size:.6rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.quality-evidence.is-compact .quality-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.quality-lightbox{z-index:12000;cursor:zoom-out;background:#000000d1;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.quality-lightbox img{border-radius:8px;max-width:100%;max-height:100%}.quality-template-modal,.quality-ncr-modal{z-index:12001;width:min(640px,100vw - 32px);max-height:calc(100vh - 48px);padding:20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.quality-template-modal{flex-direction:column;display:flex;overflow:hidden}.quality-template-filter{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:8px;height:38px;margin:12px 0 2px;padding:0 10px;display:flex}.quality-template-filter svg{width:15px;height:15px;color:var(--muted);flex-shrink:0}.quality-template-filter input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:.82rem}.quality-template-filter button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.15rem;line-height:1}.quality-template-colhead{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);opacity:.72;grid-template-columns:minmax(0,1fr) auto 15px;align-items:center;gap:12px;padding:4px 8px;font-size:.58rem;font-weight:800;display:grid}.quality-template-body{flex-direction:column;flex:1;min-height:0;margin:8px 0;padding-right:2px;display:flex;overflow-y:auto}.quality-template-group{margin-bottom:4px}.quality-template-group-head{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:7px;padding:8px 2px 6px;font-size:.72rem;font-weight:800;display:flex;position:sticky;top:0}.qt-group-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.quality-template-cards{flex-direction:column;display:flex}.quality-template-card{border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto 15px;align-items:center;gap:12px;width:100%;min-height:46px;padding:9px 8px;transition:background .12s;display:grid}.quality-template-card:last-child{border-bottom:none}.quality-template-card:hover{background:var(--accent-soft)}.quality-template-card:focus-visible{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);border-radius:8px;outline:none}.quality-template-card:disabled{cursor:default;opacity:.6}.qt-main{flex-direction:column;gap:1px;min-width:0;display:flex}.quality-template-card strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:700;overflow:hidden}.quality-template-card .qt-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.3;overflow:hidden}.quality-template-card .qt-count{color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:650}.quality-template-card .qt-go{width:15px;height:15px;color:var(--muted);transition:transform .12s,color .12s}.quality-template-card:hover .qt-go{color:var(--accent);transform:translate(2px)}@media (max-width:520px){.quality-template-card .qt-desc{display:none}}.quality-ncr-form{flex-direction:column;gap:10px;margin:14px 0;display:flex}.quality-ncr-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.74rem;font-weight:700;display:flex}.quality-ncr-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:760px){.quality-page{grid-template-columns:minmax(0,1fr)}.quality-page-left{position:static}.quality-wi-list{max-height:240px}.quality-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.work-schedule-board .work-schedule-fixed-row,.work-schedule-board .work-schedule-gantt-row{content-visibility:auto;contain-intrinsic-size:auto var(--schedule-task-row-height)}.work-schedule-board .work-schedule-fixed-row.child,.work-schedule-board .work-schedule-gantt-row.child{contain-intrinsic-size:auto var(--schedule-child-row-height)}.work-breakdown-table.boq-mode .work-breakdown-row,.work-breakdown-table.progress-cost-mode .work-breakdown-row{content-visibility:auto;contain-intrinsic-size:auto 46px}.material-detail-panel{gap:8px;padding:13px 16px}.material-detail-panel .form-grid{row-gap:7px}.material-detail-panel .material-stock-check>div{min-height:46px;padding:7px 10px}.material-detail-panel .material-name-hint{margin-top:2px;font-size:.74rem;line-height:1.3}.material-detail-panel .form-grid textarea{min-height:52px}.material-detail-decision-bar .material-detail-delete-btn{color:#ef4444!important;box-shadow:none!important;background:0 0!important;border:1px solid #ef44448c!important}.material-detail-decision-bar .material-detail-delete-btn:hover:not(:disabled){background:#ef44441f!important;border-color:#ef4444!important}.material-detail-decision-bar .material-detail-delete-btn:disabled{opacity:.45}.material-detail-panel.detail-flyout .detail-flyout-close-row{z-index:3;width:auto;min-height:0;margin:0;padding:0;position:absolute;top:11px;left:auto;right:13px}.material-detail-panel.detail-flyout .detail-flyout-close-row>div{display:none}.material-detail-panel.detail-flyout .section-head.compact{align-items:flex-start;padding-right:44px}.material-delete-modal,.material-custom-unit-modal{background:var(--surface);border:1px solid var(--line);border-radius:22px}.material-request-quantity{color:var(--text);font-family:inherit}.app-shell[data-theme] .material-request-quantity{color:var(--text)}.material-view-toggle{border:1px solid var(--line);background:var(--control-bg);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.material-view-toggle button{width:34px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0;transition:background .14s,color .14s;display:grid}.material-view-toggle button:hover{color:var(--text)}.material-view-toggle button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #14141729}.material-request-rows{gap:7px;display:grid}.mr-list-head,.material-request-row{grid-template-columns:minmax(0,1fr) 92px 112px 144px 76px;align-items:center;column-gap:14px;display:grid}.mr-list-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 15px 5px;font-size:.66rem;font-weight:700}.mr-list-head .mr-head-qty{text-align:right}.material-request-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;padding:10px 14px;transition:border-color .14s,box-shadow .14s;position:relative}.material-request-row:hover{border-color:var(--muted)}.material-request-row.selected,.material-request-row.bulk-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.material-request-row .mr-row-main{gap:1px;min-width:0;display:grid}.material-request-row .mr-row-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.material-request-row .mr-row-project{color:var(--muted);font-size:.76rem}.material-request-row .mr-row-qty{text-align:right;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:end;font-weight:700}.material-request-row .mr-row-badges{display:contents}.material-request-row .mr-row-badges>*{justify-self:start}.material-request-row .row-selection-check{position:absolute;top:50%;left:13px;transform:translateY(-50%)}.material-request-rows.is-selecting .mr-list-head,.material-request-rows.is-selecting .material-request-row{padding-left:42px}@media (max-width:640px){.mr-list-head{display:none}.material-request-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px}.material-request-row .mr-row-main{grid-column:1}.material-request-row .mr-row-qty{grid-column:2}.material-request-row .mr-row-badges{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}}.material-comment-composer>div{justify-content:flex-end;gap:12px}.material-detail-badges .material-priority-badge,.material-detail-badges .status-pill{box-sizing:border-box;height:34px;min-height:34px}.material-detail-panel.detail-flyout .detail-flyout-close{width:34px;height:34px;min-height:34px}.suppliers-page .vgroups-sidebar{top:0}.current-phase-summary{gap:14px}.current-phase-warning{background:var(--warning-soft);max-width:58%;color:var(--warning);text-align:left;border-radius:12px;flex:none;align-items:flex-start;gap:6px;padding:6px 11px;font-size:.72rem;font-weight:700;line-height:1.3;display:inline-flex}.material-request-filters-head{display:flex}@media (min-width:769px){.material-request-filters-head{justify-content:flex-end;gap:12px;padding-bottom:14px}.material-request-filters-toggle{display:none}}.quality-wi-item{gap:12px;padding:10px 12px;position:relative}.quality-wi-item .quality-wi-name{font-size:.84rem}.quality-wi-item.is-active{background:var(--surface);border-color:var(--line);box-shadow:inset 2px 0 0 var(--accent)}.quality-wi-item[data-tone=warning]:not(.is-active){box-shadow:inset 2px 0 0 var(--warning)}.quality-wi-item[data-tone=danger]:not(.is-active){box-shadow:inset 2px 0 0 var(--danger)}.quality-template-trade-tag{background:var(--neutral-soft);border:1px solid var(--line);min-width:22px;height:18px;color:var(--muted);letter-spacing:.04em;border-radius:6px;place-items:center;padding:0 5px;font-size:.6rem;font-weight:800;display:inline-grid}.vgroups-nav-group{flex-direction:column;display:flex}.vgroups-nav-item{align-items:center;gap:8px;width:100%;display:flex}.vgroups-nav-caret{width:14px;color:var(--muted);text-align:center;flex:none;font-size:10px}.vgroups-nav-caret.is-empty{visibility:hidden}.vgroups-nav-count{color:var(--muted);background:var(--surface-soft);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.vgroups-nav-item.active .vgroups-nav-count,.vgroups-nav-item.is-open .vgroups-nav-count{color:var(--ink)}.vgroups-nav-children{border-left:1px solid var(--border-soft,#0000001a);flex-direction:column;gap:2px;margin:2px 0 4px 22px;padding-left:8px;display:flex}.vgroups-nav-child{cursor:pointer;width:100%;color:var(--muted);font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.vgroups-nav-child:hover{background:var(--surface-soft);color:var(--ink)}.vgroups-nav-child.active{background:var(--surface-soft);color:var(--ink);font-weight:600}.vgroups-nav-child-dot{opacity:.5;background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.vgroups-nav-child-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vgroups-subchips{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px;display:flex}.vgroups-subchip,.vgroups-subchip-add{border:1px solid var(--border,#0000001f);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.vgroups-subchip span{color:var(--muted);font-size:11px;font-weight:700}.vgroups-subchip.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.vgroups-subchip.active span{color:var(--surface);opacity:.8}.vgroups-subchip-wrap{align-items:center;display:inline-flex}.vgroups-subchip-mini{border:1px solid var(--border,#0000001f);background:var(--surface);color:var(--muted);cursor:pointer;border-left:none;padding:5px 7px;font-size:11px;line-height:1}.vgroups-subchip-mini:last-child{border-radius:0 999px 999px 0}.vgroups-subchip-mini:hover{color:var(--danger,#c0392b)}.vgroups-subchip-add{color:var(--muted);border-style:dashed}.vgroups-subchip-add:hover{color:var(--ink);border-color:var(--ink)}.vgroups-subchip-wrap .vgroups-subchip{border-radius:999px}.vgroups-subchip-mini{opacity:0;border-color:#0000;max-width:0;padding-left:0;padding-right:0;transition:opacity .12s,max-width .12s,padding .12s,border-color .12s;overflow:hidden}.vgroups-subchip-wrap:hover .vgroups-subchip,.vgroups-subchip-wrap:focus-within .vgroups-subchip{border-radius:999px 0 0 999px}.vgroups-subchip-wrap:hover .vgroups-subchip-mini,.vgroups-subchip-wrap:focus-within .vgroups-subchip-mini{opacity:1;border-color:var(--border,#0000001f);max-width:34px;padding-left:7px;padding-right:7px}.vgroups-stat.is-action{font:inherit;text-align:left;cursor:pointer;width:100%;transition:border-color .15s,background .15s,transform 50ms}.vgroups-stat.is-action:hover{border-color:color-mix(in srgb, var(--warning) 55%, transparent);background:var(--warning-soft)}.vgroups-stat.is-action:active{transform:translateY(1px)}.vgroups-stat.is-action small{font-weight:700}.vgroups-subchip-form{align-items:center;gap:4px;display:inline-flex}.vgroups-subchip-form input{border:1px solid var(--border,#0000001f);font:inherit;background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:13px}.vgroups-subchip-form button{background:var(--ink);color:var(--surface);cursor:pointer;font:inherit;border:none;border-radius:999px;padding:5px 10px;font-size:12px}.vgroups-subchip-form button:last-child{background:var(--surface-soft);color:var(--muted)}.vgroups-breadcrumb{align-items:center;gap:8px;display:inline-flex}.vgroups-breadcrumb button{color:var(--muted);cursor:pointer;font:inherit;font-size:inherit;background:0 0;border:none;padding:0}.vgroups-breadcrumb button:hover{color:var(--ink);text-decoration:underline}.vgroups-breadcrumb-sep{color:var(--muted)}@media (min-width:900px){.enflow-sheet-root{align-items:center;padding:24px}.enflow-sheet{border-radius:20px;max-height:92dvh;box-shadow:0 30px 80px #08080a73;height:auto!important}.enflow-sheet-handle{display:none}.enflow-sheet-body{padding-bottom:0}}.enflow-sheet .daily-log-drawer{width:100%;min-width:0;max-width:100%;height:auto;min-height:100%;max-height:none;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;gap:14px;animation:none;display:flex;position:static;inset:auto;overflow:visible}.enflow-sheet .daily-log-drawer>*{min-width:0;max-width:100%}.enflow-sheet .daily-log-drawer-actions{background:0 0;margin-top:auto;padding-top:12px;position:static;bottom:auto}.task-assignee-picker input[type=checkbox]{width:auto;min-width:0;height:auto;accent-color:var(--ink);border-radius:4px;flex:none;margin:0;padding:0}.task-assignee-picker{gap:8px}.task-assignee-picker label{cursor:pointer;white-space:nowrap;padding:8px 13px;font-size:.86rem;font-weight:600;transition:border-color .15s,background .15s}.task-assignee-picker label:hover{border-color:var(--muted)}.task-assignee-picker label:has(input:checked){border-color:var(--ink);background:var(--neutral-soft);font-weight:700}.task-create-modal .task-form-grid input:focus,.task-create-modal .task-form-grid textarea:focus,.task-create-modal .task-form-grid select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--neutral-soft);outline:none}.critical-time-grid{pointer-events:none}.critical-time-line{stroke:var(--cp-line,#1412101f);stroke-width:1px;opacity:.55;vector-effect:non-scaling-stroke}.critical-time-month{fill:var(--cp-ink,#14120f);font-size:11px;font-weight:850}.critical-time-week{fill:var(--cp-muted,#6f6b64);font-variant-numeric:tabular-nums;font-size:9.5px;font-weight:700}.critical-time-today{stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.85;vector-effect:non-scaling-stroke}.critical-time-today-label{fill:var(--danger);text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;font-weight:850}.critical-node-float{fill:var(--cp-near,#b8860b);opacity:.22;pointer-events:none}.critical-node.node-critical .critical-node-float{fill:var(--cp-critical,#c0392b);opacity:.16}.critical-path-map.highlight-critical .critical-node:not(.node-critical){opacity:.3;transition:opacity .2s}.critical-path-map.highlight-critical .critical-edge:not(.critical){opacity:.26}.critical-path-highlight-toggle svg{fill:currentColor;stroke:none;width:15px;height:15px}.critical-path-highlight-toggle.is-active{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 32%, transparent)}.critical-node-meta-late{opacity:.72}.pcc-cb-left{gap:12px}.pcc-cb-status{align-items:center;gap:12px;min-width:0;display:inline-flex}.pcc-cb-status:before{content:"";background:var(--line);flex:none;width:1px;height:24px}@media (max-width:768px){.pcc-cb-status:before{display:none}}.duration-calc-popover-portal{z-index:4000;pointer-events:none;position:fixed;inset:0}.duration-calc-popover{pointer-events:auto;overscroll-behavior:contain;box-sizing:border-box;background:var(--panel,#fff);border:1px solid var(--line,#1414171f);width:min(372px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink,#14120f);border-radius:16px;flex-direction:column;gap:12px;padding:14px 16px 12px;font-size:13px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 26px 64px #080c1647}.dc-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dc-header-main{flex-direction:column;gap:2px;min-width:0;display:flex}.dc-title{align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.dc-title-icon{color:var(--muted,#6f6b64)}.dc-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.dc-item-meta{color:var(--muted,#6f6b64);font-size:11.5px}.dc-ahsp-tag{color:var(--success,#46664f);font-weight:600}.dc-close{color:var(--muted,#6f6b64);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;font-size:13px;line-height:1}.dc-close:hover{background:var(--surface,#1414170d);color:var(--ink,#14120f)}.dc-heuristic-note{color:var(--muted,#6f6b64);background:var(--surface,#1414170a);border:1px solid var(--line,#1414171f);border-radius:10px;flex-direction:column;gap:8px;padding:8px 10px;font-size:11.5px;display:flex}.dc-oh-field{color:var(--ink,#14120f);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.dc-oh-input-wrap{align-items:center;gap:6px;display:inline-flex}.dc-oh-input{text-align:right;border:1px solid var(--line,#1414171f);background:var(--panel,#fff);width:64px;color:var(--ink,#14120f);border-radius:8px;padding:4px 6px;font-size:12px}.dc-oh-unit{color:var(--muted,#6f6b64);font-weight:500}.dc-mode-switch{background:var(--surface,#1414170d);border:1px solid var(--line,#1414171f);border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.dc-mode-tab{color:var(--muted,#6f6b64);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:600;transition:background .14s,color .14s}.dc-mode-tab:hover{color:var(--ink,#14120f)}.dc-mode-tab.is-active{background:var(--panel,#fff);color:var(--ink,#14120f);box-shadow:0 1px 3px #080c161f}.dc-body{flex-direction:column;gap:10px;display:flex}.dc-crew-list{flex-direction:column;gap:8px;display:flex}.dc-crew-row,.dc-prod-row,.dc-target-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.dc-crew-name{font-size:12.5px;font-weight:600}.dc-stepper{border:1px solid var(--line,#1414171f);background:var(--panel,#fff);border-radius:9px;align-items:center;display:inline-flex;overflow:hidden}.dc-stepper-btn{color:var(--ink,#14120f);cursor:pointer;background:0 0;border:none;width:26px;height:28px;font-size:15px;line-height:1}.dc-stepper-btn:hover:not(:disabled){background:var(--surface,#1414170f)}.dc-stepper-btn:disabled{opacity:.35;cursor:default}.dc-stepper-input{text-align:center;border:none;border-left:1px solid var(--line,#1414171f);border-right:1px solid var(--line,#1414171f);width:40px;color:var(--ink,#14120f);appearance:textfield;background:0 0;padding:4px 0;font-size:13px;font-weight:600}.dc-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dc-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dc-prod-slider{accent-color:var(--ink,#14120f);flex:1}.dc-prod-value{text-align:right;min-width:38px;font-size:12.5px;font-weight:600}.dc-target-unit{color:var(--muted,#6f6b64);font-size:12.5px}.dc-result{background:var(--surface,#1414170a);border:1px solid var(--line,#1414171f);border-radius:11px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.dc-result-headline{justify-content:space-between;align-items:baseline;display:flex}.dc-result-days{font-size:18px;font-weight:700}.dc-result-dates{color:var(--muted,#6f6b64);font-size:11.5px}.dc-breakdown{flex-direction:column;gap:4px;font-size:11.5px;display:flex}.dc-breakdown-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6f6b64);font-size:10.5px;font-weight:700}.dc-breakdown-line{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dc-breakdown-name{color:var(--ink,#14120f);font-weight:500}.dc-breakdown-formula{color:var(--muted,#6f6b64);font-variant-numeric:tabular-nums;text-align:right}.dc-breakdown-formula strong{color:var(--ink,#14120f)}.dc-bottleneck{color:var(--ink,#14120f);margin-top:2px;font-size:11.5px}.dc-bottleneck-empty{color:var(--muted,#6f6b64)}.dc-crew-ok{color:var(--success,#46664f)}.dc-crew-short{color:var(--accent,#c0573b)}.dc-warning{color:var(--accent,#c0573b);background:#c0573b1a;border:1px solid #c0573b47;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:11.5px;display:flex}.dc-warning-ok{color:var(--success,#46664f);background:#46664f1a;border-color:#46664f47}.dc-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.dc-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:600}.dc-btn-ghost{border-color:var(--line,#1414171f);color:var(--ink,#14120f);background:0 0}.dc-btn-ghost:hover{background:var(--surface,#1414170d)}.dc-btn-primary{background:var(--ink,#14120f);color:var(--bg,#fff)}.dc-btn-primary:hover:not(:disabled){opacity:.9}.dc-btn-primary:disabled{opacity:.4;cursor:default}:root[data-theme=dark] .duration-calc-popover,.app-shell[data-theme=dark] .duration-calc-popover{background:#161616;border-color:#ffffff1f;box-shadow:0 26px 64px #0000008c}:root[data-theme=dark] .dc-mode-tab.is-active,.app-shell[data-theme=dark] .dc-mode-tab.is-active{color:#14120f;background:#f5f5f5}.duration-calc-trigger{color:var(--muted,#6f6b64);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;align-items:center;margin-right:1px;padding:2px;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.work-schedule-fixed-row:hover .duration-calc-trigger,.duration-calc-trigger:focus-visible{opacity:1}.duration-calc-trigger:hover:not(:disabled){color:var(--ink,#14120f);background:var(--surface,#1414170f)}.duration-calc-trigger:disabled{opacity:0;pointer-events:none}.duration-calc-glyph{display:block}.duration-source-badge{letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:5px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.5}.duration-source-badge.is-ahsp{color:var(--success,#46664f);background:#46664f1f;border-color:#46664f40}.duration-source-badge.is-est{color:#2f6db0;background:#2f6db01f;border-color:#2f6db040}.duration-source-badge.is-auto{color:var(--muted,#6f6b64);background:var(--surface,#1414170f);border-color:var(--line,#1414171f)}:root[data-theme=dark] .duration-source-badge.is-est,.app-shell[data-theme=dark] .duration-source-badge.is-est{color:#7db4ec;background:#7db4ec24;border-color:#7db4ec4d}.work-schedule-board .duration-calc-trigger:not(:disabled){opacity:1;color:var(--ink,#14120f);background:#1414170f}:root[data-theme=dark] .work-schedule-board .duration-calc-trigger:not(:disabled),.app-shell[data-theme=dark] .work-schedule-board .duration-calc-trigger:not(:disabled){color:#f4f1ea;background:#ffffff1f}.work-schedule-board .duration-calc-trigger:not(:disabled):hover,.work-schedule-board .duration-calc-trigger:focus-visible:not(:disabled){background:#14141724}:root[data-theme=dark] .work-schedule-board .duration-calc-trigger:not(:disabled):hover,.app-shell[data-theme=dark] .work-schedule-board .duration-calc-trigger:not(:disabled):hover{background:#fff3}.work-schedule-board .compact-duration-cell{justify-content:center;align-items:center;gap:3px;display:flex}.work-schedule-board .compact-duration-cell .duration-calc-trigger{flex:none}.work-schedule-board .compact-duration-cell .schedule-display-cell{width:auto}.ov-head{margin-bottom:14px}.ov-head h4{margin:2px 0 0}.ov-metrics{grid-template-columns:1.3fr .85fr 1.25fr;gap:12px;margin-bottom:12px;display:grid}.ov-metrics-row2{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.ov-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;padding:14px 16px}.ov-progress-card{align-items:center;gap:14px;display:flex}.ov-ring{flex:none}.ov-progress-meta{min-width:0}.ov-progress-label{color:var(--ink);font-size:.82rem;font-weight:600}.ov-hint{color:var(--muted);margin-top:4px;font-size:.68rem}.ov-stat-card{flex-direction:column;justify-content:center;gap:6px;display:flex}.ov-stat-line{align-items:baseline;gap:6px;display:flex}.ov-stat-line strong{color:var(--ink);letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.ov-stat-line span{color:var(--muted);font-size:.8rem}.ov-attention{flex-direction:column;justify-content:center;display:flex}.ov-attention.is-risk{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.ov-attention.is-risk .ov-attention-head{color:var(--warning)}.ov-attention.is-risk .ov-attention-sub{color:var(--warning);opacity:.85}.ov-attention.is-ok{background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.ov-attention.is-ok .ov-attention-head{color:var(--success)}.ov-attention.is-ok .ov-attention-sub{color:var(--success);opacity:.85}.ov-attention-head{font-size:.95rem;font-weight:600}.ov-attention-sub{margin-top:4px;font-size:.74rem}.ov-value-label{color:var(--muted);font-size:.8rem}.ov-value-num{color:var(--ink);margin-top:2px;font-size:1.2rem;font-weight:600}.ov-value-num.is-empty{color:var(--muted);font-weight:500}.ov-value-num.is-flag{color:var(--warning)}@media (max-width:720px){.ov-metrics,.ov-metrics-row2{grid-template-columns:1fr}}.current-phase-progress{background:var(--success);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.current-phase-legend{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:7px;font-size:.64rem;font-weight:700;display:flex}.current-phase-statuses{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:.8rem;font-weight:650;line-height:1.3;display:flex}.current-phase-statuses .cp-stat{white-space:nowrap}.current-phase-statuses .cp-on{color:var(--success);font-weight:800}.current-phase-statuses .cp-late{color:var(--warning);font-weight:850}.lite-overview-table.lite-wbs-table,.lite-overview-table .lite-level-children{grid-template-columns:minmax(0,1.3fr) minmax(0,.74fr) minmax(0,.76fr) minmax(0,.56fr)}.lite-overview-table .lite-level-summary-row .lite-level-range{grid-column:span 2}.lite-level-count{color:var(--muted);margin-left:7px;font-size:.7rem;font-weight:500}.lite-level-range{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.lite-status-cell{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;display:flex}.lite-status-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:.64rem;font-weight:700;display:inline-flex}.lite-status-terlambat{background:var(--warning-soft);color:var(--warning)}.lite-status-aktif{background:var(--success-soft);color:var(--success)}.lite-status-selesai{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted)}.lite-status-belum_mulai{color:var(--muted);border:1px solid var(--line);background:0 0}.lite-status-warning{color:var(--warning);font-size:.6rem;font-weight:600;line-height:1.2}.lite-overview-table .lite-progress.is-risk:before{background-image:linear-gradient(90deg, var(--warning), var(--amber))}.lite-progress-pending{color:var(--muted);opacity:.55;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;font-weight:700;display:flex}.gantt-day-row span{position:relative}.gantt-day-row span .gantt-day-load{text-align:center;color:var(--ink);font-variant-numeric:tabular-nums;pointer-events:none;margin:0;font-size:.52rem;font-style:normal;font-weight:800;line-height:1;position:absolute;top:1px;left:0;right:0}.wp-settings-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:2px;display:flex}.wp-breadcrumb{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.wp-breadcrumb strong{color:var(--ink);font-size:15px;font-weight:700}.wp-crumb-sep,.wp-crumb-dot{color:var(--muted);opacity:.55}.wp-settings-toggle{border:1px solid var(--border,#0000001f);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.wp-settings-toggle:hover{border-color:var(--ink)}.wp-settings-fields{margin-top:10px}.wp-settings-fields label span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.schedule-help-hint{border:1px solid var(--border,#0000001f);background:var(--surface-soft);color:var(--muted);font:inherit;cursor:help;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:inline-flex}.schedule-help-hint:hover{color:var(--ink);border-color:var(--ink)}.schedule-fullscreen-button.is-icon,.schedule-help-hint.is-icon{justify-content:center;gap:0;min-width:30px;padding:5px 9px;font-size:14px}.schedule-action-controls{overflow:visible}.schedule-more{display:inline-flex;position:relative}.schedule-more-trigger{border:1px solid var(--border,#0000001f);background:var(--surface-soft);min-width:30px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:16px;line-height:1;display:inline-flex}.schedule-more-trigger:hover,.schedule-more-trigger[aria-expanded=true]{color:var(--ink);border-color:var(--ink)}.schedule-more-scrim{z-index:60;position:fixed;inset:0}.schedule-more-panel{z-index:61;border-radius:12px;flex-direction:column;gap:2px;min-width:168px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #08080a29}.schedule-more-panel button{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px}.work-plan-edit-header .wp-settings-bar{order:-1;grid-column:1/-1}.work-plan-edit-header .schedule-mode-strip{order:0}.work-plan-edit-header .advanced-baseline-note{order:1}.work-plan-list.is-editing{gap:6px;padding:6px}.work-plan-list.is-editing .work-plan-selector{gap:4px;min-width:0;padding:8px 12px}.work-plan-list.is-editing .work-plan-selector .progress-track,.work-plan-list.is-editing .work-plan-selector .work-plan-meta{display:none}.work-plan-list.is-editing .work-plan-selector .work-plan-head{gap:8px}.work-plan-list.is-editing .work-plan-selector h4{margin:2px 0 0;font-size:.92rem;line-height:1.2}.work-plan-list.is-editing .work-plan-selector .eyebrow{font-size:.62rem}.work-plan-list.is-editing .work-plan-add-card{min-height:0;padding:10px}.work-plan-list.is-editing .work-plan-add-card strong{width:24px;height:24px;font-size:1rem}.work-plan-list.is-editing .work-plan-add-card{flex:0 0 46px;min-width:46px;padding:8px}.work-plan-list.is-editing .work-plan-add-card span{display:none}.rload-panel{flex-direction:column;gap:14px;padding:4px 2px;display:flex}.rload-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rload-summary{color:var(--muted,#555);flex-wrap:wrap;align-items:center;gap:16px;font-size:.82rem;display:flex}.rload-summary strong{color:var(--ink,#1a1a1d);font-size:1rem}.rload-coverage{border:1px solid var(--line,#e2e0dd);border-radius:999px;padding:3px 8px}.rload-cap-btn{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);cursor:pointer;border-radius:10px;padding:6px 12px}.rload-cap-popover{border:1px solid var(--line,#e2e0dd);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;padding:12px;display:grid}.rload-cap-field{justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;display:flex}.rload-cap-field input{border:1px solid var(--line,#d2d0cd);border-radius:8px;width:64px;padding:5px 8px}.rload-row{border:1px solid var(--line,#e2e0dd);background:var(--surface,#fff);content-visibility:auto;contain-intrinsic-size:auto 120px;border-radius:14px;padding:10px 12px}.rload-row-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.rload-row-head span{color:var(--muted,#777);font-size:.72rem}.rload-row-scroll{overflow-x:auto}.rload-bar:hover{opacity:.78}.rload-empty{text-align:center;color:var(--muted,#777);border:1px dashed var(--line,#e2e0dd);border-radius:12px;padding:24px}.rload-drawer-backdrop{z-index:1400;background:#14141847;position:fixed;inset:0}.rload-drawer{background:var(--surface,#fff);z-index:1401;flex-direction:column;width:380px;max-width:92vw;height:100%;animation:.22s cubic-bezier(.32,.72,0,1) rload-slide-in;display:flex;position:fixed;top:0;right:0;box-shadow:-16px 0 40px #1414182e}@keyframes rload-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.rload-drawer-head{border-bottom:1px solid var(--line,#e2e0dd);justify-content:space-between;align-items:center;padding:16px;display:flex}.rload-drawer-head button{cursor:pointer;background:0 0;border:none;font-size:1.1rem}.rload-drawer-body{flex-direction:column;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.rload-drawer-res{border:1px solid var(--line,#e2e0dd);border-radius:10px;padding:10px}.rload-drawer-res-head{justify-content:space-between;margin-bottom:6px;font-size:.85rem;font-weight:600;display:flex}.rload-drawer-item{color:var(--muted,#555);justify-content:space-between;padding:3px 0;font-size:.78rem;display:flex}.rload-status-over .rload-drawer-res-head{color:#ef4444}.rload-status-optimal .rload-drawer-res-head{color:#16a34a}.rload-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rload-view-switch{border:1px solid var(--line,#d2d0cd);border-radius:10px;display:inline-flex;overflow:hidden}.rload-view-switch button{background:var(--surface,#fff);cursor:pointer;border:none;padding:6px 12px;font-size:.8rem}.rload-view-switch button.active{background:var(--ink,#1a1a1d);color:#fff}.rload-table-wrap{flex-direction:column;gap:10px;display:flex}.rload-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rload-table-filter{align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.rload-table-scroll{border:1px solid var(--line,#e2e0dd);border-radius:12px;max-height:60vh;overflow:auto}.rload-table{border-collapse:collapse;width:100%;font-size:.8rem}.rload-table th,.rload-table td{text-align:center;border-bottom:1px solid var(--line,#eee);white-space:nowrap;padding:7px 10px}.rload-table thead th{background:var(--surface,#fff);z-index:1;font-weight:600;position:sticky;top:0}.rload-table th:first-child,.rload-table td:first-child{text-align:left;background:var(--surface,#fff);position:sticky;left:0}.rload-table-date,.rload-cell{cursor:pointer;font-variant-numeric:tabular-nums}.rload-cell-over{color:#b91c1c;background:#ef444429;font-weight:700}.rload-cell-under{background:#f59e0b24}.rload-cell-uncapped{background:#94a3b824}.rload-table-empty{color:var(--muted,#777);padding:20px}.rload-float{color:#16a34a;font-size:.74rem;font-style:normal}.rload-float-critical{color:#b91c1c}.rload-shift-hint{color:#14532d;background:#22c55e1a;border:1px solid #22c55e47;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:.75rem;line-height:1.35}.rload-shift-locked{color:var(--muted,#555);background:#94a3b81f;border-color:#94a3b84d}.rload-drawer-item-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.rload-shift-btn{color:#166534;cursor:pointer;white-space:nowrap;background:#22c55e1a;border:1px solid #16a34a;border-radius:999px;margin-left:4px;padding:3px 9px;font-size:.7rem}.rload-shift-btn:hover{background:#22c55e33}.rload-shift-confirm{color:#fff;background:#16a34a;border-color:#15803d}.rload-cal-wrap{flex-direction:column;gap:12px;display:flex}.rload-cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rload-cal-toolbar select{border:1px solid var(--line,#d2d0cd);background-color:var(--surface,#fff);border-radius:8px;padding:6px 10px}.rload-cal-nav{align-items:center;gap:12px;display:inline-flex}.rload-cal-nav strong{text-align:center;min-width:130px}.rload-cal-nav button{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);cursor:pointer;border-radius:8px;width:28px;height:28px}.rload-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.rload-cal-dow{text-align:center;color:var(--muted,#777);padding:4px 0;font-size:.7rem;font-weight:600}.rload-cal-cell{border:1px solid var(--line,#eee);background:var(--surface,#fff);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:50px;display:flex}.rload-cal-cell:disabled{cursor:default}.rload-cal-val{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.rload-cal-over{color:#b91c1c;background:#ef44442e;border-color:#ef444466}.rload-cal-optimal{background:#22c55e29;border-color:#22c55e59}.rload-cal-under{background:#f59e0b29;border-color:#f59e0b59}.rload-cal-idle{background:var(--surface,#fff)}.rload-cal-uncapped{background:#94a3b829}.rload-cal-legend{flex-wrap:wrap;gap:8px;font-size:.7rem;display:flex}.rload-cal-legend span{border:1px solid var(--line,#e2e0dd);border-radius:999px;padding:2px 10px}.rload-est-toggle{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:inline-flex}.schedule-view-switch{border:1px solid var(--line,#d2d0cd);border-radius:10px;display:inline-flex;overflow:hidden}.schedule-view-switch button{border:none;border-left:1px solid var(--line,#e2e0dd);background:var(--surface,#fff);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:.8rem}.schedule-view-switch button:first-child{border-left:none}.schedule-view-switch button.active{background:var(--ink,#1a1a1d);color:#fff}.rload-chart{align-items:stretch;display:flex}.rload-chart .rload-yaxis{flex:none}.rload-chart .rload-row-scroll{flex:1;min-width:0;overflow-x:auto}.rload-axis-label{fill:var(--muted,#6f6b64);font-size:10px;font-weight:600}.rload-axis-unit{fill:var(--muted,#6f6b64);letter-spacing:.04em;text-transform:uppercase;opacity:.8;font-size:9px;font-weight:700}.rload-grid{stroke:var(--line,#1412101a);stroke-width:1px}.rload-baseline{stroke:var(--line-strong,#14121033);stroke-width:1px}.rload-avg{stroke:var(--muted,#6f6b64);stroke-dasharray:2 3;stroke-width:1px;opacity:.65}.rload-peak-label{fill:var(--ink,#14120f);font-size:10px;font-weight:800}.dc-volume-field{justify-content:space-between;align-items:center;gap:10px;display:flex}.dc-volume-inputs{align-items:center;gap:6px;display:inline-flex}.dc-volume-input{text-align:right;border:1px solid var(--line,#1414171f);background:var(--panel,#fff);width:84px;color:var(--ink,#14120f);appearance:textfield;border-radius:8px;padding:6px 8px;font-size:13px;font-weight:600}.dc-volume-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dc-volume-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dc-unit-input{border:1px solid var(--line,#1414171f);background:var(--panel,#fff);width:52px;color:var(--ink,#14120f);border-radius:8px;padding:6px 8px;font-size:12.5px}.dc-blocker{background:var(--warning-soft,#a86a121f);border:1px solid color-mix(in srgb, var(--warning,#a86a12) 34%, transparent);color:var(--ink,#14120f);border-radius:10px;flex-direction:column;gap:3px;padding:9px 11px;font-size:11.5px;line-height:1.5;display:flex}.dc-blocker strong{color:var(--warning,#a86a12);font-size:12.5px}.dc-prod-presets{gap:6px;display:flex}.dc-preset-btn{border:1px solid var(--line,#1414171f);background:var(--panel,#fff);color:var(--muted,#6f6b64);cursor:pointer;border-radius:8px;flex:1;padding:5px 6px;font-size:11.5px;font-weight:600;transition:background .14s,color .14s,border-color .14s}.dc-preset-btn:hover{color:var(--ink,#14120f)}.dc-preset-btn.is-active{background:var(--ink,#14120f);color:var(--bg,#fff);border-color:var(--ink,#14120f)}.dc-formula-caption{color:var(--muted,#6f6b64);margin-bottom:2px;font-size:11px;line-height:1.5}.dc-disabled-hint{color:var(--warning,#a86a12);max-width:170px;margin-right:auto;font-size:11px;line-height:1.4}:root[data-theme=dark] .dc-preset-btn.is-active,.app-shell[data-theme=dark] .dc-preset-btn.is-active{color:#14120f;background:#f5f5f5;border-color:#f5f5f5}.dc-standard-row{justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.dc-standard-select{border:1px solid var(--line,#1414171f);background:var(--panel,#fff);max-width:62%;color:var(--ink,#14120f);border-radius:8px;flex:1;padding:6px 8px;font-size:12.5px;font-weight:600}.dc-coef-wrap{align-items:center;gap:4px;display:inline-flex}.dc-coef-input{text-align:right;border:1px solid var(--line,#1414171f);background:var(--panel,#fff);width:58px;color:var(--ink,#14120f);border-radius:7px;padding:3px 6px;font-size:12px}.dc-coef-unit{color:var(--muted,#6f6b64);white-space:nowrap;font-size:10px}.dc-crew-row{flex-wrap:wrap;row-gap:4px}.dc-ls-block{flex-direction:column;gap:8px;display:flex}.dc-ls-note{color:var(--muted,#6f6b64);background:var(--surface,#1414170a);border:1px solid var(--line,#1414171f);border-radius:10px;padding:8px 10px;font-size:12px}.dc-ls-input-row{align-items:center;gap:8px;display:flex}.duration-source-badge.is-ls{color:var(--muted,#6f6b64);background:var(--surface,#1414170f);border-color:var(--line,#1414171f)}:root[data-theme=dark] .dc-standard-select,.app-shell[data-theme=dark] .dc-standard-select,:root[data-theme=dark] .dc-coef-input,.app-shell[data-theme=dark] .dc-coef-input{background:#ffffff0f}.duration-source-badge.is-placeholder{color:#c0392b;background:#c0392b1f;border-color:#c0392b4d;font-weight:800}:root[data-theme=dark] .duration-source-badge.is-placeholder,.app-shell[data-theme=dark] .duration-source-badge.is-placeholder{color:#ef6a5a;background:#ef6a5a29;border-color:#ef6a5a57}.dc-save-default{color:var(--muted,#6f6b64);cursor:pointer;align-items:center;gap:7px;font-size:11.5px;display:flex}.dc-save-default input{accent-color:var(--ink,#14120f)}.mr-shell{z-index:10000;background:var(--bg,#f1f0ed);color:var(--ink,#14120f);flex-direction:column;display:flex;position:fixed;inset:0}.mr-head{border-bottom:1px solid var(--line,#1412101a);background:var(--surface,#fff);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.mr-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#6f6b64);margin:0;font-size:.68rem;font-weight:800}.mr-title{margin:2px 0 0;font-size:1.05rem}.mr-close{border:1.5px solid var(--danger,#c0322a);color:var(--danger,#c0322a);cursor:pointer;background:0 0;border-radius:999px;padding:6px 16px;font-weight:700}.mr-close:hover{background:var(--danger-soft,#c0322a1c)}.mr-body{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.mr-left{min-width:0;padding:14px 18px;overflow:auto}.mr-right{border-left:1px solid var(--line,#1412101a);background:var(--surface,#fff);padding:14px 16px;overflow:auto}.mr-empty{color:var(--muted,#6f6b64);padding:16px 4px;font-size:.85rem}.mr-group{border:1px solid var(--line,#1412101a);background:var(--surface,#fff);border-radius:12px;margin-bottom:14px;overflow:hidden}.mr-group-head{background:var(--surface-soft,#fbfaf8);border-bottom:1px solid var(--line,#1412101a);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.mr-group-toggle{cursor:pointer;font:inherit;color:var(--ink,#14120f);background:0 0;border:none;align-items:center;gap:8px;display:inline-flex}.mr-group-hint{color:var(--muted,#6f6b64);font-size:.72rem;font-weight:600}.mr-group-count{background:var(--neutral-soft,#f1f1ee);border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:800}.mr-group-danger{border-color:color-mix(in srgb, var(--danger,#c0322a) 40%, transparent)}.mr-group-warning{border-color:color-mix(in srgb, var(--warning,#a86a12) 40%, transparent)}.mr-table{border-collapse:collapse;width:100%;font-size:.8rem}.mr-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6f6b64);border-bottom:1px solid var(--line,#1412101a);padding:6px 8px;font-size:.68rem;font-weight:800}.mr-table td{border-bottom:1px solid var(--line,#14121014);cursor:pointer;padding:6px 8px}.mr-table td[data-align=right],.mr-table th[data-align=right]{text-align:right}.mr-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;overflow:hidden}.mr-muted{color:var(--muted,#6f6b64)}.mr-row-attn{background:var(--danger-soft,#c0322a14)}.mr-row-warn{background:var(--warning-soft,#a86a121a)}.mr-row-hl{outline:2px solid var(--accent,#cc3b1e);outline-offset:-2px}.mr-row-sel{box-shadow:inset 3px 0 0 var(--ink,#14120f)}.mr-badge{text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:800;display:inline-block}.mr-badge-danger{background:var(--danger-soft,#c0322a1c);color:var(--danger,#c0322a)}.mr-badge-warning{background:var(--warning-soft,#a86a1226);color:var(--warning,#a86a12)}.mr-badge-info{background:var(--accent-soft,#cc3b1e1a);color:var(--accent,#cc3b1e)}.mr-badge-success{background:var(--success-soft,#1c80431f);color:var(--success,#1c8043)}.mr-check{color:var(--muted,#6f6b64);align-items:center;gap:5px;font-size:.74rem;display:inline-flex}.mr-ref{border:1px solid var(--line,#1412101a);background:var(--surface-soft,#fbfaf8);border-radius:10px;margin-bottom:12px;padding:10px}.mr-ref-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mr-ref-grid{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;display:grid}.mr-ref-grid div{flex-direction:column;display:flex}.mr-ref-grid dt{text-transform:uppercase;color:var(--muted,#6f6b64);font-size:.64rem;font-weight:700}.mr-ref-grid dd{margin:0;font-size:.82rem}.mr-link{color:var(--accent,#cc3b1e);cursor:pointer;background:0 0;border:none;font-size:.76rem;font-weight:700}.mr-sel-count{margin:0 0 10px;font-weight:700}.mr-form{flex-direction:column;gap:10px;display:flex}.mr-field{color:var(--muted,#6f6b64);flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;display:flex}.mr-field input,.mr-field select{border:1px solid var(--line,#1412101f);background-color:var(--panel,#fff);min-height:34px;color:var(--ink,#14120f);font:inherit;border-radius:8px;padding:0 9px;font-size:.82rem;font-weight:500}.mr-field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mr-hint{color:var(--accent,#cc3b1e);font-weight:600}.mr-form-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.mr-btn{border:1.5px solid var(--ink,#1a1a1a);color:var(--ink,#14120f);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:.8rem;font-weight:700}.mr-btn:hover:not(:disabled){background:var(--primary-soft,#1412100f)}.mr-btn:disabled{opacity:.45;cursor:default}.mr-btn-primary{background:var(--ink,#1a1a1a);color:var(--bg,#fff)}.mr-msg{color:var(--muted,#6f6b64);margin:4px 0 0;font-size:.76rem}.mr-foot{border-top:1px solid var(--line,#1412101a);background:var(--surface,#fff);align-items:center;gap:16px;padding:12px 18px;display:flex}.mr-counts{gap:14px;font-size:.82rem;font-weight:700;display:flex}.mr-count-attn{color:var(--danger,#c0322a)}.mr-count-warn{color:var(--warning,#a86a12)}.mr-skip{color:var(--ink,#14120f);margin-left:auto;font-size:.8rem}.mr-foot .mr-btn-primary{padding:9px 18px}.mqd{flex-direction:column;gap:12px;display:flex}.mqd-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mqd-title{margin:0;font-size:1rem}.mqd-sub{color:var(--muted,#6f6b64);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;font-size:.8rem;display:flex}.mqd-file{color:var(--muted,#6f6b64)}.mqd-summary{border:1px solid var(--line,#1412101a);background:var(--surface-soft,#fbfaf8);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px 14px;margin:0;padding:10px;display:grid}.mqd-summary div{flex-direction:column;gap:2px;display:flex}.mqd-summary dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6f6b64);font-size:.62rem;font-weight:800}.mqd-summary dd{margin:0;font-size:.9rem;font-weight:600}.mqd-summary .mqd-strong{color:var(--accent,#cc3b1e);font-weight:800}.mqd-table{margin-top:2px}.mqd-empty{color:var(--muted,#6f6b64);text-align:center;padding:12px 4px;font-size:.84rem}.boq-model-badge{border:1px solid color-mix(in srgb, var(--success,#1c8043) 45%, transparent);background:var(--success-soft,#1c80431f);color:var(--success,#1c8043);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.66rem;font-weight:800;line-height:1.6;display:inline-flex}.boq-model-badge:hover{background:color-mix(in srgb, var(--success,#1c8043) 22%, transparent)}.boq-last-import-chip{border:1px solid var(--line,#1412101f);background:var(--surface-soft,#fbfaf8);color:var(--muted,#6f6b64);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 11px;font-size:.72rem;font-weight:600;display:inline-flex}.boq-last-import-chip strong{color:var(--ink,#14120f);font-weight:700}.dr-shell .dr-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 18px;display:flex;overflow:auto}.dr-note{color:var(--muted,#6f6b64);margin:0;padding:0 2px;font-size:.76rem}.dr-row-drift{opacity:.92}.dr-row-drift td:first-child{text-align:center}.dr-radio{color:var(--ink,#14120f);cursor:pointer;align-items:center;gap:4px;margin-right:12px;font-size:.76rem;display:inline-flex}.mr-group-info{border-color:color-mix(in srgb, var(--accent,#cc3b1e) 35%, transparent)}.boq-volume-cell.is-model-locked{position:relative}.boq-volume-cell.is-model-locked input{color:var(--success,#1c8043);cursor:pointer;font-weight:600}.boq-model-lock{color:var(--success,#1c8043);pointer-events:none;font-size:.8rem;line-height:1}.boq-model-override{flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;display:inline-flex}.boq-model-hint{color:var(--muted,#6f6b64);font-size:.7rem;font-weight:600}.boq-reset-model{border:1px solid var(--line,#14121024);color:var(--accent,#cc3b1e);cursor:pointer;background:0 0;border-radius:999px;padding:1px 9px;font-size:.68rem;font-weight:700}.boq-reset-model:hover{background:var(--accent-soft,#cc3b1e1a)}.boq-orphan-badge{color:var(--warning,#a86a12);background:var(--warning-soft,#a86a1224);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-top:3px;padding:1px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.boq-mixed-chip{color:var(--muted,#6f6b64);background:var(--surface-soft,#fbfaf8);border:1px solid var(--line,#1412101a);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 9px;font-size:.68rem;font-weight:600;display:inline-flex}.boq-drawing-trigger{border:1px solid var(--line,#14121024);background:var(--surface-soft,#fbfaf8);width:28px;height:28px;color:var(--muted,#6f6b64);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.boq-drawing-trigger:hover{background:color-mix(in srgb, var(--accent,#cc3b1e) 12%, transparent);color:var(--accent,#cc3b1e);border-color:color-mix(in srgb, var(--accent,#cc3b1e) 40%, transparent)}.boq-measure-icon{display:block}.boq-drawing-badge{border-color:color-mix(in srgb, var(--accent,#cc3b1e) 45%, transparent);background:var(--accent-soft,#cc3b1e1a);color:var(--accent,#cc3b1e)}.boq-prov-hint{color:var(--muted,#6f6b64);white-space:nowrap;align-items:center;gap:5px;font-size:.68rem;font-weight:600;display:inline-flex}.boq-thickness-field{color:var(--muted,#6f6b64);flex-direction:column;gap:2px;margin-top:6px;font-size:.72rem;display:inline-flex}.boq-thickness-field input{width:100px}.asw-wrap{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;gap:16px;width:min(960px,100%);margin:18px auto;padding:20px;display:flex;box-shadow:0 10px 40px #080c160f}:is(.asw-content-wide,.asw-wrap:has(.asw-content-wide)){width:min(1100px,100%)}.asw-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.asw-head-title{align-items:flex-start;gap:12px;min-width:0;display:flex}.asw-head-ico{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.asw-head-ico svg{width:19px;height:19px}.asw-head-title strong{color:var(--ink);letter-spacing:-.01em;font-size:1.12rem;display:block}.asw-head-title p{color:var(--muted);max-width:46ch;margin:3px 0 0;font-size:.84rem}.asw-steps{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.asw-step{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 6px;display:inline-flex}.asw-step-dot{background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;font-size:.74rem;font-weight:800;display:grid}.asw-step-dot svg{width:13px;height:13px}.asw-step-label{font-size:.78rem;font-weight:650}.asw-step.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.asw-step.on .asw-step-dot{background:var(--cta,var(--accent));color:#fff;border-color:#0000}.asw-step.done{color:var(--success)}.asw-step.done .asw-step-dot{background:var(--success-soft);color:var(--success);border-color:#0000}.asw-content{min-height:220px}.asw-step-body{gap:16px;display:grid}.asw-step-lead{color:var(--muted);margin:0;font-size:.88rem}.asw-empty-note{margin-top:-4px}.asw-strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.asw-timetarget-toggle{border:1px solid var(--line);background:var(--neutral-soft);border-radius:999px;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.asw-timetarget-toggle button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 14px;font-weight:700}.asw-timetarget-toggle button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.asw-derived{color:var(--muted);margin:6px 0 0;font-size:.78rem}.asw-strategy-card{border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:14px;gap:8px;padding:16px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.asw-strategy-card:hover{border-color:var(--border-active,var(--muted))}.asw-strategy-card.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.asw-strategy-ico{background:var(--surface);border:1px solid var(--line);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.asw-strategy-ico svg{width:19px;height:19px}.asw-strategy-card.on .asw-strategy-ico{background:var(--surface);border-color:#0000}.asw-strategy-card strong{color:var(--ink);font-size:.95rem}.asw-strategy-card p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.asw-preview-lg{padding:18px}.asw-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.asw-foot-stats{color:var(--muted);font-size:.8rem}.asw-foot-actions{gap:8px;display:flex}@media (max-width:760px){.asw-strategy-grid{grid-template-columns:1fr}.asw-head{flex-direction:column}.asw-wrap{padding:16px}}.ahsp-hsd-banner.as-greenfield-nudge{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ahsp-hsd-banner.as-greenfield-nudge button{background:var(--cta,var(--accent));color:#fff;border-color:#0000}.as-level-toggle{padding-top:12px}.as-level-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.as-level-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:2px}.as-level-row input[type=checkbox]:disabled{cursor:not-allowed}.as-level-text{gap:2px;min-width:0;display:grid}.as-level-text strong{color:var(--ink);font-size:.86rem}.as-level-text small{color:var(--muted);font-size:.76rem;line-height:1.4}.as-level-row input:disabled~.as-level-text strong{color:var(--muted)}.as-summary .as-summary-cpm strong{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.boq-confidence-badge{text-transform:capitalize;letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.5}.boq-confidence-badge.is-high{color:var(--success,#46664f);background:#46664f1f;border-color:#46664f40}.boq-confidence-badge.is-medium{color:#b7791f;background:#b7791f1f;border-color:#b7791f47}.boq-confidence-badge.is-low{color:#c0392b;background:#c0392b1f;border-color:#c0392b4d}:root[data-theme=dark] .boq-confidence-badge.is-medium,.app-shell[data-theme=dark] .boq-confidence-badge.is-medium{color:#e0b34e;background:#e0b34e29;border-color:#e0b34e52}:root[data-theme=dark] .boq-confidence-badge.is-low,.app-shell[data-theme=dark] .boq-confidence-badge.is-low{color:#ef6a5a;background:#ef6a5a29;border-color:#ef6a5a57}:root[data-theme=dark] .boq-drawing-scale-card,:root[data-theme=dark] .boq-drawing-target-card,:root[data-theme=dark] .boq-drawing-result-card,.app-shell[data-theme=dark] .boq-drawing-scale-card,.app-shell[data-theme=dark] .boq-drawing-target-card,.app-shell[data-theme=dark] .boq-drawing-result-card{background:#ffffff0b;border-color:#ffffff1a}:root[data-theme=dark] .boq-drawing-takeoff-sidebar input,:root[data-theme=dark] .boq-drawing-takeoff-sidebar select,:root[data-theme=dark] .boq-drawing-tool-grid button,.app-shell[data-theme=dark] .boq-drawing-takeoff-sidebar input,.app-shell[data-theme=dark] .boq-drawing-takeoff-sidebar select,.app-shell[data-theme=dark] .boq-drawing-tool-grid button{background-color:#ffffff12;border-color:#ffffff1f}:root[data-theme=dark] .boq-drawing-tool-grid button.active,.app-shell[data-theme=dark] .boq-drawing-tool-grid button.active{color:#15151a;background:#ffffffeb;border-color:#ffffffeb}:root[data-theme=dark] .boq-drawing-warning,.app-shell[data-theme=dark] .boq-drawing-warning{border-color:var(--warning-soft);color:var(--warning);background:#7c2d1238}:root[data-theme=dark] .boq-drawing-takeoff-viewer,.app-shell[data-theme=dark] .boq-drawing-takeoff-viewer{background-color:#0c0d11;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-color:#ffffff1a}:root[data-theme=dark] .boq-drawing-takeoff-empty,.app-shell[data-theme=dark] .boq-drawing-takeoff-empty{color:#ffffff9e;background:#0e0f13a8;border-color:#ffffff29}:root[data-theme=dark] .boq-drawing-takeoff-overlay .scale-line,.app-shell[data-theme=dark] .boq-drawing-takeoff-overlay .scale-line{stroke:#ffffffe6}:root[data-theme=dark] .boq-drawing-takeoff-overlay .scale-point,.app-shell[data-theme=dark] .boq-drawing-takeoff-overlay .scale-point{fill:#fff;stroke:#0c0d11}.delays-page{flex-direction:column;gap:16px;min-width:0;display:flex}.delays-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.delays-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:650}.delays-sub{color:var(--muted);max-width:64ch;margin:4px 0 0;font-size:.74rem;line-height:1.4}.delays-add-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:.78rem;font-weight:600}.delays-add-btn:disabled{opacity:.5;cursor:not-allowed}.delays-btn-ghost{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:.78rem}.delays-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.delays-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.delays-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.66rem}.delays-card-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:680}.delays-card-hint{color:var(--muted);font-size:.66rem}.delays-card.is-primary{border-color:var(--accent)}.delays-card.is-warn .delays-card-value{color:var(--warning)}.delays-card.is-ok .delays-card-value{color:var(--success)}.delays-form{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex}.delays-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.delays-field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:.72rem;display:flex}.delays-field>span{font-weight:600}.delays-field input,.delays-field select,.delays-field textarea{border:1px solid var(--border);background-color:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:7px;width:100%;padding:6px 8px;font-family:inherit;font-size:.8rem}.delays-field-wide{grid-column:1/-1}.delays-field-check{flex-direction:row;grid-column:1/-1;align-items:center;gap:8px}.delays-field-check input{width:auto}.delays-form-actions{justify-content:flex-end;gap:8px;display:flex}.delays-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:.8rem}.delays-table-shell{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.delays-table{border-collapse:collapse;width:100%;font-size:.78rem}.delays-table th,.delays-table td{text-align:left;border-bottom:1px solid var(--border);color:var(--ink);white-space:nowrap;padding:9px 12px}.delays-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--panel-soft);font-size:.66rem;font-weight:600}.delays-table th.num,.delays-table td.num{text-align:right;font-variant-numeric:tabular-nums}.delays-table tbody tr:last-child td{border-bottom:none}.delays-muted{color:var(--muted)}.delays-actions{gap:10px;display:flex}.delays-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.74rem}.delays-link.is-danger{color:var(--danger)}.delays-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}.delays-badge.is-compensable{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.delays-badge.is-excusable{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.delays-badge.is-nonexcusable{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted)}.delays-badge.is-concurrent{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.delays-badge.is-critical{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.delays-badge.is-draft{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted)}.delays-badge.is-claimed{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.delays-badge.is-review{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.delays-badge.is-approved{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.delays-badge.is-rejected{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.enflow-sheet>.enflow-sheet-body>.surface-card,.enflow-sheet>.enflow-sheet-body>.surface-card:hover,.enflow-sheet>.enflow-sheet-body>[role=dialog],.enflow-sheet>.enflow-sheet-body>[role=dialog]:hover{z-index:auto!important;max-height:none!important;position:static!important;inset:auto!important;overflow:visible!important;transform:none!important}.measure-status-cta{border:1px solid var(--accent);background:var(--accent);width:100%;color:var(--accent-foreground);letter-spacing:.01em;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;font-size:.7rem;font-weight:800;transition:filter .14s;display:flex}.measure-status-cta:hover{filter:brightness(1.12)}.measure-status-cta .model-tool-svg{width:14px;height:14px}.baseline-gate{justify-content:center;padding:clamp(24px,5vw,48px);display:flex}.baseline-gate-body{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:560px;display:flex}.baseline-gate-glyph{opacity:.85;font-size:28px;line-height:1}.baseline-gate-body h3{margin:0;font-size:1.125rem}.baseline-gate-lead{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.baseline-gate-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:8px 0 4px;display:grid}.baseline-gate-summary>div{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.baseline-gate-summary dt{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.baseline-gate-summary dd{color:var(--ink);margin:0;font-size:1.02rem;font-weight:600}.baseline-gate-actions{margin-top:8px}.baseline-gate-hint{color:var(--muted);font-size:.78rem}.baseline-active-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.baseline-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.baseline-chip-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:999px}.baseline-rebaseline{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.baseline-rebaseline:hover{color:var(--ink)}@media (max-width:560px){.baseline-gate-summary{grid-template-columns:minmax(0,1fr)}}.tracking-dashboard{flex-direction:column;gap:18px;display:flex}.tracking-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tracking-head-copy h3{margin:0 0 2px;font-size:1.05rem}.tracking-head-copy span{color:var(--muted);font-size:.85rem}.tracking-rag{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;align-items:flex-end;gap:1px;padding:7px 14px;display:flex}.tracking-rag strong{letter-spacing:.01em;font-size:.9rem}.tracking-rag span{color:var(--muted);font-size:.74rem}.tracking-rag.rag-aman{border-color:color-mix(in srgb, var(--st-green) 40%, var(--border));background:color-mix(in srgb, var(--st-green) 12%, transparent)}.tracking-rag.rag-aman strong{color:var(--st-green)}.tracking-rag.rag-waspada{border-color:color-mix(in srgb, var(--st-amber) 42%, var(--border));background:color-mix(in srgb, var(--st-amber) 13%, transparent)}.tracking-rag.rag-waspada strong{color:var(--st-amber)}.tracking-rag.rag-kritis{border-color:color-mix(in srgb, var(--st-red) 44%, var(--border));background:color-mix(in srgb, var(--st-red) 12%, transparent)}.tracking-rag.rag-kritis strong{color:var(--st-red)}.tracking-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tracking-metric{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.tracking-metric-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.72rem}.tracking-metric-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600}.tracking-metric-sub{color:var(--muted);font-size:.78rem}.tracking-metric-value.is-behind,.tracking-metric-sub em.is-behind{color:var(--st-red);font-style:normal}.tracking-metric-value.is-ahead,.tracking-metric-sub em.is-ahead{color:var(--st-green);font-style:normal}.tracking-value-row{color:var(--muted);flex-wrap:wrap;gap:18px;font-size:.82rem;display:flex}.tracking-value-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.tracking-value-note{margin-left:auto}.tracking-scurve{margin:0}@media (max-width:880px){.tracking-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.tracking-metric-grid{grid-template-columns:minmax(0,1fr)}}.tracking-head-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.progress-grid{flex-direction:column;gap:14px;display:flex}.progress-grid-bar{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:12px 14px;display:flex}.progress-grid-bar-main{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.progress-grid-field{color:var(--muted);flex-direction:column;gap:4px;font-size:.76rem;display:flex}.progress-grid-field input{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:9px;min-width:180px;padding:7px 10px}.progress-grid-mode{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.progress-grid-mode button{background:var(--panel);color:var(--muted);cursor:pointer;border:none;padding:7px 14px;font-size:.82rem}.progress-grid-mode button.active{background:var(--primary);color:var(--surface)}.progress-grid-bar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.progress-grid-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.progress-grid-close{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-size:.82rem;text-decoration:underline}.progress-grid-close:hover{color:var(--ink)}.progress-grid-table-shell{border:1px solid var(--border);border-radius:14px;max-height:60vh;overflow:auto}.progress-grid-table{border-collapse:collapse;width:100%}.progress-grid-table thead th{z-index:1;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0}.progress-grid-group-row td{background:var(--panel-soft,var(--surface));padding:0}.progress-grid-group-toggle{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:.84rem;font-weight:600;display:flex}.progress-grid-group-toggle em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:400}.progress-grid-row.is-changed{background:color-mix(in srgb, var(--st-green) 10%, transparent);box-shadow:inset 3px 0 0 var(--st-green)}.progress-grid-row.is-warn-below,.progress-grid-row.is-warn-jump{background:color-mix(in srgb, var(--st-amber) 11%, transparent);box-shadow:inset 3px 0 0 var(--st-amber)}.progress-grid-row.is-error{background:color-mix(in srgb, var(--st-red) 11%, transparent);box-shadow:inset 3px 0 0 var(--st-red)}.progress-grid-input-wrap{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.progress-grid-input{border:1px solid var(--border);background:var(--panel);width:96px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;border-radius:8px;padding:5px 8px}.progress-grid-input:disabled{opacity:.5;cursor:not-allowed}.progress-grid-unit{color:var(--muted);text-align:left;min-width:28px;font-size:.76rem}.progress-grid-msg{color:var(--st-amber);margin-top:3px;font-size:.72rem;display:block}.progress-grid-msg.is-error{color:var(--st-red)}.progress-grid-hint{color:var(--muted);margin:0;font-size:.76rem}@media (max-width:720px){.progress-grid-bar{align-items:stretch}.progress-grid-field input{min-width:0}}.model-visual-group{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 0 -3px;font-size:.62rem;font-weight:800}.model-visual-panel .model-visual-group:first-of-type{margin-top:0}.tracking-cost{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.tracking-cost-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.tracking-cost-head h4{margin:0;font-size:.95rem}.tracking-cost-coverage{color:var(--muted);font-size:.76rem}.progress-grid-costtoggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.progress-grid-costtoggle input{cursor:pointer;accent-color:var(--primary)}.monitoring{flex-direction:column;gap:16px;display:flex}.monitoring-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.monitoring-header-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.monitoring-header-main h3{margin:0;font-size:1.1rem}.monitoring-header-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.monitoring-cutoff{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.monitoring-cutoff input{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:9px;padding:6px 9px}.monitoring-viewtoggle,.monitoring-granularity{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.monitoring-viewtoggle button,.monitoring-granularity button{background:var(--panel);color:var(--muted);cursor:pointer;border:none;padding:6px 13px;font-size:.82rem}.monitoring-viewtoggle button.active,.monitoring-granularity button.active{background:var(--primary);color:var(--surface)}.monitoring-action{border:1px solid var(--border);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:9px;padding:6px 13px;font-size:.82rem}.monitoring-action:hover{border-color:var(--ink)}.monitoring-action.is-ghost{color:var(--muted);border-style:dashed}.monitoring-banner{flex-wrap:wrap;align-items:center;gap:24px;padding:16px 18px;display:flex}.monitoring-banner-empty{color:var(--muted);font-weight:600}.monitoring-banner-stats{flex-wrap:wrap;gap:28px;margin-left:auto;display:flex}.monitoring-stat{flex-direction:column;gap:2px;display:flex}.monitoring-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.7rem}.monitoring-stat strong{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.monitoring-stat-sub{color:var(--muted);font-size:.76rem}.rag-pill{border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:.85rem;font-weight:600;display:inline-flex}.rag-pill.rag-lg{padding:8px 16px;font-size:.98rem}.rag-pill-symbol{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:.68rem;display:inline-flex}.rag-dot{color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;font-size:.6rem;display:inline-flex}.rag-aman.rag-pill{color:var(--st-green);border-color:color-mix(in srgb, var(--st-green) 40%, var(--border));background:color-mix(in srgb, var(--st-green) 12%, transparent)}.rag-waspada.rag-pill{color:var(--st-amber);border-color:color-mix(in srgb, var(--st-amber) 42%, var(--border));background:color-mix(in srgb, var(--st-amber) 13%, transparent)}.rag-kritis.rag-pill{color:var(--st-red);border-color:color-mix(in srgb, var(--st-red) 44%, var(--border));background:color-mix(in srgb, var(--st-red) 12%, transparent)}.rag-aman .rag-pill-symbol,.rag-aman.rag-dot{background:var(--st-green)}.rag-waspada .rag-pill-symbol,.rag-waspada.rag-dot{background:var(--st-amber)}.rag-kritis .rag-pill-symbol,.rag-kritis.rag-dot{background:var(--st-red)}.monitoring-curve{padding:14px 16px}.monitoring-curve-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.monitoring-curve-head h4{margin:0;font-size:.95rem}.monitoring-efficiency{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.monitoring-eff-card{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.monitoring-eff-card.is-ghost{opacity:.75;border-style:dashed}.monitoring-eff-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.72rem}.monitoring-eff-body{align-items:center;gap:12px;display:flex}.monitoring-eff-body strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.monitoring-eff-words{color:var(--muted);font-size:.82rem}.monitoring-eff-ghost-note{color:var(--muted);padding:6px 0;font-size:.85rem;font-style:italic}.sparkline-ref{stroke:var(--border);stroke-dasharray:2 2;stroke-width:1px}.sparkline-line{fill:none;stroke-width:1.6px}.sparkline-line.is-behind{stroke:var(--st-red)}.sparkline-line.is-ahead{stroke:var(--st-green)}.sparkline-dot.is-behind{fill:var(--st-red)}.sparkline-dot.is-ahead{fill:var(--st-green)}.sparkline-empty{color:var(--muted)}.monitoring-table{padding:14px 16px}.monitoring-table-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.monitoring-table-head h4{margin:0;font-size:.95rem}.monitoring-progress-table{width:100%}.monitoring-pkg-row{background:var(--panel-soft,var(--surface))}.monitoring-pkg-toggle{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;font-weight:600;display:inline-flex}.monitoring-pkg-toggle em{color:var(--muted);font-size:.74rem;font-style:normal;font-weight:400}.monitoring-item-name{color:var(--text);padding-left:28px}.mini-bar{background:var(--surface);border:1px solid var(--border);border-radius:999px;width:130px;height:8px;position:relative;overflow:hidden}.mini-bar-planned{background:color-mix(in srgb, var(--muted) 40%, transparent);border-right:1.5px solid color-mix(in srgb, var(--muted) 75%, transparent);position:absolute;top:0;bottom:0;left:0}.mini-bar-actual{position:absolute;top:0;bottom:0;left:0}.mini-bar-actual.rag-aman{background:var(--st-green)}.mini-bar-actual.rag-waspada{background:var(--st-amber)}.mini-bar-actual.rag-kritis{background:var(--st-red)}.monitoring-forecast{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;display:flex}.monitoring-forecast-arrow{color:var(--muted);font-size:1.1rem}.monitoring-eac{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.monitoring-eac-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.monitoring-eac-note{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.monitoring-eac-band{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.monitoring-eac-cell{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.monitoring-eac-cell.is-mostLikely{border-color:color-mix(in srgb, var(--ink) 35%, var(--border));background:var(--panel-soft,var(--surface))}.monitoring-eac-cell.is-optimistic{border-left:2px solid var(--st-green)}.monitoring-eac-cell.is-pessimistic{border-left:2px solid var(--st-red)}.monitoring-eac-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.72rem}.monitoring-eac-cell strong{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.monitoring-eac-vac{font-variant-numeric:tabular-nums;font-size:.76rem}.monitoring-eac-vac.is-behind{color:var(--st-red)}.monitoring-eac-vac.is-ahead{color:var(--st-green)}.cost-variance-register{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.cost-variance-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cost-variance-head h4{margin:0 0 2px;font-size:.95rem}.cost-variance-sub{color:var(--muted);margin:0;font-size:.78rem}.cost-variance-recon{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.cost-variance-recon-cell{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:3px;padding:8px 12px;display:flex}.cost-variance-recon-cell span{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.72rem}.cost-variance-recon-cell strong{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.cost-variance-recon-cell strong.is-behind{color:var(--st-red)}.cost-variance-recon-cell strong.is-ahead{color:var(--st-green)}.cost-variance-form{border:1px solid var(--border);background:var(--panel-soft,var(--surface));border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.cost-variance-form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.cost-variance-form label,.cost-variance-form-full{color:var(--muted);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.cost-variance-form label span,.cost-variance-form-full span{font-weight:500}.cost-variance-form input,.cost-variance-form select,.cost-variance-form textarea{border:1px solid var(--border);background-color:var(--surface);color:var(--ink);border-radius:8px;padding:7px 9px;font-size:.85rem}.cost-variance-form-full{width:100%}.cost-variance-form-actions{justify-content:flex-end;gap:8px;display:flex}.cost-variance-table{width:100%}.cost-variance-table td strong{font-weight:600}.cost-variance-expl{color:var(--muted);margin-top:2px;font-size:.76rem;display:block}.cost-variance-item{color:var(--text);font-size:.82rem}.cost-variance-table td.is-behind,.cost-variance-table .mono.is-behind{color:var(--st-red)}.cost-variance-table .mono.is-ahead{color:var(--st-green)}.cost-variance-table tr.is-rejected{opacity:.5}.cost-variance-status{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem}.cost-variance-status.is-approved{color:var(--st-green);border-color:color-mix(in srgb, var(--st-green) 45%, var(--border))}.cost-variance-status.is-rejected{color:var(--st-red);border-color:color-mix(in srgb, var(--st-red) 45%, var(--border))}.cost-variance-actions{white-space:nowrap}.cost-variance-actions button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.8rem}.cost-variance-actions button:hover{color:var(--ink)}.cost-variance-actions button.is-danger:hover{color:var(--st-red)}.cost-variance-empty{color:var(--muted);padding:6px 0;font-size:.85rem;font-style:italic}@media (max-width:760px){.monitoring-efficiency{grid-template-columns:minmax(0,1fr)}.monitoring-banner-stats{gap:18px;margin-left:0}.monitoring-eac-band,.cost-variance-recon{grid-template-columns:minmax(0,1fr)}}.laporan{flex-direction:column;gap:16px;display:flex}.laporan-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.laporan-header-main{flex-direction:column;gap:2px;display:flex}.laporan-header-main h3{margin:0;font-size:1.1rem}.laporan-period{color:var(--muted);font-size:.82rem}.laporan-header-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.laporan-sheet{flex-direction:column;gap:22px;padding:24px clamp(16px,4vw,40px);display:flex}.laporan-section h4{border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:6px;font-size:.95rem}.laporan-muted{color:var(--muted)}.laporan-summary{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.laporan-summary-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px;min-width:280px;margin:0;display:grid}.laporan-summary-grid>div{flex-direction:column;gap:1px;display:flex}.laporan-summary-grid dt{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:0;font-size:.72rem}.laporan-summary-grid dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:1.02rem;font-weight:600}.laporan-table{width:100%}.laporan-pkg-row td{background:var(--panel-soft,var(--surface));font-weight:600}.laporan-item-name{color:var(--text);padding-left:22px;font-weight:400}.laporan-narasi{color:var(--text);margin:0;font-size:.9rem;line-height:1.5}.laporan-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.laporan-notes label{color:var(--muted);flex-direction:column;gap:5px;font-size:.8rem;display:flex}.laporan-notes textarea{resize:vertical;border:1px solid var(--border);background:var(--panel);min-height:84px;color:var(--ink);font:inherit;border-radius:10px;padding:9px 11px;font-size:.85rem}@media (max-width:680px){.laporan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.laporan-notes{grid-template-columns:minmax(0,1fr)}}.monitoring-delays{border:1px solid var(--border);background:var(--surface);border-radius:12px}.monitoring-delays>summary{cursor:pointer;color:var(--ink);align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.monitoring-delays>summary::-webkit-details-marker{display:none}.monitoring-delays>summary:before{content:"▸";color:var(--muted);font-size:.8rem}.monitoring-delays[open]>summary:before{content:"▾"}.monitoring-delays-body{padding:0 16px 16px}:root{--st-green:#2e9e5b;--st-amber:#b07a12;--st-red:#d2443a}:root[data-theme=dark],.app-shell[data-theme=dark]{--st-green:#4ade80;--st-amber:#fbbf24;--st-red:#f87171}.monitoring-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:40px;font-size:.9rem;display:flex}.monitoring-loading-dot{border:2px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:14px;height:14px;animation:.8s linear infinite monitoring-spin}@keyframes monitoring-spin{to{transform:rotate(360deg)}}.laporan-notes-head{align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.laporan-notes-head h4{border:none;margin:0;padding:0;font-size:.95rem}.laporan-save-state{color:var(--muted);font-size:.76rem}.laporan-save-state.is-saved{color:var(--st-green)}.rload-row{position:relative}.rload-row-head span{align-items:center;gap:8px;display:inline-flex}.rload-over-chip{letter-spacing:.01em;background:var(--warning-soft,#a86a1224);color:var(--warning,#a86a12);border-radius:999px;padding:1px 7px;font-size:.66rem;font-style:normal;font-weight:700}.rload-overzone{fill:var(--warning,#a86a12);opacity:.06}.rload-weekend{fill:var(--ink,#14120f);opacity:.035}.rload-cap{stroke:var(--warning,#a86a12);stroke-dasharray:5 4;stroke-width:1.4px;opacity:.9}.rload-cap-label{fill:var(--warning,#a86a12);font-size:9.5px;font-weight:700}.rload-avg-label{fill:var(--muted,#6f6b64);font-size:9.5px;font-weight:700}.rload-bar{cursor:pointer;transition:opacity .12s,filter .12s}.rload-bar.is-hover{opacity:1;filter:brightness(.86)}.rload-tip{z-index:30;pointer-events:none;color:#fff;white-space:nowrap;background:#1b1916;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:2px;padding:7px 10px;font-size:11.5px;line-height:1.35;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 12px 30px #08080a66}.rload-tip strong{font-weight:600}.rload-tip span{color:#ffffffb8}.rload-tip .rload-tip-over{color:var(--warning,#fac775);font-weight:600}.rload-cal-res{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);color:var(--ink,#14120f);font:inherit;border-radius:10px;padding:7px 11px;font-weight:600}.rload-cal-today{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);color:var(--ink,#14120f);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600}.rload-cal-today:hover{background:var(--neutral-soft,#f1f1ee)}.rload-cal-arrow{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);width:30px;height:30px;color:var(--ink,#14120f);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.rload-cal-arrow:hover{background:var(--neutral-soft,#f1f1ee)}.rload-cal-nav strong{text-align:center;min-width:150px;font-size:.94rem}.rload-cal-summary{color:var(--muted,#6f6b64);border:1px solid var(--line,#e2e0dd);background:var(--neutral-soft,#14121008);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 12px;font-size:.78rem;display:flex}.rload-cal-summary strong{color:var(--ink,#14120f);font-size:.95rem}.rload-cal-summary em{opacity:.8;font-style:normal}.rload-cal-sum-over{color:var(--warning,#a86a12);font-weight:700}.rload-cal-sum-ok{color:var(--success,#1c8043);font-weight:600}.rload-cal-dow.is-weekend{color:var(--muted,#9a9893);opacity:.7}.rload-cal-cell{background:color-mix(in srgb, var(--ink,#14120f) calc(var(--load,0) * 34%), var(--surface,#fff));min-height:54px;transition:outline-color .12s,transform 90ms;position:relative}.rload-cal-cell:not(:disabled):hover{outline:2px solid var(--line-strong,#14121038);outline-offset:-1px;transform:translateY(-1px)}.rload-cal-cell.is-weekend{background:color-mix(in srgb, var(--ink,#14120f) calc(var(--load,0) * 34%), var(--neutral-soft,#f1f1ee))}.rload-cal-day{color:var(--muted,#999);font-size:.62rem}.rload-cal-val{font-variant-numeric:tabular-nums;color:var(--ink,#14120f);font-size:.98rem;font-weight:700}.rload-cal-over{border-color:var(--warning,#a86a12);background:var(--warning,#a86a12)!important}.rload-cal-over .rload-cal-day,.rload-cal-over .rload-cal-val{color:#fff}.rload-cal-off{background:repeating-linear-gradient(45deg, transparent, transparent 5px, var(--line,#1412100f) 5px, var(--line,#1412100f) 10px)!important}.rload-cal-out{opacity:.38}.rload-cal-cell.is-today{outline:2px solid var(--ink,#14120f);outline-offset:-1px}.rload-cal-legend{color:var(--muted,#6f6b64);flex-wrap:wrap;gap:14px;font-size:.72rem;display:flex}.rload-cal-key{border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.rload-cal-swatch{border:1px solid var(--line,#e2e0dd);border-radius:4px;width:13px;height:13px;display:inline-block}.rload-cal-sw-low{background:color-mix(in srgb, var(--ink,#14120f) 12%, var(--surface,#fff))}.rload-cal-sw-high{background:color-mix(in srgb, var(--ink,#14120f) 34%, var(--surface,#fff))}.rload-cal-sw-over{background:var(--warning,#a86a12);border-color:var(--warning,#a86a12)}.rload-cal-sw-off{background:repeating-linear-gradient(45deg,#0000,#0000 3px,#1412101f 3px 6px)}.rload-cal-sw-today{background:var(--surface,#fff);outline:2px solid var(--ink,#14120f);outline-offset:-2px}.rload-table-legend{color:var(--muted,#6f6b64);gap:12px;font-size:.74rem;display:inline-flex}.rload-lg{align-items:center;gap:6px;display:inline-flex}.rload-lg i{border-radius:3px;width:12px;height:12px;display:inline-block}.rload-lg-over i{background:var(--warning-soft,#a86a122e);border:1px solid var(--warning,#a86a12)}.rload-lg-ok i{background:var(--neutral-soft,#f1f1ee);border:1px solid var(--line,#e2e0dd)}.rload-th-cap{color:var(--muted,#9a9893);font-size:.62rem;font-weight:500;display:block}.rload-table tbody tr.is-weekend td{background:var(--neutral-soft,#14121008)}.rload-table tbody tr.is-weekend td:first-child{background:var(--neutral-soft,#f4f3f0)}.rload-cell{position:relative}.rload-cell-over{background:var(--warning-soft,#a86a1229);color:var(--warning,#8a5a12);font-weight:700}.rload-cell-optimal,.rload-cell-under,.rload-cell-uncapped{background:0 0}.rload-cell-idle{color:var(--muted,#aaa)}.rload-cell-flag{vertical-align:2px;color:var(--warning,#a86a12);margin-left:2px;font-size:.6rem}.rload-col-total{background:var(--neutral-soft,#1412100a);font-weight:700}.rload-table tfoot th,.rload-table tfoot td{background:var(--surface,#fff);border-top:2px solid var(--line-strong,#1412102e);font-weight:700;position:sticky;bottom:0}.rload-foot-peak{color:var(--ink,#14120f);font-variant-numeric:tabular-nums}:root[data-theme=dark] .rload-cal-over,.app-shell[data-theme=dark] .rload-cal-over,:root[data-theme=dark] .rload-cal-over .rload-cal-day,:root[data-theme=dark] .rload-cal-over .rload-cal-val,.app-shell[data-theme=dark] .rload-cal-over .rload-cal-day,.app-shell[data-theme=dark] .rload-cal-over .rload-cal-val{color:#15151a}:root[data-theme=dark] .rload-cell-over,.app-shell[data-theme=dark] .rload-cell-over{color:var(--warning,#fac775)}.schedule-crew-list{flex-direction:column;gap:8px;display:flex}.schedule-crew-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-crew-row>span{color:var(--ink,#14120f);font-size:.84rem;font-weight:600}.schedule-crew-controls{align-items:center;gap:6px;display:inline-flex}.schedule-crew-controls input{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);width:70px;color:var(--ink,#14120f);font-variant-numeric:tabular-nums;text-align:right;border-radius:8px;padding:6px 8px}.schedule-crew-unit{color:var(--muted,#6f6b64);font-size:.74rem}.schedule-crew-remove{border:1px solid var(--line,#d2d0cd);background:var(--surface,#fff);width:26px;height:26px;color:var(--muted,#6f6b64);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.schedule-crew-remove:hover{color:var(--danger,#b91c1c);border-color:var(--danger-soft,#b91c1c4d)}.schedule-crew-empty{color:var(--muted,#6f6b64);margin:0;font-size:.78rem}.schedule-crew-add{border:1px dashed var(--line,#d2d0cd);background:var(--surface,#fff);color:var(--ink,#14120f);font:inherit;cursor:pointer;border-radius:9px;width:100%;margin-top:10px;padding:8px 10px;font-weight:600}.tracking-table-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(var(--muted-rgb), .5) transparent;background:linear-gradient(to right, var(--surface,#fff) 30%, transparent) local, linear-gradient(to right, transparent, var(--surface,#fff) 70%) local, radial-gradient(farthest-side at 0 50%, #14121029, transparent) scroll, radial-gradient(farthest-side at 100% 50%, #14121029, transparent) scroll;background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:24px 100%,24px 100%,10px 100%,10px 100%;width:100%;overflow-x:auto}.tracking-table-scroll::-webkit-scrollbar{height:8px}.tracking-table-scroll::-webkit-scrollbar-thumb{background:rgba(var(--muted-rgb), .4);border-radius:999px}.tracking-table-scroll::-webkit-scrollbar-track{background:0 0}.tracking-scurve .scurve-area{stroke:none}.tracking-scurve .scurve-area.planned{fill:color-mix(in srgb, var(--ink) 8%, transparent)}.tracking-scurve .scurve-area.actual{fill:#3b6f9f33}.tracking-scurve .scurve-cutoff-marker line{stroke:color-mix(in srgb, var(--muted) 65%, transparent);stroke-dasharray:5 5;stroke-width:1.5px}.tracking-scurve .scurve-cutoff-marker text{fill:var(--muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:700}.tracking-scurve .scurve-hit{fill:#0000}:root[data-theme=dark] .tracking-scurve .advanced-scurve-legend i,.app-shell[data-theme=dark] .tracking-scurve .advanced-scurve-legend i{background:#d4d4d4}:root[data-theme=dark] .tracking-scurve .advanced-scurve-legend i.actual,.app-shell[data-theme=dark] .tracking-scurve .advanced-scurve-legend i.actual{background:#5b9bd5}.scurve-readout{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:.82rem;display:flex}.scurve-readout-period{color:var(--ink);font-weight:600}.scurve-readout-item{align-items:center;gap:6px;display:inline-flex}.scurve-readout-item strong{color:var(--ink);font-variant-numeric:tabular-nums}.scurve-readout-item i{background:var(--ink);border-radius:999px;width:10px;height:10px}.scurve-readout-item i.actual{background:#3b6f9f}.scurve-readout-dev{font-weight:600}.scurve-readout-dev.is-behind{color:var(--st-red)}.scurve-readout-dev.is-ahead{color:var(--st-green)}.scurve-readout-muted{font-style:italic}:root[data-theme=dark] .scurve-readout-item i.actual,.app-shell[data-theme=dark] .scurve-readout-item i.actual{background:#5b9bd5}.schedule-more .schedule-more-trigger{background:var(--surface,#fff);min-width:34px;min-height:34px;color:var(--muted,#6f6b64);border:1px solid var(--line,#14121024);letter-spacing:1.5px;padding:6px 10px}.schedule-more .schedule-more-trigger:hover,.schedule-more .schedule-more-trigger[aria-expanded=true]{background:var(--neutral-soft,#f1f1ee);color:var(--ink,#14120f);border-color:var(--line-strong,#14121047)}.schedule-more-panel{background:var(--surface,#fff);border:1px solid var(--line,#1412101a);border-radius:13px;min-width:190px;padding:6px;box-shadow:0 18px 44px #08080a2e}.schedule-more-panel button{color:var(--ink,#14120f);border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.schedule-more-panel button:hover{background:var(--neutral-soft,#f1f1ee)}.schedule-more-panel button:first-child{border-bottom:1px solid var(--line,#14121017);margin-bottom:4px;padding-bottom:11px}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.near-critical,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.near-critical{background:linear-gradient(#e0a92e,#c8881a);box-shadow:inset 3px 0 #ffffff80,inset 0 0 0 1px #ffd28252,0 2px 12px #1a1a1d47}.app-shell[data-theme=dark] .work-schedule-board .gantt-task-bar.near-critical>i,.app-shell[data-theme=light] .work-schedule-board .gantt-task-bar.near-critical>i{background:#00000029}.app-shell .work-schedule-board .gantt-task-bar.noncritical-dim{opacity:.4;filter:saturate(.62)}.app-shell .work-schedule-board .gantt-task-bar.noncritical-dim:hover{opacity:.72}.app-shell .work-schedule-board .gantt-bar-float{z-index:1;color:#fffffff0;font-family:var(--font-mono);letter-spacing:.01em;white-space:nowrap;background:#00000042;border-radius:999px;flex:none;margin-left:6px;padding:2px 6px;font-size:.58rem;font-weight:700;line-height:1.3;position:relative}.app-shell .work-schedule-board .gantt-bar-float.is-critical{text-transform:uppercase;letter-spacing:.05em;background:#00000052}.advanced-gantt-link-layer.is-critical-mode .advanced-gantt-link:not(.critical) .advanced-gantt-link-path{stroke:#7878822e}.advanced-gantt-link-layer.is-critical-mode .advanced-gantt-link.critical .advanced-gantt-link-path{stroke:#e0341cd9;stroke-width:1.5px}.advanced-gantt-link-layer.is-critical-mode .advanced-gantt-link:not(.critical) .advanced-gantt-link-label{opacity:.35}.ahsp-demand{border:1px solid var(--line,#1412101f);background:var(--surface,#fff);border-radius:12px;margin:0 0 14px;overflow:hidden}.ahsp-demand>.ahsp-demand-summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;font-size:.82rem;list-style:none;display:flex}.ahsp-demand>.ahsp-demand-summary::-webkit-details-marker{display:none}.ahsp-demand>.ahsp-demand-summary:before{content:"▸";opacity:.6;margin-right:6px;font-size:.7rem}.ahsp-demand[open]>.ahsp-demand-summary:before{content:"▾"}.ahsp-demand-title{color:var(--ink,#1a1a1d);font-weight:700}.ahsp-demand-count{color:var(--muted,#6b6b70);font-variant-numeric:tabular-nums}.ahsp-demand .tracking-table-scroll{padding:0 14px 12px}.ahsp-demand-table{width:100%}.ahsp-demand-empty,.ahsp-demand-missing{color:var(--muted,#6b6b70);margin:0;padding:10px 14px 13px;font-size:.78rem}.ahsp-demand-missing{border-top:1px solid var(--line,#14121014)}.ahsp-demand-missing strong{color:var(--st-amber,#b07a12)}.material-procurement-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.material-procurement-head h4{margin:2px 0 4px}.material-procurement-head p{max-width:60ch;color:var(--muted,#6b6b70);margin:0;font-size:.82rem}.material-procurement-counts{color:var(--muted,#6b6b70);flex-wrap:wrap;gap:16px;font-size:.8rem;display:flex}.material-procurement-counts strong{color:var(--ink,#1a1a1d);font-variant-numeric:tabular-nums;margin-right:4px;font-size:1.05rem}.material-procurement-counts .is-overdue strong{color:var(--st-red,#d2443a)}.material-procurement-counts .is-shortfall strong{color:var(--st-amber,#b07a12)}.material-procurement-error{background:color-mix(in srgb, var(--st-red,#d2443a) 12%, transparent);color:var(--st-red,#d2443a);border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:.8rem}.material-procurement-empty{color:var(--muted,#6b6b70);padding:24px 4px;font-size:.86rem}.material-procurement-table{width:100%}.material-procurement-table th,.material-procurement-table td{vertical-align:middle}.material-procurement-row.is-overdue td:nth-child(2){box-shadow:inset 3px 0 0 0 var(--st-red,#d2443a)}.material-procurement-saving{color:var(--muted,#6b6b70);font-size:.72rem}.material-procurement-expand{cursor:pointer;color:var(--muted,#6b6b70);background:0 0;border:none;padding:2px 4px;font-size:.8rem;line-height:1}.material-procurement-status{padding:3px 6px;font-size:.78rem}.material-procurement-alerts{flex-wrap:wrap;gap:5px;display:inline-flex}.material-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.material-badge.is-overdue{background:color-mix(in srgb, var(--st-red,#d2443a) 16%, transparent);color:var(--st-red,#d2443a)}.material-badge.is-shortfall{background:color-mix(in srgb, var(--st-amber,#b07a12) 18%, transparent);color:var(--st-amber,#b07a12)}.material-badge.is-surplus{background:color-mix(in srgb, var(--muted,#6b6b70) 16%, transparent);color:var(--muted,#6b6b70)}.material-procurement-detail>td{background:color-mix(in srgb, var(--ink,#1a1a1d) 3%, transparent);padding:12px 14px}.material-procurement-edit{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.material-procurement-edit label{color:var(--muted,#6b6b70);flex-direction:column;gap:3px;font-size:.72rem;font-weight:600;display:flex}.material-procurement-edit input{border:1px solid var(--line,#14121029);background:var(--surface,#fff);color:var(--ink,#1a1a1d);border-radius:7px;padding:5px 8px;font-size:.82rem}.material-procurement-edit .material-procurement-note{flex:220px}.material-procurement-edit .material-procurement-note input{width:100%}.material-procurement-contrib strong{font-size:.78rem}.material-procurement-contrib ul{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.material-procurement-contrib li{flex-wrap:wrap;align-items:baseline;gap:12px;font-size:.8rem;display:flex}.material-procurement-contrib li>span:first-child{flex:160px}.material-procurement-contrib-date{color:var(--muted,#6b6b70);font-size:.74rem}.resource-loading-view{flex-direction:column;gap:20px;margin-bottom:16px;display:flex}.resources-services-panel,.resource-loading-view,.rlv-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.rlv-kpis{flex-wrap:wrap;gap:8px;display:flex}.rlv-kpi{border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:baseline;gap:5px;padding:5px 11px;font-size:.72rem;display:inline-flex}.rlv-kpi strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:800}.rlv-kpi.is-warn strong{color:var(--warning)}.rlv-kpi.is-bad strong{color:var(--danger)}.rlv-subnav{flex:none}.rlv-section{min-width:0}.rlv-section>h4{margin:0 0 6px}.rlv-hint{color:var(--muted,#6b6b70);max-width:66ch;margin:0 0 10px;font-size:.8rem}.rlv-error{background:color-mix(in srgb, var(--st-red,#d2443a) 12%, transparent);color:var(--st-red,#d2443a);border-radius:8px;margin:0;padding:8px 12px;font-size:.8rem}.rlv-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.rlv-count{background:color-mix(in srgb, var(--ink,#1a1a1d) 8%, transparent);min-width:20px;color:var(--muted,#6b6b70);text-align:center;border-radius:999px;padding:0 7px;font-size:.78rem;font-weight:700;display:inline-block}.rlv-count.is-bad{background:color-mix(in srgb, var(--st-red,#d2443a) 16%, transparent);color:var(--st-red,#d2443a)}.rlv-count.is-warn{background:color-mix(in srgb, var(--st-amber,#b07a12) 18%, transparent);color:var(--st-amber,#b07a12)}.rlv-conflicts,.rlv-upcoming{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rlv-conflicts li{background:color-mix(in srgb, var(--st-red,#d2443a) 8%, transparent);box-shadow:inset 3px 0 0 0 var(--st-red,#d2443a);border-radius:8px;padding:8px 10px;font-size:.82rem}.rlv-conflict-pair{font-weight:600}.rlv-conflict-vs{opacity:.6;margin:0 6px}.rlv-upcoming li{font-size:.82rem}.rlv-days{color:var(--muted,#6b6b70)}.rlv-empty{color:var(--muted,#6b6b70);margin:0;font-size:.82rem}.rlv-window{color:var(--muted,#6b6b70);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.rlv-window .ui-select{padding:3px 6px;font-size:.78rem}.rlv-assign-table{table-layout:fixed;width:100%;min-width:700px}.rlv-assign-table th,.rlv-assign-table td{vertical-align:middle;padding:6px 8px}.rlv-assign-table td{border-bottom:0}.rlv-assign-table thead th{border-bottom:1px solid var(--line);white-space:nowrap}.rlv-assign-table th:first-child,.rlv-assign-table td:first-child{width:23%}.rlv-assign-table th:nth-child(2),.rlv-assign-table td:nth-child(2){white-space:nowrap;width:112px;color:var(--muted);font-size:.78rem}.rlv-assign-table th:nth-child(3),.rlv-assign-table td:nth-child(3){width:15%}.rlv-assign-table th:nth-child(5),.rlv-assign-table td:nth-child(5){width:82px}.rlv-assign-table th:nth-child(6),.rlv-assign-table td:nth-child(6){width:120px}.rlv-assign-table th:nth-child(7),.rlv-assign-table td:nth-child(7){text-align:center;width:46px}.rlv-assign-table tbody tr.rlv-item-start>td{border-top:1px solid var(--line)}.rlv-assign-table tbody tr.rlv-item-start td:first-child{word-break:break-word;padding-top:9px;font-weight:600}.rlv-assign-table tr.is-conflicted td:first-child{box-shadow:inset 3px 0 0 0 var(--st-red,#d2443a)}.rlv-input{border:1px solid var(--line,#14121029);background:var(--surface,#fff);width:100%;min-width:0;color:var(--ink,#1a1a1d);border-radius:7px;padding:6px 8px;font-size:.8rem;transition:border-color .12s,box-shadow .12s}.rlv-input:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink,#1a1a1d) 32%, var(--line,#14121029))}.rlv-input:focus{border-color:var(--ink,#1a1a1d);box-shadow:0 0 0 2px color-mix(in srgb, var(--ink,#1a1a1d) 13%, transparent);outline:none}.rlv-input:disabled{background:color-mix(in srgb, var(--muted,#6b6b70) 7%, transparent);color:var(--muted,#6b6b70);cursor:not-allowed}.rlv-input-num{text-align:right;font-variant-numeric:tabular-nums}.rlv-assign-table .rlv-input-type.is-draft{border-color:color-mix(in srgb, var(--ink,#1a1a1d) 52%, var(--line,#14121029));background:color-mix(in srgb, var(--ink,#1a1a1d) 3%, var(--surface,#fff))}.rlv-assign-table .rlv-input-type.is-draft::placeholder{color:color-mix(in srgb, var(--ink,#1a1a1d) 50%, var(--muted,#6b6b70))}.rlv-assign-table .ui-select{width:100%}.rlv-saving{color:var(--muted,#6b6b70)}.rlv-hint-inline{color:var(--muted,#6b6b70);font-size:.78rem;font-weight:400}.rlv-sub-cell{color:var(--muted,#6b6b70);padding-left:4px}.rlv-line-btn{cursor:pointer;color:var(--muted,#6b6b70);background:0 0;border:0;border-radius:6px;padding:3px 7px;font-size:1.05rem;line-height:1;transition:color .12s,background .12s}.rlv-line-btn:hover{color:var(--st-red,#d2443a);background:color-mix(in srgb, var(--st-red,#d2443a) 12%, transparent)}.rlv-assign-table tr.rlv-add-row td{border-top:0;padding-top:3px;padding-bottom:10px}.rlv-add-line{border:1px dashed color-mix(in srgb, var(--ink,#1a1a1d) 22%, transparent);cursor:pointer;color:var(--muted,#6b6b70);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 11px;font-size:.75rem;font-weight:600;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.rlv-add-line:hover{color:var(--ink,#1a1a1d);border-color:color-mix(in srgb, var(--ink,#1a1a1d) 45%, transparent);background:color-mix(in srgb, var(--ink,#1a1a1d) 5%, transparent)}.critical-node-wbs{fill:var(--cp-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:9px;font-weight:700}.critical-node-divider{stroke:var(--cp-line);stroke-width:1px}.critical-node-col-label{fill:var(--cp-muted);letter-spacing:.06em;font-size:8px;font-weight:800}.critical-node-col-value{fill:var(--cp-ink);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.critical-node-floatline{fill:var(--cp-muted);letter-spacing:.01em;font-size:10.5px;font-weight:800}.critical-node-floatline.is-critical{fill:var(--st-red,#d2443a);font-weight:900}.work-progress-input.is-readonly{cursor:default;align-items:center;gap:8px;display:inline-flex}.wp-ro-bar{background:var(--neutral-soft,#f1f1ee);border-radius:999px;flex:1;min-width:56px;height:6px;position:relative;overflow:hidden}.wp-ro-bar:before{content:"";width:var(--wp-progress,0%);background:var(--ink,#14120f);border-radius:999px;position:absolute;inset:0}.wp-ro-val{font-variant-numeric:tabular-nums;color:var(--ink,#14120f);text-align:right;min-width:36px;font-size:.78rem;font-weight:700}.as-readonly{border:1px solid var(--line,#1412101f);background:var(--surface-soft,#fbfaf8);min-height:38px;color:var(--ink,#14120f);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.as-readonly em{color:var(--muted,#6f6b64);font-size:.7rem;font-style:normal;font-weight:500}.as-from{color:var(--muted,#6f6b64);font-size:.7rem;font-weight:500}.ahsp-search-field{align-items:center;display:flex;position:relative}.ahsp-search-icon{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;left:12px}.ahsp-search-field .ahsp-search-input{padding-left:38px;padding-right:34px}.ahsp-search-clear{background:var(--surface-soft);width:22px;height:22px;color:var(--muted);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,background .15s;display:inline-flex;position:absolute;right:8px}.ahsp-search-clear:hover{color:var(--text);background:var(--border)}.ahsp-chip{align-items:center;gap:6px;display:inline-flex}.ahsp-chip-count{font-variant-numeric:tabular-nums;opacity:.65;font-size:10.5px;font-weight:700}.ahsp-result-count{color:var(--muted);font-variant-numeric:tabular-nums;padding:6px 6px 2px;font-size:11px;font-weight:600}.ahsp-result-group-title{align-items:baseline;gap:8px;display:flex}.ahsp-result-group-title span{color:var(--muted);opacity:.55;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.ahsp-result-meta{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;display:flex}.ahsp-result-sni{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ahsp-result-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.ahsp-result-item.is-current{box-shadow:inset 0 0 0 1px var(--accent)}.ahsp-result-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:9px;font-weight:700}.ahsp-skeleton-list{flex-direction:column;gap:8px;padding:12px 6px;display:flex}.ahsp-skeleton-row{background:var(--surface-soft);border-radius:10px;height:54px;animation:1.3s ease-in-out infinite ahsp-pulse}@keyframes ahsp-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ahsp-skeleton-row{animation:none}}.ahsp-search-empty{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:40px 16px;display:flex}.ahsp-empty-title{color:var(--text);margin:0;font-size:14px;font-weight:700}.ahsp-empty-sub{color:var(--muted);max-width:320px;margin:0;font-size:12.5px}.ahsp-empty-action{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;margin-top:8px;padding:7px 16px;font-size:12.5px;font-weight:600;transition:all .15s}.ahsp-empty-action:hover{border-color:var(--border-active);background:var(--surface-soft)}.as-dep-filters{flex-wrap:wrap;gap:6px;display:flex}.as-dep-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.as-dep-chip:hover:not(:disabled){border-color:var(--border-active);color:var(--ink)}.as-dep-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.as-dep-chip span{font-variant-numeric:tabular-nums;opacity:.75}.as-dep-chip:disabled{opacity:.45;cursor:default}.as-dep-main{flex-wrap:nowrap;align-items:flex-start}.as-dep-badge{flex:none;margin-top:1px}.as-dep-pair{flex:1;gap:1px;min-width:0;display:grid}.as-dep-from{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.as-dep-to{align-items:center;gap:6px;min-width:0;display:flex}.as-dep-arrow{color:var(--muted);flex:none;font-size:.82rem}.as-dep-toname{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.as-dep-type{background:var(--neutral-soft,var(--surface-soft));border-radius:6px;flex:none;padding:1px 6px}.as-dur-summary{color:var(--muted);font-variant-numeric:tabular-nums;margin:-2px 0 2px;font-size:.74rem}.sumber-harga{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.sumber-harga-modes button{align-items:center;gap:4px;display:inline-flex}.sumber-harga-icon{flex:none;width:13px;height:13px}.sumber-harga-input{align-items:center;min-width:0;display:inline-flex}.sumber-harga-field{align-items:center;gap:4px;margin:0;display:inline-flex}.sumber-harga-field input{font-variant-numeric:tabular-nums;width:118px;min-width:0}.sumber-harga-suffix{color:var(--muted);white-space:nowrap;font-size:.82em}.sumber-harga-ahsp-trigger{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.sumber-harga-preview{white-space:nowrap;font-size:.85em}.sumber-harga-amount{color:var(--ink);font-variant-numeric:tabular-nums}.sumber-harga-muted{color:var(--muted)}.sumber-harga-warning{color:var(--warning);flex-basis:100%;margin:0;font-size:.78em}.boq-template-included-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.boq-template-included-row>details{flex:320px;min-width:0}.boq-template-source-col{flex-wrap:wrap;flex:260px;align-items:center;gap:6px;min-width:0;padding-top:6px;display:flex}.boq-template-source-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.boq-template-source-head-actions{align-items:center;gap:8px;display:inline-flex}.boq-source-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.boq-source-count.is-ready{color:var(--accent)}.boq-cek-mutu{color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:600}button.boq-cek-mutu.is-action{cursor:pointer;background:0 0;font-family:inherit}button.boq-cek-mutu.is-action:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}.boq-source-gate-hint{color:var(--muted);align-self:center;font-size:.74rem}.boq-template-source-col.is-passive{padding-top:8px}.boq-source-badge{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.78rem;overflow:hidden}.boq-source-warn{color:var(--warning);white-space:nowrap;font-size:.74rem;font-weight:600}.boq-save-to-template{color:var(--muted);flex-basis:100%;align-items:center;gap:6px;font-size:.74rem;display:inline-flex}.boq-save-to-template-dismiss{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0 2px;font-size:.9rem;line-height:1}.boq-assembly-output{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.boq-assembly-metric{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:10px;flex-direction:column;flex:120px;gap:1px;min-width:0;padding:8px 10px;display:flex}.boq-assembly-metric>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.boq-assembly-metric>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem}.boq-assembly-metric>small{color:var(--warning);font-size:.7rem}.boq-manual-form{flex-direction:column;gap:16px;max-width:none;padding:4px 2px 2px;display:flex}.boq-manual-field{flex-direction:column;gap:6px;display:flex}.boq-manual-field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.boq-manual-field input,.boq-manual-field .ui-select{min-height:42px}.boq-manual-qty{grid-template-columns:1fr 120px;gap:12px;display:grid}.boq-manual-qty .boq-manual-field{min-width:0}.boq-manual-source{border:1px solid var(--line);background:color-mix(in srgb, var(--neutral-soft) 50%, var(--surface));border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.boq-manual-source-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.boq-manual-source .sumber-harga{flex-direction:column;align-items:stretch;gap:12px;width:100%;display:flex}.boq-manual-source .sumber-harga-modes{width:100%;display:flex}.boq-manual-source .sumber-harga-modes button{flex:1;justify-content:center;min-height:40px}.boq-manual-source .sumber-harga-input,.boq-manual-source .sumber-harga-field{width:100%}.boq-manual-source .sumber-harga-field input{width:100%;min-height:42px}.boq-manual-source .sumber-harga-ahsp-trigger{width:100%;max-width:none;min-height:42px}.boq-manual-source .sumber-harga-preview{white-space:normal}.boq-manual-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.boq-manual-actions-end{flex-wrap:wrap;gap:8px;display:flex}.boq-manual-hint{color:var(--muted);margin:-4px 0 0;font-size:.76rem}.ahsp-search-backdrop,.app-shell[data-theme] .ahsp-search-backdrop{z-index:1300}.ahsp-breakdown-table .ahsp-row:not(.ahsp-row-head):not(.ahsp-row-total){min-height:34px}.ahsp-breakdown-table .ahsp-coef-input,.ahsp-breakdown-table .ahsp-hsd-input{box-sizing:border-box;height:22px;padding:0 7px}.boq-template-accordion-detail{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;padding:2px 12px 12px}.boq-template-accordion-detail label,.boq-template-accordion-parameters{font-size:.68rem;font-weight:600}.boq-template-accordion-detail b{font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:650}.boq-template-calculation-box{gap:6px;margin-top:2px;padding:11px 12px}.boq-template-calculation-box p{font-family:var(--font-mono,ui-monospace, "SF Mono", Menlo, monospace);font-variant-numeric:tabular-nums}.boq-template-accordion-parameters p{color:var(--muted);font-size:.72rem;font-weight:500;font-family:var(--font-mono,ui-monospace, "SF Mono", Menlo, monospace)}.monitoring-progress-table .monitoring-pkg-row td{border-top:1.5px solid var(--line);border-bottom:none;padding-top:13px;padding-bottom:9px}.monitoring-progress-table tbody tr.monitoring-pkg-row:first-child td{border-top:none}.monitoring-progress-table .monitoring-item-row td{border-bottom:1px solid color-mix(in srgb, var(--line) 42%, transparent);padding-top:10px;padding-bottom:10px}.monitoring-progress-table .monitoring-item-row:has(+.monitoring-pkg-row) td{border-bottom:none}.monitoring-progress-table .monitoring-item-name{font-size:.84rem}.monitoring-progress-table .monitoring-pkg-toggle{font-weight:650}.monitoring-progress-table td .rag-dot{margin-right:3px}.settings-chips{gap:10px;display:grid}.settings-card-note{color:var(--muted);margin:-2px 0 4px;font-size:.78rem}.settings-chip-row{flex-wrap:wrap;gap:6px;display:flex}.settings-chip{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:4px 6px 4px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.settings-chip button{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.settings-chip button:hover{background:var(--neutral-soft,var(--surface));color:var(--ink)}.settings-chip-empty{color:var(--muted);font-size:.8rem}.settings-chip-add{gap:8px;display:flex}.settings-chip-add input{border:1px solid var(--line);background:var(--surface);min-width:0;height:36px;color:var(--ink);font:inherit;border-radius:10px;flex:1;padding:0 11px;font-size:.86rem}.settings-chip-add input:focus{border-color:var(--accent);outline:none}.vendor-choice-list button{transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.vendor-choice-list button:hover{border-color:var(--border-active,var(--accent));background:var(--surface)}.vendor-choice-list button>span:first-child{color:var(--ink);font-weight:650}.vendor-choice-list button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent);padding-right:36px}.vendor-choice-list button.active>span:first-child{color:var(--accent)}.vendor-choice-list button.active:after{content:"✓";background:var(--cta,var(--accent));color:#fff;border-radius:999px;justify-content:center;align-items:center;width:19px;height:19px;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.procurement-total-box strong{font-variant-numeric:tabular-nums}.procurement-total-row.grand{border-top:1px solid var(--line);align-items:center;margin-top:2px;padding-top:12px}.procurement-total-row.grand>span{color:var(--ink);font-size:.82rem;font-weight:700}.procurement-total-row.grand>strong{letter-spacing:-.01em;color:var(--ink);font-size:1.22rem;font-weight:800}.procurement-order-lines .order-line-editor-row>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;transition:background .15s,color .15s;display:inline-flex}.procurement-order-lines .order-line-editor-row>button:hover{background:var(--danger-soft,var(--neutral-soft,var(--surface-soft)));color:var(--danger,var(--ink))}.procurement-order-lines .order-line-editor-row.is-warning{box-shadow:inset 3px 0 0 var(--warning)}.procurement-order-lines .order-line-editor-row.is-warning input[type=number]{color:var(--warning)}.tracking-input-overlay{z-index:1250;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.tracking-input-overlay-scrim{cursor:default;background:#08080a73;border:none;margin:0;padding:0;position:fixed;inset:0}.tracking-input-overlay-panel{z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(1120px,100%);max-height:calc(100dvh - 48px);margin:auto;position:relative;overflow-y:auto;box-shadow:0 24px 64px #08080a4d}.tracking-input-overlay-panel .progress-grid-bar{z-index:2;background:var(--surface);position:sticky;top:0}@media (prefers-reduced-motion:no-preference){.tracking-input-overlay-panel{animation:.17s tracking-overlay-in}}@keyframes tracking-overlay-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.progress-grid-search input{min-width:170px}.monitoring-delays-view{gap:14px;display:grid}.inventory-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.inventory-settings-lists{gap:16px;padding:6px 0 10px;display:grid}.inventory-settings-lists>div{gap:8px;display:grid}.inventory-settings-lists>div>.eyebrow{margin:0}.current-phase-fill.is-behind{background:var(--warning);opacity:.34}.current-phase-verdict-row{justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px;display:flex}.current-phase-verdict{letter-spacing:-.01em;align-items:center;gap:7px;font-size:.82rem;font-weight:750;line-height:1.3;display:inline-flex}.current-phase-verdict:before{content:"";border-radius:999px;flex:none;width:8px;height:8px}.current-phase-verdict.is-behind{color:var(--warning)}.current-phase-verdict.is-behind:before{background:var(--warning)}.current-phase-verdict.is-on{color:var(--success)}.current-phase-verdict.is-on:before{background:var(--success)}.current-phase-verdict-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.66rem;font-weight:700}.shell-button.inventory-icon-action{justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;display:inline-flex}.shell-button.inventory-icon-action svg{display:block}.work-breakdown-table.boq-mode .work-breakdown-row.head,.work-breakdown-table.progress-cost-mode .work-breakdown-row.head{top:var(--schedule-sticky-top,0px);z-index:20;background:var(--surface);box-shadow:0 1px 0 var(--line);padding:7px 6px;position:sticky}.schedule-toolbar-icon{border:1px solid var(--border,#0000001f);background:var(--surface-soft);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.schedule-toolbar-icon:hover{color:var(--ink);border-color:var(--ink);background:var(--surface)}.schedule-toolbar-icon:focus-visible{outline:2px solid var(--accent,var(--ink));outline-offset:1px}.schedule-toolbar-icon svg{display:block}.schedule-mode-strip{justify-content:flex-end}.schedule-mode-strip>.schedule-mode-switcher{margin-right:auto}.work-auto-schedule-cta{order:1;align-items:center;gap:7px;margin-left:0;display:inline-flex;box-shadow:0 5px 16px -6px #0000006b}.work-auto-schedule-cta svg{flex:none}.schedule-mode-strip .workplan-collab-status{order:2;margin-left:0}@media (max-width:640px){.schedule-mode-strip{justify-content:stretch}.work-auto-schedule-cta{order:3;width:100%;margin-left:0}}.app-shell{--schedule-sticky-top:69px}.work-schedule-board.advanced-gantt-board{overflow:visible}.work-schedule-board.advanced-gantt-board .work-schedule-left-pane{overflow:clip visible}.work-plan-facts.wp-settings-fields{grid-template-columns:repeat(auto-fit,minmax(184px,1fr));align-items:end;gap:14px;margin-top:12px;display:grid}.work-plan-facts.wp-settings-fields label{gap:6px;min-width:0;display:grid}.work-plan-facts.wp-settings-fields label span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:0 0;padding:0;font-size:.64rem;font-weight:700}.work-plan-facts.wp-settings-fields input,.work-plan-facts.wp-settings-fields select{box-sizing:border-box;border:1px solid var(--line);background-color:var(--control-bg);width:100%;height:38px;min-height:38px;color:var(--text);border-radius:10px;padding:0 12px;font-size:.86rem;font-weight:550;transition:border-color .15s,box-shadow .15s,background .15s}.work-plan-facts.wp-settings-fields input:hover,.work-plan-facts.wp-settings-fields select:hover{border-color:var(--border-active,var(--muted))}.work-plan-facts.wp-settings-fields input:focus-visible,.work-plan-facts.wp-settings-fields select:focus-visible{border-color:var(--accent,var(--ink));box-shadow:0 0 0 3px var(--accent-soft,#14141714);outline:none}.wp-field-auto-badge{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);letter-spacing:.04em;vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.56rem;font-style:normal;font-weight:700}.work-plan-facts.wp-settings-fields input[readonly]{background:var(--surface-soft);color:var(--text);cursor:default}.work-plan-facts.wp-settings-fields input[readonly]:hover,.work-plan-facts.wp-settings-fields input[readonly]:focus-visible{border-color:var(--line);box-shadow:none}.daily-log-drawer .daily-log-primary-flow{padding:7px 12px;font-size:.78rem}.daily-log-drawer .daily-task-assignment-note{min-height:54px;padding:7px 10px}.enflow-sheet-body{scrollbar-width:thin;scrollbar-color:rgba(var(--muted-rgb), .55) transparent}.enflow-sheet-body::-webkit-scrollbar{width:7px}.enflow-sheet-body::-webkit-scrollbar-thumb{background:rgba(var(--muted-rgb), .45);border-radius:999px}.enflow-sheet-body::-webkit-scrollbar-track{background:0 0}.ahsp-autolink-modal{z-index:1200;flex-direction:column;width:min(820px,95vw);max-height:88vh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ahsp-autolink-modal.surface-card[role=dialog]{border-radius:16px;overflow:hidden}.ahsp-autolink-linking{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 16px;display:flex}.ahsp-autolink-linking-bar{background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:999px;width:min(320px,80%);height:6px;overflow:hidden}.ahsp-autolink-linking-bar span{background:var(--accent);border-radius:999px;height:100%;transition:width .22s;display:block}.ahsp-autolink-linking-hint{color:var(--muted);margin:0;font-size:11.5px}.ahsp-autolink-body{flex:1;min-height:0;padding:10px 20px 14px;overflow-y:auto}.ahsp-autolink-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ahsp-autolink-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr) minmax(0,1.35fr);align-items:center;gap:12px;padding:9px 12px;display:grid}.ahsp-autolink-row.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface-soft))}.ahsp-autolink-check{align-items:center;display:flex}.ahsp-autolink-check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.ahsp-autolink-item{flex-direction:column;min-width:0;display:flex}.ahsp-autolink-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ahsp-autolink-sub{color:var(--muted);font-size:11.5px}.ahsp-autolink-match{flex-direction:column;gap:5px;min-width:0;display:flex}.ahsp-autolink-select{width:100%;font:inherit;border:1px solid var(--border);background:var(--panel);color:inherit;border-radius:8px;padding:6px 8px;font-size:12.5px}.ahsp-autolink-nomatch{color:var(--muted);font-size:12px;font-style:italic}.ahsp-autolink-matchmeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ahsp-autolink-tier{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.ahsp-autolink-tier.tier-high{color:#15803d;background:#16a34a33}.ahsp-autolink-tier.tier-medium{color:#b45309;background:#d9770633}.ahsp-autolink-tier.tier-low{background:color-mix(in srgb, var(--muted) 22%, transparent);color:var(--muted)}.ahsp-autolink-tier.tier-manual{background:var(--accent-soft);color:var(--accent)}.ahsp-autolink-manual{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;text-decoration:underline}.ahsp-autolink-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.ahsp-autolink-count{color:var(--muted);font-size:12.5px}.ahsp-autolink-actions{gap:8px;display:flex}@media (max-width:560px){.ahsp-autolink-row{grid-template-columns:auto minmax(0,1fr)}.ahsp-autolink-match{grid-column:1/-1}}.enflow-draw-mark{width:84px;color:var(--ink);animation:3.4s linear infinite edm-fade;display:inline-flex}.enflow-draw-mark svg{width:100%;height:auto;display:block}.edm-ring{stroke-dasharray:985;stroke-dashoffset:985px;animation:3.4s cubic-bezier(.45,0,.25,1) infinite edm-ring}.edm-n{stroke-dasharray:1130;stroke-dashoffset:1130px;animation:3.4s cubic-bezier(.45,0,.25,1) infinite edm-n}.edm-bar{stroke-dasharray:226;stroke-dashoffset:226px;animation:3.4s ease-out infinite edm-bar}@keyframes edm-ring{0%,2%{stroke-dashoffset:985px}30%,to{stroke-dashoffset:0}}@keyframes edm-n{0%,24%{stroke-dashoffset:1130px}60%,to{stroke-dashoffset:0}}@keyframes edm-bar{0%,58%{stroke-dashoffset:226px}70%,to{stroke-dashoffset:0}}@keyframes edm-fade{0%,86%{opacity:1}96%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.enflow-draw-mark,.edm-ring,.edm-n,.edm-bar{animation:none}.edm-ring,.edm-n,.edm-bar{stroke-dashoffset:0}}.work-schedule-level-row>div:first-child>span{white-space:nowrap}.work-schedule-level-row .work-level-actions{flex-wrap:nowrap;flex-shrink:0}.work-schedule-level-row .work-level-actions .icon-duplicate-button,.work-schedule-level-row .work-level-actions .icon-delete-button{box-shadow:none;background:0 0;border-color:#0000}.work-schedule-level-row .work-level-actions .icon-delete-button{color:var(--muted)}.work-schedule-level-row .work-level-actions .icon-duplicate-button:hover{transform:none}.work-schedule-level-row .work-level-actions .icon-delete-button:hover{color:var(--danger);background:#d645451f;border-color:#0000;transform:none}.pcc-row2,.pcc-row3,.pcc-row4{align-items:stretch}.pcc-card:has(>.empty-state){flex-direction:column;gap:14px;display:flex}.pcc-card:has(>.empty-state)>.empty-state{flex-direction:column;flex:auto;justify-content:center;display:flex}.work-schedule-board.is-fullscreen,.work-schedule-board.advanced-gantt-board.is-fullscreen,.work-schedule-board.advanced-gantt-board.planner-advanced.is-fullscreen{grid-template-columns:minmax(0,1fr)}.work-schedule-board.is-fullscreen .work-schedule-left-pane{display:none}.procurement-cart-view .procurement-cart-list{flex-direction:column;display:flex}.procurement-cart-item{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:22px minmax(0,1fr) 128px 184px 120px;align-items:center;gap:14px;padding:12px 4px;display:grid}.procurement-cart-item.is-off{opacity:.5}.procurement-cart-item>input[type=checkbox]{width:17px;height:17px}.procurement-cart-item .pci-name strong{color:var(--ink);font-size:.95rem;display:block}.procurement-cart-item .pci-name small{color:var(--muted);font-size:.76rem}.procurement-cart-item .pci-qty{border:1px solid var(--line);border-radius:10px;justify-self:end;align-items:center;display:inline-flex;overflow:hidden}.procurement-cart-item .pci-qty button{cursor:pointer;width:30px;height:32px;color:var(--ink);background:0 0;border:0;font-size:1rem}.procurement-cart-item .pci-qty span{text-align:center;min-width:30px;font-size:.9rem}.procurement-cart-item .pci-qty em{color:var(--muted);padding:0 8px;font-size:.76rem;font-style:normal}.procurement-cart-item .pci-vendor{width:100%}.procurement-cart-item .pci-total{text-align:right;color:var(--ink);font-size:.92rem}.manpower-rating-fields{border-top:1px solid var(--line);gap:8px;margin-top:4px;padding-top:10px;display:grid}.manpower-rating-title{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.74rem;font-weight:600}.manpower-rating-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.manpower-rating-row>span{color:var(--ink);font-size:.85rem}.manpower-rating-row select{width:88px}.quality-detail.is-empty{justify-content:center;align-items:center;min-height:260px}.quality-detail.is-empty>.empty-state{width:100%;max-width:460px}.enflow-sheet-body .issue-detail-panel .issue-location-card,.enflow-sheet-body .issue-detail-panel .issue-evidence-box,.enflow-sheet-body .issue-detail-actions-card{padding:13px}.enflow-sheet-body .issue-detail-hero{align-items:center;padding:13px}.enflow-sheet-body .issue-detail-facts{padding-inline:13px}.enflow-sheet-body .issue-status-strip{margin-inline:13px}.rlv-toolbar{justify-content:flex-start}.rlx-head-copy{gap:2px;min-width:0;display:grid}.rlx-head-copy h4{margin:0}.rlx-filter{flex:none}.rlx-list{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.rlx-row{border-bottom:1px solid var(--line)}.rlx-row:last-child{border-bottom:0}.rlx-row.is-conflicted>.rlx-head{box-shadow:inset 3px 0 0 0 var(--danger,#c0322a)}.rlx-head{text-align:left;cursor:pointer;width:100%;min-height:48px;font:inherit;color:inherit;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;transition:background .14s;display:flex}.rlx-head:hover{background:var(--neutral-soft)}.rlx-head:focus-visible{outline:2px solid color-mix(in srgb, var(--ink,#1a1a1d) 35%, transparent);outline-offset:-2px}.rlx-twisty{width:22px;height:22px;color:var(--muted);border-radius:7px;flex:none;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.2,.78,.2,1);display:inline-flex}.rlx-twisty.is-open{transform:rotate(90deg)}.rlx-name{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:220px;font-size:.88rem;font-weight:650}.rlx-dates{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:.76rem}.rlx-chips{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-left:auto;display:flex}.rlx-chip{text-overflow:ellipsis;white-space:nowrap;background:var(--neutral-soft);max-width:180px;color:var(--muted);border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:650;overflow:hidden}.rlx-chip.is-filled{background:var(--success-soft);color:var(--success)}.rlx-chip.is-warn{background:var(--warning-soft);color:var(--warning)}.rlx-chip.is-bad{background:var(--danger-soft);color:var(--danger)}.rlx-body{grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.2,.78,.2,1);display:grid}.rlx-row.is-open>.rlx-body{grid-template-rows:1fr}.rlx-body-inner{visibility:visible;min-height:0;transition:visibility linear;overflow:hidden}.rlx-row:not(.is-open)>.rlx-body>.rlx-body-inner{visibility:hidden;transition-delay:.24s}.rlx-panel{gap:12px;padding:2px 14px 16px 46px;display:grid}.rlx-groups{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.rlx-group{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:8px;padding:10px 12px;display:grid}.rlx-group-head{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.rlx-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.68rem;font-weight:800}.rlx-clear{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:.7rem;font-weight:650;transition:color .12s,background .12s}.rlx-clear:hover{color:var(--danger,#c0322a);background:var(--danger-soft,#c0322a1c)}.rlx-saving{color:var(--muted);font-size:.7rem}.rlx-hint{color:var(--muted);margin:0;font-size:.72rem;line-height:1.45}.rlx-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.rlx-field{min-width:0;color:var(--muted);gap:3px;font-size:.68rem;font-weight:650;display:grid}.rlx-field-wide{grid-column:1/-1}.rlx-materials{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.rlx-mat-note{color:var(--muted);font-size:.68rem}.rlx-mats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px 18px;margin:0;padding:0;list-style:none;display:grid}.rlx-mats li{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;font-size:.78rem;display:flex}.rlx-mat-name{min-width:0;color:var(--ink);overflow-wrap:anywhere}.rlx-mat-qty{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}@media (max-width:640px){.rlx-panel{padding-left:14px}.rlx-chips{justify-content:flex-start;width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.rlx-body,.rlx-twisty,.rlx-head{transition:none}.rlx-row:not(.is-open)>.rlx-body>.rlx-body-inner{transition-delay:0s}}.resource-loading-view>.rlv-toolbar,.resource-loading-view>.rlv-section,.rlx-list{width:100%}.advanced-schedule-panel.resources-services-panel{display:block}.resource-loading-view{align-items:stretch;width:100%}.rlx-viewbar{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 10px;display:flex}.rlx-viewbar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:none;font-size:.7rem;font-weight:800}.rlx-view-scroll{scrollbar-width:none;min-width:0;max-width:100%;overflow-x:auto}.rlx-view-scroll::-webkit-scrollbar{display:none}.rlx-view{flex:none}.rlx-mats{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.rlx-mats li{flex-wrap:wrap}.rlx-mat-name{flex:140px}.rlx-mat-status{flex:none;width:136px;padding:4px 8px;font-size:.74rem}.invite-team-modal{width:min(680px,100%);max-height:min(86dvh,780px);overflow-y:auto}.rlx-group-mp{grid-column:1/-1}.rlx-mp-row{grid-template-columns:minmax(110px,1fr) minmax(140px,1.4fr) 68px minmax(110px,.9fr) 26px;align-items:end;gap:8px;display:grid}.rlx-mp-row+.rlx-mp-row{border-top:1px dashed var(--line);padding-top:8px}.rlx-mp-remove{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;margin-bottom:3px;padding:4px 6px;font-size:1rem;line-height:1;transition:color .12s,background .12s}.rlx-mp-remove:hover{color:var(--danger,#c0322a);background:var(--danger-soft,#c0322a1c)}.rlx-group-mp .rlx-saving{align-self:end;margin-bottom:8px}.rlx-mp-row.is-draft .rlv-input:not(:disabled){border-color:color-mix(in srgb, var(--ink,#1a1a1d) 52%, var(--line,#14121029))}@media (max-width:720px){.rlx-mp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rlx-mp-remove{justify-self:end}}.model-selection-strip.section-active .model-axis-toggle button{border-radius:10px;min-width:44px;min-height:38px;padding:6px 13px;font-weight:700}.model-section-plane-controls{flex-wrap:wrap;flex:280px;align-items:center;gap:10px;min-width:220px;display:flex}.model-section-plane-controls .model-section-hint{flex:100%}.model-section-plane-controls .model-section-slider{flex:auto}.model-selection-strip.section-active .model-section-plane-controls .model-section-slider{grid-template-columns:auto minmax(100px,1fr) auto}.model-section-offset-value{text-align:right;color:#ffffffc7;font-variant-numeric:tabular-nums;min-width:44px;font-size:.7rem}.model-selection-strip.section-active .model-section-slider input{appearance:none;background:linear-gradient(90deg,#0000 calc(50% - 1px),#fff9 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),#ffffff3d;border-radius:999px;outline:none;height:4px}.model-selection-strip.section-active .model-section-slider input::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;background:#fff;border:1px solid #1414174d;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0006}.model-selection-strip.section-active .model-section-slider input::-moz-range-thumb{cursor:grab;background:#fff;border:1px solid #1414174d;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0006}.model-section-plane-controls .model-section-reset{flex:none}.measure-secondary-toolbar button{border-radius:10px;min-height:40px}.rlx-mp-row{grid-template-columns:minmax(140px,1.3fr) 76px minmax(110px,.9fr) 26px}@media (max-width:720px){.rlx-mp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.model-properties-panel{z-index:17;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#ffffffeb;border:1px solid #d9e2efdb;border-radius:14px;flex-direction:column;width:min(320px,100vw - 32px);max-height:min(52vh,420px);display:flex;position:absolute;bottom:16px;right:16px;overflow:hidden;box-shadow:0 18px 40px #14141724}.model-properties-head{border-bottom:1px solid #d9e2efb3;align-items:center;gap:8px;padding:10px 12px;display:flex}.model-properties-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:800;overflow:hidden}.model-properties-head small{color:var(--muted);white-space:nowrap;font-size:.68rem}.model-properties-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:1.15rem;line-height:1}.model-properties-body{scrollbar-width:thin;padding:8px 12px 12px;overflow-y:auto}.model-prop-group-name{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 3px;font-size:.64rem;font-weight:800}.model-prop-row{justify-content:space-between;gap:10px;padding:2px 0;font-size:.74rem;display:flex}.model-prop-row>span:first-child{max-width:46%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.model-prop-row>span:last-child{text-align:right;overflow-wrap:anywhere;min-width:0}.model-prop-empty{color:var(--muted);padding:6px 0;font-size:.72rem}:root[data-theme=dark] .model-properties-panel,.app-shell[data-theme=dark] .model-properties-panel{border-color:var(--hud-line);background:var(--hud-surface);color:var(--hud-text)}:root[data-theme=dark] .model-properties-head,.app-shell[data-theme=dark] .model-properties-head{border-bottom-color:var(--hud-line)}:root[data-theme=dark] .model-properties-head small,:root[data-theme=dark] .model-properties-close,:root[data-theme=dark] .model-prop-group-name,:root[data-theme=dark] .model-prop-row>span:first-child,:root[data-theme=dark] .model-prop-empty,.app-shell[data-theme=dark] .model-properties-head small,.app-shell[data-theme=dark] .model-properties-close,.app-shell[data-theme=dark] .model-prop-group-name,.app-shell[data-theme=dark] .model-prop-row>span:first-child,.app-shell[data-theme=dark] .model-prop-empty{color:var(--hud-muted)}.boq-lite-manual .boq-drawing-trigger,.boq-lite-manual .boq-volume-3d-button,.boq-lite-manual .boq-source-select,.boq-lite-manual .boq-ahsp-change{display:none!important}.model-floating-tools{max-height:calc(100dvh - var(--model-tool-top) - var(--model-tool-bottom,16px));border-radius:calc(var(--model-tool-radius) + 7px);-webkit-backdrop-filter:blur(16px);background:#1a1a1dbd;border:1px solid #ffffff1a;padding:6px;bottom:auto;overflow:hidden auto;box-shadow:0 18px 40px #0000004d}.model-tool-divider{width:100%;margin:5px auto}.app-shell[data-theme=dark] .model-floating-tools button,:root[data-theme=dark] .model-floating-tools button{box-shadow:none;-webkit-backdrop-filter:none;color:#9c9c9f;background:0 0;border-color:#0000}.app-shell[data-theme=dark] .model-floating-tools button:hover,:root[data-theme=dark] .model-floating-tools button:hover{box-shadow:none;color:#f6f6f7;background:#ffffff17;border-color:#0000}.app-shell[data-theme=dark] .model-floating-tools button.active,:root[data-theme=dark] .model-floating-tools button.active{box-shadow:none;color:var(--accent);background:#ffffff24;border-color:#0000}.app-shell:not([data-theme=dark]) .model-floating-tools,:root:not([data-theme=dark]) .model-floating-tools{background:#ffffffeb;border-color:#1414171a;box-shadow:0 10px 30px #1414121f,0 1px 3px #1414120f}.app-shell:not([data-theme=dark]) .model-tool-divider,:root:not([data-theme=dark]) .model-tool-divider{box-shadow:none;background:#1412101f}.app-shell:not([data-theme=dark]) .model-floating-tools button,:root:not([data-theme=dark]) .model-floating-tools button{box-shadow:none;-webkit-backdrop-filter:none;color:#6f6b64;background:0 0;border-color:#0000}.app-shell:not([data-theme=dark]) .model-floating-tools button:hover,:root:not([data-theme=dark]) .model-floating-tools button:hover{box-shadow:none;color:#26241f;background:#14121012;border-color:#0000}.app-shell:not([data-theme=dark]) .model-floating-tools button.active,:root:not([data-theme=dark]) .model-floating-tools button.active{box-shadow:none;color:var(--accent);background:#1a1a1d1c;border-color:#0000}:root[data-theme=dark] .model-layer-row,.app-shell[data-theme=dark] .model-layer-row{border-color:var(--line);background:var(--surface)}:root[data-theme=dark] .model-layer-row.active,.app-shell[data-theme=dark] .model-layer-row.active{border-color:var(--border-strong);background:var(--surface-elevated)}:root[data-theme=dark] .model-layer-selection-card,.app-shell[data-theme=dark] .model-layer-selection-card{border-color:var(--line);background:var(--panel-soft)}:root[data-theme=dark] .model-layer-eye,.app-shell[data-theme=dark] .model-layer-eye{border-color:var(--line);background:var(--control-bg);color:var(--ink)}:root[data-theme=dark] .model-layer-eye:hover,.app-shell[data-theme=dark] .model-layer-eye:hover{background:#ffffff1f}:root[data-theme=dark] .model-layer-add-inline,.app-shell[data-theme=dark] .model-layer-add-inline{border-color:var(--border-strong);background:#ffffff0a}:root[data-theme=dark] .model-layer-add-inline.active,:root[data-theme=dark] .model-layer-icon-action.active,.app-shell[data-theme=dark] .model-layer-add-inline.active,.app-shell[data-theme=dark] .model-layer-icon-action.active{background:#ffffff24}:root[data-theme=dark] .model-layer-create input,:root[data-theme=dark] .model-layer-create select,:root[data-theme=dark] .model-layer-actions input,:root[data-theme=dark] .model-layer-selection-card select,:root[data-theme=dark] .model-layer-edit-fields input,:root[data-theme=dark] .model-layer-edit-fields select,.app-shell[data-theme=dark] .model-layer-create input,.app-shell[data-theme=dark] .model-layer-create select,.app-shell[data-theme=dark] .model-layer-actions input,.app-shell[data-theme=dark] .model-layer-selection-card select,.app-shell[data-theme=dark] .model-layer-edit-fields input,.app-shell[data-theme=dark] .model-layer-edit-fields select{border-color:var(--line);background-color:var(--control-bg)}:root[data-theme=dark] .model-layer-create>button,.app-shell[data-theme=dark] .model-layer-create>button{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .model-layer-row .danger,.app-shell[data-theme=dark] .model-layer-row .danger{background:var(--danger-soft);color:var(--danger)}.model-layer-sheet input[type=checkbox]{accent-color:var(--primary)}.model-layer-create select,.model-layer-selection-card select,.model-layer-edit-fields select{padding-right:30px}:root[data-theme=dark] .model-scenes-head button,:root[data-theme=dark] .model-scenes-actions button,:root[data-theme=dark] .model-scenes-create-actions button,:root[data-theme=dark] .model-scene-card-actions button,.app-shell[data-theme=dark] .model-scenes-head button,.app-shell[data-theme=dark] .model-scenes-actions button,.app-shell[data-theme=dark] .model-scenes-create-actions button,.app-shell[data-theme=dark] .model-scene-card-actions button{background:var(--control-bg)}:root[data-theme=dark] .model-scenes-actions button:first-child,:root[data-theme=dark] .model-scenes-create-actions button:last-child,.app-shell[data-theme=dark] .model-scenes-actions button:first-child,.app-shell[data-theme=dark] .model-scenes-create-actions button:last-child{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .model-scenes-create-card,.app-shell[data-theme=dark] .model-scenes-create-card{border-color:var(--line);background:var(--panel-soft)}:root[data-theme=dark] .model-scenes-create-card input,:root[data-theme=dark] .model-scenes-create-card textarea,.app-shell[data-theme=dark] .model-scenes-create-card input,.app-shell[data-theme=dark] .model-scenes-create-card textarea{background:var(--control-bg)}:root[data-theme=dark] .model-scenes-error,.app-shell[data-theme=dark] .model-scenes-error{background:var(--danger-soft)}:root[data-theme=dark] .model-scenes-status,.app-shell[data-theme=dark] .model-scenes-status{background:var(--control-bg)}:root[data-theme=dark] .model-scenes-empty,.app-shell[data-theme=dark] .model-scenes-empty{border-color:var(--border-strong);background:var(--control-bg)}:root[data-theme=dark] .model-scene-card,.app-shell[data-theme=dark] .model-scene-card{border-color:var(--line);background:var(--surface)}:root[data-theme=dark] .model-scene-card.active,.app-shell[data-theme=dark] .model-scene-card.active{border-color:var(--border-strong);background:var(--surface-elevated)}:root[data-theme=dark] .model-scene-thumb,.app-shell[data-theme=dark] .model-scene-thumb{border-color:var(--line);background:var(--surface-elevated)}:root[data-theme=dark] .model-share-link-row,.app-shell[data-theme=dark] .model-share-link-row{border-color:var(--line);background:var(--surface)}:root[data-theme=dark] .model-share-generated,:root[data-theme=dark] .model-share-status-card,.app-shell[data-theme=dark] .model-share-generated,.app-shell[data-theme=dark] .model-share-status-card{border-color:var(--line);background:var(--control-bg)}:root[data-theme=dark] .model-share-error,.app-shell[data-theme=dark] .model-share-error{background:var(--danger-soft)}:root[data-theme=dark] .model-share-warning-card,.app-shell[data-theme=dark] .model-share-warning-card{background:var(--warning-soft)}:root[data-theme=dark] .model-share-warning-card button.secondary,.app-shell[data-theme=dark] .model-share-warning-card button.secondary{background:var(--control-bg)}:root[data-theme=dark] .model-share-create,.app-shell[data-theme=dark] .model-share-create{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}:root[data-theme=dark] .model-tree-item,.app-shell[data-theme=dark] .model-tree-item{background:var(--surface)}:root[data-theme=dark] .model-tree-toggle,:root[data-theme=dark] .model-object-browser-close,.app-shell[data-theme=dark] .model-tree-toggle,.app-shell[data-theme=dark] .model-object-browser-close{background:var(--control-bg)}.daily-project-filter,.task-project-filter{width:auto;min-width:168px;max-width:240px}.confirm-modal.receive-modal{width:min(560px,100vw - 32px)}.receive-modal-summary{border:1px solid var(--border);background:var(--surface-muted,var(--surface-2,transparent));border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;padding:12px 14px;display:grid}.receive-modal-summary>div{gap:2px;min-width:0;display:grid}.receive-modal-summary span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.receive-modal-summary strong{overflow-wrap:anywhere;font-size:14px}.receive-modal-lines{gap:4px;max-height:132px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.receive-modal-lines li{border-bottom:1px solid var(--border-subtle,var(--border));justify-content:space-between;gap:12px;padding:4px 2px;font-size:13px;display:flex}.receive-modal-lines li span{overflow-wrap:anywhere;min-width:0}.receive-modal-lines li strong{white-space:nowrap}.receive-modal-notes{grid-column:1/-1}.receive-modal-warning{color:var(--warning);background:var(--warning-soft);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.receive-line-grid{gap:2px;max-height:220px;display:grid;overflow-y:auto}.receive-line-head,.receive-line-row{grid-template-columns:minmax(0,1fr) 88px 92px 92px;align-items:center;gap:8px;display:grid}.receive-line-head{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);z-index:1;padding:0 2px 4px;font-size:11px;position:sticky;top:0}.receive-line-head span:not(:first-child),.receive-line-outstanding{text-align:right}.receive-line-row{border-top:1px solid var(--border-subtle,var(--border));padding:4px 2px}.receive-line-name{overflow-wrap:anywhere;gap:1px;min-width:0;font-size:13px;display:grid}.receive-line-name small{color:var(--text-muted);font-size:11px}.receive-line-outstanding{white-space:nowrap;color:var(--text-muted);font-size:13px}.receive-line-row input{text-align:right;width:100%}@media (max-width:560px){.receive-line-head{display:none}.receive-line-row{grid-template-columns:minmax(0,1fr) 84px;row-gap:4px}}.rlx-orphan-note{border:1px solid var(--warning);background:var(--warning-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:9px 13px;font-size:12.5px;line-height:1.45;display:flex}.rlx-orphan-note button{border:1px solid var(--warning);color:inherit;cursor:pointer;background:0 0;border-radius:8px;flex:none;padding:5px 12px;font-size:12px;font-weight:600}.rlx-orphan-note button:disabled{opacity:.6;cursor:default}.rlx-group-actions{align-items:center;gap:8px;display:inline-flex}.rlx-derived-tag{opacity:.62;letter-spacing:.02em;margin-left:6px;font-size:10.5px;font-style:normal}@media (max-width:768px){.app-shell{--control-height:44px}}@media (min-width:980px) and (max-width:1185px){.asset-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}.model-discipline-block{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;gap:6px;padding:8px 10px;display:grid}.model-discipline-scan{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:.76rem}.model-discipline-summary{flex-wrap:wrap;gap:4px 12px;font-size:.74rem;display:flex}.model-discipline-summary strong{font-weight:650}.model-discipline-summary .is-unassigned{color:var(--warning)}.model-discipline-block small{color:var(--muted);font-size:.7rem}.model-discipline-actions{gap:6px;display:flex}.model-discipline-actions button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;flex:1;padding:5px 8px;font-size:.74rem}.auth-page{justify-items:stretch}@media (min-width:901px){.auth-page{--auth-frame-h:680px}.auth-page .auth-hero,.auth-page .auth-card{height:min(var(--auth-frame-h), calc(100dvh - 56px));min-height:0}.auth-page .auth-card{scrollbar-gutter:stable;overscroll-behavior:contain;overflow-y:auto}.auth-page .auth-card>*{flex-shrink:0}.auth-page .auth-hero{overflow-y:auto}}.channel-switch-list{gap:10px;display:grid}.channel-switch-row{border:1px solid var(--border,#1818151f);background:var(--surface-1,#fff9);border-radius:14px;overflow:hidden}.channel-switch-head{align-items:center;gap:14px;min-height:44px;padding:12px 14px;display:flex}.channel-switch-disclosure{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:auto;gap:2px;padding:0;display:grid}.channel-switch-disclosure:focus-visible{outline:2px solid var(--primary,#1a1a1d);outline-offset:3px;border-radius:6px}.channel-switch-head strong{font-size:.95rem}.channel-switch-head small{color:var(--muted,#6b6b70);line-height:1.35}.channel-switch-head input.channel-switch{appearance:none;border:1px solid var(--border,#18181529);background:var(--surface-3,#78788038);cursor:pointer;border-radius:999px;flex:none;width:46px;height:28px;min-height:28px;margin:0;transition:background .16s,border-color .16s;position:relative}.channel-switch-head input.channel-switch:before{content:"";position:absolute;inset:-8px}.channel-switch-head input.channel-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000047}.channel-switch-head input.channel-switch:checked{background:var(--success,#34c759);border-color:#0000}.channel-switch-head input.channel-switch:checked:after{transform:translate(18px)}.channel-switch-head input.channel-switch:focus-visible{outline:2px solid var(--primary,#1a1a1d);outline-offset:2px}.channel-switch-head input.channel-switch:disabled{cursor:not-allowed;opacity:.45}@media (prefers-reduced-motion:reduce){.channel-switch-head input.channel-switch,.channel-switch-head input.channel-switch:after{transition:none}}.channel-switch-body{border-top:1px solid var(--border,#18181514);gap:10px;padding:12px 14px 14px;display:grid}.channel-switch-note{color:var(--muted,#6b6b70);font-size:.86rem;line-height:1.45}:root[data-theme=dark] .channel-switch-row{background:#ffffff08;border-color:#ffffff1a}:where(:root[data-theme=dark]) .channel-switch-head input.channel-switch{background:#ffffff29;border-color:#ffffff24}:root[data-theme=dark] .channel-switch-body{border-top-color:#ffffff14}.telegram-chat-picks{flex-wrap:wrap;gap:8px;display:flex}.telegram-chat-picks button{align-items:baseline;gap:8px;display:inline-flex}.telegram-chat-picks small{color:var(--muted,#6b6b70);font-size:.75rem}.teams-channel-embedded{gap:10px;display:grid}.pcc-role-preview{border:1px dashed var(--line-strong);background:var(--panel-soft);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;padding:8px 12px;font-size:.82rem;display:flex}.pcc-role-preview label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.pcc-role-preview select{border:1px solid var(--line-strong);background-color:var(--panel);color:var(--ink);font:inherit;border-radius:999px;padding:5px 10px}.pcc-role-preview-note{opacity:.75}@media (max-width:620px){.pcc-role-preview-note{flex-basis:100%}}.auth-confirmation-loading{background:radial-gradient(120% 100% at 50% 0%, var(--primary-soft), transparent 58%), var(--bg);padding:24px}.auth-confirmation-card{text-align:center;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:24px;justify-items:center;gap:18px;width:min(440px,100%);max-width:440px;min-height:0;padding:40px 32px 34px;display:grid;box-shadow:0 24px 60px #0000001a,0 1px 3px #0000000d}.auth-confirmation-card:after{background:linear-gradient(90deg, transparent, var(--line-strong) 22%, var(--ink) 50%, var(--line-strong) 78%, transparent);opacity:.7}.auth-confirmation-logo-wrap{width:64px;height:64px;color:var(--ink)}.auth-confirmation-logo-wrap .enflow-draw-mark{width:60px}.auth-confirmation-copy{justify-items:center;gap:6px;max-width:34ch;display:grid}.auth-confirmation-card .auth-card-kicker{color:var(--muted)}.auth-confirmation-copy h1{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,4vw,1.6rem);font-weight:640;line-height:1.15}.auth-confirmation-progress{background:0 0;border-radius:0;grid-template-columns:repeat(3,1fr);gap:6px;width:min(260px,100%);height:auto;padding:0;display:grid;position:static;overflow:visible}.auth-confirmation-progress span{background:var(--primary-soft);border-radius:999px;height:4px;position:relative;overflow:hidden}.auth-confirmation-progress span.is-done{background:var(--ink)}.auth-confirmation-progress span.is-active:after{content:"";border-radius:inherit;background:var(--ink);width:60%;animation:1.25s cubic-bezier(.45,0,.55,1) infinite authStepWork;position:absolute;inset:0}@keyframes authStepWork{0%{transform:translate(-100%)}60%,to{transform:translate(167%)}}.auth-confirmation-card .auth-confirmation-step{color:var(--ink);gap:3px;margin:0;font-size:.86rem;font-weight:550;line-height:1.4;display:grid}.auth-confirmation-step-count{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}.auth-confirmation-card .auth-confirmation-message{max-width:34ch;color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.auth-confirmation-stall{border-top:1px solid var(--line);justify-items:center;gap:12px;width:100%;padding-top:14px;animation:.26s ease-out both authStallIn;display:grid}.auth-confirmation-card .auth-confirmation-stall p{max-width:34ch;color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.auth-confirmation-stall-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.auth-confirmation-stall-actions .auth-secondary{border-radius:999px;width:auto;min-height:44px;padding:0 18px}.auth-confirmation-stall-actions a{min-height:44px;color:var(--muted);align-items:center;padding:0 12px;font-size:.84rem;font-weight:560;text-decoration:none;display:inline-flex}.auth-confirmation-stall-actions a:hover{color:var(--ink);text-decoration:underline}@keyframes authStallIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width:420px){.auth-confirmation-card{padding:32px 22px 26px}}@media (prefers-reduced-motion:reduce){.auth-confirmation-progress span.is-active:after{width:55%;animation:none}.auth-confirmation-stall{animation:none}}.as-field select,.rload-cal-toolbar select,.mr-field select,.delays-field select,.cost-variance-form select,.pcc-role-preview select,.work-plan-edit-header select,.work-plan-facts select{padding-right:34px}.scurve-table-card{margin-top:16px;padding:16px}.scurve-table-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.scurve-table-head strong{color:var(--ink);font-size:.95rem;display:block}.scurve-table-head span{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.scurve-table-views{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.scurve-table-views button{min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.78rem;font-weight:600}.scurve-table-views button.is-active{background:var(--ink);color:var(--bg)}.scurve-table-scroll{overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;position:relative;overflow-x:auto}.scurve-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:.74rem}.scurve-table th,.scurve-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:6px 8px}.scurve-table thead th{z-index:2;background:var(--panel-soft);color:var(--ink);text-align:center;font-weight:650;position:sticky;top:0}.scurve-table thead th.scurve-col-month{border-bottom:1px solid var(--line-strong)}.scurve-col-period,.scurve-cell{width:var(--scurve-col-w,44px);min-width:var(--scurve-col-w,44px);max-width:var(--scurve-col-w,44px)}.scurve-col-period{font-weight:600}.scurve-col-no,.scurve-col-name,.scurve-col-bobot,.scurve-foot-label{z-index:3;background:var(--panel);text-align:left;position:sticky}.scurve-col-no{width:var(--scurve-no-w);min-width:var(--scurve-no-w);color:var(--muted);text-align:center;left:0}.scurve-col-name{left:var(--scurve-no-w);width:var(--scurve-name-w);min-width:var(--scurve-name-w);max-width:var(--scurve-name-w);color:var(--ink);white-space:normal;overflow-wrap:anywhere;font-weight:600;line-height:1.3}.scurve-col-bobot{left:calc(var(--scurve-no-w) + var(--scurve-name-w));width:var(--scurve-bobot-w);min-width:var(--scurve-bobot-w);border-right:1px solid var(--line-strong);text-align:right}.scurve-foot-label{min-width:calc(var(--scurve-no-w) + var(--scurve-name-w) + var(--scurve-bobot-w));border-right:1px solid var(--line-strong);font-weight:650;left:0}.scurve-table thead th.scurve-col-no,.scurve-table thead th.scurve-col-name,.scurve-table thead th.scurve-col-bobot{z-index:4;background:var(--panel-soft)}.scurve-cell{color:var(--ink)}.scurve-cell.is-future,.scurve-col-period.is-future{color:var(--muted);opacity:.72}.scurve-table tbody tr:hover td,.scurve-table tbody tr:hover th{background:var(--primary-soft)}.scurve-col-note{z-index:3;border-left:1px solid var(--line-strong);background:var(--panel);text-align:left;min-width:150px;position:sticky;right:0}.scurve-note-pair{color:var(--ink);gap:8px;font-weight:600;display:flex}.scurve-note-dev{margin-top:1px;font-size:.68rem;font-weight:600;display:block}.scurve-note-dev.is-behind{color:var(--danger)}.scurve-note-dev.is-ok{color:var(--muted)}.scurve-table tfoot th,.scurve-table tfoot td{background:var(--panel-soft);color:var(--ink);font-weight:600}.scurve-table tfoot tr.scurve-foot-cumulative th,.scurve-table tfoot tr.scurve-foot-cumulative td{background:var(--primary-soft);font-weight:700}@media (max-width:720px){.scurve-col-bobot{position:static}.scurve-col-name{width:150px;min-width:150px;max-width:150px}.scurve-foot-label{min-width:184px}}:where(.photo-stage-picker) .photo-stage-card.active{box-shadow:inset 0 0 0 2px rgba(var(--primary-rgb), .55), 0 10px 24px rgba(var(--primary-rgb), .12)}:where(.photo-stage-picker) .photo-stage-card.active strong{color:var(--ink);font-weight:700}.work-area-stats{gap:4px 12px}.work-area-stat{background:0 0;border-radius:0;padding:0;font-size:.78rem}.work-area-stat+.work-area-stat{border-left:1px solid var(--line);padding-left:12px}.work-area-stat.is-primary{color:var(--muted);background:0 0}.work-area-stat.is-primary strong,.work-area-stat strong{color:var(--ink);font-weight:700}.work-quick-filters button{border-color:var(--line-strong,var(--line));align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:650;display:inline-flex}.work-quick-filters button.active{font-weight:750}.work-quick-filter-tick{flex:none;width:13px;height:13px}.work-quick-filter-count{background:var(--neutral-soft);min-width:18px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 5px;font-size:.7rem;font-weight:700}@media (pointer:coarse){.work-quick-filters button{min-height:40px;padding:0 14px}}.scurve-table-card{--scurve-no-w:30px;--scurve-name-w:176px;--scurve-bobot-w:72px;--scurve-col-w:44px}.scurve-table{font-size:.69rem}.scurve-table th,.scurve-table td{height:26px;padding:4px 6px}.scurve-table thead th{padding-top:5px;padding-bottom:5px}.scurve-col-name{line-height:1.25}.scurve-table thead tr:first-child th{top:0}.scurve-table thead tr:nth-child(2) th{top:26px}.scurve-table-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.scurve-col-size{border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;align-items:center;gap:8px;padding:4px 10px;display:inline-flex}.scurve-col-size-label{color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:650}.scurve-col-size input[type=range]{width:96px;height:18px;accent-color:var(--ink);cursor:ew-resize}.scurve-col-size input[type=range]:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:999px}.scurve-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.scurve-panel-title{gap:1px;min-width:0;display:grid}.scurve-panel-title h4{margin:0;font-size:.95rem}.scurve-panel-title span{color:var(--muted);font-size:.72rem;line-height:1.35}.scurve-panel-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.scurve-panel-tools .advanced-scurve-legend{align-items:center;gap:10px;display:inline-flex}.scurve-table-empty,.scurve-chart-empty{color:var(--muted);margin:0;padding:18px 4px;font-size:.8rem}.scurve-curve-axis{align-items:stretch;height:100%;display:flex}.scurve-curve-svg{height:auto;display:block;position:absolute;top:0;left:0}.scurve-curve-grid{stroke:var(--line);stroke-width:1px}.scurve-curve-area{fill:var(--ink);opacity:.06}.scurve-curve-planned{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.scurve-curve-actual{fill:none;stroke:var(--accent,var(--ink));stroke-width:2.5px;stroke-dasharray:6 3;stroke-linejoin:round;stroke-linecap:round}.scurve-curve-dot{fill:var(--panel);stroke:var(--ink);stroke-width:2px}.scurve-today-rule{z-index:1;background:var(--line-strong);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.task-filter-count{background:var(--neutral-soft);min-width:18px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:6px;padding:1px 5px;font-size:.7rem;font-weight:700}.task-filter-panel{margin-top:10px}.scurve-curve-side{flex-direction:column;flex:auto;justify-content:space-between;gap:8px;min-width:0;padding:12px 12px 12px 14px;display:flex}.scurve-curve-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.7rem;font-weight:650;display:flex}.scurve-curve-legend span{align-items:center;gap:6px;display:inline-flex}.scurve-curve-legend i{border-top:2px solid var(--ink);border-radius:2px;width:16px;height:0}.scurve-curve-legend i.is-actual{border-top-style:dashed;border-top-width:2.5px}.scurve-curve-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.scurve-curve-figures dt{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.64rem;font-weight:650}.scurve-curve-figures dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.92rem;font-weight:700}.scurve-curve-figures .is-behind dd{color:var(--danger,var(--ink))}.scurve-curve-empty-note{color:var(--muted);margin:0;font-size:.7rem}.scurve-curve-ticks{width:42px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;padding-right:10px;font-size:.64rem;position:relative}.scurve-curve-ticks span{white-space:nowrap;line-height:1;position:absolute;right:10px;transform:translateY(-50%)}.scurve-curve-month{stroke:var(--line);stroke-width:1px}.scurve-table-frame{position:relative}.scurve-table thead tr.scurve-curve-row>th,.scurve-table thead tr.scurve-curve-row>td{border-bottom:1px solid var(--line);background:var(--panel-soft);vertical-align:top;padding:0;position:static;top:auto}.scurve-table thead tr.scurve-curve-row>th.scurve-curve-axis-cell{z-index:5;border-right:1px solid var(--line-strong);text-align:left;position:sticky;left:0}.scurve-curve-cell{line-height:0}.scurve-curve-plot{height:var(--scurve-curve-h,210px);position:relative}.scurve-curve-note-pad{background:var(--panel-soft)}.scurve-table thead tr.scurve-head-months>th{z-index:3;position:sticky;top:0}.scurve-table thead tr.scurve-head-weeks>th{z-index:3;position:sticky;top:26px}.scurve-table thead tr.scurve-head-months>th.scurve-col-no,.scurve-table thead tr.scurve-head-months>th.scurve-col-name,.scurve-table thead tr.scurve-head-months>th.scurve-col-bobot{z-index:6}.scurve-curve-week{stroke:var(--line);stroke-width:1px}.scurve-curve-dot{stroke:var(--ink);stroke-width:9px;stroke-linecap:round}.scurve-table th.scurve-col-period.is-today,.scurve-table td.scurve-cell.is-today{background:var(--neutral-soft)}.scurve-table tbody tr:hover td.scurve-cell.is-today{background:var(--primary-soft)}.scurve-split-handle{z-index:7;cursor:col-resize;touch-action:none;background:0 0;border:0;place-items:center;width:11px;padding:0;display:grid;position:absolute;top:0;bottom:0;transform:translate(-50%)}.scurve-split-handle:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:4px}.scurve-split-grip{background:var(--line-strong);border-radius:999px;width:1px;height:100%;transition:background .14s,width .14s;position:relative}.scurve-split-grip:after{content:"";border:1px solid var(--line-strong);background:var(--panel);border-radius:999px;width:5px;height:34px;transition:background .14s,border-color .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scurve-split-handle:hover .scurve-split-grip,.scurve-split-handle:focus-visible .scurve-split-grip,.scurve-table-frame.is-resizing .scurve-split-grip{background:var(--ink);width:3px}.scurve-split-handle:hover .scurve-split-grip:after,.scurve-split-handle:focus-visible .scurve-split-grip:after,.scurve-table-frame.is-resizing .scurve-split-grip:after{border-color:var(--ink);background:var(--ink)}.scurve-table-frame.is-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.offline-capability-banner{border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px;padding:10px 14px;font-size:.82rem;line-height:1.45;display:flex}.offline-capability-banner strong{font-weight:650;display:block}.offline-capability-banner strong+span{color:var(--muted)}.offline-capability-banner>span:nth-child(2){flex:260px}.offline-capability-dot{background:var(--warning);border-radius:999px;flex:none;width:8px;height:8px}.offline-capability-banner.is-blocked{border-color:var(--danger-soft)}.offline-capability-banner.is-blocked .offline-capability-dot{background:var(--danger)}.offline-capability-link{border:1px solid var(--line-strong);background:var(--panel);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:600}.offline-capability-link:hover{background:var(--primary-soft)}.sidebar-item.offline-blocked{opacity:.55}.sidebar-item.offline-blocked .sidebar-label{text-decoration:line-through;text-decoration-thickness:1px}.sidebar-offline-dot{background:var(--danger);border-radius:999px;flex:none;width:6px;height:6px;margin-left:auto}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item-badge{border:0;border-radius:999px;width:9px;min-width:9px;height:9px;padding:0;font-size:0;line-height:0;display:block;position:absolute;top:6px;right:8px;overflow:hidden}.app-shell.sidebar-collapsed .sidebar:not(:hover) .sidebar-item{position:relative}