:root{--ink:#342d33;--muted:#93858b;--rose:#ad4e68;--rose-light:#f7e9ed;--line:#eee5e7;--bg:#faf8f7;--green:#638977}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg)}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.3;font-weight:650;letter-spacing:1px;margin-bottom:10px}h2{font-size:17px;font-weight:600}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid #e6dadd;border-radius:9px;background:#fff;color:var(--ink);padding:9px 15px;text-decoration:none;white-space:nowrap}button:hover,.button:hover{border-color:var(--rose);color:var(--rose)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--rose);color:white;border-color:var(--rose)}.primary:hover{background:#923f56;color:white}.full{width:100%}.text-button{border:0;background:transparent;padding:5px;color:var(--muted)}input:not([type=checkbox]):not([type=range]),select,textarea{width:100%;border:1px solid #e6dfe0;background:white;border-radius:8px;padding:10px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--rose)!important;box-shadow:0 0 0 3px #ad4e6810}input[type=color]{height:44px;padding:4px!important}input[type=checkbox],input[type=range]{accent-color:var(--rose)}input[type=range]{width:100%}label{display:block;margin-bottom:17px;font-size:13px}label input, label select,label textarea{margin-top:6px}label.inline{display:inline-flex;align-items:center;gap:8px;margin:0}.inline input{margin:0}em{color:var(--rose);font-style:normal}.muted{color:var(--muted);font-size:13px}.tiny{font-size:12px;color:var(--muted);line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--rose);font-weight:600;margin-bottom:8px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;font-size:32px;background:var(--rose-light);color:var(--rose);width:48px;height:48px;border-radius:16px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;padding:32px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:650;color:var(--ink);text-decoration:none}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:1px}.nav-caption{font-size:11px;color:#b3a7ab;margin:48px 12px 14px}.nav{width:100%;justify-content:flex-start;gap:15px;border:0;border-radius:10px;margin-bottom:7px;padding:13px;background:transparent;color:#887981;font-size:18px}.nav span{font-size:14px}.nav.active{background:var(--rose-light);color:var(--rose);font-weight:600}.sidebar-tip{margin-top:auto;padding:20px 12px;background:#fbf8f5;border-radius:12px;font-size:12px;color:#9b8070}.sidebar-tip p{margin:8px 0 0;color:#b09b8f}.user{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}main{margin-left:230px}.topbar{padding:20px 38px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--muted);background:#ffffff88}.topbar i{margin:0 14px;color:#c8bfc3}.status b{color:var(--green);font-size:9px;margin-right:8px}.page{padding:36px 38px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.page-heading p{margin-bottom:0}.page-heading .eyebrow{margin-bottom:9px}.count{display:inline-block;font-size:14px;letter-spacing:0;background:#eee7e5;color:#a29194;padding:4px 9px;border-radius:8px;margin-left:12px;vertical-align:middle}.banner{background:linear-gradient(110deg,#f2e5e4,#faf1eb);border:1px solid #f0e0de;border-radius:16px;min-height:165px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;overflow:hidden}.banner h2{font-size:23px;letter-spacing:1px;margin:10px 0 6px;color:#78525e}.banner p{color:#a2848a;font-size:12px;margin:0}.pill{font-size:10px;color:#a77584;border:1px solid #dcbfc7;border-radius:5px;padding:3px 6px;letter-spacing:1px}.banner-stamp{border:1px solid #d8bcc1;padding:12px 32px;text-align:center;color:#b88d95;transform:rotate(6deg);border-radius:20px;margin-right:30px;background:#fff5}.banner-stamp strong{font-size:38px;line-height:1.3;font-weight:400;display:block}.banner-stamp span{font-size:13px;letter-spacing:2px}.filters{display:flex;gap:12px;margin-bottom:20px}.filters input{flex:1;min-width:80px}.filters select{width:170px}.list-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.list-tools .muted{margin-left:14px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.image-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;position:relative}.image-card .photo{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#f4eded;cursor:pointer}.image-card .pick{position:absolute;left:12px;top:12px;z-index:1;width:18px;height:18px;cursor:pointer}.card-info{padding:14px}.card-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px;font-weight:600}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#f6edef;color:#a17582}.tag.scope{background:#f3f3ed;color:#8b8c6c}.card-sku{font-size:10px;color:#a09299;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.card-actions button,.card-actions a{font-size:12px;padding:5px 9px}.card-actions .delete{margin-left:auto;color:#bc9299}.empty{grid-column:1/-1;text-align:center;padding:75px 20px;background:white;border:1px dashed #e5d4d9;border-radius:12px}.empty .flower{font-size:45px;color:#c996a5}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding-top:28px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px}.section-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.section-row h2{margin:0}.upload-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:24px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chips label{margin:0;display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:6px 9px;border-radius:7px;background:#fcfafb;font-size:12px}.chips label:has(input:checked){background:var(--rose-light);border-color:#d4a0b0;color:var(--rose)}.chips input{margin:0}.dropzone{padding:32px 20px;border:2px dashed #dfbec9;border-radius:14px;text-align:center;background:#fdf9fa;transition:.15s}.dropzone.drag{background:#f4e1e7;border-color:var(--rose)}.dropzone p{color:var(--muted);font-size:12px}.upload-symbol{font-size:28px;margin:0 auto 14px;width:50px;height:50px;border-radius:50%;color:var(--rose);background:#f2e4e9}.queue-panel{align-self:start;position:sticky;top:20px}.queue-summary{padding:10px;background:#faf5f6;color:#987281;border-radius:8px;font-size:12px;margin-bottom:16px}.queue{max-height:450px;overflow:auto}.queue-item{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.queue-item img{width:50px;height:50px;border-radius:7px;object-fit:cover}.queue-body{flex:1;min-width:0}.queue-body strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-body p{font-size:11px;margin:4px 0;color:var(--muted)}progress{width:100%;height:6px;accent-color:var(--rose)}.queue-actions{display:flex;gap:6px}.queue-actions button{padding:2px 5px;font-size:11px}.queue-panel>.primary{margin-top:18px}.tax-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:16px 0}.tax-row>div{flex:1}.tax-row small{display:block;color:var(--muted);font-size:11px}.tax-row button{font-size:12px;padding:5px 8px}.narrow{max-width:550px}footer{padding:20px 38px;color:#b1a2a7;border-top:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between}dialog{border:1px solid var(--line);border-radius:16px;padding:0;max-height:94vh;width:min(1100px,96vw);color:var(--ink);box-shadow:0 24px 100px #392b3d33}dialog::backdrop{background:#33243166;backdrop-filter:blur(4px)}.dialog-header,.dialog-footer{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-header h2,.dialog-header p{margin-bottom:0}.dialog-footer{border-top:1px solid var(--line);border-bottom:0;background:#fff;position:sticky;bottom:0;gap:15px}.dialog-footer span{font-size:12px;color:var(--rose)}.editor-grid{display:grid;grid-template-columns:1.1fr 1fr}.preview-area{background:#f7f3f2;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center}.preview-area canvas{width:100%;max-width:480px;aspect-ratio:1;box-shadow:0 6px 24px #4e323212;cursor:grab;touch-action:none}.preview-area p{font-size:12px;color:var(--muted);margin:14px 0}.preview-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.preview-tools button,.preview-tools a{font-size:11px;padding:6px 10px}.edit-controls{padding:24px}.edit-controls label{margin-bottom:12px}.edit-controls .two-col{gap:12px}.dialog-body{padding:24px}#taxDialog{max-width:440px}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:999;background:#42353d;color:white;padding:12px 22px;border-radius:10px;box-shadow:0 4px 20px #0002;max-width:90vw;display:none}.error{font-size:13px;color:#b54358;margin:12px 0 0}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1300px;margin:auto}.login-card{padding:10vh 12%;align-self:center}.login-card h1{font-size:35px;line-height:1.5;margin:18px 0}.login-card .eyebrow{margin-top:22px}.login-card form{margin-top:35px}.login-art{background:linear-gradient(145deg,#f3e2e6,#eddfd0);margin:30px;border-radius:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#a97787;overflow:hidden}.art-orbit{font-size:160px;line-height:1.5;color:#cba0ae;text-shadow:15px 15px #fff7}.login-art p{font-size:33px;text-align:center;letter-spacing:5px;line-height:1.8;margin:20px}.login-art span{font-size:10px;letter-spacing:2px;margin-top:35px}button:focus-visible,a:focus-visible{outline:3px solid #d9a9b8;outline-offset:3px}
@media(min-width:1500px){.gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:200px;padding:25px 15px}main{margin-left:200px}.page{padding:28px 24px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-layout{grid-template-columns:1fr}.queue-panel{position:static}.taxonomy-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:15px}.brand{font-size:17px}.brand-icon{width:38px;height:38px;font-size:25px}.nav-caption,.sidebar-tip{display:none}.sidebar nav{display:flex;margin-top:14px;overflow:auto}.nav{padding:9px;gap:5px;white-space:nowrap;margin:0;width:auto;flex:1}.nav span{font-size:11px}.user{position:absolute;right:18px;top:20px;border:0;padding:0;margin:0;font-size:12px;gap:10px}main{margin:0}.topbar{padding:12px 18px}.status{display:none}.page{padding:25px 16px}.page-heading h1{font-size:25px}.page-heading .muted{font-size:11px}.banner{padding:22px 18px}.banner h2{font-size:18px}.banner-stamp{margin:0;padding:12px;opacity:.6}.banner-stamp strong{font-size:26px}.banner p{font-size:10px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters{flex-wrap:wrap;gap:8px}.filters input{flex-basis:100%}.filters select{width:auto;flex:1;max-width:40%}.list-tools .muted{display:none}.card-info{padding:10px}.card-actions{gap:4px}.card-actions button,.card-actions a{padding:4px 6px;font-size:11px}.two-col{gap:12px}.panel{padding:18px}.editor-grid{grid-template-columns:1fr}.preview-area{padding:16px}.preview-area canvas{max-width:350px}.dialog-header,.dialog-footer{padding:14px 16px}footer{padding:20px 16px}footer span{display:none}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:60px 28px}.login-card h1{font-size:32px}}
