/* Studio interface: quiet surfaces, clear hierarchy, original orange brand. */
:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;background:#f5f5f7;color:#1d1d1f;--ink:#1d1d1f;--muted:#6e6e73;--line:#e7e7ec;--green:#a43c0b;--accent:#f56321;font-size:14px;-webkit-font-smoothing:antialiased}
body{background:#f5f5f7}button,.button{border-radius:12px;border-color:#e4e4e9;color:#424245;font-weight:550;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}button:hover,.button:hover{background:#f3f3f6;border-color:#d8d8df}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed}.primary{background:#1d1d1f;border-color:#1d1d1f;color:#fff}.primary:hover{background:#38383a;border-color:#38383a;color:#fff}button:focus-visible,a:focus-visible{outline:3px solid #f8ab85;outline-offset:3px}input,select,textarea{border:1px solid #dedee5;border-radius:12px;background:#fff;min-height:44px;color:#1d1d1f}input:focus,select:focus,textarea:focus{outline:3px solid #f5632125;border-color:var(--accent)}
.shell{grid-template-columns:236px minmax(0,1fr)}aside{background:#fbfbfdcc;backdrop-filter:blur(22px);border-top:0;border-right:1px solid #e5e5eb;padding:32px 20px 22px;overflow-y:auto}.mark{width:55px;height:55px;border:1px solid #e7e7eb;box-shadow:0 2px 5px #1d1d1f04;margin-bottom:16px}.brand{font-size:18px;letter-spacing:-.5px;font-weight:700}.eyebrow{margin:4px 0 30px;letter-spacing:1.8px;font-size:9px}nav{gap:4px}nav button{padding:12px 14px;font-size:13px;min-height:43px;color:#65656b;display:flex;align-items:center;gap:12px}nav button.active{background:#fff;color:#1d1d1f;box-shadow:0 2px 8px #1d1d1f07,inset 3px 0 var(--accent);font-weight:650}nav button:hover{background:#ececf1}.nav-icon{width:17px;height:17px;opacity:.75;flex-shrink:0}.aside-bottom{padding-top:30px;font-size:11px;color:#8a8a91}.aside-bottom button{margin-top:10px;padding:8px 12px;font-size:11px}.dot{background:var(--accent);width:6px;height:6px}
main{padding:38px clamp(22px,3.2vw,58px) 60px;max-width:1800px;width:100%}header{margin-bottom:34px;min-height:60px}h1{font-size:32px;letter-spacing:-1.1px;font-weight:700}header .muted{font-size:13px;color:#86868b}.stat,.panel{border:1px solid #e9e9ee;background:#fff;border-radius:22px;box-shadow:0 3px 12px #1d1d1f02;padding:25px}.stat{border-top:1px solid #e9e9ee}.stat span{font-size:12px}.stat strong{letter-spacing:-1px;font-weight:650;font-variant-numeric:tabular-nums}.report-stats .stat strong{font-size:30px}.stats{gap:18px}.panel h3{font-size:15px;font-weight:650;letter-spacing:-.2px}.panel h2{font-weight:650}.note{background:#f0f0f4;border:1px solid #e9e9ee;border-radius:14px;color:#67676d;padding:15px 18px;font-size:12px}.note b{color:#343438}.error{background:#fff3ef;color:#a4391a}.note.error{border-color:#f7ded3;background:#fff5ef;color:#a24623}.badge{background:#f6eee8;color:#9e4a1e;border-radius:20px;padding:6px 11px}.table-wrap{border-radius:12px}table{font-size:12px}th{font-size:11px;letter-spacing:.1px;font-weight:550;background:#fafafc;border-color:#eeeeF2;padding:13px 12px}td{padding:17px 12px;border-color:#f0f0f4}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfe}td strong{font-weight:600}.record-id{color:#98989f}td button{padding:8px 12px;font-size:12px}.list-toolbar{gap:12px;margin-bottom:20px}.filter-field span{color:#7c7c83;font-size:11px}.list-summary{font-size:11px;color:#8b8b92}.report-bar meter{appearance:none;border:0;border-radius:8px;height:10px;background:#f0f0f4}.report-bar meter::-webkit-meter-bar{background:#f0f0f4;border:0;border-radius:8px}.report-bar meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#f6a26b,#f56321);border-radius:8px}.report-bar meter::-moz-meter-bar{background:#f56321;border-radius:8px}.report-stats small{font-size:11px;color:#8a8a91}.report-columns{gap:20px}.stock-card{border-radius:22px;border-color:#e9e9ee;padding:24px}.stock-grid{gap:18px}.stock-status{border-radius:20px}.stock-amount{letter-spacing:-1px}.welcome{border:1px solid #e7e7ed;border-radius:28px;box-shadow:0 18px 80px #1d1d1f07;padding:42px}.welcome h1{font-size:32px}.welcome .mark{width:72px;height:72px}dialog{border:1px solid #ffffffb3;box-shadow:0 30px 100px #0003;border-radius:26px;padding:32px}dialog::backdrop{background:#22222a60;backdrop-filter:blur(7px)}dialog h2{letter-spacing:-.6px;font-size:25px}dialog .close{background:#f3f3f6;border-radius:50%;width:32px;height:32px;padding:0;font-size:21px}#toast{background:#26262b;border:1px solid #44444a;box-shadow:0 8px 30px #0002;border-radius:16px}#content>h2{font-size:24px;letter-spacing:-.7px;margin-top:36px}.section-kicker{font-size:10px;letter-spacing:1.7px;font-weight:650;color:#9b5836}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Product collection */
.showcase-hero{background:radial-gradient(ellipse at 90% 10%,#fbe4d5 0,transparent 55%),#eeedf0;min-height:330px;border-radius:30px;padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:32px;overflow:hidden}.showcase-hero h2{font-size:clamp(35px,4vw,58px);line-height:1.06;letter-spacing:-2.4px;font-weight:700;margin:18px 0}.showcase-hero h2 span{color:#86868b}.showcase-hero p{color:#77777d;font-size:14px;line-height:1.7;margin-bottom:0}.showcase-emblem{width:190px;height:190px;flex-shrink:0;border-radius:50%;background:#fff;box-shadow:15px 25px 45px #82472313,0 2px 4px #fff;transform:rotate(-8deg);padding:12px}.showcase-emblem img{width:100%;height:100%;object-fit:contain;border-radius:50%}.showcase-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.showcase-toolbar label{margin:0}.showcase-search{flex:1;min-width:200px}.showcase-toolbar select{min-width:190px}.showcase-available{display:flex;gap:8px;align-items:center;padding:12px;font-size:12px;color:#77777d}.showcase-available input{width:16px;min-height:16px;height:16px;accent-color:var(--accent)}.showcase-summary{font-size:11px;color:#8c8c93;margin:22px 0 16px}.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.showcase-card{background:#fff;border:1px solid #e9e9ee;border-radius:25px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.showcase-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #20202b08}.showcase-image-button{display:block;padding:0;width:100%;border:0;border-radius:0;background:#f0f0f2;aspect-ratio:1.15;overflow:hidden}.showcase-image-button:hover{background:#f0f0f2}.showcase-photo{display:block;width:100%;height:100%;object-fit:contain;background:#f6f6f8}.showcase-placeholder{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:radial-gradient(ellipse at 65% 25%,#fff,#e9e9ed);color:#9999a1;font-size:10px}.placeholder-object{display:grid;place-items:center;width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,#fff,#e4e4ea);box-shadow:14px 19px 22px #b4b4c025,inset 1px 1px 2px #fff;color:#b5b5be;font-size:45px;font-weight:600;transform:rotate(-8deg)}.showcase-card-content{padding:23px}.showcase-category{color:#ab6843;font-size:10px;font-weight:600}.showcase-card h3{font-size:17px;line-height:1.35;letter-spacing:-.4px;margin:9px 0 10px;min-height:46px;overflow-wrap:anywhere}.showcase-stock{color:#8c8c94;font-size:11px;margin-bottom:24px}.showcase-price-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.showcase-price{font-size:20px;font-weight:650;letter-spacing:-.5px}.showcase-price-row small{display:block;margin-top:4px;font-size:10px}.showcase-detail-button{display:grid;place-items:center;border:0;border-radius:50%;width:34px;height:34px;background:#f1f1f5;padding:0;font-size:19px}.showcase-footer{margin:45px 0 10px;border-top:1px solid #dedee5;padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#9999a1}.showcase-footer strong{font-size:15px;color:#66666e}.showcase-product-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.showcase-detail-art{aspect-ratio:1;border-radius:22px;overflow:hidden}.showcase-detail-price{font-size:32px;font-weight:650;letter-spacing:-1px;margin:20px 0}.showcase-product-detail p{line-height:1.7}.showcase-extra-images{display:flex;gap:12px;overflow-x:auto;margin-top:24px}.showcase-extra-images img{height:140px;max-width:180px;object-fit:contain;border-radius:14px;background:#f5f5f7}
@media(min-width:1650px){.showcase-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-hero{padding:36px}.showcase-emblem{width:140px;height:140px}.showcase-hero h2{font-size:42px}}
@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}aside{position:static;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);display:block;overflow:hidden}aside .mark{display:none}.brand{font-size:17px}nav{display:flex;gap:5px;margin:17px -4px 0;overflow-x:auto;padding:4px;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav button{padding:10px 13px;min-height:39px;border-radius:11px;font-size:12px;gap:7px}nav button.active{box-shadow:0 1px 5px #1d1d1f0a;color:#a43c0b}.nav-icon{width:15px;height:15px}main{padding:27px 20px 45px}header{margin-bottom:25px}h1{font-size:28px}.panel,.stat{border-radius:20px}.showcase-grid{gap:18px}.showcase-emblem{width:130px;height:130px}.eyebrow{display:none}}
@media(max-width:600px){main{padding:24px 15px 35px}header h1{font-size:27px}header .muted{font-size:12px}.actions{gap:7px}.actions button{padding:10px 13px;font-size:12px}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-stats .stat{padding:17px 14px}.report-stats .stat strong{font-size:23px}.report-stats .stat span{font-size:10px}.report-stats small{font-size:10px}.panel{padding:18px}.report-columns{gap:0}.note{font-size:11px;padding:13px}.showcase-hero{padding:30px 25px;min-height:280px;border-radius:24px;position:relative}.showcase-hero>div:first-child{z-index:1}.showcase-hero h2{font-size:37px;letter-spacing:-1.7px}.showcase-hero p{font-size:12px}.showcase-emblem{position:absolute;right:-25px;bottom:-28px;opacity:.22;width:170px;height:170px}.showcase-grid{grid-template-columns:minmax(0,1fr);gap:22px}.showcase-toolbar{gap:10px}.showcase-search{flex-basis:100%}.showcase-toolbar select{min-width:0}.showcase-toolbar>label:nth-child(2){flex:1}.showcase-card-content{padding:23px}.showcase-card h3{min-height:0;font-size:20px}.showcase-image-button{aspect-ratio:1.3}.showcase-stock{margin-bottom:22px}.showcase-footer{flex-direction:column;gap:9px}.showcase-product-detail{grid-template-columns:1fr;gap:20px}dialog{padding:24px 20px;border-radius:24px}.grid{gap:8px}.line{grid-template-columns:minmax(90px,1fr) 56px 92px 30px}.line input,.line select{padding:9px 6px;font-size:12px}.welcome{margin:8vh 16px;padding:30px}.section-kicker{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.showcase-hero,.showcase-footer{box-shadow:none}.receipt{color:black}}
/* Opaque sidebar also avoids compositor artifacts in long mobile captures. */
aside{background:#fafafc;backdrop-filter:none}

#plateOrder,#plateStock{border:0;padding:0;margin:0;min-width:0}

/* Reports share one menu entry, with two local tabs. */
.report-tabs{display:inline-flex;gap:4px;padding:4px;background:#eaeaf0;border:1px solid #e1e1e7;border-radius:13px;margin:0 0 26px;max-width:100%}
.report-tabs [role=tab]{border:0;background:transparent;color:#74747d;border-radius:9px;padding:10px 17px;font-size:13px;min-height:40px;font-weight:600;white-space:nowrap}
.report-tabs [role=tab][aria-selected=true]{background:#fff;color:#1d1d1f;box-shadow:0 2px 6px #1d1d1f0c}
.report-tabs [role=tab]:hover{color:#a43c0b}
@media(max-width:600px){.report-tabs{display:flex;width:100%;margin-bottom:22px}.report-tabs [role=tab]{flex:1;padding:10px 9px;font-size:12px}}

#orderCustomer,#orderProducts{border:0;padding:0;margin:0 0 20px;min-width:0}
#orderProducts legend{font-size:13px;font-weight:600;margin-bottom:12px}
#orderProducts:disabled{opacity:.5}
#newOrderCustomer{min-width:0;margin:12px 0 20px}
#newOrderCustomer legend{padding:0 8px;font-weight:600;font-size:13px}
#newOrderCustomer p{margin:12px 0 0;font-size:12px;line-height:1.6}

.product-detail-top{justify-content:space-between;margin-bottom:20px}.product-detail-stats .stat strong{font-size:24px;overflow-wrap:anywhere}.product-parts{margin-top:26px}.product-detail-note{font-size:12px;line-height:1.7;margin-top:15px}.product-accessory-heading{justify-content:space-between;flex-wrap:wrap;margin-bottom:15px}.product-accessory-heading h3{margin:0}
@media(max-width:600px){.product-detail-stats{grid-template-columns:1fr}.product-detail-stats .stat{padding:16px}.product-accessory-heading button{width:100%}}
.plate-estimate{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.plate-estimate p{flex:1;min-width:200px;margin:0;font-size:12px;line-height:1.7}.plate-estimate button{font-size:12px}#plateLotHint{font-size:12px;line-height:1.7;margin-bottom:22px}
#plateFilamentColor[readonly]{background:#f5f5f7;color:#65656b;cursor:default}

.product-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:34px;padding:6px 12px;border-radius:11px;font-size:16px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.count-printed{background:#edf1fc;color:#36569a}.count-sold{background:#f0edf9;color:#655096}.count-stock{background:#e8f4ed;color:#286744}.count-zero,.count-unknown{background:#f0f0f3;color:#72727b}.count-negative{background:#fff0eb;color:#a4391a;box-shadow:inset 0 0 0 1px #f1c7b9}
.product-list-price{font-size:13px;font-variant-numeric:tabular-nums}
.usage-required{display:inline-block;background:#eef3fc;color:#36569a;margin-top:7px;font-size:10px}.usage-remove{color:#a4391a!important;border-color:#f0d6cd!important}

.usage-short{background:#fff0e8;color:#9a3e22}.usage-covered{background:#edf4ee;color:#3d6347}
#newPurchaseMaterial{grid-column:1/-1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:#faf9f7}#newPurchaseMaterial legend{padding:0 6px;font-weight:600}#newPurchaseMaterial p{font-size:12px;margin-bottom:0}

/* Badges occupy their full height; inline padding must not overlap adjacent lines. */
.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:25px;padding:4px 10px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:500;line-height:1.35;vertical-align:middle;white-space:nowrap}
.stock-balance{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:max-content;padding:2px 0}
.stock-balance-value{display:inline-flex;align-items:baseline;gap:4px;font-size:15px;font-weight:650;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}
.stock-balance-value small{font-size:11px;font-weight:400;color:#85858e}
.badge.usage-required{margin-top:0}

.order-reference-price{grid-column:1/-1;font-size:11px;line-height:1.5;padding:0 2px 6px;color:#777780}.line{row-gap:6px}

.order-money-summary>p:not(.muted){display:flex;justify-content:space-between;gap:18px}.order-money-summary>p:nth-child(3){border-top:1px solid var(--line);padding-top:15px;font-size:16px}.order-money-summary .muted{font-size:11px;line-height:1.6;margin-bottom:0}
/* Keep accessory lot names within the order table; the menu retains full labels. */
select[data-accessory-lot]{width:220px;max-width:100%;min-width:0;margin-bottom:8px;font-size:12px}

.accessory-allocation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0;max-width:250px}.accessory-allocation span{flex:1 1 150px;overflow-wrap:anywhere}.accessory-allocation button{flex:none;min-height:36px;white-space:nowrap}

button.stat-link{display:block;text-align:left;width:100%;cursor:pointer}button.stat-link span{display:block}button.stat-link:hover{border-color:var(--accent);background:#fff8f3}button.stat-link strong{display:block}
.plate-part-preview{margin:-4px 0 18px}.plate-part-preview p{margin:8px 0}.plate-part-images{display:flex;gap:12px;overflow-x:auto;padding:4px}.plate-part-images a{display:block;flex:0 0 180px}.plate-part-images img{display:block;width:180px;height:150px;object-fit:contain;background:#fff;border:1px solid #e9e9ee;border-radius:14px}

.character-order{grid-column:1/-1;padding:14px;border:1px solid #e5e5eb;border-radius:14px;margin:0 0 14px}.character-order .field{margin-bottom:6px}.character-order .grid{gap:14px}.character-order p{margin:6px 0 0}.character-stock{margin:24px 0}#plateCharacters{padding:14px;border:1px solid #e5e5eb;border-radius:14px;margin-bottom:18px}

.product-image-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}.product-image-previews figure{margin:0;min-width:0}.product-image-previews img{display:block;width:100%;height:180px;object-fit:contain;border:1px solid #e5e5eb;background:#fff;border-radius:15px}.product-image-previews figcaption{font-size:12px;margin:8px 0;line-height:1.5}.product-image-previews a{font-size:12px}
.plate-detail-art{margin:22px 0}.plate-detail-art .plate-part-images{margin-bottom:10px}
