:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1b2533;background:#f2f5f8;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.12;margin-bottom:.55rem}h2{font-size:1.45rem}p{line-height:1.5;color:#64748b}.topbar{background:#fff;border-bottom:1px solid #dde5ed;display:flex;align-items:center;justify-content:space-between;padding:15px max(18px,calc((100vw - 1220px)/2));min-height:70px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.22rem;color:#922346}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:#922346;color:white;border-radius:12px;font-size:.95rem}.text-button{border:0;background:transparent;color:#922346;font-weight:700}.eyebrow{display:block;color:#922346;text-transform:uppercase;font-weight:800;letter-spacing:.07em;font-size:.78rem;margin-bottom:8px}main{max-width:1240px;margin:auto;padding:28px 18px 90px}.center-card{max-width:470px;background:white;border:1px solid #dbe4ec;border-radius:24px;padding:32px;margin:10vh auto;box-shadow:0 12px 35px #1e293b0f}.center-card form{display:grid;gap:18px;margin-top:24px}label{display:grid;gap:7px;font-weight:700;font-size:.9rem}input[type=text],input[type=password],input:not([type]),input[type=search]{border:1px solid #cbd6e2;border-radius:12px;padding:13px 15px;width:100%;background:white;outline:none}input:focus,button:focus-visible{outline:3px solid #c66c89;outline-offset:2px}.primary,.secondary,.ghost{border-radius:12px;padding:13px 18px;font-weight:800;min-height:48px}.primary{color:white;background:#922346;border:1px solid #922346}.primary:hover{background:#781b38}.secondary{color:#922346;background:white;border:1px solid #d5b4c0}.secondary:hover,.ghost:hover{background:#faeaf0}.ghost{color:#922346;background:#fff;border:1px solid #dbe4ec}.error{color:#b42338;min-height:1em}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}.intro p{margin-bottom:0}.search{max-width:390px;margin-bottom:20px;background:#fff}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:16px}.product-card{background:#fff;border:1px solid #d8e2eb;border-radius:19px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.product-preview{border:0;background:#f5f7f9;padding:10px;height:215px;width:100%;display:grid;place-items:center}.product-preview{overflow:hidden;grid-template:100%/100%}.product-preview img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 3px #0002);transition:transform .2s}.product-preview:hover img{transform:scale(1.025)}.product-body{padding:15px;display:flex;flex-direction:column;flex:1}.product-body h3{font-size:1.02rem;line-height:1.22;margin:0 0 6px}.filename{color:#64748b;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere;margin:0 0 14px}.copies{color:#922346;font-weight:800;font-size:.8rem;margin-top:auto}.qty-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.qty-control button{height:42px;width:45px;border-radius:10px;border:1px solid #d1dce6;background:#fff;color:#1b2533;font-size:1.4rem;line-height:1}.qty-control button.plus{background:#922346;border-color:#922346;color:white}.qty-control strong{min-width:24px;text-align:center;font-size:1.12rem}.sticky-cart{position:sticky;bottom:12px;z-index:5;margin-top:22px}.sticky-cart button{width:100%;box-shadow:0 12px 35px #64112c3d;font-size:1.06rem}.stepback{border:0;background:none;color:#922346;font-weight:800;padding:0;margin:0 0 20px}.cart-list{display:grid;gap:14px}.cart-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:15px;background:white;border:1px solid #d8e2eb;border-radius:17px;padding:13px}.cart-row img{width:88px;height:118px;object-fit:contain;background:#f5f7f9;border-radius:9px}.cart-row h3{margin:2px 0 5px}.cart-row p{font-size:.8rem;margin-bottom:5px;overflow-wrap:anywhere}.cart-row .qty-control{max-width:180px}.result-name{display:inline-block;background:#fae9ef;color:#922346;border-radius:8px;padding:6px 9px;font-weight:800;font-size:.83rem;overflow-wrap:anywhere}.cart-actions{display:grid;gap:10px;margin:23px 0}.cart-actions .primary,.cart-actions .secondary{width:100%}.success{background:#fff;border-radius:23px;padding:38px;text-align:center;max-width:550px;margin:8vh auto}.success-icon{margin:auto auto 18px;display:grid;place-items:center;background:#e2f3eb;color:#27755e;font-size:3.6rem;border-radius:100%;width:100px;height:100px}.success .primary{margin-top:15px}.admin-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.tabs{display:flex;gap:5px;border-bottom:1px solid #d7e0e9;margin:28px 0 23px}.tab{border:0;background:none;padding:13px 19px;font-weight:800;color:#68778b}.tab.active{color:#922346;border-bottom:3px solid #922346}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}.panel-head p{margin:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}.admin-card,.order-card{background:white;border:1px solid #d8e2eb;border-radius:18px;padding:15px}.admin-card{display:flex;gap:14px}.admin-card img{width:100px;height:137px;object-fit:contain;background:#f5f7f9;border-radius:8px}.admin-card>div{min-width:0;flex:1}.admin-card h3{font-size:1rem;margin:0 0 6px}.admin-card .filename{margin-bottom:10px}.admin-card button{font-size:.83rem;padding:8px 9px;min-height:35px;width:100%}.order-card{display:grid;gap:13px;min-height:190px;cursor:pointer}.order-top{display:flex;align-items:start;gap:11px}.order-top input{width:21px;height:21px;accent-color:#27755e;margin-top:3px;cursor:pointer}.order-top strong{font-size:1.02rem}.order-card.done .order-top strong{text-decoration:line-through;color:#66758a}.badge{display:inline-block;border-radius:9px;padding:6px 10px;font-size:.78rem;font-weight:800;background:#fae9ef;color:#922346;width:max-content}.badge.done{background:#e2f3eb;color:#27755e}.order-card .filename{margin:0}.order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:end}.order-buttons button{padding:8px;font-size:.8rem;min-height:38px}.hint{font-size:.85rem;margin-top:15px}.linkbox{background:#fff;border:1px solid #d8e2eb;border-radius:12px;padding:13px 15px;overflow-wrap:anywhere;color:#526278;font-size:.85rem}.modal-backdrop{position:fixed;inset:0;background:#111827b8;z-index:20;display:grid;place-items:center;padding:15px}.modal{width:min(100%,620px);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:20px;padding:23px;box-shadow:0 20px 60px #0004}.modal.wide{width:min(100%,810px)}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:13px}.modal-head h2{margin:0}.close{border:0;background:#edf1f5;border-radius:9px;width:38px;height:38px;font-size:1.5rem;flex:none}.preview-image{display:block;max-height:calc(100vh - 190px);max-width:100%;object-fit:contain;margin:auto;background:#f5f7f9}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.modal-actions button{min-width:100px}.upload-form{display:grid;gap:18px}.upload-form input[type=file]{width:100%;border:1px dashed #adbcc9;border-radius:11px;padding:14px;font-weight:400}.upload-preview{width:110px;height:150px;object-fit:contain;background:#f5f7f9;border:1px solid #d8e2eb;border-radius:9px}.detail-list{display:grid;gap:10px;margin:15px 0}.detail-item{border:1px solid #dce4ec;border-radius:11px;padding:12px;overflow-wrap:anywhere}.detail-item strong{color:#922346}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#17212f;color:#fff;padding:11px 18px;border-radius:11px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s;max-width:min(90vw,500px);text-align:center}#toast.visible{opacity:1}
@media(max-width:650px){main{padding:22px 14px 70px}.topbar{padding:12px 14px}.intro,.admin-head,.panel-head{display:block}.intro p{margin-top:8px}.admin-head .secondary,.panel-head .primary{width:100%;margin-top:16px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-preview{height:145px}.product-body{padding:10px}.product-body h3{font-size:.92rem}.filename{font-size:.72rem}.qty-control{gap:3px}.qty-control button{width:36px;height:38px}.cart-row{grid-template-columns:75px minmax(0,1fr);gap:11px}.cart-row img{width:75px;height:105px}.center-card{margin:5vh auto;padding:24px}.admin-grid{grid-template-columns:1fr}.modal{padding:17px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions button{min-width:0}.order-buttons{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.product-body h3{font-size:1rem}.filename{font-size:.78rem}.qty-control button{width:44px;height:44px}.admin-card button,.order-buttons button{min-height:44px}}
.checks{list-style:none;margin:22px 0;padding:0;display:grid;gap:8px}.checks li{border-radius:9px;padding:8px 11px;font-size:.9rem}.checks .ok{background:#e3f3ec;color:#27755e}.checks .bad{background:#fff0f0;color:#b42338}
.admin-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;text-decoration:none}.admin-icon .dot{display:block;width:12px;height:12px;border-radius:50%;background:#c58ea1}.admin-icon:hover .dot{background:#922346}.admin-icon:focus-visible{outline:3px solid #c66c89;outline-offset:2px}
.text-button{text-decoration:none}

.card-actions{display:grid;gap:6px}
.danger-text{color:#b42338!important}
.ghost.danger-text:hover{background:#fff0f0}
.primary.danger{background:#b42338;border-color:#b42338}.primary.danger:hover{background:#951b2d}
.text-button.small{font-size:.8rem;padding:4px 0;justify-self:start;background:none;border:0;cursor:pointer}
.order-card{grid-template-rows:auto auto 1fr auto auto}
.admin-card input,.upload-form input:not([type=file]){border:1px solid #cbd6e2;border-radius:12px;padding:12px 14px;width:100%;font-weight:400}
.protected img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}
.protected .product-card,.protected .cart-row,.protected .modal{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.protected img{transition:filter .15s}
.protected.veiled img{filter:blur(22px) grayscale(1)}
@media print{body.protected{display:none!important}}

.top-actions{display:flex;gap:18px;align-items:center}
.crop-box{display:grid;gap:12px}
.crop-tools{display:flex;gap:8px;flex-wrap:wrap}
.crop-tools button{min-height:40px;padding:8px 14px}
.crop-canvas{display:block;margin:auto;max-width:100%;touch-action:none;cursor:crosshair;border:1px solid #d8e2eb;border-radius:8px;background:#f5f7f9}
