@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
    --bg:#070914;
    --panel:#101525;
    --panel2:#141b2d;
    --gold:#d6a84f;
    --gold2:#f7d994;
    --text:#f8fafc;
    --muted:#94a3b8;
    --line:rgba(255,255,255,.10);
    --green:#22c55e;
    --red:#ef4444;
    --blue:#38bdf8;
    --purple:#a78bfa;
    --radius:22px;
    --shadow:0 24px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:Inter,system-ui,Arial,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at 10% 0%, rgba(214,168,79,.22), transparent 34%),
        radial-gradient(circle at 90% 10%, rgba(56,189,248,.16), transparent 32%),
        linear-gradient(135deg,#050713 0%,#0b1020 55%,#120d18 100%);
    min-height:100vh;
}
a{text-decoration:none;color:inherit}
.topbar{
    height:78px;
    position:fixed;
    top:0;left:0;right:0;
    z-index:50;
    display:flex;
    align-items:center;
    gap:18px;
    padding:0 24px;
    background:rgba(7,9,20,.78);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
}
.topbar h1{font-size:22px;margin:0;font-weight:800}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.menu-btn{display:none;background:var(--panel2);border:1px solid var(--line);color:#fff;border-radius:14px;padding:11px 13px}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.quick-pos,.btn{
    border:0;
    border-radius:15px;
    padding:12px 16px;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    gap:8px;
    align-items:center;
    justify-content:center;
}
.quick-pos,.btn.luxury{
    background:linear-gradient(135deg,var(--gold),var(--gold2));
    color:#1a1204;
    box-shadow:0 14px 34px rgba(214,168,79,.25);
}
.btn.dark{background:#1e293b;color:#fff;border:1px solid var(--line)}
.btn.green{background:linear-gradient(135deg,#16a34a,#86efac);color:#06110a}
.btn.red{background:linear-gradient(135deg,#dc2626,#fb7185);color:#fff}
.btn.blue{background:linear-gradient(135deg,#0284c7,#7dd3fc);color:#06111a}
.full{width:100%}
.user-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid var(--line);padding:8px 12px;border-radius:18px}
.user-pill small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2d1d0c;color:var(--gold2);font-weight:900}

.app-shell{display:flex;padding-top:78px}
.sidebar{
    position:fixed;
    top:78px;left:0;bottom:0;
    width:282px;
    padding:20px;
    background:rgba(10,14,27,.86);
    backdrop-filter:blur(20px);
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    z-index:40;
}
.side-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.brand-icon{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#7c4a12);display:grid;place-items:center;color:#160d02;font-size:22px}
.side-brand h2{margin:0;font-size:18px}
.side-brand span{color:var(--muted);font-size:12px}
.side-nav{display:grid;gap:7px}
.side-nav a,.logout{
    display:flex;align-items:center;gap:12px;
    padding:12px 14px;
    border-radius:16px;
    color:#cbd5e1;
    transition:.18s ease;
}
.side-nav a:hover,.side-nav a.active{
    background:linear-gradient(135deg,rgba(214,168,79,.22),rgba(255,255,255,.06));
    color:#fff;
    border:1px solid rgba(214,168,79,.28);
}
.side-nav i{width:20px;color:var(--gold2)}
.logout{margin-top:auto;background:rgba(239,68,68,.12);color:#fecaca;border:1px solid rgba(239,68,68,.22)}

.main{
    width:calc(100% - 282px);
    margin-left:282px;
    padding:24px;
}
.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.glass-card,.stat-card,.panel{
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.glass-card,.panel{padding:22px}
.stat-card{padding:20px;position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(214,168,79,.12)}
.stat-card span{color:var(--muted);font-size:13px}
.stat-card h3{font-size:26px;margin:8px 0}
.stat-card i{font-size:24px;color:var(--gold2)}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-head h2,.card-head h3{margin:0}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(214,168,79,.12);border:1px solid rgba(214,168,79,.28);color:var(--gold2);font-weight:800;font-size:12px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}
.table th{color:var(--gold2);font-size:12px;text-transform:uppercase}
.status{padding:5px 10px;border-radius:999px;font-weight:800;font-size:11px}
.status.paid,.status.available{background:rgba(34,197,94,.15);color:#86efac}
.status.unpaid,.status.occupied{background:rgba(239,68,68,.15);color:#fecaca}
.status.partial,.status.reserved{background:rgba(245,158,11,.15);color:#fde68a}
input,select,textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(255,255,255,.07);
    color:#fff;
    padding:13px 14px;
    outline:none;
}
select option{color:#111}
label{display:block;margin:0 0 8px;color:#cbd5e1;font-size:13px;font-weight:700}
.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pos-layout{display:grid;grid-template-columns:1.5fr .85fr;gap:20px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product-card{padding:16px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid var(--line);cursor:pointer;transition:.18s}
.product-card:hover{transform:translateY(-3px);border-color:rgba(214,168,79,.5)}
.product-card h4{margin:8px 0 6px}
.product-card .price{color:var(--gold2);font-size:18px;font-weight:900}
.cart-line{display:grid;grid-template-columns:1fr 68px 80px 34px;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.total-row{display:flex;justify-content:space-between;margin:10px 0;color:#cbd5e1}
.grand{font-size:24px;color:var(--gold2);font-weight:900}
.kot-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:16px}
.kot-ticket{background:#f8fafc;color:#111827;border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.kot-ticket h3{margin:0 0 8px}
.kot-ticket li{margin:8px 0}
.login-body{display:grid;place-items:center;min-height:100vh;padding:22px}
.login-wrap{width:min(960px,100%);display:grid;grid-template-columns:1fr 420px;gap:26px;align-items:center}
.login-brand .crown{font-size:52px;color:var(--gold2)}
.login-brand h1{font-size:54px;line-height:1;margin:14px 0;background:linear-gradient(135deg,#fff,var(--gold2));-webkit-background-clip:text;color:transparent}
.login-brand p{color:#cbd5e1;font-size:18px}
.login-card{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.login-card h2{font-size:30px;margin:0 0 6px}
.muted{color:var(--muted)}
.alert{padding:12px 14px;border-radius:14px;margin:14px 0}
.alert.danger{background:rgba(239,68,68,.14);color:#fecaca;border:1px solid rgba(239,68,68,.25)}
.input-icon{position:relative;margin-bottom:14px}
.input-icon i{position:absolute;left:14px;top:15px;color:var(--gold2)}
.input-icon input{padding-left:42px}
.demo{text-align:center;margin-top:14px;color:var(--muted);font-size:13px}

@media(max-width:1100px){
    .grid-4{grid-template-columns:repeat(2,1fr)}
    .pos-layout{grid-template-columns:1fr}
    .product-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
    .menu-btn{display:block}
    .topbar{padding:0 14px}
    .topbar h1{font-size:16px}
    .topbar p,.quick-pos{display:none}
    .sidebar{transform:translateX(-105%);transition:.2s}
    .sidebar.open{transform:translateX(0)}
    .main{margin-left:0;width:100%;padding:14px}
    .grid-4,.grid-3,.grid-2,.form-row,.login-wrap{grid-template-columns:1fr}
    .product-grid{grid-template-columns:1fr}
    .login-brand h1{font-size:36px}
    .kot-board{grid-template-columns:1fr}
}


.action-row{display:flex;gap:8px;flex-wrap:wrap}
.small-btn{border:0;border-radius:10px;padding:8px 10px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.small-btn.gold{background:rgba(214,168,79,.18);color:var(--gold2);border:1px solid rgba(214,168,79,.32)}
.small-btn.green{background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.22)}
.small-btn.red{background:rgba(239,68,68,.15);color:#fecaca;border:1px solid rgba(239,68,68,.22)}
.small-btn.blue{background:rgba(56,189,248,.15);color:#bae6fd;border:1px solid rgba(56,189,248,.22)}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.tab{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#cbd5e1;font-weight:800}
.tab.active{background:linear-gradient(135deg,rgba(214,168,79,.26),rgba(255,255,255,.07));color:#fff;border-color:rgba(214,168,79,.35)}
.notice{padding:14px 16px;border-radius:18px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.24);color:#dff6ff;margin-bottom:16px}
.print-only{display:none}
@media print{
    body{background:#fff;color:#000}
    .topbar,.sidebar,.no-print,.btn,.small-btn{display:none!important}
    .main{margin:0!important;width:100%!important;padding:0!important}
    .glass-card,.panel{box-shadow:none;border:0;background:#fff;color:#000}
    .print-only{display:block}
    .table th,.table td{color:#000;border-bottom:1px solid #ddd}
}
