:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#122036;background:#f3f6fb;font-synthesis:none;--ink:#122036;--muted:#66758c;--line:#dce4ef;--blue:#3158e8;--blue2:#6b75ff;--nav:#101a2b;--green:#12835a;--red:#c23d4b;--shadow:0 18px 50px rgba(32,48,78,.11)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.hidden{display:none!important}button,input{font:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;font-size:18px;font-weight:800;background:linear-gradient(145deg,#3760ed,#727aff);box-shadow:0 8px 20px rgba(61,83,230,.35)}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-size:18px}.brand small{color:var(--muted);font-size:11px;letter-spacing:.11em;text-transform:uppercase;margin-top:2px}.eyebrow{display:block;color:#63738c;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.eyebrow.light{color:#dbe2ff}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 10%,#e1e7ff 0,transparent 32%),radial-gradient(circle at 90% 90%,#dff5ef 0,transparent 30%),#f6f8fc}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.auth-copy{margin:36px 0 24px}.auth-copy h1{margin:0 0 10px;font-size:30px;letter-spacing:-.03em}.auth-copy p,.muted{color:var(--muted)}.auth-copy p{line-height:1.6;margin:0}.form-stack,.form-grid{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}label{display:grid;gap:7px;color:#34445b;font-size:12px;font-weight:700}input{width:100%;height:44px;border:1px solid #ccd7e5;border-radius:10px;padding:0 13px;color:var(--ink);background:#fff;outline:none;transition:.16s}input:focus{border-color:#5871e8;box-shadow:0 0 0 3px rgba(72,96,230,.12)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-weight:750;text-decoration:none;transition:.16s}.button:disabled{opacity:.55;cursor:wait}.button.primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(49,88,232,.22)}.button.primary:hover{background:#2448d4}.button.secondary{background:#fff;color:#30415a;border-color:#ccd7e5}.button.secondary:hover{background:#f5f7fb}.button.danger{background:var(--red);color:#fff}.quiet-link{display:block;text-align:center;margin-top:20px;color:#536788;font-size:13px}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:25px 18px;display:flex;flex-direction:column}.sidebar-brand{padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar .brand small{color:#90a2bf}.sidebar nav{margin-top:27px;display:grid;gap:10px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;border:0;border-radius:10px;padding:12px 13px;color:#eef3ff;background:#283f5d;text-align:left}.nav-note{margin-top:16px;padding:14px;color:#8fa2c0;font-size:11px;line-height:1.6;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.025)}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 4px 0;display:grid;grid-template-columns:36px 1fr 34px;gap:10px;align-items:center}.sidebar-user>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#304968;font-weight:800}.sidebar-user div{display:flex;min-width:0;flex-direction:column}.sidebar-user strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{color:#8fa2c0;font-size:10px}.icon-button{border:0;background:transparent;color:#afbdd0;font-size:22px}.workspace{padding-bottom:60px;min-width:0}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid var(--line)}.topbar h1{font-size:20px;margin:0}.topbar-actions{display:flex;align-items:center;gap:12px}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:700}.chip.success{color:#08704a;background:#e5f8f0}.chip.warning{color:#916106;background:#fff2d5}.chip.danger{color:#a72d3a;background:#fde9eb}.hero{margin:28px 34px 0;min-height:190px;border-radius:22px;padding:33px 36px;color:#fff;background:linear-gradient(125deg,#2c52e6 0,#6575f9 72%,#7d80f9 100%);box-shadow:0 18px 35px rgba(49,77,211,.22);display:flex;align-items:center;justify-content:space-between;gap:24px}.hero h2{font-size:30px;letter-spacing:-.035em;margin:0 0 11px}.hero p{max-width:700px;margin:0;color:#edf0ff;line-height:1.55}.hero-stat{min-width:135px;padding:22px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:18px;text-align:center}.hero-stat strong{display:block;font-size:38px}.hero-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#e8ecff}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px;margin:22px 34px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(25,47,83,.045)}.panel h2,.section-heading h2{margin:0 0 6px;font-size:20px}.panel-heading p,.summary-panel p{color:var(--muted);margin:0 0 20px;font-size:13px}.form-actions{display:flex;justify-content:flex-end}.check-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:13px;color:#495a72;font-size:13px}.check-list li{display:flex;gap:10px}.check-list span{color:var(--green);font-weight:800}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 34px 15px}.section-heading .muted{font-size:11px}.restaurant-list{display:grid;gap:16px;margin:0 34px}.restaurant-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.restaurant-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 23px;border-bottom:1px solid var(--line)}.restaurant-title{display:flex;align-items:center;gap:13px}.restaurant-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef1ff;color:#3a55d7;font-weight:800}.restaurant-title h3{margin:0 0 4px}.restaurant-title p{margin:0;color:var(--muted);font-size:12px}.restaurant-actions{display:flex;gap:9px;align-items:center}.restaurant-body{display:grid;grid-template-columns:1fr 1.15fr 1fr}.restaurant-column{padding:20px 23px;min-width:0}.restaurant-column+.restaurant-column{border-left:1px solid var(--line)}.column-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.column-title strong{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#5b6c84}.mini-button{border:0;background:#edf1ff;color:#3655d6;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:750}.item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f6;font-size:12px}.item-row:last-child{border-bottom:0}.item-row div{min-width:0}.item-row strong,.item-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-row small{color:var(--muted);margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#aab5c5;flex:0 0 auto}.status-dot.online{background:#22a576;box-shadow:0 0 0 4px #e2f7ef}.status-dot.revoked{background:#d95765}.app-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:12px}.app-row span:last-child{color:#8a97aa;font-size:10px;background:#f2f4f8;padding:5px 7px;border-radius:6px}.empty-state{margin:0 34px;padding:50px;text-align:center;border:1px dashed #cbd6e4;border-radius:18px;color:var(--muted);background:rgba(255,255,255,.45)}.empty-state h3{color:var(--ink);margin:12px 0 6px}.empty-state p{margin:0}.empty-icon{font-size:35px;color:#677deb}.toast{position:fixed;right:22px;top:22px;z-index:100;width:min(390px,calc(100% - 44px));padding:14px 17px;border-radius:11px;background:#15243a;color:#fff;box-shadow:var(--shadow);transform:translateY(-100px);opacity:0;transition:.2s}.toast.show{transform:none;opacity:1}.toast.error{background:#a93443}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(8,17,31,.58);backdrop-filter:blur(2px)}.dialog-card{position:relative;width:min(440px,calc(100vw - 28px));background:#fff;border-radius:20px;padding:27px;box-shadow:0 25px 70px rgba(6,17,35,.3);display:grid;gap:15px}.dialog-card h2{margin:0}.dialog-card p{margin:0 0 5px}.dialog-close{position:absolute;right:15px;top:14px;border:0;background:transparent;font-size:25px;color:#6a7890}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.danger-text{color:var(--red)}.setup-card{width:min(600px,100%)}.configured-view{text-align:center;padding:25px 5px 4px}.configured-view h1{margin:16px 0 8px}.configured-view p{color:var(--muted);line-height:1.55;margin:0 0 25px}.success-seal{display:grid;place-items:center;width:62px;height:62px;margin:auto;border-radius:20px;background:#e3f8ef;color:var(--green);font-size:31px;font-weight:800}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:16px 22px;display:grid;grid-template-columns:1fr auto}.sidebar nav{display:none}.sidebar-brand{border:0;padding:0}.sidebar-user{margin:0;border:0;padding:0}.sidebar-user>span,.sidebar-user div{display:none}.content-grid{grid-template-columns:1fr}.restaurant-body{grid-template-columns:1fr}.restaurant-column+.restaurant-column{border-left:0;border-top:1px solid var(--line)}}@media(max-width:680px){.topbar{height:auto;padding:18px 17px;align-items:flex-start}.topbar-actions .chip{display:none}.hero,.content-grid,.section-heading,.restaurant-list,.empty-state{margin-left:16px;margin-right:16px}.hero{padding:26px 22px}.hero h2{font-size:25px}.hero-stat{display:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.restaurant-header{align-items:flex-start;flex-direction:column}.restaurant-actions{width:100%;justify-content:flex-end}.auth-card{padding:25px}}
