/* RestoOne Pro UI — shared visual system */
:root {
  --pro-ink:#0b1713; --pro-muted:#68756f; --pro-line:rgba(15,42,33,.1);
  --pro-surface:rgba(255,255,255,.88); --pro-shadow:0 18px 55px rgba(9,35,27,.1);
  --pro-shadow-soft:0 8px 26px rgba(9,35,27,.07); --pro-radius:22px;
}
*{scrollbar-width:thin;scrollbar-color:#bdc9c3 transparent}
body{font-family:Inter,"SF Pro Display","Segoe UI",system-ui,sans-serif;letter-spacing:-.012em;background:#f3f6f4;color:var(--pro-ink)}
button,input,select,textarea{font:inherit}button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
button:not(:disabled):active{transform:scale(.975)}
.hidden{display:none!important}

/* Workstation login */
.login-screen{background:#f3f6f4;isolation:isolate;overflow:hidden}
.login-screen:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 10%,rgba(142,211,0,.12),transparent 28%),radial-gradient(circle at 4% 100%,rgba(16,93,69,.11),transparent 28%);z-index:-1}
.login-brand-panel{position:relative;margin:18px;border-radius:30px;min-height:calc(100vh - 36px);padding:48px;background:linear-gradient(145deg,#071d17 0%,#0c382c 58%,#12503c 100%);box-shadow:0 30px 70px rgba(6,35,26,.28);overflow:hidden}
.login-brand-panel:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(171,255,78,.15);border-radius:50%;right:-225px;top:-150px;box-shadow:0 0 0 72px rgba(171,255,78,.035),0 0 0 145px rgba(171,255,78,.025)}
.login-brand-panel:after{content:"R1";position:absolute;right:-24px;bottom:-94px;font-size:300px;font-weight:950;line-height:1;color:rgba(255,255,255,.025);letter-spacing:-.09em}
.brand-lockup{position:relative;z-index:1;gap:15px}.brand-lockup strong{font-size:24px;letter-spacing:-.04em}.brand-lockup small{letter-spacing:.19em;color:#9eb9af}
.brand-mark{border-radius:17px!important;background:linear-gradient(145deg,#adf000,#76c900)!important;color:#10251c!important;box-shadow:0 10px 30px rgba(142,217,0,.24);font-weight:950!important}
.login-message{position:relative;z-index:1;max-width:560px}.login-message>span{display:inline-flex;padding:9px 13px;border:1px solid rgba(176,255,79,.22);border-radius:999px;background:rgba(176,255,79,.08);color:#b9ff62!important;letter-spacing:.13em!important}
.login-message h1{max-width:540px;font-size:clamp(42px,4vw,68px)!important;line-height:1.02!important;letter-spacing:-.055em!important;text-wrap:balance;margin-top:22px!important}
.login-message p{max-width:480px;color:#c1d5cd!important;font-size:17px!important;line-height:1.65!important}
.edge-state{padding:13px 17px!important;border-radius:16px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.1)!important;backdrop-filter:blur(14px)}
.edge-state i{box-shadow:0 0 0 6px rgba(154,227,0,.12),0 0 18px rgba(154,227,0,.65)}
.login-touch-panel{padding:clamp(30px,4vw,70px)!important;max-width:760px;margin:auto;width:100%}
.login-title{margin:14px 0 12px!important}.login-title>span{width:34px!important;height:34px!important;background:#e2f0e9!important;color:#0f543f!important;border:1px solid #d1e5dc;font-size:14px}.login-title b{font-size:16px}.login-title small{color:var(--pro-muted)}
.login-users{gap:10px!important}.login-users button{min-height:64px!important;border:1px solid var(--pro-line)!important;border-radius:18px!important;background:rgba(255,255,255,.76)!important;box-shadow:0 5px 18px rgba(10,40,31,.04);backdrop-filter:blur(12px)}
.login-users button:hover,.login-users button.active{border-color:#83c900!important;background:#fff!important;box-shadow:0 10px 28px rgba(94,151,0,.13),inset 0 0 0 1px rgba(131,201,0,.2)!important;transform:translateY(-1px)}
.pin-dots{min-height:54px!important;border-radius:16px!important;background:rgba(255,255,255,.75)!important;border:1px solid var(--pro-line)!important;box-shadow:inset 0 1px 1px rgba(7,35,26,.03)}
.pin-pad{gap:9px!important}.pin-pad button{min-height:58px!important;border-radius:17px!important;border:1px solid rgba(12,49,38,.07)!important;background:rgba(255,255,255,.82)!important;box-shadow:0 5px 15px rgba(8,35,27,.045);font-size:22px!important}.pin-pad button:hover{background:#fff!important;box-shadow:0 10px 25px rgba(8,35,27,.09);transform:translateY(-1px)}
.pin-pad .pin-clear{background:#fff0ed!important;color:#c53c32!important}.pin-pad .pin-back{background:#eaf4ef!important;color:#125940!important}
.login-button,.admin-login-button{min-height:62px!important;border:0!important;border-radius:18px!important;background:linear-gradient(135deg,#153f33,#0a2d24)!important;color:#fff!important;box-shadow:0 14px 30px rgba(8,50,37,.22)!important;font-weight:850!important}.login-button:not(:disabled):hover,.admin-login-button:not(:disabled):hover{box-shadow:0 18px 38px rgba(8,50,37,.3)!important;transform:translateY(-2px)}
.admin-entry{font-weight:750!important;color:#165e47!important}

/* Admin login */
.admin-login{background:#f2f5f3!important;padding:18px;gap:0!important;min-height:100vh}
.admin-login-card{align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:center!important;max-width:none!important;padding:clamp(35px,5vw,86px)!important;background:rgba(255,255,255,.82);border-radius:30px 0 0 30px;box-shadow:var(--pro-shadow);z-index:1}
.admin-login-card h1{font-size:clamp(42px,4vw,62px)!important;letter-spacing:-.055em!important;margin-bottom:10px!important}.admin-login-card>p{color:var(--pro-muted)!important;font-size:16px!important}
.admin-login-brand span{border-radius:15px!important;background:linear-gradient(145deg,#adf000,#76c900)!important;color:#10251c!important;box-shadow:0 10px 25px rgba(126,194,0,.2)}
.admin-users button{border-radius:16px!important;border:1px solid var(--pro-line)!important;background:#fff!important;box-shadow:var(--pro-shadow-soft)}
.admin-pin-dots{border:1px solid var(--pro-line)!important;border-radius:16px!important;background:#f9fbfa!important}
.admin-pin-pad{gap:8px!important}.admin-pin-pad button{border-radius:15px!important;border:1px solid var(--pro-line)!important;background:#fff!important;box-shadow:0 4px 14px rgba(8,35,27,.04)}
.admin-login-visual{position:relative;border-radius:0 30px 30px 0!important;margin:0!important;background:linear-gradient(145deg,#071d17 0%,#0c382c 55%,#145842 100%)!important;overflow:hidden;padding:clamp(45px,6vw,100px)!important;box-shadow:var(--pro-shadow)}
.admin-login-visual:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(177,255,81,.14);border-radius:50%;right:-250px;top:-220px;box-shadow:0 0 0 85px rgba(177,255,81,.025),0 0 0 170px rgba(177,255,81,.018)}
.admin-login-visual>*{position:relative}.admin-login-visual>span{display:inline-flex!important;padding:9px 13px;border-radius:999px;background:rgba(177,255,81,.09);border:1px solid rgba(177,255,81,.18);color:#b9ff62!important}.admin-login-visual h2{font-size:clamp(44px,4vw,68px)!important;line-height:1.03!important;letter-spacing:-.055em!important;max-width:650px!important;text-wrap:balance}.visual-cards article{border-radius:18px!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.11)!important;backdrop-filter:blur(12px);padding:20px!important}

/* Application shells */
.work-header,.admin-header{background:rgba(255,255,255,.86)!important;border-color:var(--pro-line)!important;backdrop-filter:blur(20px) saturate(150%);box-shadow:0 5px 22px rgba(8,35,27,.045)}
.header-pill,.staff-pill,.tool-pill,.admin-identity{border:1px solid var(--pro-line)!important;background:#f8faf9!important;border-radius:14px!important}.header-pill:hover,.tool-pill:hover{background:#fff!important;box-shadow:var(--pro-shadow-soft)}
.context-rail,.check-panel{background:rgba(255,255,255,.86)!important;border-color:var(--pro-line)!important}.context-list button,.rail-action{border-radius:14px!important}.context-list button:hover,.rail-action:hover{background:#eef5f1!important}.context-list button.active{background:#102f26!important;color:#fff!important;box-shadow:0 10px 24px rgba(10,48,37,.18)}
.catalog-area,.admin-main{background:linear-gradient(145deg,#f5f7f6,#eef3f0)!important}.catalog-content{padding:20px!important}.menu-card,.table-card,.panel,.metric-card,.content-card{border:1px solid var(--pro-line)!important;border-radius:var(--pro-radius)!important;background:var(--pro-surface)!important;box-shadow:var(--pro-shadow-soft)!important;backdrop-filter:blur(14px)}
.menu-card:hover,.table-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(8,35,27,.12)!important;border-color:rgba(94,155,0,.26)!important}
.check-head{border-color:var(--pro-line)!important}.check-actions{background:linear-gradient(180deg,rgba(255,255,255,.75),#fff)!important}.btn{border-radius:13px!important;font-weight:750!important}.btn-primary,.btn-accent{background:linear-gradient(135deg,#173f34,#0b2c24)!important;color:#fff!important;border:0!important;box-shadow:0 10px 22px rgba(11,51,39,.16)}
.admin-sidebar{background:linear-gradient(180deg,#081e18,#0c352a 58%,#0f4937)!important;border-radius:0 22px 22px 0;box-shadow:14px 0 40px rgba(6,31,23,.13)}
.admin-sidebar nav button{border-radius:14px!important;margin:3px 10px!important}.admin-sidebar nav button.active{background:rgba(178,255,77,.13)!important;color:#c3ff76!important;box-shadow:inset 0 0 0 1px rgba(179,255,78,.1)}
.sidebar-brand{padding-top:26px!important}.sidebar-brand>span{background:linear-gradient(145deg,#adf000,#76c900)!important;color:#10251c!important;border-radius:15px!important}
.admin-content{padding:26px!important}.modal-backdrop{backdrop-filter:blur(10px);background:rgba(4,20,15,.45)!important}.modal{border-radius:26px!important;border:1px solid rgba(255,255,255,.4)!important;box-shadow:0 35px 90px rgba(3,22,16,.3)!important}
.toast{border-radius:15px!important;box-shadow:0 20px 45px rgba(4,27,20,.24)!important}

@media(max-width:900px){.login-brand-panel{margin:0;border-radius:0;min-height:auto}.admin-login{padding:0}.admin-login-card,.admin-login-visual{border-radius:0!important}.admin-login-visual{display:none!important}}
@media(prefers-reduced-motion:no-preference){.login-brand-panel,.admin-login-visual{animation:proFade .55s ease both}.login-touch-panel,.admin-login-card{animation:proRise .55s ease both}@keyframes proFade{from{opacity:.5}to{opacity:1}}@keyframes proRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
