:root{--ink:#24221f;--muted:#716e68;--cream:#f7f3ed;--paper:#fffdf9;--rose:#bd695f;--rose-dark:#934b44;--sage:#879483;--line:#dfd9d0;--navy:#25213e;--shadow:0 18px 50px rgba(47,38,31,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}button,input,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-family:'Playfair Display',serif;font-size:21px;font-weight:700}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--rose);color:white;font-family:'DM Sans';font-size:11px;letter-spacing:1px}.desktop-nav{display:flex;gap:34px}.desktop-nav a{text-decoration:none;font-size:14px}.header-actions{display:flex;align-items:center;gap:9px}.icon-btn,.menu-btn{border:0;background:none;font-size:22px}.cart-button{border:1px solid var(--ink);background:transparent;padding:10px 15px;border-radius:50px;display:flex;gap:10px;align-items:center}.cart-button b{background:var(--rose);color:white;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:11px}.menu-btn{display:none}.hero{min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;background:var(--cream)}.hero-copy{padding:120px 7vw 80px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:700;color:var(--rose-dark)}h1,h2{font-family:'Playfair Display',serif;margin:0;line-height:1.04}.hero h1{font-size:clamp(52px,6.2vw,94px);max-width:720px;margin:25px 0}.hero-copy>p{font-size:18px;line-height:1.7;max-width:570px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:25px}.primary-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border:0;border-radius:3px;padding:16px 25px;text-decoration:none;font-weight:600}.text-link{text-underline-offset:5px}.hero-proof{margin-top:auto;display:flex;gap:25px;color:var(--muted);font-size:13px}.hero-art{position:relative;overflow:hidden;background:#d8ccc0;display:grid;place-items:center}.shape{position:absolute;border-radius:50%}.shape-one{width:520px;height:520px;background:#aab2a1;top:-120px;right:-120px}.shape-two{width:350px;height:350px;background:#d69184;bottom:-120px;left:-100px}.fashion-card{position:relative;width:min(68%,430px);height:520px;background:#eee7df;box-shadow:var(--shadow);padding:22px;transform:rotate(2deg);display:flex;flex-direction:column;justify-content:space-between}.card-label{font-size:11px;letter-spacing:2px}.fashion-card p{font-family:'Playfair Display';font-size:23px;margin:0}.dress-illustration{height:350px;position:relative;display:grid;place-items:center}.dress-illustration:before{content:"";width:170px;height:250px;background:linear-gradient(130deg,#343135,#777074);clip-path:polygon(25% 0,42% 8%,58% 8%,75% 0,100% 28%,77% 39%,73% 100%,27% 100%,23% 39%,0 28%)}.dress-illustration i{position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.benefits{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:32px 6vw}.benefits article{display:flex;gap:16px;padding:10px 30px;border-right:1px solid var(--line)}.benefits article:last-child{border:0}.benefits article>span{font-family:'Playfair Display';color:var(--rose)}.benefits strong{display:block}.benefits p{margin:5px 0 0;color:var(--muted);font-size:13px}.catalog-section{padding:100px 6vw}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.how h2{font-size:clamp(43px,5vw,68px);margin-top:13px}.section-heading p{max-width:360px;color:var(--muted);line-height:1.6}.catalog-tools{display:flex;justify-content:space-between;align-items:center;margin:55px 0 30px}.filters{display:flex;gap:8px}.filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:9px 17px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.search{border-bottom:1px solid var(--ink);padding:8px;display:flex;gap:8px}.search input{border:0;outline:0;background:transparent;width:180px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-card{position:relative}.product-image{height:390px;background:var(--cream);display:grid;place-items:center;overflow:hidden;position:relative}.product-image svg{width:82%;height:82%;filter:drop-shadow(0 20px 14px rgba(0,0,0,.12))}.fav{position:absolute;right:13px;top:13px;width:36px;height:36px;background:white;border:0;border-radius:50%;font-size:18px;z-index:2}.product-info{padding:15px 2px}.product-info>div{display:flex;justify-content:space-between;gap:10px}.product-info h3{margin:0;font-family:'Playfair Display';font-size:20px}.product-info p{color:var(--muted);margin:6px 0;font-size:13px}.add-btn{width:100%;border:1px solid var(--ink);background:transparent;padding:11px;margin-top:9px;font-weight:600}.add-btn:hover{background:var(--ink);color:white}.how{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--navy);color:white;padding:100px 8vw}.how .eyebrow{color:#d8a59c}.how ol{padding:0;margin:0;list-style:none}.how li{display:flex;gap:22px;border-bottom:1px solid #504c65;padding:23px 0}.how li b{color:#d8a59c;font-family:'Playfair Display';font-size:25px}.how li strong{display:block;margin-bottom:7px;font-size:17px}.how li span{color:#bbb8c6;font-size:14px}.how li strong{color:white}footer{padding:55px 6vw;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.footer-brand{color:var(--ink)}.overlay{position:fixed;inset:0;background:rgba(27,25,23,.48);opacity:0;pointer-events:none;z-index:29;transition:.25s}.overlay.show{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;right:0;top:0;width:min(100%,470px);height:100%;background:var(--paper);z-index:30;transform:translateX(105%);transition:.35s;display:flex;flex-direction:column;padding:35px}.cart-drawer.open{transform:none}.drawer-head,.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.drawer-head h2,.modal-head h2{font-size:34px;margin-top:8px}.drawer-head h2 small{font-family:'DM Sans';font-size:13px;background:var(--rose);color:white;border-radius:20px;padding:4px 8px}.close-btn{border:0;background:none;font-size:30px}.cart-items{flex:1;overflow:auto;margin:25px 0}.empty-cart{text-align:center;padding:90px 20px;color:var(--muted)}.empty-cart b{display:block;font-family:'Playfair Display';font-size:23px;color:var(--ink);margin:14px}.cart-item{display:grid;grid-template-columns:85px 1fr auto;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-thumb{background:var(--cream);height:100px;display:grid;place-items:center}.cart-thumb svg{width:80px;height:80px}.cart-item h4{margin:4px 0}.cart-item p{font-size:12px;color:var(--muted)}.qty{display:flex;align-items:center;gap:9px}.qty button{border:1px solid var(--line);background:white;width:26px;height:26px}.remove{border:0;background:none;color:var(--rose-dark)}.cart-footer{border-top:1px solid var(--line);padding-top:22px}.subtotal,.checkout-total{display:flex;justify-content:space-between;font-size:18px}.cart-footer small{display:block;color:var(--muted);margin:8px 0 18px}.full{width:100%}.modal{position:fixed;inset:0;background:rgba(27,25,23,.55);z-index:40;display:none;place-items:center;padding:20px}.modal.open{display:grid}.checkout-card{background:var(--paper);width:min(100%,650px);max-height:92vh;overflow:auto;padding:35px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.form-grid label,.notes{font-size:12px;font-weight:700}.form-grid input,.notes textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);background:white}.wide{grid-column:1/-1}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:12px;font-weight:700;margin-bottom:9px}.payment-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.payment-option input{display:none}.payment-option span{display:block;text-align:center;border:1px solid var(--line);padding:12px 5px;font-size:12px}.payment-option input:checked+span{border-color:var(--rose);background:#f7e9e6}.checkout-total{padding:22px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:white;padding:13px 20px;z-index:99;transition:.3s}.toast.show{transform:translate(-50%,0)}
/* Admin */.admin-view{min-height:100vh;background:#f4f2ee}.admin-sidebar{position:fixed;width:240px;inset:0 auto 0 0;background:var(--navy);color:white;padding:28px 18px;display:flex;flex-direction:column;z-index:25}.admin-brand{padding:0 10px 30px}.admin-brand small{font-family:'DM Sans';font-size:9px;text-transform:uppercase;letter-spacing:1.5px;display:block;color:#aaa7b8;margin-top:3px}.admin-sidebar nav{display:flex;flex-direction:column;gap:5px}.admin-sidebar nav button,.back-store{border:0;background:transparent;color:#bbb8c6;padding:12px;text-align:left;border-radius:5px}.admin-sidebar nav button.active{background:#3d3859;color:white}.nav-icon{display:inline-block;width:25px}.back-store{margin-top:auto}.admin-shell{margin-left:240px}.admin-top{height:92px;background:white;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between}.admin-top h1{font-size:28px;margin-top:3px}.admin-user{display:flex;align-items:center;gap:10px}.admin-user>span{width:40px;height:40px;border-radius:50%;background:var(--rose);color:white;display:grid;place-items:center}.admin-user small{display:block;color:var(--muted)}.admin-menu{display:none}.admin-content{padding:30px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat-card,.panel{background:white;border:1px solid #e7e2db;padding:22px}.stat-card p{font-size:12px;color:var(--muted);margin:0 0 12px}.stat-card strong{font-family:'Playfair Display';font-size:28px}.stat-card small{display:block;color:#5e8a68;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel h3{font-family:'Playfair Display';margin:0;font-size:21px}.panel-head button,.new-btn{border:0;background:var(--ink);color:white;padding:9px 13px;border-radius:3px}.bars{height:220px;display:flex;align-items:flex-end;gap:7%;padding-top:30px;border-bottom:1px solid var(--line)}.bar{flex:1;background:#c9877e;min-height:8px;position:relative}.bar span{position:absolute;bottom:-25px;font-size:10px;color:var(--muted)}.status-list{display:flex;flex-direction:column;gap:17px}.status-row{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:13px}.status-row i{grid-column:1/-1;height:5px;background:#eee;border-radius:5px}.status-row i:after{content:"";display:block;width:var(--w);height:100%;background:var(--rose)}.table-wrap{overflow:auto;background:white;border:1px solid #e7e2db}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #eee9e2;font-size:13px}.data-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;background:#fbfaf7}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;background:#eee}.badge.ok{background:#e3f1e6;color:#367144}.badge.warn{background:#f9ecd2;color:#946713}.badge.bad{background:#f6dfdc;color:#9b443b}.page-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.page-tools p{color:var(--muted);margin:0}.action-btn{border:1px solid var(--line);background:white;padding:6px 9px}.admin-placeholder{padding:60px;text-align:center;background:white}.admin-placeholder h2{font-size:32px}.admin-placeholder p{color:var(--muted)}
@media(max-width:900px){.desktop-nav{display:none}.menu-btn{display:block}.hero{grid-template-columns:1fr}.hero-copy{min-height:620px;padding-top:90px}.hero-art{min-height:560px}.benefits{grid-template-columns:1fr}.benefits article{border-right:0;border-bottom:1px solid var(--line)}.product-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column}.catalog-tools{align-items:stretch;gap:18px;flex-direction:column}.how{grid-template-columns:1fr}.admin-sidebar{transform:translateX(-100%);transition:.3s}.admin-sidebar.open{transform:none}.admin-shell{margin-left:0}.admin-menu{display:block;border:0;background:none;font-size:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.site-header{height:65px;padding:0 14px}.brand{font-size:18px}.brand-mark{width:32px;height:32px}.cart-button span{display:none}.hero{min-height:auto}.hero-copy{min-height:570px;padding:75px 22px 45px}.hero h1{font-size:52px}.hero-copy>p{font-size:16px}.hero-proof{flex-direction:column;gap:8px;margin-top:55px}.hero-art{min-height:450px}.fashion-card{height:390px}.dress-illustration{height:260px}.dress-illustration:before{width:140px;height:210px}.benefits{padding:22px 8px}.catalog-section{padding:70px 12px}.section-heading p{font-size:14px}.filters{overflow:auto;padding-bottom:4px}.filters button{white-space:nowrap}.search input{width:100%}.product-grid{gap:12px}.product-image{height:220px}.product-info h3{font-size:17px}.how{padding:70px 23px}.how h2{font-size:44px}footer{align-items:flex-start;flex-direction:column;gap:15px}.cart-drawer{padding:25px 20px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.payment-options{grid-template-columns:1fr 1fr}.checkout-card{padding:24px 18px}.admin-content{padding:16px}.admin-top{padding:0 16px}.admin-user div{display:none}.stats-grid,.dashboard-grid{grid-template-columns:1fr}.page-tools{align-items:flex-start;gap:10px;flex-direction:column}.admin-placeholder{padding:35px 15px}}

/* Login privado */.login-view{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.login-view[hidden]{display:none}.login-visual{position:relative;overflow:hidden;background:var(--navy);color:white;padding:48px 6vw;display:flex;flex-direction:column;justify-content:space-between}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(1px)}.login-visual:before{width:480px;height:480px;background:#b46660;right:-210px;top:-180px;opacity:.45}.login-visual:after{width:370px;height:370px;background:#798776;left:-180px;bottom:-190px;opacity:.42}.login-brand{position:relative;color:white}.login-visual>div{position:relative;max-width:620px}.login-visual .eyebrow{color:#dca79e}.login-visual h1{font-size:clamp(48px,5vw,78px);margin:20px 0}.login-visual p{max-width:500px;color:#c7c3d0;font-size:17px;line-height:1.7}.login-visual>small{position:relative;color:#8f8b9f}.login-form-wrap{display:grid;place-items:center;padding:45px}.login-card{width:min(100%,430px)}.login-card h2{font-size:40px;margin:12px 0}.login-card>p{color:var(--muted);margin:0 0 32px}.login-card label{display:block;font-size:12px;font-weight:700;margin:18px 0}.login-card input{display:block;width:100%;padding:14px;border:1px solid var(--line);margin-top:8px;outline:none}.login-card input:focus{border-color:var(--rose)}.password-field{position:relative}.password-field input{padding-right:46px}.password-field button{position:absolute;right:10px;top:50%;transform:translateY(-36%);border:0;background:none;color:var(--muted)}.login-back{border:0;background:none;padding:0;margin-bottom:55px;color:var(--muted)}.login-card>small{display:block;text-align:center;color:var(--muted);margin-top:18px}.form-error{min-height:20px;color:#a33d35!important;font-size:12px}.resource-card{width:min(100%,720px)}.resource-card select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);background:white}.row-actions{display:flex;gap:6px}.danger-btn{color:#a33d35}.new-btn:disabled,.primary-btn:disabled{opacity:.55;cursor:wait}
@media(max-width:760px){.login-view{grid-template-columns:1fr}.login-visual{min-height:260px;padding:30px 24px}.login-visual h1{font-size:40px}.login-visual p,.login-visual>small{display:none}.login-form-wrap{padding:45px 22px}.login-back{margin-bottom:35px}}

/* Favoritos */
.favorites-button{position:relative;width:43px;height:43px;border:1px solid #d3d7ec;border-radius:50%;background:#fff;color:#15145f;display:grid;place-items:center}.favorites-button .heart-icon{font-size:22px;line-height:1}.favorites-button b{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 4px;border-radius:12px;background:#4aa6e8;color:#fff;display:grid;place-items:center;font-size:10px}.bag-icon{display:none;font-size:21px;line-height:1;transform:rotate(180deg)}.fav{transition:.2s}.fav:hover{transform:scale(1.08)}.fav.active{background:#15145f;color:#fff}.favorite-item{display:grid;grid-template-columns:92px 1fr;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.favorite-item .cart-thumb{height:112px}.favorite-item h4{font-family:'Playfair Display';font-size:19px;margin:4px 0}.favorite-item p{font-size:12px;color:var(--muted);margin:5px 0 13px}.favorite-actions{display:flex;gap:8px}.favorite-actions button{padding:8px 11px}.favorite-actions .add-favorite-cart{border:0;background:#15145f;color:#fff}.favorite-actions .remove-favorite{border:1px solid var(--line);background:#fff;color:#62678f}.favorites-footer{padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:560px){.favorites-button,.cart-button{position:relative;width:38px;height:38px;padding:0;border:1px solid #d3d7ec;border-radius:50%;background:#fff;color:#15145f;display:grid;place-items:center}.favorites-button .heart-icon{font-size:19px}.cart-button .bag-label{display:none}.cart-button .bag-icon{display:block}.cart-button b{position:absolute;right:-4px;top:-5px;min-width:19px;width:auto;height:19px;padding:0 4px;border-radius:12px;background:#4aa6e8;color:#fff;display:grid;place-items:center;font-size:10px}}

/* Respeta el estado de las vistas controladas por JavaScript. */
[hidden]{display:none!important}

/* Paleta visual de la tienda de referencia */
:root{
  --ink:#10145f;
  --muted:#62678f;
  --cream:#f1f2fc;
  --paper:#ffffff;
  --rose:#4aa6e8;
  --rose-dark:#171b69;
  --sage:#8c7be4;
  --line:#d9dcef;
  --navy:#15145f;
  --shadow:0 14px 38px rgba(16,20,95,.13)
}
body{background:#f7f8ff;color:var(--ink)}
.site-header{background:rgba(255,255,255,.96);border-color:#e1e3f2;color:#10145f}
.brand-mark{overflow:hidden;background:#f8f3ed;border:1px solid rgba(21,20,95,.12);box-shadow:0 3px 9px rgba(16,20,95,.18)}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.cart-button{border-color:#d3d7ec;background:#fff}.cart-button b{background:#48a5e8}
.hero{background:#15145f;color:#fff}.hero-copy>p,.hero-proof{color:#e5e6fa}.hero .eyebrow{color:#9f91ef}.hero .primary-btn{background:#fff;color:#15145f}.hero .text-link{color:#fff}.hero-art{background:#20206c}.shape-one{background:#4068ca}.shape-two{background:#8a7be2}.fashion-card{background:#f2f3fc;color:#15145f}.fashion-card .card-label{color:#666b9b}
.benefits{background:#fff;border-color:#e1e3f2}.benefits article{border-color:#e1e3f2}.benefits article>span{color:#4a87de}.benefits p{color:#6d7297}
.catalog-section{background:#fff}.catalog-section .eyebrow,.section-heading .eyebrow{color:#555cc1}.filters button{border-color:#d5d8ed;color:#343975}.filters button.active{background:#15145f;border-color:#15145f;color:#fff}.search{border-color:#cfd3eb}.product-image{background:#e8eaf8}.product-info{background:#fff}.product-info p{color:#676c94}.add-btn{border-color:#15145f;background:#11165e;color:#fff;border-radius:8px}.add-btn:hover{background:#282d82}.fav{color:#15145f}.how{background:#15145f}.how .eyebrow,.how li b{color:#a99cf2}.how li{border-color:#393979}.how li span{color:#c8cae7}.footer-brand{color:#15145f}
.primary-btn{background:#15145f}.primary-btn:hover{background:#282d82}.toast{background:#15145f}.cart-drawer,.checkout-card{background:#fff}.drawer-head h2 small{background:#4aa6e8}.payment-option input:checked+span{border-color:#4aa6e8;background:#e9f4fc;color:#15145f}
.login-visual{background:#15145f}.login-visual:before{background:#3159bf}.login-visual:after{background:#8172dd}.login-visual .eyebrow{color:#a99cf2}.login-card input:focus{border-color:#4aa6e8}
.admin-view{background:#f3f4fb}.admin-sidebar{background:#15145f}.admin-sidebar nav button{color:#c0c3e3}.admin-sidebar nav button.active{background:#2c2d7c;color:#fff}.admin-sidebar nav button:hover,.back-store:hover{background:#23246e;color:#fff}.admin-top{border-color:#dfe1ef}.admin-user>span{background:#4aa6e8}.stat-card,.panel,.table-wrap{border-color:#e0e2ef;box-shadow:0 4px 16px rgba(16,20,95,.035)}.stat-card small{color:#3d8bca!important}.panel-head button,.new-btn{background:#15145f}.bars .bar{background:linear-gradient(180deg,#4aa6e8,#776add)}.status-row i:after{background:#4aa6e8}.data-table th{background:#f5f6fc;color:#656a93}.data-table td{border-color:#e8e9f3}.badge.ok{background:#e3f3fd;color:#246c9d}.badge.warn{background:#efedff;color:#6357b3}.badge.bad{background:#ebecf7;color:#54597c}.form-error{color:#b33c61!important}
.bag-icon{transform:none}.bag-icon svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cart-button.has-items{animation:bag-attention 1.35s ease-in-out infinite;box-shadow:0 0 0 0 rgba(74,166,232,.58)}.cart-button.has-items b{animation:bag-count-bounce 1.35s ease-in-out infinite}.cart-button.has-items .bag-icon svg{stroke:#15145f;animation:bag-icon-sway 1.35s ease-in-out infinite}@keyframes bag-attention{0%,100%{box-shadow:0 0 0 0 rgba(74,166,232,.5);border-color:#8bc8f1}45%{box-shadow:0 0 0 8px rgba(74,166,232,0);border-color:#4aa6e8;background:#eef8ff}55%{transform:scale(1.07)}70%{transform:scale(1)}}@keyframes bag-count-bounce{0%,45%,100%{transform:translateY(0) scale(1)}55%{transform:translateY(-3px) scale(1.18)}70%{transform:translateY(0) scale(1)}}@keyframes bag-icon-sway{0%,45%,100%{transform:rotate(0)}55%{transform:rotate(-10deg)}65%{transform:rotate(9deg)}75%{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.cart-button.has-items,.cart-button.has-items b,.cart-button.has-items .bag-icon svg{animation:none}.cart-button.has-items{box-shadow:0 0 0 3px rgba(74,166,232,.25);border-color:#4aa6e8}}
.review-card{width:min(100%,680px)}.review-items{margin:28px 0 20px;border-top:1px solid var(--line)}.review-item{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.review-item span{color:var(--muted)}.review-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:18px;background:#f5f6fc}.review-details div{min-width:0}.review-details .wide{grid-column:1/-1}.review-details dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700}.review-details dd{margin:5px 0 0;font-weight:600;overflow-wrap:anywhere}.review-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.review-actions button{min-width:150px}.review-note{display:block;color:var(--muted);text-align:center;margin-top:16px;line-height:1.5}@media(max-width:560px){.review-details{grid-template-columns:1fr}.review-details .wide{grid-column:auto}.review-actions{flex-direction:column-reverse}.review-actions button{width:100%}}
.redirect-overlay{position:fixed;inset:0;z-index:120;background:rgba(21,20,95,.96);color:#fff;display:grid;place-items:center;padding:24px}.redirect-overlay[hidden]{display:none!important}.redirect-content{width:min(100%,500px);text-align:center;display:flex;flex-direction:column;align-items:center}.redirect-content strong{font-family:'Playfair Display',serif;font-size:clamp(25px,4vw,38px);line-height:1.2}.redirect-content small{margin-top:13px;color:#d7d9f2}.redirect-spinner{width:54px;height:54px;border:4px solid rgba(255,255,255,.25);border-top-color:#4aa6e8;border-radius:50%;margin-bottom:27px;animation:redirect-spin .8s linear infinite}@keyframes redirect-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.redirect-spinner{animation-duration:1.8s}}
.product-image-field{font-size:12px;font-weight:700}.product-image-field>span{display:block;margin-bottom:8px}.image-source-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.image-source-btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;margin:0!important;border:1px solid #15145f;background:#fff;color:#15145f;font-weight:700;cursor:pointer;transition:.2s}.image-source-btn:hover{background:#15145f;color:#fff}.image-source-btn.disabled{opacity:.5;pointer-events:none}.image-source-btn input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.image-preview{position:relative;margin-top:12px;height:210px;background:#eef0fa;border:1px solid var(--line);overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:contain}.image-preview button{position:absolute;right:10px;top:10px;border:0;background:#15145f;color:#fff;padding:8px 11px}.image-upload-status{display:block;margin-top:8px;color:var(--muted);font-weight:500}.image-preview.uploaded{border-color:#4aa6e8}.product-image>img{width:100%;height:100%;object-fit:cover}.cart-thumb>img{width:100%;height:100%;object-fit:cover}@media(max-width:560px){.image-source-buttons{grid-template-columns:1fr}.image-preview{height:180px}}
.camera-modal{z-index:70}.camera-card{width:min(100%,760px)}.camera-stage{position:relative;margin-top:25px;min-height:360px;background:#090a24;overflow:hidden;display:grid;place-items:center}.camera-stage video{display:block;width:100%;max-height:65vh;object-fit:contain}.camera-loading{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#fff;text-align:center;background:#090a24}.camera-loading[hidden]{display:none}.camera-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.camera-actions button{min-width:150px}.camera-actions .primary-btn:disabled{opacity:.45}@media(max-width:560px){.camera-card{padding:20px 15px}.camera-stage{min-height:280px}.camera-actions{flex-direction:column-reverse}.camera-actions button{width:100%}}
.resource-submit-actions{display:flex;justify-content:flex-end;gap:12px}.resource-submit-actions .primary-btn{flex:1}.delete-product-btn{border:1px solid #b33c61;background:#fff;color:#a72f54;padding:14px 20px;font-weight:700}.delete-product-btn:hover{background:#a72f54;color:#fff}.delete-confirm-card{width:min(100%,520px)}.delete-confirm-card>p{color:var(--muted);line-height:1.6;margin:25px 0}.delete-confirm-card label{display:block;font-size:12px;font-weight:700}.delete-confirm-card input{display:block;width:100%;padding:14px;margin-top:8px;border:1px solid var(--line)}.delete-confirm-card .delete-product-btn{background:#a72f54;color:#fff}.delete-confirm-card .delete-product-btn:disabled{opacity:.55}.action-btn[data-edit-product]{font-weight:800;letter-spacing:1px}@media(max-width:560px){.resource-submit-actions{flex-direction:column-reverse}.resource-submit-actions button{width:100%}}
.product-admin-table td{vertical-align:middle}.admin-product-image{width:64px;height:64px;border-radius:6px;background:#e8eaf8;overflow:hidden;display:grid;place-items:center;border:1px solid #dfe1ef}.admin-product-image img{width:100%;height:100%;object-fit:cover}.admin-product-image svg{width:58px;height:58px;filter:none}.product-admin-table th:nth-child(2),.product-admin-table td:nth-child(2){width:92px}@media(max-width:700px){.admin-product-image{width:52px;height:52px}.admin-product-image svg{width:48px;height:48px}}
.page-tool-actions{display:flex;align-items:center;gap:12px}.admin-search{height:38px;min-width:310px;border:1px solid #d7daec;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;color:#565c88}.admin-search input{width:100%;border:0;outline:0;background:transparent;color:#15145f;font-size:13px}.admin-search-empty{padding:45px 20px;text-align:center;color:var(--muted);background:#fff}.data-table tr[hidden]{display:none!important}@media(max-width:700px){.page-tool-actions{width:100%;flex-direction:column;align-items:stretch}.admin-search{min-width:0;width:100%}.page-tool-actions .new-btn{width:100%}}
.manual-sale-card{width:min(100%,780px)}.manual-sale-card>h3,.manual-products-head h3{font-family:'Playfair Display';font-size:19px;margin:26px 0 0}.manual-products-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.manual-product-lines{display:flex;flex-direction:column;gap:9px}.manual-product-line{display:grid;grid-template-columns:minmax(0,1fr) 110px 38px;gap:9px;align-items:end;padding:12px;background:#f5f6fc}.manual-product-line label,.manual-sale-options label{font-size:11px;font-weight:700}.manual-product-line select,.manual-product-line input,.manual-sale-options select{display:block;width:100%;height:42px;margin-top:6px;border:1px solid var(--line);background:#fff;padding:0 10px}.remove-manual-line{width:38px;height:42px;border:1px solid #e2c7d0;background:#fff;color:#a72f54;font-size:20px}.manual-sale-options{margin:20px 0}.manual-sale-card .checkout-total{border-top:1px solid var(--line);padding-top:18px}@media(max-width:560px){.manual-products-head{align-items:flex-start;gap:10px;flex-direction:column}.manual-product-line{grid-template-columns:1fr 80px 38px}.manual-sale-card{padding:22px 15px}}
.manual-sale-card>h3>small,.manual-sale-card .form-grid label>small{font-family:'DM Sans',sans-serif;color:var(--muted);font-size:10px;font-weight:500}
.manual-client-details{margin:25px 0 4px;border:1px solid var(--line);background:#fff}.manual-client-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;list-style:none;cursor:pointer;color:#15145f}.manual-client-details summary::-webkit-details-marker{display:none}.manual-client-details summary span,.manual-client-details summary b,.manual-client-details summary small{display:block}.manual-client-details summary b{font-family:'Playfair Display';font-size:19px}.manual-client-details summary small{margin-top:3px;color:var(--muted);font-size:10px}.manual-client-details summary .bx{font-size:24px;transition:transform .2s}.manual-client-details[open] summary{border-bottom:1px solid var(--line)}.manual-client-details[open] summary .bx{transform:rotate(180deg)}.manual-client-details .form-grid{margin:0;padding:18px}
.manual-product-combobox{position:relative}.manual-product-combobox>[type=hidden]{display:none}.manual-product-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:12;max-height:270px;overflow:auto;background:#fff;border:1px solid #cfd3e9;box-shadow:0 14px 30px rgba(16,20,95,.15)}.manual-product-results button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid #ececf4;background:#fff;text-align:left;color:#15145f}.manual-product-results button:hover,.manual-product-results button:focus{background:#eef4ff;outline:0}.manual-product-results button strong{font-size:12px}.manual-product-results button small{color:#62678f;white-space:nowrap}.manual-product-results p{padding:16px;margin:0;color:var(--muted);font-size:12px}@media(max-width:560px){.manual-product-results button{align-items:flex-start;flex-direction:column;gap:4px}}
.sale-detail-card{width:min(100%,760px)}.sale-detail-card>h3{font-family:'Playfair Display';font-size:19px;margin:24px 0 0}.sale-meta{display:flex;gap:10px;margin-top:18px}.sale-meta span{padding:7px 10px;background:#f0f1fa;color:var(--muted);font-size:11px}.sale-meta b{color:#15145f}.sale-detail-items{border:1px solid var(--line);margin-top:12px}.sale-detail-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;border-bottom:1px solid var(--line)}.sale-detail-item:last-child{border:0}.sale-detail-item strong{display:block}.sale-detail-item small{display:block;color:var(--muted);margin-top:4px}.sale-detail-loading{padding:30px;text-align:center;color:var(--muted)}.sale-edit-options{margin:20px 0}.sale-edit-options select,.sale-edit-options textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:#fff}.sale-edit-options textarea{resize:vertical}.sale-detail-card .checkout-total{border-top:1px solid var(--line);padding-top:18px}@media(max-width:560px){.sale-meta{align-items:flex-start;flex-direction:column}.sale-detail-item{align-items:flex-start}.sale-detail-card{padding:22px 15px}}
.sale-detail-card>h3 small{font-family:'DM Sans',sans-serif;color:var(--muted);font-size:10px;font-weight:500}
.supplier-sales-card{width:min(100%,900px)}.supplier-sales-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.supplier-sales-summary article{padding:16px;background:#f3f4fb;border:1px solid var(--line)}.supplier-sales-summary span,.supplier-sales-summary strong{display:block}.supplier-sales-summary span{font-size:11px;color:var(--muted);margin-bottom:7px}.supplier-sales-summary strong{font-family:'Playfair Display';font-size:22px;color:#15145f}.supplier-sales-list{display:grid;gap:14px}.supplier-sale{border:1px solid var(--line)}.supplier-sale header,.supplier-sale footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f7f7fc}.supplier-sale header span,.supplier-sale header strong,.supplier-sale header small{display:block}.supplier-sale header span{font-size:11px;color:var(--muted)}.supplier-sale header strong{margin:4px 0}.supplier-sale header small{color:var(--muted)}.supplier-sale-status{display:flex;gap:7px;flex-wrap:wrap}.supplier-sale-items>div{display:flex;justify-content:space-between;gap:18px;padding:12px 16px;border-top:1px solid var(--line)}.supplier-sale-items>div>span:last-child{text-align:right}.supplier-sale-items b,.supplier-sale-items small{display:block}.supplier-sale-items small{margin-top:4px;color:var(--muted);font-size:11px}.supplier-sale footer{justify-content:flex-end;font-size:12px}.supplier-sale footer span:first-child{margin-right:auto}@media(max-width:600px){.supplier-sales-card{padding:22px 15px}.supplier-sales-summary{grid-template-columns:1fr}.supplier-sale header,.supplier-sale-items>div,.supplier-sale footer{align-items:flex-start;flex-direction:column}.supplier-sale-items>div>span:last-child{text-align:left}.supplier-sale footer span:first-child{margin-right:0}}
.commission-date-filter{display:flex;align-items:end;gap:8px;margin-left:auto}.commission-date-filter label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:700}.commission-date-filter input{height:34px;border:1px solid var(--line);background:#fff;color:#15145f;padding:0 8px}.commission-date-filter .action-btn{height:34px}.commission-clear{height:34px;border:0;background:transparent;color:#1667d9;font-size:12px}@media(max-width:720px){.admin-content .panel .panel-head{align-items:flex-start;flex-direction:column}.commission-date-filter{width:100%;margin-left:0;align-items:stretch;flex-wrap:wrap}.commission-date-filter label{flex:1;min-width:125px}.commission-date-filter button{align-self:end}}
.settlement-stats{grid-template-columns:repeat(2,minmax(0,280px));margin-bottom:18px}.settlement-card{width:min(100%,720px)}.settlement-card select,.settlement-card textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:#fff}.settlement-card textarea{resize:vertical}.settlement-snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px;padding:15px;background:#f3f4fb}.settlement-snapshot span,.settlement-snapshot b{display:block}.settlement-snapshot span{font-size:10px;color:var(--muted)}.settlement-snapshot b{margin-top:5px;color:#15145f;font-size:13px}.table-subtext{display:block;margin-top:3px;color:var(--muted);font-size:10px}.empty-table{text-align:center!important;padding:35px!important;color:var(--muted)}@media(max-width:600px){.settlement-stats,.settlement-snapshot{grid-template-columns:1fr}.settlement-card{padding:22px 15px}}
.settlement-total-preview{padding-left:12px;border-left:2px solid #4aa6e8}.settlement-total-preview b{font-size:18px!important}.settlement-preview-error{color:#b52d55!important}
.password-control{position:relative;margin-top:7px}.password-control input{width:100%!important;margin-top:0!important;padding-right:48px!important}.password-toggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:36px!important;height:36px!important;padding:8px!important;border:0!important;background:transparent!important;color:#15145f!important;display:grid!important;place-items:center!important}.password-toggle:hover{background:#eef0fa!important}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.payment-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.payment-method-card{position:relative;background:#fff;border:1px solid #dfe1ef;padding:20px;min-width:0}.payment-method-card>div:first-child{padding-right:75px}.payment-method-card p{margin:0 0 8px;color:var(--muted);font-size:11px}.payment-method-card strong{font-family:'Playfair Display';font-size:20px}.payment-method-card>.badge{position:absolute;right:15px;top:15px}.payment-method-card dl{margin:20px 42px 0 0;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:10px}.payment-method-card dl div{min-width:0}.payment-method-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:700}.payment-method-card dd{margin:4px 0 0;font-size:12px;overflow-wrap:anywhere}.payment-edit-btn{position:absolute;right:15px;bottom:15px;width:31px;height:31px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.payment-edit-btn:hover,.payment-edit-btn:focus-visible{border-color:#1667d9;outline:2px solid rgba(22,103,217,.15);outline-offset:1px}@media(max-width:1050px){.payment-method-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.payment-method-grid{grid-template-columns:1fr}}
.remember-user{display:flex!important;align-items:center;gap:9px;margin-top:14px;font-size:13px!important;color:#15145f;cursor:pointer}.remember-user input{width:17px!important;height:17px;margin:0!important;accent-color:#1b1769}.remember-user span{font-weight:600}
.payment-option span{display:flex;align-items:center;justify-content:center;gap:7px}.payment-option .bx{font-size:18px;color:#2779d8}.payment-method-card strong{display:flex;align-items:center;gap:8px}.payment-method-card strong .bx{font-family:boxicons!important;font-size:22px;color:#2779d8}
.checkout-payment-detail{margin-top:10px;padding:14px 16px;border:1px solid #d9e5f5;background:#f2f7fd;color:#15145f}.checkout-payment-title{display:flex;align-items:center;gap:8px}.checkout-payment-title .bx{font-size:20px;color:#2779d8}.checkout-payment-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0 0}.checkout-payment-detail dt{font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.checkout-payment-detail dd{margin:4px 0 0;font-size:13px;font-weight:600;overflow-wrap:anywhere}@media(max-width:520px){.checkout-payment-detail dl{grid-template-columns:1fr}}
.pwa-install-modal{z-index:110}.pwa-install-card{width:min(100%,590px)}.pwa-install-intro{display:flex;align-items:center;gap:16px;margin:24px 0;padding:16px;background:#f5f6fc}.pwa-install-logo{width:68px;height:68px;flex:0 0 68px;border-radius:50%;overflow:hidden;border:1px solid #e0e2ef;box-shadow:0 5px 15px rgba(21,20,95,.12)}.pwa-install-logo img{width:100%;height:100%;object-fit:cover}.pwa-install-intro strong{display:block;font-family:'Playfair Display',serif;font-size:20px;color:#15145f}.pwa-install-intro p{margin:5px 0 0;color:var(--muted);line-height:1.45}.pwa-install-steps{counter-reset:pwa-step;display:grid;gap:9px;margin:0;padding:0;list-style:none}.pwa-install-steps li{counter-increment:pwa-step;position:relative;min-height:44px;padding:12px 14px 12px 50px;border:1px solid var(--line);line-height:1.45}.pwa-install-steps li:before{content:counter(pwa-step);position:absolute;left:12px;top:9px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#15145f;color:#fff;font-size:11px;font-weight:700}.pwa-install-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.pwa-install-actions button{min-width:155px}.pwa-install-note{display:block;margin-top:13px;text-align:center;color:var(--muted);line-height:1.4}@media(max-width:560px){.pwa-install-card{padding:22px 17px}.pwa-install-intro{align-items:flex-start}.pwa-install-logo{width:56px;height:56px;flex-basis:56px}.pwa-install-actions{flex-direction:column-reverse}.pwa-install-actions button{width:100%}}
