@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap");:root{--forest:#14342b;--forest-2:#1e4a3c;--forest-3:#0c241d;--gold:#c9a227;--gold-soft:#e4c868;--cream:#faf6ee;--sand:#f3eddf;--ink:#22302a;--muted:#68766c;--line:#e5decb;--white:#fff;--red:#b0340f;--red-bg:#fdeceb;--green-bg:#eaf5ef;--green:#14532d;--shadow:0 14px 34px -16px rgba(20,52,43,.35)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,system-ui,sans-serif;background:#f6f4ec;color:var(--ink);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:.95rem}.auth-wrap{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(1100px 500px at 85% -10%,rgba(201,162,39,.16),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(30,74,60,.5),transparent 55%),var(--forest-3);padding:1.5rem}.auth-card{width:min(420px,100%);background:var(--white);border-radius:18px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);padding:2.4rem 2.2rem}.auth-brand{text-align:center;margin-bottom:1.6rem}.auth-brand .mark{width:52px;height:52px;margin:0 auto .8rem;border-radius:14px;background:var(--forest);display:grid;place-items:center;font-size:1.6rem;color:var(--gold-soft);font-weight:700}.auth-brand .mark,.auth-brand h1{font-family:Playfair Display,serif}.auth-brand h1{font-size:1.35rem;color:var(--forest-3)}.auth-brand p{font-size:.82rem;color:var(--muted);margin-top:.2rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest-2);margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;padding:.72rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.18)}.demo-note{margin-top:1.4rem;background:var(--sand);border:1px dashed var(--line);padding:.85rem 1rem;border-radius:10px;font-size:.8rem;color:var(--muted)}.demo-note b{color:var(--forest-2)}.btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;border:1px solid transparent;border-radius:10px;padding:.62rem 1.1rem;font-weight:600;font-size:.9rem;line-height:1.2;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--forest);color:var(--cream)}.btn-primary:hover{background:var(--forest-2)}.btn-gold{background:var(--gold);color:var(--forest-3)}.btn-gold:hover{background:var(--gold-soft)}.btn-ghost{background:var(--white);color:var(--forest-2);border-color:var(--line)}.btn-ghost:hover{border-color:var(--forest-2)}.btn-danger{background:var(--red-bg);color:var(--red);border-color:#f3c3ba}.btn-danger:hover{background:#fbddd7}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn-xs{padding:.35rem .7rem;font-size:.8rem;border-radius:8px}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100dvh}.sidebar{background:var(--forest-3);color:hsla(40,55%,96%,.82);padding:1.4rem 1rem;display:flex;flex-direction:column;gap:1.6rem;position:-webkit-sticky;position:sticky;top:0;height:100dvh}.side-brand{display:flex;align-items:center;gap:.65rem;padding:0 .4rem}.side-brand .mark{width:38px;height:38px;border-radius:10px;background:rgba(201,162,39,.16);display:grid;place-items:center;font-family:Playfair Display,serif;color:var(--gold-soft);font-size:1.2rem;font-weight:700}.side-brand div b{display:block;color:var(--cream);font-size:.95rem;font-family:Playfair Display,serif}.side-brand div span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}.side-nav{display:flex;flex-direction:column;gap:.25rem}.side-nav a{padding:.6rem .85rem;border-radius:10px;font-size:.92rem;font-weight:500;color:hsla(40,55%,96%,.78);border-left:3px solid transparent;display:flex;align-items:center;justify-content:space-between}.side-nav a:hover{background:hsla(40,55%,96%,.07);color:var(--cream)}.side-nav a.active{background:rgba(201,162,39,.14);color:var(--gold-soft);border-left-color:var(--gold)}.side-count{background:var(--gold);color:var(--forest-3);font-size:.68rem;font-weight:800;border-radius:999px;padding:.1rem .5rem}.side-foot{margin-top:auto;font-size:.72rem;color:hsla(40,55%,96%,.45);padding:0 .4rem}.main{display:flex;flex-direction:column;min-width:0}.topbar{background:var(--white);border-bottom:1px solid var(--line);padding:.85rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar h1{font-family:Playfair Display,serif;font-size:1.2rem;color:var(--forest-3);font-weight:600}.whoami{display:flex;align-items:center;gap:.75rem}.avatar{width:36px;height:36px;border-radius:50%;background:var(--forest);color:var(--gold-soft);display:grid;place-items:center;font-weight:700;font-size:.85rem}.whoami .meta{line-height:1.25;text-align:right}.whoami .meta b{display:block;font-size:.88rem;color:var(--forest-3)}.whoami .meta span{font-size:.72rem;color:var(--muted)}.content{padding:1.6rem;display:flex;flex-direction:column;gap:1.4rem}.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem}.card h2{font-family:Playfair Display,serif;font-size:1.05rem;color:var(--forest-3);margin-bottom:.9rem;font-weight:600}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.card-head h2{margin-bottom:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem}.stat-card{background:var(--white);border-radius:14px;padding:1.05rem 1.2rem;border:1px solid var(--line);border-top:3px solid var(--gold)}.stat-card b{display:block;font-size:1.65rem;font-family:Playfair Display,serif;color:var(--forest-3)}.stat-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.stat-card.green{border-top-color:#2e7d52}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.5rem .65rem;border-bottom:1px solid var(--line);font-weight:700}td{padding:.6rem .65rem;border-bottom:1px solid #f0ece0;font-size:.9rem;vertical-align:middle}tr:last-child td{border-bottom:0}.t-scroll{overflow-x:auto}.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.22rem .6rem;border-radius:999px;text-transform:uppercase}.badge.pending{background:#fff4d6;color:#7a5b00}.badge.confirmed{background:#e3f0fb;color:#1c4f7c}.badge.checked_in{background:#eaf5ef;color:#14532d}.badge.checked_out{background:#ece9f7;color:#45378c}.badge.cancelled{background:var(--red-bg);color:var(--red)}.badge.open{background:#fff4d6;color:#7a5b00}.badge.in_progress{background:#e3f0fb;color:#1c4f7c}.badge.done,.badge.settled{background:#eaf5ef;color:#14532d}.badge.placed{background:#fff4d6;color:#7a5b00}.badge.preparing{background:#e3f0fb;color:#1c4f7c}.badge.served{background:#eaf5ef;color:#14532d}.badge.delivered{background:#ece9f7;color:#45378c}.badge.role-admin{background:var(--gold-soft);color:var(--forest-3)}.badge.role-front_desk{background:#e3f0fb;color:#1c4f7c}.badge.role-bar{background:#f7e3f0;color:#7c1c50}.banner{border-radius:12px;padding:.8rem 1.1rem;font-size:.9rem;font-weight:500}.banner.ok{background:var(--green-bg);color:var(--green);border:1px solid #bfe3cf}.banner.err{background:var(--red-bg);color:var(--red);border:1px solid #f3c3ba}.muted{color:var(--muted)}.small{font-size:.8rem}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;letter-spacing:.02em}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.flex{display:flex;align-items:center;gap:.7rem}.spread{justify-content:space-between}.grid-2{grid-template-columns:1fr 1fr;grid-gap:1.4rem}.grid-2,.grid-3{display:grid;gap:1.4rem;align-items:start}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:1.4rem}@media (max-width:1100px){.grid-2,.grid-3{grid-template-columns:1fr}}.block-wrap{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--forest-3);color:var(--cream);text-align:center}.block-card{max-width:430px}.block-card .icon{font-size:2.6rem;margin-bottom:1rem}.block-card h1{font-family:Playfair Display,serif;font-size:1.6rem;margin-bottom:.7rem;color:var(--cream)}.block-card p{color:hsla(40,55%,96%,.75);margin-bottom:1.4rem}.receipt{max-width:620px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:2rem}.receipt-head{text-align:center;border-bottom:2px solid var(--forest);padding-bottom:1rem;margin-bottom:1.2rem}.receipt-head h1{font-family:Playfair Display,serif;color:var(--forest-3);font-size:1.4rem}.receipt-head p{font-size:.8rem;color:var(--muted)}.totals td{padding:.45rem .65rem}.totals tr.grand td{font-weight:800;border-top:2px solid var(--forest-3);font-size:1rem;color:var(--forest-3)}@media print{.no-print,.sidebar,.topbar{display:none!important}.shell{grid-template-columns:1fr!important}.content{padding:0!important}body{background:#fff}.receipt{border:0;box-shadow:none}}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 0 0 auto;width:min(78vw,300px);z-index:50;transform:translateX(100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}}