:root{--ink:#17202a;--muted:#65717e;--line:#d8dee6;--panel:#fff;--soft:#f4f7fa;--accent:#613254;--accent2:#845274;--danger:#a82c35;--success:#27663b;--warning:#915d00;--radius:14px;--shadow:0 8px 24px rgba(20,32,45,.08)}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#f8fafc}body{margin:0;min-height:100vh}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:13px clamp(16px,4vw,54px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:1.28rem;font-weight:850;color:#171717;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent)}.nav{margin-left:auto;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.nav a,.nav-button{border:0;background:transparent;color:#293442;text-decoration:none;padding:8px 10px;border-radius:9px;font:inherit;cursor:pointer}.nav a:hover,.nav-button:hover{background:#edf1f5}.nav-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem}.inline-form{display:inline;margin:0}.nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px}.page-shell{width:min(1440px,calc(100% - 30px));margin:28px auto 60px}.site-footer{text-align:center;color:var(--muted);padding:22px}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.page-heading h1,.section-heading h2{margin:.1rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--accent);margin:0}.hint,.muted{color:var(--muted)}.hero{background:linear-gradient(135deg,#fff 0,#f8edf5 100%);border:1px solid #e5d4e0;padding:clamp(25px,5vw,60px);border-radius:24px;box-shadow:var(--shadow)}.hero h1{font-size:clamp(2rem,5vw,4rem);max-width:900px;margin:.3rem 0 1rem}.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.button-column{display:grid;gap:8px}.button,button.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:9px;border:1px solid #aeb8c3;background:white;color:#1d2834;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.button:hover{box-shadow:0 4px 12px rgba(30,40,50,.1)}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.danger{background:#fff2f2;color:var(--danger);border-color:#e2aeb2}.button.small{padding:5px 9px;font-size:.85rem}.button.subtle{background:transparent}.section-card,.login-card,.action-card,.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stack-sections{display:grid;gap:18px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.three-column,.dashboard-grid,.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.action-card{text-decoration:none;color:inherit;transition:.15s}.action-card:hover{transform:translateY(-2px);border-color:#b38aa8}.action-card h2{margin:.4rem 0}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:18px 0}.metric-card strong{display:block;font-size:1.8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;font-weight:700;font-size:.92rem}input,select,textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #bfc8d2;border-radius:8px;background:#fff;color:inherit;font:inherit}textarea{resize:vertical}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}.search-bar{display:flex;gap:9px;align-items:center;margin:16px 0}.search-bar input,.search-bar select{max-width:420px}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e5e9ee;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;background:#f3f6f9;color:#52606d}tr:last-child td{border-bottom:0}tr.clickable:hover{background:#f7f9fb}.order-row{background:var(--row-colour,#fff)}.status-badge,.paid-badge,.refunded-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:850;white-space:nowrap}.status-badge{background:var(--status-colour,#e8edf3)}.paid-badge{background:#1d6d3c;color:#fff}.refunded-badge{background:#5d3475;color:#fff}.flash-stack{display:grid;gap:8px;margin:0 0 18px}.flash{padding:12px 14px;border-radius:10px;border:1px solid}.flash-success{background:#eaf7ee;border-color:#add1b7;color:#245b34}.flash-danger{background:#fff0f0;border-color:#e1a8ac;color:#8d222a}.flash-warning{background:#fff7df;border-color:#e6cb7f;color:#745000}.flash-info{background:#edf6ff;border-color:#b6d4ee;color:#275578}.login-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#f4eee9,#f5ecf3)}.login-card{width:min(480px,calc(100% - 30px));padding:30px}.login-card h1{margin-top:0}.stack-form{display:grid;gap:13px}.product-list{display:grid;gap:10px}.product-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(110px,.8fr) minmax(90px,.7fr) minmax(100px,.7fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px}.variant-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:grid;grid-template-columns:1fr 110px;gap:10px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.image-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.image-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.image-card div{padding:9px}.qr-image{max-width:220px;width:100%;height:auto}.request-thread{display:grid;gap:12px}.message-bubble{padding:14px;border-radius:12px;background:#f3f6f9}.message-bubble.management{background:#f6edf4;border-left:4px solid var(--accent)}.price-large{font-size:2rem;font-weight:850}.negative-text{color:var(--danger)}.empty-state{text-align:center;padding:42px;border:1px dashed #b9c3cd;border-radius:12px;background:#fff}.hidden{display:none!important}.screen-only{}@media(max-width:900px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:10px;right:10px;top:64px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;border-radius:12px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.two-column,.three-column,.form-grid,.form-grid.three{grid-template-columns:1fr}.product-row{grid-template-columns:1fr}.page-heading,.section-heading{display:block}.search-bar{align-items:stretch;flex-direction:column}.search-bar input,.search-bar select{max-width:none}}@media print{.site-header,.site-footer,.screen-only,.button,.flash-stack{display:none!important}.page-shell{width:100%;margin:0}.section-card{box-shadow:none}.page-break{break-before:page}}

/* CAD Printers v1.8.2 interface refinements */
.login-page{min-height:100vh;background:linear-gradient(135deg,#f6efe7 0%,#f4eaf2 100%)}
.login-page .site-header,.login-page .site-footer{display:none}
.login-page .page-shell{min-height:100vh;width:100%;margin:0;padding:24px;display:grid;place-items:center}
.login-card-v17{width:min(460px,100%);padding:34px;border:2px solid rgba(97,50,84,.68);box-shadow:0 0 0 5px rgba(97,50,84,.08),0 0 28px rgba(97,50,84,.25);background:rgba(255,253,250,.98)}
.login-card-v17 .login-mark{font-size:1.55rem;font-weight:900;letter-spacing:.02em;margin-bottom:20px;color:#171717}
.login-card-v17 .login-mark span{color:var(--accent)}
.login-card-v17 h1{margin:.25rem 0 .65rem;text-align:center}
.login-card-v17>p{text-align:center}
.login-card-v17 .eyebrow{text-align:center}
.login-card-v17 .button{width:100%;margin-top:4px}
.compact-list-card{padding:14px}
.compact-table{min-width:680px}
.compact-table th,.compact-table td{padding:7px 9px}
.compact-table input,.compact-table select{padding:7px 8px}
.table-number{max-width:105px}
.compact-dispatch-box{padding:14px}
.compact-dispatch-box .section-heading{margin-bottom:10px}
.compact-form-grid{gap:9px;margin-bottom:10px}
.two-column.wide-left{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr)}
.saved-address-list{display:grid;gap:10px}
.saved-address-card{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff}
.saved-address-card p{margin:.6rem 0}
@media(max-width:900px){.two-column.wide-left{grid-template-columns:1fr}.compact-table{min-width:620px}}

/* CAD Printers v1.9.0 link and dashboard refinements */
a,a:link,a:visited{color:#000;text-decoration:none}
a:hover,a:focus{color:#000;text-decoration:none}.button.primary,.button.primary:visited,.nav-count,.paid-badge,.refunded-badge{color:#fff}.brand,.brand:visited{color:#171717}.brand span{color:var(--accent)}
.checkbox-list{display:grid;gap:7px;max-height:430px;overflow:auto;padding:3px}.checkbox-list-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.checkbox-list-row:hover{background:#f7f1f6;border-color:#c8a8bd}.checkbox-list-row input{width:20px;height:20px;margin-top:1px}.checkbox-list-row span{display:grid;gap:2px}.checkbox-list-row small{color:var(--muted)}
.v17-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:24px 28px;border:2px solid rgba(97,50,84,.35);border-radius:18px;background:linear-gradient(135deg,#fffdf9,#f4e8f1);box-shadow:0 9px 28px rgba(97,50,84,.12)}.v17-dashboard-hero h1{margin:.25rem 0 .4rem}.v17-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:18px}.v17-action-card{position:relative;overflow:hidden;min-height:150px;border-color:#d9c4d3;background:#fffdfb}.v17-action-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent)}.v17-action-card>span{font-size:.72rem;letter-spacing:.13em;font-weight:900;color:var(--accent)}.v17-action-card h2{font-size:1.22rem}.v17-action-card.attention-card{background:#fff9dc;border-color:#d9bd55}.v17-status-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.v17-status-grid .metric-card{padding:14px 16px;border-top:4px solid var(--accent);background:#fff}.v17-status-grid .metric-card span{font-size:.82rem}.v17-status-grid .metric-card strong{font-size:1.55rem;margin-top:4px}.saved-field{background:#f4f1f3;color:#333}.request-new{background:#fff8d9}.message-bubble small{display:block;color:var(--muted);margin-top:3px}.status-badge:visited{color:#000}
@media(max-width:900px){.v17-dashboard-hero{display:block}.v17-dashboard-hero .button-row{margin-top:14px}}

/* CAD Printers v1.10.0 camera and image workspace */
.camera-card{min-width:0}.camera-stage{position:relative;min-height:300px;border-radius:12px;overflow:hidden;background:#111;display:grid;place-items:center}.camera-stage video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#111}.camera-stage #camera-placeholder{position:absolute;color:#fff;background:rgba(0,0,0,.55);padding:9px 13px;border-radius:8px}.camera-control{align-self:end}.inline-status{min-height:1.5em;margin:.75rem 0 0}.inline-status.success{color:#176b35}.inline-status.error{color:#a02727}.search-results{display:grid;gap:6px}.result-button{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(90px,.35fr) minmax(180px,1fr);gap:10px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.result-button:hover{background:#f7f1f6}.scanner-dialog{width:min(760px,95vw);border:0;border-radius:14px;padding:18px}.scanner-dialog video{width:100%;max-height:70vh;background:#111;border-radius:10px}.image-card{overflow:hidden}.image-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee}.image-card>div{padding:11px}.image-card .button-row{margin-top:9px}
@media(max-width:700px){.result-button{grid-template-columns:1fr}.camera-stage{min-height:230px}}
