/* VONLERA Studio V2: administración responsive e independiente de la tienda. */
:root{--ink:#1d1c1a;--paper:#f7f5f0;--muted:#716b63;--line:#e3ddd3;--dark:#1f1d1b;--focus:#987454}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin-top:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.eyebrow{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#8a7f72}.skip-link{position:fixed;top:-80px;left:10px;padding:12px;background:white;z-index:999}.skip-link:focus{top:10px}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:45px;padding:11px 18px;border:1px solid var(--ink);font-size:.76rem;font-weight:800;background:transparent}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:#4f4942}.button.secondary{background:white}.button.danger{border-color:#9b342f;color:#9b342f}.button.wide{width:100%}.error{color:#a3362a;font-size:.76rem;min-height:20px}.success{color:#2f6a49}.hint{font-size:.72rem;color:var(--muted)}.brand-label{font-size:2.25rem;letter-spacing:-.075em;font-weight:850;margin-bottom:57px}.brand-label span,.sidebar-brand>span{font-size:10px;letter-spacing:0;vertical-align:top}.login-screen{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-card{padding:clamp(38px,7vw,110px);max-width:720px;width:100%;margin:auto}.login-card h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.8rem,4.5vw,4.6rem);letter-spacing:-.07em;line-height:1.04;margin:13px 0 18px}.login-card>p:not(.error){max-width:400px;line-height:1.8;color:#625d58;margin-bottom:32px}.login-card form{display:grid;gap:11px}.login-card label{font-size:.75rem;font-weight:780;margin-top:9px}.login-card input{width:100%;border:1px solid #c8beb3;background:white;padding:14px;min-height:49px;border-radius:0}.login-card form .button{margin-top:18px}.back-site{display:inline-block;margin-top:45px;color:#625d56;font-size:.78rem;border-bottom:1px solid}.login-art{position:relative;background:#282523;min-height:600px;overflow:hidden}.login-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.85}.login-art span{position:absolute;bottom:34px;left:36px;right:36px;color:white;letter-spacing:.2em;font-weight:750;font-size:11px}
.app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100dvh}.sidebar{background:#23211f;color:#f1ece4;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:32px 16px 22px}.sidebar-brand{font-size:1.68rem;font-weight:840;letter-spacing:-.067em;padding:6px 14px 42px}.sidebar-brand small{display:block;font-size:.54rem;letter-spacing:.2em;font-weight:650;color:#aea79e;margin-top:14px}.sidebar nav{display:grid;gap:5px}.nav-item{text-align:left;color:#c5bfb6;background:none;border:none;font-size:.84rem;font-weight:650;padding:14px 16px}.nav-item:hover,.nav-item.active{color:#201d19;background:#f0ece4}.sidebar-footer{margin-top:auto;border-top:1px solid #4a4642;padding:22px 14px 8px;display:grid;gap:14px}.sidebar-footer a,.sidebar-footer button{border:0;background:none;color:#c7c1b9;text-align:left;font-size:.76rem;padding:0}.app-content{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 42px 28px;border-bottom:1px solid var(--line);background:#fbfaf7}.topbar h1{font-family:Georgia,serif;font-size:2.35rem;font-weight:400;letter-spacing:-.055em;margin:7px 0 0}.topbar-user{display:flex;align-items:center;gap:11px;font-size:.72rem;color:var(--muted);min-width:0;overflow-wrap:anywhere}.role-chip{background:#ece5d9;padding:7px 10px;color:#443c34;text-transform:uppercase;font-size:.62rem;letter-spacing:.1em;font-weight:750}.app-content main{padding:34px 42px 100px;max-width:1480px;width:100%;margin:auto;flex:1}.admin-footer{border-top:1px solid var(--line);color:#847c71;font-size:.68rem;padding:18px 42px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}.metric{background:#fff;border:1px solid var(--line);padding:23px}.metric small{display:block;color:var(--muted);letter-spacing:.06em;font-size:.72rem}.metric strong{font-size:2.3rem;display:block;font-weight:680;letter-spacing:-.06em;margin-top:11px}.panel{background:#fff;border:1px solid var(--line);padding:27px;margin-bottom:22px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-header h2{font-family:Georgia,serif;font-size:1.8rem;letter-spacing:-.05em;font-weight:400;margin:0}.panel-header p{margin:6px 0 0;color:var(--muted);font-size:.8rem}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:620px;text-align:left}th{text-transform:uppercase;font-size:.61rem;letter-spacing:.1em;color:#797267;font-weight:800;border-bottom:1px solid var(--line);padding:14px 9px}td{border-bottom:1px solid #eee9e1;padding:15px 9px;font-size:.79rem}tr:last-child td{border-bottom:0}.td-product{display:flex;align-items:center;gap:12px}.td-product img{width:46px;height:57px;object-fit:cover;background:#ede7dc}.td-product div{display:grid;gap:3px}.td-product span{font-size:.68rem;color:var(--muted)}.pill{font-size:.62rem;background:#e9ece4;color:#40523e;padding:6px 8px;font-weight:770;white-space:nowrap}.pill.draft{background:#ede7df;color:#766456}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.actions button{background:none;border:0;padding:5px;text-decoration:underline;font-size:.73rem;font-weight:730}.actions button.danger-text{color:#963b34}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.toolbar input{border:1px solid #cfc6bc;background:white;padding:11px 13px;min-height:44px;width:min(300px,100%)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:800}.field input,.field select,.field textarea{border:1px solid #c6beb4;background:#fff;padding:12px 13px;width:100%;min-height:46px;outline-color:#927c60;border-radius:0}.field textarea{resize:vertical;min-height:96px;line-height:1.6}.check-list{display:flex;gap:23px;flex-wrap:wrap;margin:22px 0}.check-list label{display:flex;gap:9px;align-items:center;font-size:.8rem;font-weight:700}.check-list input{width:17px;height:17px}.image-grid{display:flex;gap:12px;flex-wrap:wrap}.image-tile{position:relative;width:115px}.image-tile img{width:115px;height:130px;object-fit:cover}.image-tile button{display:block;margin-top:5px;background:none;border:0;text-decoration:underline;font-size:.69rem;color:#923b31}.upload-area{margin-top:15px;padding:19px;border:1px dashed #bbb0a3;background:#faf8f4}.upload-area input{max-width:100%}.variant-table{min-width:650px}.variant-table select,.variant-table input{border:1px solid #cfc8bf;padding:8px;min-height:39px;max-width:140px}.variant-table .hex-input{max-width:90px}.variant-table button{border:0;background:none;text-decoration:underline;color:#923b31}.form-buttons{border-top:1px solid var(--line);padding-top:21px;display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.notice-box{background:#eee8de;color:#5b5148;padding:16px 18px;border-left:3px solid #a58f73;line-height:1.65;font-size:.77rem;margin:0 0 21px}.empty{padding:35px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:23px;right:24px;background:#222;color:#fff;z-index:100;padding:14px 20px;opacity:0;transform:translateY(30px);pointer-events:none;transition:.2s;font-size:.78rem;max-width:calc(100vw - 30px)}.toast.show{opacity:1;transform:translateY(0)}.stock-low{color:#a14d38;font-weight:700}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.app-content main{padding:25px 25px 80px}.topbar{padding:27px}.app-shell{grid-template-columns:205px 1fr}}
@media(max-width:740px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:38px 26px;margin:0 auto}.brand-label{margin-bottom:45px}.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;min-height:0;padding:14px 15px}.sidebar-brand{padding:4px 8px 16px;font-size:1.4rem}.sidebar-brand small{margin-top:5px}.sidebar nav{display:flex;overflow:auto;gap:5px;padding-bottom:7px}.nav-item{white-space:nowrap;background:#383530;padding:10px 13px;font-size:.7rem}.sidebar-footer{margin-top:5px;padding:8px;border:0;display:flex;justify-content:space-between}.topbar{align-items:start;padding:23px 17px;flex-wrap:wrap}.topbar h1{font-size:2rem}.topbar-user{width:100%;justify-content:space-between}.app-content main{padding:23px 13px 65px}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:16px}.metric strong{font-size:1.8rem}.panel{padding:18px 13px}.panel-header{align-items:start;flex-wrap:wrap}.panel-header h2{font-size:1.55rem}.form-grid{grid-template-columns:1fr}.form-grid .field.full{grid-column:auto}.admin-footer{padding:16px}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}}
@media(max-width:360px){.metrics{grid-template-columns:1fr 1fr}.metric small{font-size:.65rem}.metric{padding:12px}.topbar h1{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.inner-panel{padding:20px}.field-bottom{align-self:end}
/* V3: categorías, carruseles y secciones administrables. */
.merch-list{display:grid;gap:10px}.merch-row{border:1px solid var(--line);padding:12px;display:flex;align-items:center;gap:15px;min-width:0;background:#faf8f4}.merch-thumb{width:86px;height:65px;object-fit:cover;background:#e6ded3;flex:none}.merch-description{display:grid;gap:4px;flex:1;min-width:0}.merch-description strong{font-size:.85rem}.merch-description small{color:var(--muted);font-size:.69rem;overflow-wrap:anywhere}.switch-line{display:flex;align-items:center;gap:9px;font-size:.76rem;font-weight:650;white-space:nowrap}.switch-line input{width:18px;height:18px;accent-color:#4f5e37}.merch-order{min-width:31px;text-align:center;color:#625b50;font-size:.71rem}.merch-actions{display:flex;align-items:center;gap:4px}.merch-actions button{border:1px solid #d2cac0;background:white;padding:8px 10px;min-height:35px;font-size:.73rem}.merch-actions button:hover{background:#ebe5da}.merch-actions .danger-text{color:#9b2d27}.panel .field input[type="file"]{background:#eee9e0;padding:9px}.field small{color:#766e64;font-size:.73rem}
@media(max-width:980px){.merch-row{flex-wrap:wrap}.merch-description{min-width:150px}.merch-actions{margin-left:auto}}
@media(max-width:550px){.merch-row{gap:8px}.merch-thumb{width:67px;height:65px}.merch-description{min-width:calc(100% - 92px)}.merch-actions{margin-left:0;width:100%;justify-content:flex-end}.merch-order{margin-left:auto}}

.status-grid{margin-top:20px}

/* V5: controles editoriales ordenados para el propietario y administrador. */
.color-gallery-panel{border:1px solid #d7c8b4;background:#fcf9f3;margin-block:22px}
.color-gallery-panel .field{margin:19px 0;max-width:550px}.color-gallery-panel .field select{width:100%}
.color-gallery-panel .switch-line{margin-block:12px}
.gallery-commands{display:flex;flex-wrap:wrap;gap:3px;padding:7px 0}.gallery-commands button{border:1px solid #c9bca8;background:#fff;padding:5px 9px;font-size:.72rem}
.layout-form{display:grid;gap:23px}.layout-form>.field{max-width:600px}.layout-form .form-grid{align-items:end}
.layout-example{padding:24px;background:#f1ece3;border:1px solid #e0d5c6;display:grid;gap:12px}
.layout-example>strong{font-size:.88rem}.layout-example p{margin:0;color:#666056;font-size:.78rem}
.layout-preview{width:min(100%,580px);display:grid;gap:7px}.layout-preview span{display:block;min-height:45px;aspect-ratio:4/5;background:linear-gradient(145deg,#ddd1c0,#eae5db);border:1px solid #d2c6b6;border-radius:3px}
.campaign-admin-list{display:grid;gap:15px}.campaign-admin-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px;border:1px solid #ded6c9}
.campaign-thumb{height:74px;display:grid;place-items:center;background:#e2d9ca;color:#877868;font-size:.65rem;overflow:hidden}
.campaign-thumb img{width:100%;height:100%;object-fit:cover}.campaign-admin-row strong,.campaign-admin-row small,.campaign-admin-row span{display:block}.campaign-admin-row small{color:#726b62;margin:5px 0;font-size:.7rem}
#campaignImagePreview img{width:min(100%,500px);max-height:220px;object-fit:cover;margin-top:12px}
#campaignForm .form-grid{margin-bottom:20px}
@media(max-width:800px){.campaign-admin-row{grid-template-columns:75px minmax(0,1fr);gap:9px}.campaign-thumb{height:67px}.campaign-admin-row .merch-actions{grid-column:1/-1;justify-self:end}.layout-example{padding:14px}}
