@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');
:root{--navy:#14243b;--blue:#1769aa;--teal:#13a89e;--ink:#202b38;--muted:#778493;--line:#e8e9e6;--bg:#f7f7f4;--white:#fff;--red:#c94b4b;--green:#21845d;--gold:#d9a441;--cream:#fbf8f1;--warm:#9b5438;--shadow:0 10px 30px rgba(25,39,54,.055)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'DM Sans',Inter,Segoe UI,Arial,sans-serif}
a{color:inherit}
.topbar{height:76px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);box-shadow:0 3px 16px rgba(20,36,59,.035)}
.brand{display:flex;gap:13px;align-items:center;color:var(--navy);text-decoration:none;font-size:17px;font-weight:800;letter-spacing:-.3px}
.brand small{display:block;color:#87919b;font-size:9px;letter-spacing:2px;font-weight:800;margin-top:1px}
.brand-logo{width:47px;height:47px;object-fit:contain;background:#fff;border:1px solid #edf0f2;border-radius:13px;padding:4px}
.top-user{display:flex;gap:16px;align-items:center;color:#697685;font-size:12px}
.top-user:before{content:"";width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#e9f5f3,#d8e8f5);display:block;box-shadow:inset 0 0 0 1px #dce8e8}
.top-user a{color:var(--navy);text-decoration:none;font-weight:800;border:1px solid var(--line);border-radius:9px;padding:8px 12px}
.shell{display:flex;min-height:calc(100vh - 126px)}
.sidebar{width:258px;background:#fff;border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;flex-shrink:0}
.nav-label,.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#9a9f9f;margin:0 12px 12px;text-transform:uppercase}
.sidebar>a{position:relative;display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:10px;text-decoration:none;color:#66717e;margin:2px 0;font-size:13px;font-weight:600;transition:.18s ease}
.sidebar>a:before{content:"";width:7px;height:7px;border-radius:3px;background:#cbd2d7;flex:0 0 7px}
.sidebar>a:hover{background:#f7f4ed;color:var(--warm);transform:translateX(2px)}
.sidebar>a.active{background:#edf5f8;color:var(--blue);font-weight:800}
.sidebar>a.active:before{background:var(--teal);box-shadow:0 0 0 4px #dff2ef}
.sidebar-foot{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--line);color:var(--navy);font-weight:800;font-size:12px}
.sidebar-foot small{font-weight:500;color:#929ba4;font-size:10px}
.main{padding:30px 34px 40px;flex:1;min-width:0;max-width:1700px}
.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.page-heading h1{font-family:'Playfair Display',Georgia,serif;font-size:29px;line-height:1.2;margin:5px 0 0;color:var(--navy);letter-spacing:-.4px}
.eyebrow{margin:0;color:var(--warm)}
.date-chip{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:10px;color:#65717d;font-size:12px;font-weight:700;box-shadow:0 2px 8px #1b355006}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.card,.panel{background:#fff;border:1px solid #ecece8;border-radius:15px;padding:20px;box-shadow:var(--shadow)}
.card{position:relative;overflow:hidden;min-height:132px}
.card:after{content:"";position:absolute;right:-25px;top:-30px;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,#f3f7f6,#f8f1e8);opacity:.9}
.stat-label{color:#7d8790;font-size:12px;font-weight:700;position:relative;z-index:1}
.stat-value{font-size:29px;font-weight:800;color:var(--navy);margin:9px 0 3px;letter-spacing:-1px;position:relative;z-index:1}
.stat-note{font-size:11px;color:#9aa2a8;position:relative;z-index:1}
.panel{margin-top:19px}
.panel h2{font-size:16px;margin:0 0 15px;color:var(--navy);font-weight:800}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.btn,button{border:0;background:var(--blue);color:#fff;padding:10px 16px;border-radius:9px;text-decoration:none;font-weight:750;cursor:pointer;display:inline-block;font:700 12px 'DM Sans',sans-serif;transition:.18s ease}
.btn:hover,button:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 5px 14px #1769aa22}
.btn.secondary{background:#f1f4f5;color:#425365}
.btn.teal{background:#168e83}.btn.danger{background:var(--red)}
.actions{display:flex;gap:9px;flex-wrap:wrap}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #eff0ed;vertical-align:middle}
th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#89939a;background:#fafaf8;font-weight:800}
th:first-child{border-radius:8px 0 0 8px}th:last-child{border-radius:0 8px 8px 0}
td{color:#4d5965;font-size:12px}
tbody tr:hover{background:#fcfbf8}
.empty{text-align:center;color:#98a1a8;padding:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:11px;font-weight:800;color:#596776}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dfe4e5;border-radius:9px;background:#fff;color:#243348;font:13px 'DM Sans',sans-serif;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:#62aaa4;box-shadow:0 0 0 3px #13a89e17}
textarea{min-height:95px}
.alert{padding:13px 16px;border-radius:10px;margin-bottom:17px;background:#edf6fb;color:#245b85;border:1px solid #dcecf4}
.alert.error{background:#fff0ef;color:#a22d40;border-color:#f5d8d5}
.alert.success{background:#eaf7f0;color:#176b4b;border-color:#d5eddf}
.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#f0f2f3;color:#526174;font-size:10px;font-weight:800}
.badge.success{background:#e8f7ef;color:#16865b}.badge.warning{background:#fff5df;color:#a66b00}
.footer{text-align:center;color:#a0a7aa;padding:20px;font-size:10px}
.pos-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.menu-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.menu-tile{border:1px solid var(--line);border-radius:12px;padding:15px;text-align:left;background:#fff;color:var(--ink);box-shadow:0 2px 7px #1b355006}
.menu-tile:hover{border-color:#b9d9d4;background:#fbfdfc}
.menu-tile strong{display:block;color:var(--navy);font-size:13px}
.menu-tile span{color:#13877f;font-weight:800;display:block;margin-top:6px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:13px}
.toolbar input{max-width:290px}
.right{text-align:right}.muted{color:#8795a5}
.kitchen-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.order-ticket{border:1px solid var(--line);border-radius:12px;padding:15px;margin:10px 0;background:#fff;box-shadow:0 3px 12px #1b355008}
.order-ticket h3{margin:0 0 7px;color:var(--navy)}
.login-page{min-height:100vh;background:#f4f3ee;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);font-family:'DM Sans',sans-serif}
.login-visual{position:relative;overflow:hidden;min-height:100vh;background:linear-gradient(145deg,rgba(13,31,48,.92),rgba(17,50,62,.78)),radial-gradient(ellipse at 20% 10%,#b96e43 0,transparent 45%),linear-gradient(135deg,#172d3e,#6b4938);display:flex;flex-direction:column;justify-content:space-between;padding:48px 6vw;color:#fff}
.login-visual:before,.login-visual:after{content:"";position:absolute;border:1px solid #ffffff1b;border-radius:50%;width:550px;height:550px;right:-170px;top:12%;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}
.login-visual:after{width:320px;height:320px;right:-55px;top:25%;background:radial-gradient(circle at 35% 35%,#d9a44155,transparent 60%)}
.login-visual>*{position:relative;z-index:1}
.login-brand-lockup{display:flex;align-items:center;gap:14px}
.login-brand-lockup img{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:15px;padding:5px}
.login-brand-lockup strong{display:block;font-size:17px;letter-spacing:.2px}
.login-brand-lockup small{font-size:9px;letter-spacing:2px;color:#d6e2e6;font-weight:800}
.login-pitch{max-width:570px;margin:60px 0}
.login-pitch .kicker{color:#e6bc73;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800}
.login-pitch h1{font:700 clamp(38px,4.5vw,64px)/1.08 'Playfair Display',Georgia,serif;margin:18px 0;color:#fff;letter-spacing:-1px}
.login-pitch p{color:#d6e0e2;font-size:15px;max-width:460px;line-height:1.8}
.login-feature-row{display:flex;gap:22px;flex-wrap:wrap;color:#dce6e6;font-size:11px}
.login-feature-row span:before{content:"✦";color:#e5b967;margin-right:8px}
.login-visual-foot{color:#b8c6c8;font-size:10px;letter-spacing:.3px}
.login-form-side{display:grid;place-items:center;padding:42px 7vw;background:linear-gradient(145deg,#fbfaf7,#f2f0e9)}
.login-card{width:min(440px,100%);background:#fff;border:1px solid #ebe9e2;border-radius:22px;padding:38px;box-shadow:0 24px 70px rgba(36,44,47,.10)}
.login-card .mini-brand{display:none}
.login-card h2{font:700 30px 'Playfair Display',Georgia,serif;color:var(--navy);margin:0 0 8px}
.login-card>p{color:#8a9297;font-size:12px;margin:0 0 25px}
.login-card .field{margin:17px 0}
.login-card label{color:#52606c}
.login-card input{padding:13px 14px;background:#fcfcfa}
.login-card button{width:100%;padding:14px;margin-top:8px;background:linear-gradient(100deg,#1769aa,#168e83);font-size:13px;box-shadow:0 8px 18px #1769aa25}
.login-card .secure-note{text-align:center;color:#a1a8aa;font-size:10px;margin:18px 0 0}
.login-card .secure-note:before{content:"▣";margin-right:6px;color:#168e83}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:225px}.pos-grid{grid-template-columns:1fr}.main{padding:26px 22px}}
@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-visual{min-height:270px;padding:25px 7vw}.login-pitch{margin:30px 0 10px}.login-pitch h1{font-size:36px;margin:10px 0}.login-pitch p{font-size:12px}.login-feature-row,.login-visual-foot{display:none}.login-visual:before{width:280px;height:280px;right:-100px;top:5%}.login-visual:after{width:170px;height:170px;right:-40px;top:20%}.login-form-side{padding:25px 18px 40px}.login-card{padding:27px 23px}.topbar{height:66px;padding:0 14px}.brand{font-size:14px}.brand-logo{width:39px;height:39px}.top-user{gap:8px;font-size:10px}.top-user:before{display:none}.shell{display:block}.sidebar{width:100%;display:flex;flex-direction:row;overflow-x:auto;padding:8px 10px;gap:5px;border-bottom:1px solid var(--line)}.sidebar>a{white-space:nowrap;padding:9px 11px;font-size:11px}.sidebar>a:before{display:none}.nav-label,.sidebar-foot{display:none}.main{padding:20px 13px 30px}.grid{grid-template-columns:1fr 1fr;gap:9px}.card{padding:13px;min-height:110px}.stat-value{font-size:21px}.page-heading h1{font-size:23px}.form-grid,.kitchen-columns{grid-template-columns:1fr}.menu-tiles{grid-template-columns:repeat(2,1fr)}table{font-size:11px;display:block;overflow-x:auto;white-space:nowrap}th,td{padding:9px 7px}.page-heading{gap:10px}.date-chip{font-size:10px;padding:7px}}

@media(max-width:760px){.main>.grid[style*='repeat(2']{grid-template-columns:1fr!important}.panel canvas{max-width:100%}}
