:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7f1df;background:#111513;font-synthesis:none;text-rendering:geometricPrecision;--ink: #161a17;--paper: #f7f1df;--paper-strong: #fff9e8;--shell: #1d2520;--panel: rgba(247, 241, 223, .92);--line: rgba(29, 37, 32, .16);--muted: #667063;--accent: #d8b45c;--accent-soft: #f0df9f;--accent-strong: #8f6b24;--danger: #b4483c;--shadow: 0 24px 70px rgba(0, 0, 0, .24)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,rgba(216,180,92,.24),transparent 32rem),linear-gradient(135deg,#f5edcf,#e8dda7 42%,#111513 42% 100%);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,480px);align-items:stretch;gap:2rem;padding:2rem}.hero-panel{min-height:calc(100vh - 4rem);border-radius:44px;padding:clamp(2rem,7vw,6rem);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(140deg,#1d2520f5,#1d2520b8),repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 10px,transparent 10px 20px),linear-gradient(135deg,#d8b45c,#3c4a36);color:var(--paper-strong);box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-panel:before{content:"";position:absolute;width:22rem;height:22rem;border:3rem solid rgba(216,180,92,.2);border-radius:50%;right:-5rem;top:-5rem}.hero-panel h1{max-width:850px;font-family:Archivo Black,Impact,sans-serif;font-size:clamp(3rem,8vw,7.8rem);line-height:.86;text-transform:uppercase;position:relative}.hero-panel p:last-child{max-width:680px;margin-top:1.4rem;color:#fff9e8c7;font-size:1.05rem;position:relative}.login-card{align-self:center;display:grid;gap:1rem;padding:2rem;border-radius:34px;background:#fff9e8e6;border:1px solid rgba(29,37,32,.1);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.form-number{width:3.2rem;height:3.2rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:900}.primary-button,.danger-button{border:1px solid rgba(143,107,36,.36);background:var(--accent);color:var(--ink);border-radius:999px;padding:.9rem 1.15rem;font-weight:900}.danger-button{width:100%;background:#b4483c1f;border-color:#b4483c57;color:var(--danger)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);position:relative}.sidebar{position:sticky;top:0;height:100vh;padding:1.3rem;display:flex;flex-direction:column;gap:1.4rem;background:var(--shell);color:var(--paper-strong);z-index:20}.sidebar-scroll{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:1.4rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.2rem;padding-bottom:1rem;scrollbar-width:none}.sidebar-scroll::-webkit-scrollbar{display:none}.brand-mark{display:flex;align-items:center;gap:.9rem;padding:.8rem}.brand-logo-image{display:block;width:min(100%,182px);height:auto}.brand-mark small,.nav-item span{color:#f0df9f;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900}.nav-item{border:1px solid rgba(255,249,232,.12);border-radius:22px;padding:1rem;text-align:left;color:var(--paper-strong);background:#fff9e80a;font-weight:900;transition:transform .18s ease,background .18s ease}.nav-item span{display:block;margin-bottom:.25rem}.nav-item:hover,.nav-item.active{transform:translate(4px);background:var(--paper-strong);color:var(--shell)}.nav-item:hover span,.nav-item.active span{color:var(--shell)}.nav-desktop-only{display:block}.revision-row{text-align:left;display:grid;gap:.35rem;border:1px solid rgba(255,249,232,.12);background:#fff9e80d;color:var(--paper-strong);border-radius:22px;padding:1rem}.main-stage{padding:clamp(1rem,3vw,2rem);display:grid;gap:1rem;align-content:start}.topbar{min-height:130px;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.topbar-heading{display:grid;gap:.45rem;min-width:0}.topbar-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.kicker{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900}.hero-panel .kicker{color:var(--accent-soft)}.title-input{min-width:min(640px,58vw);border:0;background:transparent;color:var(--ink);font-family:Archivo Black,Impact,sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:.9;font-weight:950;text-transform:uppercase;outline:none}.page-title{color:var(--ink);font-family:Archivo Black,Impact,sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:.9;text-transform:uppercase}.top-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-left:auto}.top-action-group{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.start-design-button{margin-left:.8rem}.menu-toggle,.icon-button,.footbar-button{display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px}.menu-toggle,.icon-button{width:3.2rem;height:3.2rem;flex:0 0 3.2rem;border:1px solid var(--line);background:#fff9e8c2;color:var(--ink);box-shadow:0 18px 48px #1d252014}.icon-button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}.icon-button.danger{color:var(--danger)}.footbar-button{width:3.3rem;height:3.3rem;border:1px solid rgba(29,37,32,.14);background:#fff9e8eb;color:var(--ink);box-shadow:0 18px 48px #1d252024;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.menu-toggle svg,.icon-button svg,.footbar-button svg{width:1.15rem;height:1.15rem}.topbar-mobile-only,.app-footbar{display:none}.muted,.muted-copy,.field span{color:var(--muted);font-size:.9rem}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}.canvas-panel,.settings-card,.dialog-panel{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:0 12px 36px #1d25201a}.canvas-panel{padding:1.1rem}.canvas-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-bottom:.75rem}.canvas-toolbar span{color:var(--muted);font-size:.82rem;font-weight:900;min-width:3.2rem;text-align:right}.canvas-toolbar .small-button{padding:.5rem .72rem}.work-canvas{width:100%;aspect-ratio:300 / 220;display:block;touch-action:none;border-radius:18px;overflow:hidden;background:#e8ddc0;cursor:grab}.work-canvas:active{cursor:grabbing}.shape{cursor:move}.work-canvas>rect{fill:#fff9e8}.grid-lines line{stroke:#1d25202e;stroke-width:.35}.origin-marker line{stroke:#b4483c;stroke-width:1.3}.shape-geometry{fill:none;stroke:#17231e;stroke-width:.72;vector-effect:non-scaling-stroke}.shape-removal{fill:none;stroke:#c54c33;stroke-linecap:round;stroke-linejoin:round;opacity:.32;pointer-events:none}.shape-removal.cut-inside{stroke:#2a7c68}.shape-removal.cut-on{stroke:#2356d8}.shape-removal.cut-outside{stroke:#c54c33}.shape.selected .shape-geometry{stroke:#000;stroke-width:.95}.shape-center{fill:var(--shell);stroke:var(--paper-strong);stroke-width:.8}.shape-dimensions line{stroke:#6b6f65;stroke-width:.55;vector-effect:non-scaling-stroke}.shape-dimensions circle{fill:#6b6f65;stroke:none}.shape-dimensions text,.cut-mode-label{fill:#4c5549;font-size:5px;font-weight:900;paint-order:stroke;stroke:#fff9e8;stroke-width:1.4px;text-anchor:middle;text-transform:uppercase;-webkit-user-select:none;user-select:none}.shape-dimensions text{cursor:text}.dimension-hitbox{fill:transparent;stroke:none;cursor:text;pointer-events:all}.cut-mode-label{fill:var(--accent-strong);font-size:4.5px;letter-spacing:.08em}.anchor-dot{fill:#fff9e8;stroke:#17231e;stroke-width:.8;cursor:pointer;vector-effect:non-scaling-stroke}.anchor-dot.active{fill:var(--accent);stroke:#000;stroke-width:1.1}.coordinate-readout{pointer-events:none}.coordinate-readout rect{fill:#111513e0;stroke:#fff9e8b3;stroke-width:.35;vector-effect:non-scaling-stroke}.coordinate-readout text{fill:#fff9e8;font-size:3.5px;font-weight:900;text-anchor:middle;-webkit-user-select:none;user-select:none}.dimension-input-object{overflow:visible}.dimension-input-object input{box-sizing:border-box;display:block;width:14px;height:7px;min-width:0;min-height:0;border:1px solid rgba(29,37,32,.45);border-radius:2px;padding:0 .8px;background:#fff9e8;color:var(--ink);font-size:3.2px;font-weight:800;line-height:1;text-align:center;outline:none}.settings-panel{display:grid;gap:1rem}.settings-card{padding:1.2rem;display:grid;gap:.75rem}.settings-card h3{font-size:1.15rem}.shape-add-grid,.compact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.shape-list,.panel-list,.stack-form{display:grid;gap:.75rem}.shape-row{display:grid;gap:.25rem;text-align:left;border:1px solid var(--line);border-radius:18px;padding:.8rem .9rem;background:#fff9e8bd;color:var(--ink)}.shape-row span{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:900}.shape-row.active{background:var(--shell);color:var(--paper-strong)}.shape-row.active span{color:var(--accent-soft)}.field{display:grid;gap:.35rem}.field span{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.field input,.field select{min-width:0;width:100%;border:1px solid var(--line);background:#fff9e8db;color:var(--ink);border-radius:16px;padding:.7rem .8rem}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.panel-heading h2{font-size:clamp(1.5rem,2vw,2.3rem)}.message,.alert{padding:.9rem 1rem;border-radius:18px;background:#d8b45c29;border:1px solid rgba(143,107,36,.24);color:var(--ink)}.message.error,.form-error{color:var(--danger);font-weight:700}.job-setup-panel,.saved-designs-panel,.tool-card,.empty-state{gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:0 12px 36px #1d25201a}.job-setup-panel{display:grid;width:min(760px,100%);margin:0 auto}.job-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.job-setup-actions{display:flex;justify-content:flex-end}.tool-card,.empty-state{display:flex;justify-content:space-between;align-items:center}.tool-card h2,.empty-state h2,.saved-designs-panel h2{font-size:clamp(1.45rem,2vw,2.2rem)}.table-count{padding:.55rem .8rem;border-radius:999px;background:#d8b45c2e;color:var(--accent-strong);font-size:.8rem;font-weight:900}.design-table-wrap{overflow-x:auto;scrollbar-width:none}.design-table-wrap::-webkit-scrollbar{display:none}.design-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0 .55rem}.design-table th{padding:0 .9rem .25rem;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-align:left;text-transform:uppercase}.design-table td{padding:.85rem .9rem;background:#fff9e8bd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.design-table td:first-child{border-left:1px solid var(--line);border-radius:18px 0 0 18px}.design-table td:last-child{border-right:1px solid var(--line);border-radius:0 18px 18px 0}.design-table tr.active td{background:#d8b45c38;border-color:#8f6b2452}.table-title-button{width:100%;border:0;padding:0;display:grid;gap:.22rem;text-align:left;background:transparent;color:inherit}.table-title-button strong{font-size:1rem}.table-title-button span{max-width:34rem;color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.card-actions,.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.small-button{border:1px solid var(--line);border-radius:999px;padding:.72rem .95rem;background:#fff9e8d1;color:var(--ink);font-weight:900}.ghost-button{border:1px solid var(--line);border-radius:999px;padding:.9rem 1.15rem;background:#fff9e8d1;color:var(--ink);font-weight:900}.dialog-danger-button{width:auto}.danger-text{color:var(--danger)}.modal-backdrop,.sidebar-backdrop{position:fixed;inset:0}.modal-backdrop{background:#1115139e;display:grid;place-items:center;padding:1rem;z-index:40;overflow:hidden}.dialog-panel{width:min(100%,48rem);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:1.5rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dialog-panel::-webkit-scrollbar{display:none}.preview-dialog-panel{width:min(100%,76rem)}.nc-preview-layout{display:grid;gap:.85rem}.nc-preview-canvas{display:block;width:100%;height:min(62dvh,620px);min-height:360px;border:1px solid var(--line);border-radius:22px;background:#f5edcf;touch-action:none}.preview-legend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:var(--muted);font-size:.86rem;font-weight:800}.preview-legend span{display:inline-flex;align-items:center;gap:.38rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff9e8b8}.legend-swatch{width:.7rem;height:.7rem;border-radius:999px}.legend-swatch.travel{background:#b8892f}.legend-swatch.cut{background:#4a7d32}.revision-list{display:grid;gap:.6rem}.revision-row{color:var(--ink);background:#fff9e8db;border-color:var(--line)}.revision-row span{color:var(--muted)}@media(max-width:1120px){.work-grid{grid-template-columns:1fr}}@media(max-width:720px){.login-page,.main-stage{padding:.75rem}.login-page{display:grid;grid-template-columns:1fr}.hero-panel{min-height:460px;border-radius:30px}.main-stage{padding-bottom:calc(5.6rem + env(safe-area-inset-bottom,0px))}.app-shell{display:block}.modal-backdrop{align-items:start;padding:.75rem}.dialog-panel{max-height:calc(100dvh - 1.5rem);padding:1.1rem;border-radius:26px}.nc-preview-canvas{height:54dvh;min-height:300px}.sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,320px);height:100dvh;overflow:hidden;transform:translate(-104%);transition:transform .22s ease;box-shadow:var(--shadow);z-index:35}.sidebar.mobile-open{transform:translate(0)}.sidebar-backdrop{display:block;border:0;padding:0;background:#11151361;z-index:15}.nav-desktop-only{display:none}.topbar-mobile-only{display:inline-flex}.topbar{min-height:auto}.top-actions,.top-action-group{justify-content:flex-start}.start-design-button{margin-left:0}.topbar-controls{display:flex}.title-input{min-width:0;width:100%}.job-setup-grid{grid-template-columns:1fr}.app-footbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#f5edcf00,#f5edcfe6 45%,#f5edcffa)}.panel-heading,.topbar,.tool-card,.empty-state{flex-direction:column;align-items:stretch}}
