/* Acrylic workshop direction */
body{background-color:var(--paper);background-image:linear-gradient(rgba(24,135,168,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(24,135,168,.045) 1px,transparent 1px);background-size:24px 24px;font-family:"Bahnschrift","DIN Alternate","PingFang SC","Microsoft YaHei",sans-serif}
.topbar{background:rgba(232,247,251,.88);border-color:rgba(7,45,60,.14)}
.brand-mark{border-radius:3px;background:var(--ink);color:var(--laser);font-family:"Arial Narrow",sans-serif;font-style:normal}
.account-nav{display:flex;align-items:center;gap:9px}.role-badge{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);background:rgba(255,255,255,.55);font-size:11px;color:var(--muted)}.role-badge i{width:7px;height:7px;border-radius:50%;background:#7d949d}.role-badge.is-admin{color:var(--green-dark);border-color:#63bdd5;background:#dcf6fd}.role-badge.is-admin i{background:#18a9ce;box-shadow:0 0 0 3px rgba(54,199,244,.18)}.nav-button{border:0;background:transparent;color:var(--ink);font:650 11px inherit;padding:8px;cursor:pointer}.nav-button:hover{color:var(--laser)}
.hero{min-height:390px}.hero h1{font-family:"Arial Narrow","Bahnschrift Condensed","PingFang SC",sans-serif;font-weight:800;letter-spacing:-.045em}.hero h1 em{font-family:inherit;font-style:normal;color:var(--laser)}.eyebrow{color:var(--green);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.acrylic-stage{position:relative;width:330px;min-width:330px;height:220px;display:grid;place-items:center;perspective:700px}.acrylic-stage>small{position:absolute;bottom:3px;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;color:var(--muted)}.acrylic-sheet{position:relative;width:300px;height:150px;padding:16px;border:1px solid rgba(60,200,244,.75);background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(95,211,241,.16));box-shadow:0 22px 35px rgba(6,56,72,.16),inset 0 0 30px rgba(255,255,255,.7);transform:rotateX(7deg) rotateZ(-2deg);overflow:hidden}.acrylic-sheet:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(17,134,169,.35)}.sheet-code{position:relative;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--green);letter-spacing:.12em}.acrylic-sheet b{position:absolute;left:16px;bottom:15px;font:600 13px ui-monospace,SFMono-Regular,Consolas,monospace}.cut-line{position:absolute;left:0;top:52%;width:100%;height:1px;background:var(--laser);box-shadow:0 0 8px var(--laser);animation:laserScan 3.2s ease-in-out infinite}.laser-head{position:absolute;z-index:2;top:2px;left:49%;width:30px;height:62px;background:linear-gradient(90deg,#152f3a,#4b6873,#132b35);clip-path:polygon(17% 0,83% 0,100% 73%,63% 73%,57% 100%,43% 100%,37% 73%,0 73%);filter:drop-shadow(0 6px 4px rgba(0,0,0,.2))}.laser-head span{position:absolute;bottom:-7px;left:14px;width:2px;height:17px;background:var(--laser);box-shadow:0 0 9px 2px var(--laser)}@keyframes laserScan{0%,100%{transform:translateY(-35px);opacity:.45}50%{transform:translateY(35px);opacity:1}}
.panel,.metric,.sheet-card{border-radius:2px;background:rgba(249,253,255,.91);border-color:var(--line)}.section-heading>span{font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;color:var(--laser);border-color:var(--laser)}
.workspace.guest-workspace{grid-template-columns:minmax(0,820px);justify-content:center}.workspace.guest-workspace .upload-panel{width:100%}
input[type=number],input[type=text],input[type=tel],input[type=password],textarea,select{font-family:inherit;border:1px solid var(--line);background:#f8fdff;color:var(--ink);border-radius:2px;outline:none}input:disabled{background:#e9f3f6;color:#5f737b;cursor:not-allowed}.switch-row input:disabled+i{opacity:.55}.switch-row input:checked+i{background:var(--green)}
.drop-zone{background:rgba(224,247,252,.72);border-color:#80c7d9}.drop-zone:hover,.drop-zone.dragging{background:#d8f5fc;border-color:var(--laser)}.upload-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--green);font-size:22px}.primary,.order-button,.admin-save{background:var(--ink);border-radius:2px}.primary:hover,.order-button:hover,.admin-save:hover{background:#123746}.primary b,.order-button span{color:var(--laser)}
.admin-save{width:100%;height:43px;margin-top:14px;border:0;color:#fff;font-weight:700;cursor:pointer}.notice{position:fixed;right:22px;top:88px;z-index:30;background:#dff8f1;border-left:4px solid #20a57f;color:#17604e;padding:13px 18px;box-shadow:var(--shadow);font-size:12px}.price-metric strong{color:var(--laser)!important}.quote-detail{background:var(--ink)}.total-price strong{color:#68daf8}.used-outline{stroke:var(--laser)}
.pricing-settings{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.pricing-settings>strong,.pricing-settings>small{display:block}.pricing-settings>strong{font-size:12px}.pricing-settings>small{font-size:9px;color:var(--muted);margin:4px 0 12px}.thickness-picker{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.thickness-picker legend{font-size:11px;font-weight:700;margin-bottom:8px}.thickness-picker label{cursor:pointer}.thickness-picker input{position:absolute;opacity:0}.thickness-picker label span{height:43px;border:1px solid var(--line);background:#f3fbfd;display:flex;align-items:baseline;justify-content:center;gap:5px;padding:8px}.thickness-picker label b{font:700 20px ui-monospace,SFMono-Regular,Consolas,monospace}.thickness-picker input:checked+span{border-color:var(--laser);box-shadow:inset 3px 0 0 var(--laser);background:#fff4ef;color:#9c371f}.thickness-picker>small{grid-column:1/-1;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}
.order-box{margin-top:18px;padding:32px;background:linear-gradient(120deg,#d9f5fb,#f9fdff);border:1px solid #9bcfdb;display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.order-box h2{font-size:26px;margin:8px 0 12px}.order-box p{font-size:12px;line-height:1.7;color:var(--muted)}.order-kicker{font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;color:var(--laser)}.order-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.order-form input,.login-dialog input{display:block;width:100%;height:42px;margin-top:7px;padding:0 11px}.order-form textarea{display:block;width:100%;margin-top:7px;padding:11px;resize:vertical}.order-form .wide{grid-column:1/-1}.order-button{height:48px;border:0;color:#fff;font-weight:750;padding:0 17px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.upload-referral{display:block;margin-bottom:14px}.upload-referral input{display:block;width:100%;height:43px;margin-top:7px;padding:0 11px}.upload-referral small{display:block;margin-top:6px;font-size:10px}.referral-valid{color:#087e5a!important;font-weight:700!important}.referral-invalid{color:#a34a39!important}.discount-line{color:#f5c879!important}.discount-line b{color:#f5c879!important}.discount-badge{display:inline-block;margin:4px 0 10px;padding:5px 8px;border:1px solid #efaa54;background:#fff5df;color:#8b5b00;font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace}.success-price{padding:8px;background:#fff5df;color:#8b5b00!important}
.admin-workspace{margin-top:52px;padding-top:30px;border-top:2px solid var(--ink)}.admin-title{display:flex;justify-content:space-between;align-items:end}.admin-title span{font:700 9px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--laser);letter-spacing:.15em}.admin-title h2{font-size:32px;margin:7px 0}.admin-title p{color:var(--muted);font-size:12px}.order-stats{display:flex;gap:25px;padding:15px 0;margin:20px 0;border-block:1px solid var(--line);font-size:11px;color:var(--muted)}.order-stats b{font:600 18px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink);margin-left:5px}.admin-orders{display:grid;gap:12px}.admin-order{background:rgba(249,253,255,.94);border:1px solid var(--line);padding:20px}.order-main{display:flex;justify-content:space-between;gap:20px}.order-main h3{margin:6px 0;font-size:15px}.order-main p{margin:0;color:var(--muted);font-size:10px}.order-main>strong{font:600 25px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--laser)}.order-number{font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--green)}.order-files{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.order-files span{padding:5px 8px;background:#e3f4f8;font-size:10px}.order-note{border-left:2px solid var(--laser);padding-left:10px;font-size:11px;color:#526a73}.order-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #deeaee;padding-top:12px}.order-actions label{display:flex;align-items:center;gap:8px}.order-actions select{padding:7px}.order-actions summary{font-size:11px;color:var(--green);cursor:pointer}.snapshot{margin-top:8px;font-size:10px;color:var(--muted)}
.order-tools{display:flex;align-items:center;gap:16px}.dxf-download{display:inline-block;padding:7px 10px;border:1px solid #4ba8c0;background:#e5f8fc;color:#086f87;text-decoration:none;font-size:10px;font-weight:750}.dxf-download:hover{border-color:var(--laser);color:var(--laser)}
dialog{border:1px solid #7fb9c9;border-radius:2px;box-shadow:0 30px 90px rgba(3,27,36,.35);background:#f5fcfe;color:var(--ink)}dialog::backdrop{background:rgba(2,20,27,.7);backdrop-filter:blur(4px)}.login-dialog{width:min(420px,calc(100vw - 28px));padding:0}.login-dialog form{padding:32px;position:relative}.login-dialog h2,.success-dialog h2{font-size:28px;margin:8px 0}.login-dialog p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:20px}.login-dialog label{display:block;margin-top:12px}.dialog-close{position:absolute;right:14px;top:11px;border:0;background:none;font-size:23px;cursor:pointer}.form-error{padding:9px;margin-top:12px;background:#fee9e7;color:#a23d2d;font-size:11px}.success-dialog{text-align:center;width:min(390px,calc(100vw - 28px));padding:34px}.success-mark{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 17px;border:1px solid #47b99a;color:#168b6d;font-size:24px}.success-dialog p{color:var(--muted);font-size:11px}.success-dialog>strong{display:block;font:700 20px ui-monospace,SFMono-Regular,Consolas,monospace;margin:8px 0 20px}
.query-dialog{width:min(680px,calc(100vw - 28px));max-height:85vh;padding:28px}.query-head{position:relative}.query-head h2{font-size:28px;margin:7px 0}.query-head p{margin:0 0 16px;color:var(--muted);font-size:11px}.query-form{display:grid;grid-template-columns:1fr 170px;gap:9px;align-items:end}.query-form input{display:block;width:100%;height:43px;margin-top:6px;padding:0 11px}.query-form .primary{margin:0;height:43px}.customer-orders{display:grid;gap:9px;margin-top:18px;max-height:48vh;overflow:auto}.customer-order{border:1px solid var(--line);background:#fff;padding:15px}.customer-order-head{display:flex;justify-content:space-between;align-items:start}.customer-order-head span{font:700 10px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--green)}.customer-order-head h3{margin:5px 0;font-size:14px}.customer-order-head strong{font:700 20px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--laser)}.customer-order>p{margin:3px 0 10px;color:var(--muted);font-size:10px}.customer-order-fees{display:flex;gap:13px;flex-wrap:wrap;border-top:1px solid #e3edef;padding-top:9px;color:var(--muted);font-size:9px}
.status-label{display:inline-block;padding:4px 7px!important;font-size:11px!important}.status-pending_payment{background:#fff1d8;color:#8b5b00}.status-processing{background:#def5fb;color:#08748f}.status-completed{background:#def6e9;color:#15724d}.status-cancelled{background:#f1f1f1;color:#727272}
@media(max-width:850px){.acrylic-stage{margin-top:30px}.order-box{grid-template-columns:1fr}.account-nav{gap:2px}.role-badge{display:none}}@media(max-width:520px){.acrylic-stage{width:100%;min-width:0;transform:scale(.88)}.order-form{grid-template-columns:1fr}.order-form .wide{grid-column:auto}.order-main{display:block}.order-main>strong{display:block;margin-top:12px}.order-actions{align-items:flex-start;gap:14px;flex-direction:column}.order-stats{overflow:auto}.nav-button{font-size:10px;padding:5px}.query-form{grid-template-columns:1fr}.query-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cut-line{animation:none;transform:none}}
