:root{--bg-primary: #FAF6F0;--bg-secondary: #FFFDFB;--bg-tertiary: #F3ECE0;--text-primary: #2D2219;--text-secondary: #6B5541;--text-muted: #957F6B;--color-primary: #2D5A27;--color-primary-hover: #1E441B;--color-primary-light: #EBF3EA;--color-accent: #C68A4C;--color-accent-hover: #AB7238;--color-secondary-btn: #EFE2CF;--color-secondary-btn-hover: #E3D1B9;--color-danger: #C05C50;--status-pending-bg: #FEF7E0;--status-pending-text: #B27006;--status-pending-dot: #F5A623;--status-confirmed-bg: #E6F4EA;--status-confirmed-text: #137333;--status-confirmed-dot: #34A853;--status-canceled-bg: #FCE8E6;--status-canceled-text: #C5221F;--status-canceled-dot: #EA4335;--status-expired-bg: #F1F3F4;--status-expired-text: #5F6368;--status-expired-dot: #9AA0A6;--status-blue-bg: #E8F0FE;--status-blue-text: #1A73E8;--status-blue-dot: #4285F4;--font-serif: "Fraunces", serif;--font-sans: "Inter", sans-serif;--font-ui: "Outfit", sans-serif;--shadow-sm: 0 2px 4px rgba(45, 34, 25, .04);--shadow-md: 0 8px 24px rgba(45, 34, 25, .06);--shadow-lg: 0 12px 32px rgba(45, 34, 25, .09);--border-radius: 8px;--border-radius-lg: 16px;--border-radius-pill: 999px;--border-color: #E6DEC4}*{box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;margin:0;min-width:320px}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;color:var(--text-primary);margin-top:0;margin-bottom:12px}p{margin-top:0;margin-bottom:16px}button,.btn{font-family:var(--font-ui);font-weight:600;font-size:.95rem;letter-spacing:.02em;border-radius:var(--border-radius);transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid transparent;min-height:44px;padding:10px 18px;text-decoration:none}button.primary,.btn-primary{background-color:var(--color-primary);color:#fff}button.primary:hover,.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #2d5a272e}button.primary:active,.btn-primary:active{transform:translateY(0)}button.secondary,.btn-secondary{background-color:var(--color-secondary-btn);color:var(--text-primary);border-color:#e0d3be}button.secondary:hover,.btn-secondary:hover{background-color:var(--color-secondary-btn-hover);transform:translateY(-2px);box-shadow:0 6px 16px #2d221914}button.secondary:active,.btn-secondary:active{transform:translateY(0)}button.ghost,.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent;box-shadow:none}button.ghost:hover,.btn-ghost:hover{background-color:#2d22190d;color:var(--text-primary)}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}input,select,textarea{font-family:var(--font-sans);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);padding:12px 14px;font-size:.95rem;transition:all .2s ease;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d5a271f}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{min-height:104px;resize:vertical}.app-frame{min-height:100vh;display:flex;flex-direction:column}.admin-frame{display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background-color:#1e281f;color:#fff;display:flex;flex-direction:column;gap:32px;padding:24px;min-height:100vh;position:sticky;top:0;border-right:1px solid rgba(255,255,255,.05)}.sidebar .brand{display:flex;align-items:center;gap:12px}.sidebar .brand strong{font-family:var(--font-serif);font-size:1.15rem;color:#faf6f0;display:block}.sidebar .brand small{color:var(--color-accent);font-family:var(--font-ui);font-weight:500;font-size:.8rem;display:block;margin-top:2px}.sidebar .brand-mark{background-color:var(--color-accent);color:#fff;font-family:var(--font-serif);font-weight:800;font-size:1rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.side-nav{display:flex;flex-direction:column;gap:8px;flex:1}.side-nav button{background:transparent;color:#ffffffbf;border:none;box-shadow:none;justify-content:flex-start;padding:12px 16px;font-size:.95rem;border-radius:var(--border-radius);transition:all .2s ease;min-height:auto}.side-nav button:hover{background-color:#ffffff0f;color:#fff;transform:none}.side-nav button.active{background-color:var(--color-primary);color:#fff;font-weight:600}.sidebar button.ghost{color:#fff9;border:1px solid rgba(255,255,255,.15);margin-top:auto;justify-content:center;min-height:40px}.sidebar button.ghost:hover{background-color:#c05c5026;color:#ff9b91;border-color:#c05c504d}.topbar{display:flex;align-items:center;justify-content:space-between;background:#faf6f0d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:16px 32px;position:sticky;top:0;z-index:100}.brand-button{background:transparent;border:none;box-shadow:none;padding:0;display:flex;align-items:center;gap:12px;color:var(--text-primary);cursor:pointer;transition:opacity .2s;min-height:auto}.brand-button:hover{opacity:.85}.brand-logo-img{height:42px;width:auto}.brand-button span{font-family:var(--font-serif);font-weight:700;font-size:1.35rem;letter-spacing:-.01em}.brand-button .brand-mark{background-color:var(--color-primary);color:#fff;font-family:var(--font-serif);font-weight:800;font-size:.85rem;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.top-actions{display:flex;align-items:center;gap:16px}.cart-pill{background-color:var(--color-primary-light);border:1px solid rgba(45,90,39,.15);color:var(--color-primary);font-family:var(--font-ui);font-weight:700;font-size:.85rem;padding:6px 12px;border-radius:var(--border-radius-pill);display:inline-flex;align-items:center;gap:6px}.badge{background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--border-radius-pill);font-size:.8rem;font-weight:700;font-family:var(--font-ui);padding:4px 10px;display:inline-flex}.shell{padding:32px;max-width:1320px;margin:0 auto;width:100%}.main-area{min-width:0;display:flex;flex-direction:column;flex:1}.public-layout{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}.hero{grid-column:1 / -1;background:linear-gradient(#1a281bbf,#2d2219e0),url(/assets/banner-Bt9jHwVI.png);background-size:cover;background-position:center;border-radius:var(--border-radius-lg);padding:64px 48px;color:#fff;box-shadow:var(--shadow-md);margin-top:8px;margin-bottom:12px}.hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;max-width:800px;margin-bottom:16px}.hero .eyebrow{color:var(--color-accent);font-family:var(--font-ui);font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:block}.hero .lede{color:#ffffffd9;font-size:1.1rem;line-height:1.6;max-width:680px;margin-bottom:0}.catalog-grid{grid-column:1;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.product-image{height:200px;background-size:cover;background-position:center;position:relative;background-color:var(--bg-tertiary);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-family:var(--font-serif);font-weight:700;font-style:italic;font-size:1.15rem;letter-spacing:.05em;text-shadow:0 1px 0 rgba(255,255,255,.4);border-bottom:1px solid var(--border-color);transition:transform .3s ease}.product-card:hover .product-image{transform:scale(1.02)}.product-body{padding:24px;display:flex;flex-direction:column;flex:1}.product-body h2{font-size:1.25rem;margin-bottom:8px;color:var(--text-primary);line-height:1.2}.product-body p{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.variant-list{display:flex;flex-direction:column;gap:12px;margin-top:auto}.variant-row{border-top:1px dashed var(--border-color);padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.variant-row strong{font-family:var(--font-ui);font-size:.95rem;color:var(--text-primary);display:block}.variant-row small{font-size:.8rem;color:var(--text-muted);display:block}.variant-actions{display:flex;align-items:center;gap:12px}.variant-actions .price{font-family:var(--font-ui);font-weight:700;font-size:1.05rem;color:var(--color-primary)}.variant-actions button{min-height:34px;padding:6px 14px;font-size:.85rem}.request-panel{grid-column:2;position:sticky;top:98px;max-height:calc(100vh - 130px);overflow-y:auto;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:20px}.request-panel h2{font-size:1.3rem;margin-bottom:4px}.request-panel p{font-size:.9rem;color:var(--text-secondary)}.request-panel .eyebrow{color:var(--color-accent);font-family:var(--font-ui);font-weight:800;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}.cart-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:4px;margin-bottom:8px}.cart-list::-webkit-scrollbar{width:4px}.cart-list::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.cart-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-primary);border:1px solid rgba(45,34,25,.04);border-radius:var(--border-radius);padding:10px 12px;gap:10px}.cart-item span{font-size:.85rem;font-weight:500;color:var(--text-primary);flex:1;line-height:1.3}.cart-item strong{font-family:var(--font-ui);font-size:.85rem;color:var(--color-primary);background-color:var(--color-primary-light);padding:2px 8px;border-radius:var(--border-radius-pill)}.cart-item .icon-button{background:var(--status-canceled-bg);color:var(--status-canceled-text);border:none;min-height:auto;padding:6px 10px;font-size:.8rem;border-radius:var(--border-radius);font-weight:600}.cart-item .icon-button:hover{background-color:#fcdad7;color:#b01e1b}.form-grid{display:flex;flex-direction:column;gap:12px}.request-panel button.primary{width:100%}.alert-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;width:90%;max-width:500px;display:flex;flex-direction:column;gap:12px;pointer-events:none}.alert{pointer-events:auto;background:#fffdf8e6;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.4);border-left:5px solid transparent;border-radius:12px;padding:16px 20px;box-shadow:0 10px 30px #2d22191f;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;animation:slideDown .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.alert.success{border-left-color:var(--color-primary)}.alert.error{border-left-color:var(--color-danger)}.alert-content{display:flex;align-items:center;gap:12px;flex:1}.alert-icon{width:20px;height:20px;flex-shrink:0}.alert.success .alert-icon{color:var(--color-primary)}.alert.error .alert-icon{color:var(--color-danger)}.alert-message{font-family:var(--font-sans);font-weight:500;font-size:.95rem;line-height:1.4;color:var(--text-primary)}.alert-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;min-height:auto;width:24px;height:24px;transition:background-color .2s,color .2s}.alert-close:hover{background:#0000000d;color:var(--text-primary)}footer.public-footer{margin-top:64px;border-top:1px solid var(--border-color);background-color:var(--bg-tertiary);padding:48px 32px 24px}.footer-content{max-width:1200px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.footer-section h3{font-family:var(--font-serif);font-size:1.15rem;margin-bottom:16px;color:var(--text-primary)}.footer-section p,.footer-section a{font-family:var(--font-sans);font-size:.9rem;color:var(--text-secondary)}.footer-section a{text-decoration:none;transition:color .2s;font-weight:500}.footer-section a:hover{color:var(--color-primary)}.footer-section.brand-info .footer-logo{height:38px;margin-bottom:12px}.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(45,34,25,.08);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-bottom p{font-size:.85rem;color:var(--text-muted);margin:0}.admin-link{font-family:var(--font-ui);font-weight:600;font-size:.85rem;color:var(--text-muted)!important;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.admin-link:hover{color:var(--color-primary)!important}.login-card{margin:8vh auto;max-width:420px;width:90%;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:40px;box-shadow:var(--shadow-lg)}.login-card h1{font-size:1.8rem;margin-bottom:24px;text-align:center}.login-card .eyebrow{color:var(--color-accent);font-family:var(--font-ui);font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;display:block;text-align:center}.stack{display:flex;flex-direction:column;gap:16px}.metric-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.metric-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric-card span{font-family:var(--font-ui);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.metric-card strong{font-family:var(--font-ui);font-size:2.6rem;font-weight:700;color:var(--text-primary);line-height:1.1}.metric-card.warn{border-left:4px solid var(--status-pending-dot)}.metric-card.danger{border-left:4px solid var(--status-canceled-dot)}.two-column{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.panel h2{font-size:1.25rem;margin-bottom:20px;border-bottom:1px dashed var(--border-color);padding-bottom:10px}.form-row{align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.list-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow-sm)}.list-card h2{font-size:1.15rem;margin-bottom:4px}.list-card p{font-size:.9rem;color:var(--text-secondary);margin-bottom:0}.table-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;margin-top:16px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px 20px;border-bottom:1px solid var(--border-color);vertical-align:middle}th{background-color:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-ui);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}tr:hover td{background-color:#faf6f066}td strong{font-family:var(--font-ui);color:var(--text-primary)}td small{color:var(--text-muted)}td.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:320px}td.actions a,td.actions button{min-height:auto;padding:8px 12px;font-size:.8rem;font-family:var(--font-ui);font-weight:600;border-radius:var(--border-radius)}td.actions a{background-color:#ebf3ea;color:var(--color-primary);border:1px solid rgba(45,90,39,.15)}td.actions a:hover{background-color:var(--color-primary);color:#fff}td.actions button{background-color:var(--color-secondary-btn);color:var(--text-primary);border:1px solid #E0D3BE}td.actions button:hover{background-color:var(--color-secondary-btn-hover)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading h1{font-size:1.8rem;margin-bottom:0}.page-heading .eyebrow{color:var(--color-accent);font-family:var(--font-ui);font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;display:block}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--border-radius-pill);font-family:var(--font-ui);font-weight:600;font-size:.8rem;letter-spacing:.02em;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;position:relative}.status-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;animation:pulse-led 2s infinite ease-in-out}@keyframes pulse-led{0%{transform:scale(1);opacity:.8}50%{transform:scale(2.4);opacity:0}to{transform:scale(1);opacity:0}}.status-badge.pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.pending .status-dot{background-color:var(--status-pending-dot)}.status-badge.pending .status-dot:after{background-color:var(--status-pending-dot)}.status-badge.confirmed{background-color:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.status-badge.confirmed .status-dot{background-color:var(--status-confirmed-dot)}.status-badge.confirmed .status-dot:after{background-color:var(--status-confirmed-dot)}.status-badge.canceled{background-color:var(--status-canceled-bg);color:var(--status-canceled-text)}.status-badge.canceled .status-dot{background-color:var(--status-canceled-dot)}.status-badge.canceled .status-dot:after{background-color:var(--status-canceled-dot)}.status-badge.expired{background-color:var(--status-expired-bg);color:var(--status-expired-text)}.status-badge.expired .status-dot{background-color:var(--status-expired-dot)}.status-badge.expired .status-dot:after{background-color:var(--status-expired-dot)}.status-badge.released{background-color:var(--status-blue-bg);color:var(--status-blue-text)}.status-badge.released .status-dot{background-color:var(--status-blue-dot)}.status-badge.released .status-dot:after{background-color:var(--status-blue-dot)}.qr-code{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);height:min(240px,70vw);padding:12px;width:min(240px,70vw)}.check{align-items:center;display:flex;gap:10px;font-size:.95rem;color:var(--text-secondary)}.check input{min-height:auto;width:auto;accent-color:var(--color-primary);width:18px;height:18px}pre{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;font-size:.85rem;overflow:auto;white-space:pre-wrap}@media (max-width: 1024px){.public-layout{grid-template-columns:1fr;gap:28px}.catalog-grid{grid-column:1}.request-panel{grid-column:1;position:static;max-height:none}}@media (max-width: 900px){.admin-frame{display:block}.sidebar{min-height:auto;position:static;border-right:none;border-bottom:1px solid rgba(255,255,255,.05);padding:20px;gap:20px}.side-nav{flex-direction:row;flex-wrap:wrap;gap:6px}.side-nav button{padding:8px 12px;font-size:.85rem}.variant-row{flex-direction:column;align-items:flex-start;gap:10px}.variant-actions{width:100%;justify-content:space-between}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 600px){.topbar{padding:12px 18px}.shell{padding:18px}.hero{padding:32px 24px}.list-card{flex-direction:column;align-items:flex-start;gap:12px}td.actions{min-width:auto}}
