:root{--gold-50:#fbf6e9;--gold-100:#f3e7c0;--gold-200:#e8d28c;--gold-300:#dbb95b;--gold-400:#c9a24a;--gold-500:#b4892f;--gold-600:#8e6a20;--gold-700:#6a4e15;--ink-900:#0e0b07;--ink-800:#15110b;--ink-700:#1e1810;--ink-600:#2a2218;--ink-500:#3c3325;--ink-400:#6b5e45;--ink-300:#8c7e63;--ink-200:#bdb29a;--ink-100:#e7dfcb;--ink-50:#faf6ec;--cream:#f5eedc;--paper:#fffbf1;--white:#fff;--danger:#b23a48;--success:#2f8a5f;--info:#1e6f8e;--warning:#c58a1f;--radius-sm:6px;--radius:10px;--radius-lg:18px;--radius-xl:28px;--shadow-soft:0 2px 8px #0e0b070f, 0 1px 2px #0e0b070a;--shadow:0 8px 24px #0e0b071a, 0 2px 6px #0e0b070f;--shadow-lux:0 18px 60px #0e0b0733, 0 4px 14px #0e0b071a;--gradient-gold:linear-gradient(135deg, #e8d28c 0%, #c9a24a 35%, #8e6a20 100%);--gradient-ink:linear-gradient(180deg, #15110b 0%, #0e0b07 100%);--gradient-page:radial-gradient(1200px 600px at 20% -10%, #f8f0d6 0%, transparent 60%), radial-gradient(900px 500px at 110% 110%, #f3e7c0 0%, transparent 55%), linear-gradient(180deg, #fffbf1 0%, #f5eedc 100%);--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--primary:var(--gold-400);--primary-dark:var(--gold-600);--bg:var(--paper);--surface:var(--white);--text:var(--ink-900);--text-soft:var(--ink-400);--border:#e8ddc4}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);color:var(--text);background:var(--gradient-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink-900);margin:0 0 .4em;font-weight:600}h1{font-size:clamp(1.7rem,2.4vw,2.4rem)}h2{font-size:clamp(1.4rem,1.8vw,1.8rem)}h3{font-size:1.25rem}.serif{font-family:var(--font-display)}.eyebrow{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.18em;color:var(--gold-600);font-size:.72rem;font-weight:600}a{color:var(--gold-600);text-decoration:none}a:hover{color:var(--gold-500)}.btn{font-family:var(--font-ui);border-radius:var(--radius);cursor:pointer;background:var(--ink-900);color:var(--cream);letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.92rem;font-weight:600;transition:all .18s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-gold{background:var(--gradient-gold);color:var(--ink-900);border-color:var(--gold-500)}.btn-gold:hover{filter:brightness(1.04);box-shadow:0 10px 30px #c9a24a59}.btn-outline{color:var(--ink-800);border:1px solid var(--ink-200);background:0 0}.btn-outline:hover{border-color:var(--gold-500);color:var(--gold-700)}.btn-ghost{color:var(--ink-700);background:0 0;border:none}.btn-ghost:hover{background:#c9a24a1a}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:.45rem .8rem;font-size:.82rem}.btn-lg{padding:.95rem 1.6rem;font-size:1rem}.btn-block{justify-content:center;width:100%}.btn-icon{border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--ink-700);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--ink-50);border-color:var(--gold-400);color:var(--gold-700)}.input,.select,.textarea{font-family:var(--font-ui);border:1px solid var(--border);border-radius:var(--radius);background:var(--white);width:100%;color:var(--text);padding:.7rem .9rem;font-size:.94rem;transition:border .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--gold-400);outline:none;box-shadow:0 0 0 4px #c9a24a26}.label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-500);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.field{margin-bottom:1rem}.field-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.4rem}.card-lux{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow);border-top:3px solid var(--gold-400);padding:1.6rem}.card-dark{background:var(--gradient-ink);color:var(--cream);border-radius:var(--radius-lg);border:1px solid var(--ink-700);padding:1.4rem}.card-dark h1,.card-dark h2,.card-dark h3{color:var(--gold-200)}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.card-header h2,.card-header h3{margin:0}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.3rem 1.4rem;position:relative;overflow:hidden}.kpi:after{content:"";background:var(--gradient-gold);height:3px;position:absolute;top:0;left:0;right:0}.kpi-label{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-400);font-size:.72rem;font-weight:600}.kpi-value{font-family:var(--font-display);color:var(--ink-900);margin-top:.25rem;font-size:2rem;font-weight:600}.kpi-meta{color:var(--ink-400);margin-top:.4rem;font-size:.82rem}.table-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--white);width:100%;overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:.9rem}table.table th{text-align:left;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-500);background:var(--ink-50);border-bottom:1px solid var(--border);padding:.85rem 1rem;font-size:.72rem;font-weight:600}table.table td{color:var(--ink-800);border-bottom:1px solid #f1e9d3;padding:.85rem 1rem}table.table tr:hover td{background:#fcf8ec}.badge{letter-spacing:.04em;background:var(--ink-50);color:var(--ink-700);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-gold{background:var(--gold-100);color:var(--gold-700);border-color:var(--gold-300)}.badge-success{color:#1e5c40;background:#ddf0e5;border-color:#b6e0c6}.badge-danger{color:#7b1e2a;background:#f8dae0;border-color:#efb4be}.badge-info{color:#114c66;background:#d6eaf3;border-color:#aed5e5}.badge-warning{color:#6f4a0e;background:#f8eac3;border-color:#ecd296}.app-layout{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.app-sidebar{background:var(--gradient-ink);color:var(--cream);border-right:1px solid var(--ink-700);flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--ink-700);align-items:center;gap:.7rem;margin-bottom:1rem;padding:.4rem .6rem 1.2rem;display:flex}.sidebar-brand img{object-fit:contain;width:52px;height:52px}.sidebar-brand h2{color:var(--gold-200);margin:0;font-size:1.25rem;line-height:1.1}.sidebar-brand span{letter-spacing:.22em;color:var(--gold-400);text-transform:uppercase;font-size:.7rem}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-link{border-radius:var(--radius);color:var(--ink-100);align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:.92rem;font-weight:500;transition:all .15s;display:flex}.sidebar-link:hover{color:var(--gold-200);background:#c9a24a1a}.sidebar-link.active{color:var(--gold-200);border-left:2px solid var(--gold-400);background:linear-gradient(90deg,#c9a24a2e,#0000);padding-left:calc(.9rem - 2px)}.sidebar-section{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-400);padding:.9rem .9rem .35rem;font-size:.66rem}.sidebar-user{border-top:1px solid var(--ink-700);align-items:center;gap:.7rem;margin-top:1rem;padding-top:1rem;display:flex}.sidebar-user-avatar{background:var(--gradient-gold);width:38px;height:38px;color:var(--ink-900);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-info p{color:var(--cream);margin:0;font-size:.88rem}.sidebar-user-info span{color:var(--ink-300);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:#fffbf1d9;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex;position:sticky;top:0}.app-topbar h1{margin:0;font-size:1.1rem}.app-content{width:100%;max-width:1400px;margin:0 auto;padding:1.6rem 1.8rem 3rem}.hamburger{display:none}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.flex{align-items:center;gap:.6rem;display:flex}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.spacer{flex:1}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.text-soft{color:var(--text-soft)}.text-right{text-align:right}.text-center{text-align:center}.text-gold{color:var(--gold-600)}.muted{color:var(--ink-400);font-size:.88rem}.login-wrap{background:var(--gradient-ink);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{background:radial-gradient(800px 500px at 30% 30%, #c9a24a40, transparent 70%), radial-gradient(600px 400px at 80% 80%, #e8d28c2e, transparent 60%), var(--gradient-ink);color:var(--cream);justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.login-art:before{content:"";border-radius:var(--radius-xl);pointer-events:none;border:1px solid #c9a24a40;position:absolute;inset:30px}.login-art-inner{text-align:center;z-index:1;max-width:460px;position:relative}.login-art img{filter:drop-shadow(0 12px 40px #c9a24a59);width:320px;max-width:75%;margin-bottom:1.2rem}.login-art h1{color:var(--gold-200);margin-bottom:.4rem;font-size:clamp(2rem,3vw,2.6rem)}.login-art p{color:var(--ink-200);font-size:1rem;line-height:1.6}.login-form-wrap{background:var(--paper);justify-content:center;align-items:center;padding:2rem;display:flex}.login-card{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lux);border:1px solid var(--border);padding:2.5rem 2.2rem}.login-card h2{margin-bottom:.2rem;font-size:1.7rem}.login-card .eyebrow{margin-bottom:1.4rem;display:block}.login-error{color:#7b1e2a;border-radius:var(--radius-sm);background:#f8dae0;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.pos-layout{grid-template-columns:1fr 420px;gap:1.2rem;height:calc(100vh - 64px);display:grid}.pos-catalog{padding-right:.4rem;overflow-y:auto}.pos-cart{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.pos-cart-header{background:var(--gradient-ink);color:var(--cream);padding:1rem 1.2rem}.pos-cart-body{flex:1;padding:.8rem 1rem;overflow-y:auto}.pos-cart-footer{border-top:1px solid var(--border);background:var(--ink-50);padding:1rem 1.2rem}.item-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;padding:.9rem;transition:all .15s;display:flex}.item-card:hover{border-color:var(--gold-400);box-shadow:var(--shadow);transform:translateY(-2px)}.item-card .sku{color:var(--ink-400);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.item-card .name{font-family:var(--font-display);color:var(--ink-900);margin:.2rem 0;font-size:1.05rem}.item-card .meta{color:var(--ink-500);flex-wrap:wrap;gap:.6rem;font-size:.78rem;display:flex}.item-card .price{font-family:var(--font-display);color:var(--gold-700);margin-top:.5rem;font-size:1.3rem;font-weight:600}.cart-line{border-bottom:1px dashed var(--border);grid-template-columns:1fr auto;gap:.4rem;padding:.6rem 0;display:grid}.cart-line .name{font-weight:500}.cart-line .meta{color:var(--ink-400);font-size:.75rem}.cart-line .price{font-family:var(--font-display);color:var(--gold-700);font-weight:600}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e0b078c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:92vh;box-shadow:var(--shadow-lux);border-top:4px solid var(--gold-400);overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.2rem 1.6rem;display:flex}.modal-body{padding:1.4rem 1.6rem}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;padding:1rem 1.6rem;display:flex}.toast-stack{z-index:200;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--ink-900);color:var(--cream);border-radius:var(--radius);box-shadow:var(--shadow);border-left:3px solid var(--gold-400);min-width:240px;padding:.8rem 1.1rem;font-size:.9rem;animation:.25s slideIn}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.spinner{border:2px solid var(--ink-200);border-top-color:var(--gold-500);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:36px;height:36px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--ink-400);padding:3rem 1.5rem}.empty-state svg{color:var(--gold-400);margin-bottom:1rem}@media (width<=1024px){.pos-layout{grid-template-columns:1fr;height:auto}}@media (width<=860px){.app-layout{grid-template-columns:1fr}.app-sidebar{z-index:80;width:280px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:none}.hamburger{display:inline-flex}.login-wrap{grid-template-columns:1fr}.login-art{min-height:240px;padding:2rem 1.5rem}.login-art img{width:140px}.app-content{padding:1.2rem 1rem 2.5rem}}@supports (padding:max(0px)){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@media print{.app-sidebar,.app-topbar,.no-print{display:none!important}.app-content{padding:0}body{background:#fff}}
