:root{--ink:#171a1c;--muted:#6b7075;--line:#d9dcdf;--paper:#fff;--canvas:#f1f2f0;--red:#b72731;--green:#176b52}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"Microsoft YaHei",Arial,sans-serif;letter-spacing:0}.topbar{height:88px;padding:0 32px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:4px solid var(--red)}h1,h2,h3,p{margin:0}.topbar h1{font-size:22px}.eyebrow{font-size:10px;letter-spacing:2px;color:#aeb3b5;margin-bottom:4px}.header-actions,.order-actions{display:flex;gap:8px}.primary,.icon-button,.small{border:0;cursor:pointer;font:inherit}.primary{background:var(--red);color:#fff;padding:11px 18px;font-weight:700}.icon-button{width:42px;height:42px;background:#34383a;color:#fff;font-size:22px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:calc(100vh - 88px)}.workspace{padding:32px;min-width:0}.orders-panel{background:#fff;border-left:1px solid var(--line);padding:28px 24px}.step-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.step-heading>span{font-size:12px;background:var(--ink);color:#fff;width:31px;height:31px;display:grid;place-items:center}.step-heading h2,.panel-title h2{font-size:19px}.step-heading p{font-size:12px;color:var(--muted);margin-top:2px}.step-heading b{color:var(--red)}.template-area{display:grid;grid-template-columns:1fr minmax(250px,34%);gap:24px;margin-bottom:36px}.template-grid{display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:8px;align-content:start}.template-choice{position:relative}.template-choice input{position:absolute;opacity:0}.template-choice label{height:54px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;cursor:pointer;transition:.15s}.template-choice input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:inset 0 -4px var(--red)}.reference{margin:0;background:#fff;border:1px solid var(--line);padding:8px}.reference img{display:block;width:100%;height:170px;object-fit:cover;object-position:top}.reference figcaption{font-size:11px;color:var(--muted);padding:7px 3px 1px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.form-grid label,.delivery-block>label{display:grid;gap:6px;font-size:12px;font-weight:700}.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #c8cccf;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid rgba(183,39,49,.22);border-color:var(--red)}textarea{resize:vertical}.delivery-block{margin-top:20px;display:grid;gap:14px}.segmented{display:flex}.segmented input{position:absolute;opacity:0}.segmented label{padding:9px 25px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px}.segmented input:checked+label{background:var(--ink);color:#fff;border-color:var(--ink)}.submit-row{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.submit-row p{font-size:11px;color:var(--muted);max-width:540px}.form-error{color:var(--red);font-size:12px;min-height:18px;margin-top:12px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title strong{font-size:30px;color:var(--red)}.search{margin:18px 0}.orders{display:grid;gap:10px;max-height:calc(100vh - 208px);overflow:auto;padding-right:3px}.empty{color:var(--muted);font-size:13px;padding:40px 10px;text-align:center;border:1px dashed var(--line)}.order-card{border:1px solid var(--line);padding:14px;background:#fafafa}.order-card-head{display:flex;justify-content:space-between;gap:10px}.order-card h3{font-size:15px}.order-meta,.order-detail{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.55}.status{font-size:10px;color:var(--green);font-weight:700;white-space:nowrap}.order-actions{margin-top:12px}.order-actions select{padding:7px;font-size:11px}.small{padding:7px 10px;background:#e6e8e9;font-size:11px}.danger{color:var(--red)}
.shipping-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.shipping-fields label{display:grid;gap:6px;font-size:12px;font-weight:700}
@media(max-width:980px){.layout{grid-template-columns:1fr}.orders-panel{border-left:0;border-top:1px solid var(--line)}.orders{max-height:none}.template-area{grid-template-columns:1fr}.reference img{height:260px}}@media(max-width:620px){.topbar{padding:0 18px}.workspace,.orders-panel{padding:22px 16px}.template-grid{grid-template-columns:repeat(4,1fr)}.form-grid,.shipping-fields{grid-template-columns:1fr}.wide{grid-column:auto}.submit-row{align-items:stretch;flex-direction:column}.template-area{gap:14px}.reference img{height:190px}}
.template-picker{align-self:start}.selection-summary{margin-top:10px;font-size:12px;color:var(--muted);min-height:18px}.selection-summary.has-selection{color:var(--green);font-weight:700}.reference{cursor:zoom-in}.reference img{height:auto;max-height:640px;object-fit:contain}.reference figcaption{display:flex;justify-content:space-between;gap:10px}.reference figcaption strong{color:var(--red)}.image-viewer{width:min(1100px,96vw);height:94vh;padding:0;border:0;background:#202325;color:#fff}.image-viewer::backdrop{background:rgba(0,0,0,.82)}.viewer-toolbar{height:58px;padding:8px 12px 8px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #414547}.viewer-toolbar>span{font-size:13px;font-weight:700}.viewer-toolbar>div{display:flex;gap:6px}.viewer-toolbar .icon-button{background:#353a3d;font-size:18px}.viewer-toolbar #zoomReset{font-size:11px}.viewer-canvas{height:calc(94vh - 58px);overflow:auto;text-align:center;padding:18px;background:#111}.viewer-canvas img{display:block;width:100%;max-width:none;height:auto;margin:0 auto;transform-origin:top center;transition:width .15s}.image-viewer[open]{display:block}
@media print{.topbar,.template-area,.step-heading,.orders-panel,.submit-row,.form-error,.image-viewer{display:none!important}.layout{display:block}.workspace{padding:0}.form-grid input,.form-grid select,.form-grid textarea{border:0;border-bottom:1px solid #555}.delivery-block{margin-top:15px}}
.account-label{font-size:12px;color:#d8dbdc;max-width:220px;overflow:hidden;text-overflow:ellipsis}.logout-button{background:#34383a;color:#fff}.auth-dialog{width:min(430px,92vw);border:0;padding:0;background:#fff}.auth-dialog::backdrop{background:rgba(16,18,19,.88)}.auth-brand{padding:28px 30px 22px;background:var(--ink);color:#fff;border-bottom:4px solid var(--red)}.auth-brand h2{font-size:22px}.auth-brand>p:last-child{font-size:12px;color:#b8bdc0;margin-top:8px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr}.auth-tabs button{border:0;border-bottom:1px solid var(--line);background:#f0f1f1;padding:13px;cursor:pointer;font:inherit}.auth-tabs button.active{background:#fff;border-bottom:3px solid var(--red);font-weight:700}.auth-dialog form{padding:24px 30px 12px;display:grid;gap:14px}.auth-dialog form label{display:grid;gap:6px;font-size:12px;font-weight:700}.auth-dialog form .primary{width:100%}.auth-note{padding:0 30px 24px;font-size:11px;color:var(--muted)}body.admin-mode .layout{grid-template-columns:1fr}body.admin-mode .workspace,body.admin-mode #newOrderButton{display:none}body.admin-mode .orders-panel{border-left:0}body.admin-mode .orders{max-height:none;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}body:not(.admin-mode) .status-select,body:not(.admin-mode) .delete-button{display:none}@media(max-width:700px){.account-label{display:none}.header-actions{gap:5px}.logout-button{padding:7px}.auth-dialog form,.auth-note{padding-left:20px;padding-right:20px}}
