:root{--df-primary:#1e3a5f;--df-primary-hover:#2e5d8a;--df-primary-soft:#e8f1fa;--df-accent:#4f9cf9;--df-accent-hover:#2f80ed;--df-success:#22c55e;--df-success-soft:#e8f8ee;--df-warning:#f59e0b;--df-warning-soft:#fef3e2;--df-danger:#dc2626;--df-danger-soft:#fcebeb;--df-background:#f8fafc;--df-surface:#fff;--df-surface-muted:#f1f5f9;--df-border:#cbd5e1;--df-border-soft:#e2e8f0;--df-text:#111827;--df-text-muted:#64748b;--df-text-inverse:#fff;--df-font-heading:"Inter Tight", ui-sans-serif, system-ui, sans-serif;--df-font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--df-font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--df-text-h1:48px;--df-text-h2:32px;--df-text-h3:24px;--df-text-body:16px;--df-text-small:14px;--df-text-tiny:12px;--df-weight-regular:400;--df-weight-medium:500;--df-weight-semibold:600;--df-weight-bold:700;--df-radius-sm:6px;--df-radius-md:10px;--df-radius-lg:16px;--df-radius-pill:999px;--df-space-xs:4px;--df-space-sm:8px;--df-space-md:16px;--df-space-lg:24px;--df-space-xl:32px;--df-space-xxl:48px;--df-shadow-card:0 1px 3px #0f172a14;--df-shadow-elevated:0 10px 30px #0f172a1f;--df-focus-ring:0 0 0 3px var(--df-primary-soft);--paper:var(--df-background);--panel:var(--df-surface);--ink:var(--df-text);--soft-ink:#334155;--muted:var(--df-text-muted);--line:var(--df-border-soft);--teal:var(--df-primary);--sans:var(--df-font-body);--mono:var(--df-font-mono);--heading:var(--df-font-heading);color:var(--soft-ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--df-accent);outline-offset:2px}._button_h5fgf_1{border-radius:var(--df-radius-md);min-height:40px;font-family:var(--df-font-body);font-size:13px;font-weight:var(--df-weight-semibold);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 15px;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}._button_h5fgf_1:focus-visible{outline:2px solid var(--df-accent);outline-offset:2px}._button_h5fgf_1:disabled{cursor:not-allowed;opacity:.55}._sm_h5fgf_28{min-height:34px;padding:0 12px;font-size:12px}._primary_h5fgf_34{background:var(--df-primary);border-color:var(--df-primary);color:var(--df-text-inverse)}._primary_h5fgf_34:hover:not(:disabled){background:var(--df-primary-hover);border-color:var(--df-primary-hover)}._ghost_h5fgf_44{background:var(--df-surface);border-color:var(--df-border);color:var(--df-text)}._ghost_h5fgf_44:hover:not(:disabled){border-color:var(--df-text-muted)}._danger_h5fgf_53{background:var(--df-surface);color:var(--df-danger);border-color:#efc6c6}._danger_h5fgf_53:hover:not(:disabled){background:var(--df-danger-soft)}._block_h5fgf_62{width:100%}._field_1ym2r_1{gap:6px;display:grid}._label_1ym2r_6{color:var(--df-text-muted);font-size:12px;font-weight:var(--df-weight-semibold)}._control_1ym2r_12{box-sizing:border-box;border:1px solid var(--df-border);border-radius:var(--df-radius-md);background:var(--df-surface);width:100%;min-width:0;height:40px;color:var(--df-text);font-family:var(--df-font-body);padding:0 12px;font-size:14px}._control_1ym2r_12:focus{border-color:var(--df-accent);box-shadow:var(--df-focus-ring);outline:none}._control_1ym2r_12:disabled{opacity:.6;cursor:not-allowed}._textarea_1ym2r_37{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.45}._mono_1ym2r_45{font-family:var(--df-font-mono);font-variant-numeric:tabular-nums}._invalid_1ym2r_50{border-color:var(--df-danger);background:var(--df-danger-soft)}._error_1ym2r_55{color:var(--df-danger);font-size:12px;font-weight:var(--df-weight-medium)}._overlay_429c7_1{z-index:50;padding:var(--df-space-lg);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._card_429c7_12{background:var(--df-surface);border:1px solid var(--df-border-soft);border-radius:var(--df-radius-lg);width:min(440px,100%);box-shadow:var(--df-shadow-elevated);padding:22px}._head_429c7_21{color:var(--df-primary);align-items:center;gap:10px;display:flex}._head_429c7_21 strong{font-family:var(--df-font-heading);color:var(--df-text);font-size:16px;font-weight:var(--df-weight-semibold)}._body_429c7_35{color:var(--df-text-muted);margin-top:10px;font-size:13px;line-height:1.5}._actions_429c7_42{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.df-landing{--primary:var(--df-primary);--primary-hover:var(--df-primary-hover);--primary-soft:var(--df-primary-soft);--accent:var(--df-accent);--success:var(--df-success);--warning:var(--df-warning);--bg:var(--df-background);--surface:var(--df-surface);--surface-muted:var(--df-surface-muted);--border:var(--df-border);--border-soft:var(--df-border-soft);--text:var(--df-text);--muted:var(--df-text-muted);--fh:var(--df-font-heading);--fb:var(--df-font-body);--fm:var(--df-font-mono);--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:22px;--shadow:0 1px 3px #0f172a14;--shadow-lg:0 18px 50px #0f172a29;--maxw:1160px;font-family:var(--fb);color:#334155;background:var(--bg);min-height:100svh;line-height:1.6}.df-landing h1,.df-landing h2,.df-landing h3{font-family:var(--fh);color:var(--text);letter-spacing:-.02em;margin:0;line-height:1.08}.df-landing p{margin:0}.df-landing a{color:inherit;text-decoration:none}.df-landing .mono{font-family:var(--fm);font-variant-numeric:tabular-nums}.df-landing .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.df-landing .btn{border-radius:var(--r-md);height:44px;font-family:var(--fb);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.df-landing .btn:hover{transform:translateY(-1px)}.df-landing .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.df-landing .btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.df-landing .btn-ghost{color:var(--primary);border-color:var(--border);background:0 0}.df-landing .btn-ghost:hover{border-color:var(--primary);background:#fff}.df-landing .btn-on-dark{color:var(--primary);background:#fff;border-color:#fff}.df-landing .btn-on-dark:hover{background:var(--primary-soft);border-color:var(--primary-soft)}.df-landing .btn-sm{height:38px;padding:0 14px;font-size:14px}.df-landing .site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);background:#f8fafcd9;position:sticky;top:0}.df-landing .nav{justify-content:space-between;align-items:center;height:68px;display:flex}.df-landing .logo{align-items:center;gap:11px;display:flex}.df-landing .logo svg{flex:none;width:34px;height:34px}.df-landing .logo span{font-family:var(--fh);color:var(--text);font-size:20px;font-weight:700}.df-landing .nav-links{align-items:center;gap:28px;display:flex}.df-landing .nav-links a.link{color:var(--muted);cursor:pointer;font-size:15px;font-weight:500;transition:color .15s}.df-landing .nav-links a.link:hover{color:var(--text)}.df-landing .nav-right{align-items:center;gap:12px;display:flex}@media (width<=860px){.df-landing .nav-links a.link{display:none}}.df-landing .hero{padding:64px 0 72px;position:relative;overflow:hidden}.df-landing .hero:before{content:"";z-index:0;background-image:linear-gradient(var(--border-soft) 1px, transparent 1px), linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);opacity:.6;background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 35%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 0,#000 35%,#0000 75%)}.df-landing .hero .wrap{z-index:1;position:relative}.df-landing .pill{background:var(--primary-soft);height:30px;color:var(--primary);border:1px solid #d3e4f6;border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex}.df-landing .pill .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.df-landing .hero h1{max-width:16ch;margin:22px 0 0;font-size:clamp(38px,6vw,64px);font-weight:800}.df-landing .hero h1 .hl{color:var(--primary)}.df-landing .hero p.sub{color:var(--muted);max-width:60ch;margin:22px 0 0;font-size:clamp(17px,2.2vw,21px)}.df-landing .hero-cta{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.df-landing .hero-meta{color:var(--muted);flex-wrap:wrap;gap:26px;margin-top:30px;font-size:14px;display:flex}.df-landing .hero-meta b{color:var(--text);font-family:var(--fm);font-weight:500}.df-landing .hero-meta span{align-items:center;gap:8px;display:inline-flex}.df-landing .hero-meta svg{color:var(--success)}.df-landing .preview{z-index:1;margin-top:54px;position:relative}.df-landing .window{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.df-landing .window-bar{border-bottom:1px solid var(--border-soft);background:var(--surface-muted);align-items:center;gap:8px;padding:13px 16px;display:flex}.df-landing .window-bar i{background:#cbd5e1;border-radius:50%;width:11px;height:11px;display:inline-block}.df-landing .window-bar .addr{font-family:var(--fm);color:var(--muted);margin-left:12px;font-size:12px}.df-landing .app{grid-template-columns:200px 1fr 260px;min-height:420px;display:grid}.df-landing .app-side{border-right:1px solid var(--border-soft);padding:18px 14px}.df-landing .app-side .item{height:36px;color:var(--muted);border-radius:8px;align-items:center;gap:9px;padding:0 11px;font-size:13.5px;font-weight:500;display:flex}.df-landing .app-side .item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.df-landing .app-side .item .ico{border:1.6px solid;border-radius:3px;flex:none;width:15px;height:15px}.df-landing .app-main{min-width:0;padding:22px}.df-landing .app-main h4{font-family:var(--fh);color:var(--text);margin:0 0 3px;font-size:18px}.df-landing .app-main .lede{color:var(--muted);margin-bottom:16px;font-size:12.5px}.df-landing .stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.df-landing .stat{border:1px solid var(--border-soft);border-radius:var(--r-md);padding:12px 13px}.df-landing .stat span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px;font-weight:600;display:block}.df-landing .stat b{font-family:var(--fm);color:var(--text);margin-top:5px;font-size:21px;font-weight:500;display:block}.df-landing .stat b.warn{color:var(--warning);font-family:var(--fh);font-size:16px}.df-landing .tbl{border:1px solid var(--border-soft);border-radius:var(--r-md);font-size:12px;overflow:hidden}.df-landing .trow{border-top:1px solid var(--border-soft);grid-template-columns:36px 1.4fr .7fr 1fr .8fr;align-items:center;gap:8px;padding:9px 12px;display:grid}.df-landing .trow:first-child{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-top:0;font-size:10px;font-weight:600}.df-landing .trow.sel{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--accent)}.df-landing .trow .r{text-align:right}.df-landing .trow .fin{font-family:var(--fm);color:var(--text);font-weight:500}.df-landing .sw{border:1px solid var(--border);vertical-align:-2px;border-radius:3px;width:13px;height:13px;margin-right:6px;display:inline-block}.df-landing .chipw{color:var(--warning);background:#fef3e2;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.df-landing .app-insp{border-left:1px solid var(--border-soft);padding:20px}.df-landing .app-insp .ilabel{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10.5px;font-weight:600}.df-landing .app-insp .iname{font-family:var(--fh);color:var(--text);margin-top:3px;font-size:16px;font-weight:600}.df-landing .calc{border:1px solid var(--border-soft);border-radius:var(--r-md);margin-top:16px;overflow:hidden}.df-landing .cline{border-top:1px solid var(--border-soft);justify-content:space-between;padding:9px 12px;font-size:12px;display:flex}.df-landing .cline:first-child{border-top:0}.df-landing .cline span{color:var(--muted)}.df-landing .cline b{font-family:var(--fm);color:var(--text);font-weight:500}.df-landing .result{background:var(--primary);border-radius:var(--r-md);margin-top:14px;padding:14px 16px}.df-landing .result span{text-transform:uppercase;letter-spacing:.05em;color:#afc8e6;font-size:10.5px;font-weight:600;display:block}.df-landing .result b{font-family:var(--fm);color:#fff;margin-top:4px;font-size:22px;font-weight:500;display:block}@media (width<=820px){.df-landing .app{grid-template-columns:1fr}.df-landing .app-side,.df-landing .app-insp{display:none}}.df-landing section{padding:84px 0}.df-landing .section-head{text-align:center;max-width:680px;margin:0 auto 52px}.df-landing .section-head .pill{margin-bottom:16px}.df-landing .section-head h2{font-size:clamp(28px,4vw,40px);font-weight:700}.df-landing .section-head p{color:var(--muted);margin-top:14px;font-size:17px}.df-landing .features{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=900px){.df-landing .features{grid-template-columns:1fr 1fr}}@media (width<=620px){.df-landing .features{grid-template-columns:1fr}}.df-landing .card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px;transition:transform .18s,box-shadow .18s,border-color .18s}.df-landing .card:hover{box-shadow:var(--shadow-lg);border-color:#bcd2ea;transform:translateY(-3px)}.df-landing .ficon{background:var(--primary-soft);width:46px;height:46px;color:var(--primary);border-radius:12px;place-items:center;margin-bottom:16px;display:grid}.df-landing .card h3{font-size:18px;font-weight:600}.df-landing .card p{color:var(--muted);margin-top:9px;font-size:14.5px}.df-landing .how{background:var(--surface);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.df-landing .steps{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=760px){.df-landing .steps{grid-template-columns:1fr}}.df-landing .step{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--bg);padding:28px;position:relative}.df-landing .step .num{font-family:var(--fm);color:#fff;background:var(--primary);border-radius:9px;place-items:center;width:34px;height:34px;margin-bottom:16px;font-size:13px;font-weight:500;display:grid}.df-landing .step h3{font-size:18px;font-weight:600}.df-landing .step p{color:var(--muted);margin-top:9px;font-size:14.5px}.df-landing .who{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=840px){.df-landing .who{grid-template-columns:1fr 1fr}}.df-landing .who-card{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface);text-align:center;box-shadow:var(--shadow);padding:24px}.df-landing .who-card .ico{width:42px;height:42px;color:var(--primary);margin:0 auto 14px}.df-landing .who-card h3{font-size:16px;font-weight:600}.df-landing .who-card p{color:var(--muted);margin-top:7px;font-size:13.5px}.df-landing .exports{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.df-landing .fmt{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:10px;padding:14px 20px;display:inline-flex}.df-landing .fmt b{font-family:var(--fm);color:var(--primary);font-weight:500}.df-landing .fmt span{color:var(--muted);font-size:13.5px}.df-landing .cta-band{background:var(--primary);border-radius:var(--r-xl);text-align:center;padding:60px 40px;position:relative;overflow:hidden}.df-landing .cta-band:before{content:"";background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80%,#000,#0000 75%);mask-image:radial-gradient(70% 80%,#000,#0000 75%)}.df-landing .cta-band .inner{z-index:1;position:relative}.df-landing .cta-band h2{color:#fff;font-size:clamp(26px,4vw,38px);font-weight:700}.df-landing .cta-band p{color:#c7d8ec;max-width:50ch;margin:14px auto 0;font-size:17px}.df-landing .cta-band .hero-cta{justify-content:center}.df-landing .site-footer{border-top:1px solid var(--border-soft);padding:54px 0 40px}.df-landing .foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.df-landing .foot .logo span{font-size:18px}.df-landing .foot-links{flex-wrap:wrap;gap:24px;display:flex}.df-landing .foot-links a,.df-landing .foot-link-btn{color:var(--muted);cursor:pointer;font-size:14px}.df-landing .foot-links a:hover,.df-landing .foot-link-btn:hover{color:var(--text)}.df-landing .foot-link-btn{font-family:var(--fb);background:0 0;border:0;padding:0}.df-landing .foot-copy{color:var(--muted);margin-top:28px;font-size:13px}.df-landing .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.df-landing .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.df-landing .reveal{opacity:1;transition:none;transform:none}.df-landing .btn:hover,.df-landing .card:hover{transform:none}}.login-screen{background:linear-gradient(90deg,#1e3a5f14 0 1px,#0000 1px 56px),linear-gradient(0deg,#1e3a5f14 0 1px,#0000 1px 56px),#f6f7f4;grid-template-columns:minmax(320px,520px);justify-content:center;align-items:center;min-height:100svh;padding:48px;display:grid}.login-panel,.preview-stack{border:1px solid var(--line);background:#ffffffeb;border-radius:8px;box-shadow:0 24px 80px #18231f1f}.login-panel{padding:28px 32px}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-lockup strong{color:var(--ink);font-size:17px;line-height:1.1;display:block}.brand-lockup span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.brand-mark{color:#fff;background:#1e3a5f;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand-lockup.compact .brand-mark{width:34px;height:34px}.login-copy{margin:48px 0 22px}.login-copy h1{max-width:460px;color:var(--ink);margin:0 0 16px;font-size:clamp(34px,4.4vw,52px);font-weight:700;line-height:.98}.signup-panel .login-copy{margin:34px 0 18px}.signup-panel .login-copy h1{max-width:420px;font-size:clamp(32px,4vw,46px)}.signup-panel .login-copy p{font-size:15px}.signup-panel .login-fields{gap:10px}.login-copy p{color:var(--soft-ink);font-size:16px;line-height:1.5}.login-fields{gap:14px;margin-bottom:0;display:grid}.auth-actions{align-items:center;gap:14px;margin-top:20px;display:flex}.text-action{width:max-content;color:var(--teal);font:600 13px/1.3 var(--sans);cursor:pointer;background:0 0;border:0;padding:0}.form-error{color:#8d1f1f;font-size:12px;font-weight:600}.app-shell{background:var(--paper);min-height:100svh;display:grid}.app-shell.with-inspector{grid-template-columns:224px minmax(720px,1fr) 340px}.app-shell.no-inspector{grid-template-columns:224px minmax(0,1fr)}.sidebar,.inspector{background:var(--panel);border-right:1px solid var(--line);min-height:100svh}.sidebar{flex-direction:column;padding:20px 14px;display:flex}.sidebar nav{gap:5px;margin-top:34px;display:grid}.nav-item,.ghost-button,.primary-action,.table-toolbar button,.rail-header button,.icon-button{font:inherit;cursor:pointer;border:0}.nav-item{min-height:42px;color:var(--soft-ink);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.nav-item.active,.nav-item:hover{color:var(--ink);background:#e8f1fa}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.nav-toggle{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:none}.account-strip{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.account-strip strong,.account-strip span{display:block}.account-strip strong{color:var(--ink);font-size:13px}.account-strip span{color:var(--muted);font-size:12px}.icon-button{width:32px;height:32px;color:var(--soft-ink);background:#f1f5f9;border-radius:8px;place-items:center;display:grid}.workspace{min-width:0;padding:24px;overflow:auto}.page-workspace{width:100%;max-width:1180px}.submitted-list,.materials-list,.template-grid,.file-list,.user-list{gap:12px;display:grid}.submitted-card,.material-row,.template-card,.empty-state,.admin-panel,.file-row,.user-row{border:1px solid var(--line);background:#fff;border-radius:8px}.submitted-card,.material-row,.file-row,.user-row{width:100%;color:var(--soft-ink);text-align:left;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.submitted-card{cursor:pointer}.submitted-card:hover{background:#f4f8fc;border-color:#bbd3ec}.submitted-card span,.submitted-card small,.file-row span,.file-row small,.user-row span,.user-row small,.material-row small,.template-card span,.template-card p,.empty-state span{color:var(--muted);font-size:12px}.submitted-card strong,.file-row strong,.user-row strong,.material-row strong,.template-card strong,.empty-state strong{color:var(--ink);font-size:16px;display:block}.submitted-card b{color:var(--ink);text-align:right;font-size:24px;line-height:1;display:block}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-card{gap:12px;padding:18px;display:grid}.template-card svg{color:var(--teal)}.template-card p{margin:0;line-height:1.45}.material-row{justify-content:flex-start}.material-row .ghost-button{margin-left:auto}.material-swatch{border:1px solid var(--line);background:#d9c8ad;border-radius:8px;flex:none;width:42px;height:42px}.swatch-1{background:#e5d9bd}.swatch-2{background:#cabf9b}.swatch-3{background:#8d9a77}.swatch-4{background:#f8f8f1}.swatch-5{background:#7d665a}.empty-state{justify-items:start;gap:10px;padding:22px;display:grid}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.admin-mode-tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.admin-tabs button,.admin-mode-tabs button{border:1px solid var(--line);min-height:38px;color:var(--soft-ink);font:600 12px/1 var(--sans);cursor:pointer;background:#fff;border-radius:8px;padding:0 13px}.admin-tabs button.active,.admin-tabs button:hover,.admin-mode-tabs button.active,.admin-mode-tabs button:hover{color:var(--ink);background:#e8f1fa;border-color:#bbd3ec}.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;display:grid}.admin-panel{min-width:0;padding:14px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-heading strong{color:var(--ink);font-size:16px}.panel-heading span{color:var(--muted);font-size:12px;font-weight:600}.file-row{padding:14px}.file-row>div,.user-row>div{min-width:0}.file-row strong,.user-row strong{overflow-wrap:anywhere}.file-row .ghost-button{flex:none;text-decoration:none}.user-row{padding:14px}.user-row.disabled{background:#fbf7f7}.user-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.ghost-button.danger{color:#8d1f1f;background:#fff8f8;border-color:#efc6c6}.ghost-button:disabled,.primary-action:disabled{cursor:not-allowed;opacity:.55}.workspace-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.workspace-header h1{color:var(--ink);margin:0 0 6px;font-size:30px;line-height:1.1}.workspace-header p,.table-toolbar p{color:var(--muted);margin:0;font-size:13px}.header-actions{align-items:center;gap:10px;display:flex}.save-pill{border:1px solid var(--line);min-height:32px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.save-pill.saving{color:#8a5a00;background:#fff8eb;border-color:#f0d6a2}.save-pill.error{color:#8d1f1f;background:#fff1f1;border-color:#f0b9b9}.ghost-button,.primary-action,.table-toolbar button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.ghost-button{border:1px solid var(--line);color:var(--ink);background:#fff}.primary-action{color:#fff;background:var(--teal)}.primary-action.small{min-height:40px}.job-fields{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px;display:grid}label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}input,select,textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:500 13px/1.2 var(--sans);background:#fff;border-radius:8px}input,select{height:38px;padding:0 10px}textarea{resize:vertical;min-height:88px;padding:10px}.summary-band{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.summary-band div{background:#fff;padding:16px}.summary-band span,.summary-band strong{display:block}.summary-band span{color:var(--muted);font-size:12px}.summary-band strong{color:var(--ink);margin-top:4px;font-size:22px;line-height:1.1}.order-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.table-toolbar h2{color:var(--ink);margin:0 0 4px;font-size:18px}.table-toolbar button{color:#fff;background:#1e3a5f}.order-table{width:100%}.table-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(42px,.35fr) minmax(128px,1.3fr) minmax(106px,.95fr) minmax(62px,.55fr) minmax(62px,.55fr) minmax(110px,1fr) minmax(120px,1.05fr) minmax(106px,.95fr) 32px;align-items:center;gap:6px;min-height:58px;padding:9px 8px;display:grid}.table-row.active{background:#eaf2fb}.table-head{min-height:40px;color:var(--muted);letter-spacing:0;text-transform:uppercase;background:#f1f5f9;font-size:11px;font-weight:600}.table-row strong{color:var(--ink);white-space:nowrap;font-size:12.5px;line-height:1.25}.warning-text{color:#b36b00!important}.inspector{border-right:0;border-left:1px solid var(--line);padding:20px;overflow:auto}.inspector-title{color:var(--teal);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.inspector-title span,.inspector-title strong{display:block}.inspector-title span{color:var(--muted);font-size:12px;font-weight:700}.inspector-title strong{max-width:250px;color:var(--ink);margin-top:5px;font-size:20px;line-height:1.15}.calc-card,.warning-panel,.export-panel{border:1px solid var(--line);background:#fff;border-radius:8px}.calc-card{background:var(--line);gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.calc-line,.result-box{background:#fff}.calc-line{justify-content:space-between;gap:12px;padding:13px;font-size:13px;display:flex}.calc-line span{color:var(--muted)}.calc-line strong{color:var(--ink)}.result-box{color:var(--teal);gap:5px;padding:16px;display:grid}.result-box span{color:var(--muted);font-size:12px;font-weight:700}.result-box strong{color:var(--ink);font-size:24px;line-height:1.1}.inspector>label{margin-bottom:12px}.warning-panel{color:#a35a00;background:#fff8eb;border-color:#f0d6a2;gap:12px;margin-top:16px;padding:14px;display:flex}.warning-panel strong,.warning-panel span{display:block}.warning-panel strong{color:#6f3d00;font-size:13px}.warning-panel span{color:#7b5d2c;margin-top:4px;font-size:12px;line-height:1.45}.export-panel{gap:12px;margin-top:14px;padding:14px;display:grid}.export-panel div{color:var(--teal);align-items:center;gap:8px;display:flex}.export-panel strong{color:var(--ink);font-size:13px}.export-panel p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}@media (width<=1720px){.app-shell.with-inspector{grid-template-columns:196px minmax(0,1fr) 320px}.app-shell.no-inspector{grid-template-columns:196px minmax(0,1fr)}.sidebar{grid-row:1}.workspace{grid-column:2}.inspector{border-top:0;border-left:1px solid var(--line);grid-column:3;min-height:100svh}}@media (width<=1440px){.app-shell.with-inspector{grid-template-columns:86px minmax(0,1fr) 304px}.app-shell.no-inspector{grid-template-columns:86px minmax(0,1fr)}.brand-lockup.compact div:last-child,.nav-item span{display:none}.nav-item{justify-content:center;padding:0}.workspace{padding:20px}.inspector{padding:16px}.table-toolbar{padding:14px}.table-toolbar h2{font-size:16px}.table-toolbar p{font-size:12px}.table-row{grid-template-columns:44px minmax(118px,1.15fr) minmax(98px,.92fr) 58px 58px minmax(104px,.96fr) minmax(114px,1fr) minmax(102px,.9fr) 30px;gap:5px;padding:8px}.table-row input,.table-row select{height:36px;padding:0 8px;font-size:12.5px}.table-head{font-size:10px}.table-row strong{font-size:12px}.icon-button{width:30px;height:30px}}@media (width<=1180px){.app-shell.with-inspector{grid-template-columns:72px minmax(0,1fr) 286px}.app-shell.no-inspector{grid-template-columns:72px minmax(0,1fr)}.workspace{padding:16px}.table-row{grid-template-columns:40px minmax(96px,1fr) minmax(86px,.88fr) 52px 52px minmax(94px,.94fr) minmax(104px,1fr) minmax(88px,.82fr) 28px}}@media (width<=820px){.login-screen{grid-template-columns:1fr;padding:20px}.auth-actions{flex-direction:column;align-items:flex-start}.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:column;gap:8px;min-height:auto;padding:12px 14px}.nav-toggle{display:flex}.sidebar nav{margin-top:8px;display:none}.sidebar nav.open{gap:5px;display:grid}.brand-lockup.compact div:last-child,.nav-item span{display:block}.account-strip{display:none}.workspace{padding:16px}.workspace-header,.table-toolbar{flex-direction:column;align-items:stretch}.header-actions{flex-wrap:wrap}.job-fields,.summary-band,.template-grid,.admin-grid{grid-template-columns:1fr}}.field-invalid{background:#fdf3f2!important;border-color:#c0473f!important}.issue-banner{color:#8d1f1f;background:#fdf3f2;border:1px solid #e7b9b4;border-radius:10px;gap:12px;margin:0 0 16px;padding:14px 16px;display:flex}.issue-banner strong{color:#7a1b1b;font-size:13px;display:block}.issue-banner ul,.check-list{margin:6px 0 0;padding-left:18px}.issue-banner li,.check-list li{font-size:12px;line-height:1.5}.warning-panel.ok{color:#1f6b4f;background:#eefaf3;border-color:#bfe6d2}.warning-panel.ok strong{color:#155e3f}.warning-panel .check-list li{color:#7b5d2c}.modal-overlay{z-index:50;background:#18231f6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(440px,100%);padding:22px;box-shadow:0 24px 80px #18231f38}.modal-head{color:var(--teal);align-items:center;gap:10px;display:flex}.modal-head strong{color:var(--ink);font-size:16px}.modal-card>p{color:var(--soft-ink);margin:10px 0 0;font-size:13px;line-height:1.5}.modal-summary{border:1px solid var(--line);background:#fff;border-radius:10px;margin:16px 0 0;padding:12px 14px}.modal-summary div{justify-content:space-between;gap:12px;padding:5px 0;display:flex}.modal-summary dt{color:var(--muted);font-size:12.5px}.modal-summary dd{color:var(--ink);text-align:right;margin:0;font-size:12.5px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.primary-action.danger-action{background:#c0473f}.settings-block{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:20px;padding:18px}.settings-block h2{color:var(--ink);margin:0 0 12px;font-size:15px}.settings-note{color:var(--muted);margin:-4px 0 14px;font-size:12.5px;line-height:1.5}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.settings-grid label{color:var(--soft-ink);flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;display:flex}.settings-grid input[type=text],.settings-grid input:not([type]),.settings-grid input[inputmode=numeric]{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:9px 10px}.settings-check{align-items:center;flex-direction:row!important;gap:8px!important}.settings-check input{width:16px;height:16px}.template-chip{color:var(--teal);text-transform:uppercase;background:#e8f1fa;border-radius:999px;align-self:flex-start;padding:2px 9px;font-size:11px;font-weight:600}.template-actions{gap:8px;margin-top:10px;display:flex}.template-description-label{color:var(--soft-ink);flex-direction:column;gap:6px;margin-top:12px;font-size:12.5px;font-weight:700;display:flex}.template-description-label textarea{border:1px solid var(--line);min-height:64px;font:inherit;resize:vertical;border-radius:8px;padding:9px 10px}.material-row.inactive{opacity:.6}.panel-heading-actions{align-items:center;gap:10px;display:flex}.user-actions select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;padding:7px 8px;font-size:12.5px}.board-search{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:10px;margin-top:18px;padding:0 14px;display:flex}.board-search input{font:inherit;color:var(--ink);background:0 0;border:0;flex:1;padding:14px 0}.board-search input:focus-visible{outline:none}.board-results{gap:10px;margin-top:16px;display:grid}.board-result{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:14px;padding:12px 14px;display:flex}.board-code{min-width:92px;color:var(--teal);text-align:center;background:#e8f1fa;border-radius:8px;flex-shrink:0;padding:8px 10px;font-size:14px;font-weight:600}.board-info{flex:1;min-width:0}.board-info strong{color:var(--ink);font-size:14px;display:block}.board-info small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.board-brand{color:var(--soft-ink);margin-top:4px;font-size:11px;font-weight:700;display:inline-block}.cell-label{display:none}.account-strip span.sync-warn{color:#b36b00;font-weight:700}.loading-head{color:var(--soft-ink);align-items:center;gap:10px;margin-bottom:18px;display:flex}.loading-head strong{color:var(--ink);font-size:15px}.spinner{border:2px solid #4f9cf940;border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-card{background:linear-gradient(100deg,#f1f5f9 30%,#f8fafc 50%,#f1f5f9 70%) 0 0/200% 100%;border-radius:10px;height:74px;margin-bottom:12px;animation:1.3s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.order-table{gap:10px;padding:12px;display:grid}.table-row.table-head{display:none}.table-row{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;min-height:0;padding:14px;display:flex}.table-row.active{border-color:#bbd3ec}.cell-label{color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:11px;font-weight:600;display:block}.table-row>.cell-label:first-child{margin-top:0}.table-row input,.table-row select{width:100%}.table-row strong{white-space:normal;padding:2px 0}.table-row .icon-button{align-self:flex-end;margin-top:8px}}.login-copy h1,.workspace-header h1,.table-toolbar h2,.inspector-title strong,.panel-heading strong,.brand-lockup strong{font-family:var(--heading);letter-spacing:-.01em}.summary-band strong,.result-box strong,.calc-line strong,.submitted-card b,.board-code,.save-pill{font-family:var(--mono);font-variant-numeric:tabular-nums}.sidebar,.inspector{border-color:var(--df-border-soft)}.nav-item.active{color:var(--df-primary);font-weight:600}.account-strip{border-radius:var(--df-radius-md)}.summary-band{gap:var(--df-space-md);background:0 0;border:0;border-radius:0;overflow:visible}.summary-band div{border:1px solid var(--df-border-soft);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-card);padding:16px 20px}.summary-band span{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.summary-band strong{margin-top:8px;font-size:30px;font-weight:500}.order-table-wrap{border-color:var(--df-border-soft);border-radius:var(--df-radius-lg);box-shadow:var(--df-shadow-card)}.table-head{z-index:1;letter-spacing:.05em;position:sticky;top:0}.order-table .table-row:not(.table-head):nth-child(2n){background:#fbfcfe}.table-row.active{background:var(--df-primary-soft);box-shadow:inset 3px 0 0 var(--df-accent)}.table-row input[inputmode=numeric],.table-row strong{font-family:var(--df-font-mono);font-variant-numeric:tabular-nums}.result-box{background:var(--df-primary);border-color:var(--df-primary)}.result-box span{color:#afc8e6;text-transform:uppercase;letter-spacing:.04em}.result-box strong{color:#fff}.calc-card{border-radius:var(--df-radius-md)}.submitted-card,.material-row,.template-card,.file-row,.user-row,.admin-panel,.empty-state,.board-result,.board-search{border-color:var(--df-border-soft);border-radius:var(--df-radius-md)}.nav-item,.submitted-card,.material-row,.template-card,.file-row,.user-row,.board-result,.table-row,.icon-button,input,select,textarea{transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s}.submitted-card:hover{box-shadow:var(--df-shadow-card);transform:translateY(-1px)}.submitted-card:focus-visible,.nav-item:focus-visible{outline:2px solid var(--df-accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--df-accent);box-shadow:var(--df-focus-ring)}.loading-head strong{font-family:var(--df-font-heading)}.skeleton-card{background:linear-gradient(100deg,#eef2f7 30%,#f8fafc 50%,#eef2f7 70%) 0 0/200% 100%}.empty-state{gap:8px;padding:28px 24px}.empty-state strong{font-family:var(--df-font-heading);font-size:17px}@media (pointer:coarse){.nav-item{min-height:44px}.icon-button{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.submitted-card:hover{transform:none}}.cnc-profiles{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:18px;display:grid}.cnc-profile{border:1px solid var(--df-border-soft);border-radius:var(--df-radius-md);background:var(--df-surface);color:var(--df-text-muted);text-align:left;cursor:pointer;align-items:flex-start;gap:11px;padding:14px 16px;transition:border-color .12s,background .12s;display:flex}.cnc-profile:hover{border-color:var(--df-border-strong)}.cnc-profile.active{border-color:var(--df-accent);background:var(--df-primary-soft)}.cnc-profile svg{color:var(--df-primary);flex:none;margin-top:2px}.cnc-profile strong{color:var(--df-text);font-size:14px;font-weight:600;display:block}.cnc-profile small{color:var(--df-text-muted);margin-top:3px;font-size:12px;display:block}.cnc-legend{color:var(--df-text-muted);flex-wrap:wrap;gap:18px;margin-bottom:14px;font-size:12px;font-weight:500;display:flex}.cnc-legend span{align-items:center;gap:7px;display:inline-flex}.cnc-legend .dot{border-radius:50%;width:12px;height:12px;display:inline-block}.cnc-legend .dot.hinge{background:var(--df-primary)}.cnc-legend .dot.handle{background:var(--df-accent)}.cnc-legend .line{border-top:2px solid var(--df-warning);width:16px;height:0;display:inline-block}.cnc-seq-key{font-family:var(--df-font-mono);background:var(--df-surface-muted);border-radius:var(--df-radius-sm);padding:2px 8px}.cnc-sheet-card{border:1px solid var(--df-border-soft);border-radius:var(--df-radius-lg);background:var(--df-surface);box-shadow:var(--df-shadow-card);margin-bottom:16px;overflow:hidden}.cnc-sheet-head{border-bottom:1px solid var(--df-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;display:flex}.cnc-sheet-head strong{font-family:var(--df-font-heading);color:var(--df-text);font-size:15px}.cnc-sheet-head span{font-family:var(--df-font-mono);color:var(--df-text-muted);font-size:12px}.cnc-svg{background:linear-gradient(var(--df-border-soft) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--df-border-soft) 1px, transparent 1px) 0 0 / 40px 40px, var(--df-background);width:100%;height:auto;max-height:460px;padding:16px;display:block}.cnc-bed{fill:var(--df-surface);stroke:var(--df-border-strong);stroke-width:4px}.cnc-cut{fill:#4f9cf912;stroke:var(--df-warning);stroke-width:3px}.cnc-bore{stroke:#fff;stroke-width:1.5px}.cnc-bore.hinge{fill:var(--df-primary)}.cnc-bore.handle{fill:var(--df-accent)}.cnc-seq{font-family:var(--df-font-mono);fill:var(--df-primary);font-size:30px;font-weight:500}.tool-cut-select{max-width:380px;color:var(--df-text-muted);flex-direction:column;gap:6px;margin:4px 0 18px;font-size:12.5px;font-weight:600;display:flex}.tool-cut-select select{border:1px solid var(--df-border);border-radius:var(--df-radius-md);background:var(--df-surface);height:40px;color:var(--df-text);font:inherit;padding:0 11px;font-weight:500}.tool-list{gap:8px;display:grid}.tool-row{grid-template-columns:minmax(120px,1.6fr) .9fr .6fr .6fr .7fr 36px;align-items:center;gap:8px;display:grid}.tool-row.tool-head{color:var(--df-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.tool-row.tool-head span{padding:0 2px}.tool-row input,.tool-row select{border:1px solid var(--df-border);border-radius:var(--df-radius-sm);background:var(--df-surface);height:36px;color:var(--df-text);font:inherit;padding:0 9px;font-size:13px}.tool-row .icon-button{justify-self:center}@media (width<=720px){.tool-row{grid-template-columns:1fr 1fr}.tool-row.tool-head{display:none}}
