:root{--color-canvas: #f7f3ec;--color-canvas-warm: #fff7ed;--color-surface: #fffdf9;--color-surface-raised: #fffaf3;--color-ink: #1f2933;--color-muted: #5f6b7a;--color-line: #eadfd4;--color-line-strong: #d7c4b1;--color-accent: #f97316;--color-accent-strong: #c2410c;--color-accent-soft: #fed7aa;--color-rail: #9a4b12;--color-success: #14532d;--color-success-bg: #ecfdf3;--color-danger: #a31212;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .65rem;--radius-md: .9rem;--radius-card: 1.15rem;--radius-shell: 1.4rem;--shadow-card: 0 18px 44px #3f2f2112;color:var(--color-ink);background:radial-gradient(circle at top left,#fff4e6 0,transparent 26rem),linear-gradient(180deg,var(--color-canvas),#f3eee7 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}a{color:var(--color-rail);font-weight:700;text-decoration-thickness:.08em;text-underline-offset:.18em}button{cursor:pointer;border:0;border-radius:var(--radius-md);padding:.76rem 1rem;background:var(--color-accent);color:#fff;font-weight:800;box-shadow:0 10px 24px #f9731626}button:hover{background:#ea580c}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-accent-soft);outline-offset:3px}.secondary-action{background:var(--color-canvas-warm);color:#9a3412;border:1px solid var(--color-accent-soft);box-shadow:none}.secondary-action:hover{background:#ffedd5}.app-header{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4) clamp(var(--space-4),4vw,2.5rem);background:#26313d;color:#fff;border-bottom:4px solid var(--color-accent);box-shadow:0 8px 28px #1f293326}.app-header .brand{margin-right:auto;color:#fff;font-weight:900;text-decoration:none;letter-spacing:-.03em}.app-header .brand:before{content:"";display:inline-block;width:.5rem;height:1.35rem;margin-inline-end:.55rem;vertical-align:-.22rem;border-radius:999px;background:var(--color-accent)}.app-header span{color:#e5e7eb;font-size:.95rem}.app-header button{background:#3a4653;box-shadow:none;padding:.62rem .9rem}.card,.dashboard,.workshop-editor{width:min(1160px,calc(100% - 2rem));margin:var(--space-6) auto}.card,.workshop-card,.quote-panel,.dashboard>section,.admin,.print-summary,.material-profiles{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6)}.auth-page .card{width:min(24rem,100%);padding:var(--space-6)}.loading{padding:3rem;text-align:center}.dashboard{display:grid;gap:var(--space-4)}.dashboard nav{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:0;background:color-mix(in srgb,var(--color-surface) 86%,var(--color-canvas-warm));border:1px solid var(--color-line);border-radius:999px;padding:.45rem;width:fit-content}.dashboard nav a,.workspace-nav-button{padding:.58rem .85rem;border-radius:999px;text-decoration:none;color:#374151;background:transparent;box-shadow:none}.dashboard nav a:hover,.workspace-nav-button:hover,.workspace-nav-button[aria-current=page]{background:var(--color-canvas-warm);color:#9a3412}.workspace-nav-button[aria-current=page]{box-shadow:inset 0 0 0 1px var(--color-accent-soft)}.dashboard>section,.admin,.print-summary,.material-profiles{padding:clamp(var(--space-4),2.5vw,var(--space-6))}.dashboard h1,.dashboard h2,.dashboard h3,.workshop-editor h1,.workshop-editor h2,.workshop-editor h3{margin-block:0;letter-spacing:-.035em}.dashboard h1,.workshop-editor h1{color:#17212d}.dashboard ul{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-3)}.dashboard li{margin:0;padding:var(--space-4);border:1px solid #f1e5d8;border-left:.35rem solid var(--color-accent-soft);border-radius:var(--radius-md);background:var(--color-surface-raised)}.dashboard li button{margin-inline-start:var(--space-2);margin-block-start:var(--space-2)}.admin section+section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-line)}.admin form{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:0 var(--space-4);align-items:end}.admin form button{width:fit-content;align-self:center}.admin ul{gap:var(--space-3)}.admin li{display:grid;gap:var(--space-3)}.admin li div{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(11rem,16rem) auto;gap:var(--space-2);align-items:center;padding-top:var(--space-3);border-top:1px dashed var(--color-line-strong)}.admin li .user-edit-controls{grid-template-columns:minmax(10rem,1fr) minmax(9rem,12rem) minmax(12rem,1fr) auto}.admin li div label{font-weight:750;color:#344253}.admin li div input,.admin li div select{min-height:2.65rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:.45rem .7rem;background:#fff;color:var(--color-ink)}.admin li div input[type=checkbox]{min-height:auto;width:auto}.inline-check{display:flex;gap:var(--space-2);align-items:center}.editor-hero{position:relative;overflow:hidden;margin-block:var(--space-3) var(--space-4);padding:clamp(var(--space-3),2vw,var(--space-4)) clamp(var(--space-4),2.4vw,var(--space-5));border-radius:var(--radius-shell);background:linear-gradient(90deg,var(--color-accent) 0 .32rem,transparent .32rem),linear-gradient(135deg,var(--color-canvas-warm) 0%,var(--color-surface) 65%,#f7f8fa 100%);border:1px solid var(--color-accent-soft)}.editor-hero h1{font-size:clamp(1.35rem,2.5vw,1.9rem);line-height:1.12;max-width:none}.editor-hero p:not(.eyebrow){max-width:48rem;margin-block:.45rem 0;color:var(--color-muted);font-size:.95rem;line-height:1.45}.eyebrow{margin:0 0 .35rem;color:var(--color-accent-strong);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.workshop-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);gap:var(--space-4);align-items:start}.workshop-form{display:grid;gap:var(--space-4)}.workshop-card,.quote-panel{padding:clamp(var(--space-4),2.5vw,var(--space-6))}.workshop-card{border-left:.35rem solid color-mix(in srgb,var(--color-accent-soft) 72%,white)}.section-heading{display:flex;align-items:start;gap:.85rem;margin-bottom:var(--space-4)}.section-heading>span{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:50%;background:#26313d;color:#fff;font-weight:900}.section-heading p{margin:.25rem 0 0;color:#667085;line-height:1.45}.field{display:grid;gap:.35rem;margin:.8rem 0}.field label{font-weight:800;color:#263443}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:0 var(--space-4)}.field input,.field select{min-height:2.75rem;width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:.45rem .7rem;background:#fff;color:var(--color-ink)}.field input:hover,.field select:hover,.admin li div input:hover{border-color:#b89d86}.field input[type=file]{padding-block:.55rem}.help-text{color:#6b7280;line-height:1.35}.field-error,[role=alert]{color:var(--color-danger);font-weight:700}.form-message{padding:.85rem 1rem;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca}.plate-card{position:relative;display:grid;gap:var(--space-3);margin:var(--space-4) 0;padding:var(--space-4);border:1px dashed #dfc8b6;border-radius:var(--radius-card);background:var(--color-surface-raised)}.plate-remove-button{position:absolute;top:.75rem;right:.75rem;display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;box-shadow:none;font-size:1.35rem;line-height:1}.plate-remove-button:hover{background:#ffedd5;color:#7c2d12}.plate-main-fields,.duration-grid,.material-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-4)}.plate-duration{margin:0;padding:var(--space-3);border:1px solid #ead8c8;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-canvas-warm) 62%,white)}.duration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plate-materials{display:grid;gap:var(--space-3)}.material-row{padding:var(--space-3);border:1px solid #ead8c8;border-radius:var(--radius-md);background:#fff}.plate-card>.field{margin-block:0}.plate-card .field{min-width:0}@media(max-width:720px){.plate-main-fields,.duration-grid,.material-row{grid-template-columns:1fr}}legend{padding:0 .35rem;font-weight:900;color:#9a3412}.extra-cost{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.defaults-note{margin:.75rem 0 0;color:#6b7280;font-size:.92rem}.form-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.derived-rate{align-self:end;min-height:5.8rem;padding:.9rem;border:1px solid #c7d2fe;border-radius:var(--radius-md);background:#eef2ff;color:#3730a3}.derived-rate strong{display:block;margin-top:.35rem;color:#1f2937;font-variant-numeric:tabular-nums}.material-profiles header{margin-bottom:var(--space-4)}.material-profiles header p:last-child{color:#667085;margin-bottom:0}.profile-form{margin-bottom:var(--space-4);padding:var(--space-4);border:1px dashed #dfc8b6;border-radius:var(--radius-card);background:var(--color-surface-raised)}.profile-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.7rem;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top}th{color:#4b5563;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}td{font-variant-numeric:tabular-nums}td button{margin:.15rem .25rem .15rem 0}.pagination-controls{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-top:var(--space-4)}.quote-panel{position:sticky;top:var(--space-4);border-color:var(--color-accent-soft);background:linear-gradient(90deg,var(--color-accent) 0 .35rem,transparent .35rem),linear-gradient(180deg,var(--color-surface),var(--color-canvas-warm))}.quote-panel h2{margin-bottom:.75rem}.empty-summary{color:#6b7280;line-height:1.55}.calculation h3{font-size:1rem;margin-bottom:.75rem;color:#4b5563}dl{display:grid;gap:.35rem}dl div{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--color-line);padding:.58rem 0}dt{font-weight:750;color:#374151}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.sale-total{margin-top:.35rem;padding:.85rem .75rem;border:0;border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success)}.sale-total dt,.sale-total dd{color:var(--color-success);font-size:1.08rem}.print-summary{max-width:60rem}.print-summary header{border-bottom:2px solid #1f2933;margin-bottom:1rem}@media(prefers-reduced-motion:no-preference){button,a,input,select{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}}@media(max-width:880px){.app-header{align-items:flex-start;flex-wrap:wrap}.dashboard nav{width:100%;border-radius:var(--radius-card)}.workshop-layout{grid-template-columns:1fr}.quote-panel{position:static;order:-1}.extra-cost,.admin li div,.admin li .user-edit-controls{grid-template-columns:1fr}.dashboard li button{margin-inline-start:0;margin-inline-end:.5rem}}@page{size:A4;margin:15mm}@media print{:root,body,#app,.dashboard,.editor,.workshop-editor,.print-summary{background:#fff;color:#000;border:0;border-radius:0;box-shadow:none;margin:0;padding:0;max-width:none;min-height:0}body{font-size:11pt;line-height:1.4}.app-header,nav,button,.editor form,.workshop-form,.quote-panel,.no-print{display:none!important}.dashboard,.editor,.workshop-editor,.print-summary{display:block}.print-summary{overflow-wrap:anywhere;orphans:3;widows:3}.print-summary header{break-inside:avoid}.print-summary h1{font-size:18pt;margin:0 0 3mm}.print-summary h2{font-size:13pt;margin:5mm 0 2mm}.print-summary h1,.print-summary h2{break-after:avoid}.print-summary section,.print-summary ul,.print-summary dl{break-inside:auto}.print-summary ul{margin:0;padding-left:6mm}.print-summary li{margin:2mm 0;break-inside:avoid}.print-summary dl{display:block;margin:0}.print-summary dl>div{break-inside:avoid;gap:6mm;padding:1.5mm 0}.print-summary dt,.print-summary dd{min-width:0}.print-summary dd{text-align:right}.print-summary .total{font-size:12pt}.print-summary .total+.total{break-before:avoid}}
