/* Identity and management use the same restrained STOLIQ palette as the workspace. */
body.login-page { margin:0; background:#101722; color:#eef4f2; }
.auth-screen { min-height:100dvh; display:grid; place-items:center; padding:32px 20px; background:radial-gradient(ellipse at 50% 5%,#17383266,transparent 60%); }
.auth-card { width:100%; max-width:400px; padding:36px; border:1px solid #30423f; border-radius:20px; background:#182420; box-shadow:0 24px 80px #0003; }
.auth-brand { display:flex; align-items:center; gap:12px; color:#f2f7f4; text-decoration:none; width:max-content; }
.auth-brand .brand-symbol { width:44px; height:44px; border-radius:12px; background:#224039; padding:7px; }
.auth-brand .brand-symbol img { width:30px; height:30px; }
.auth-brand strong { font-size:23px; font-weight:650; letter-spacing:.6px; }
.auth-card h1 { font-size:27px; font-weight:600; letter-spacing:-.6px; margin:30px 0 26px; color:#f2f7f4; }
.auth-card form { display:grid; gap:20px; }
.auth-card label { display:grid; gap:9px; font-size:14px; font-weight:500; color:#d2dfd9; }
.auth-card input { width:100%; height:50px; min-height:50px; border:1px solid #465b52; background:#15201d; color:#f2f7f4; border-radius:9px; padding:0 14px; font-size:16px; }
.auth-card input::placeholder { color:#92a69c; }
.auth-card input:focus { border-color:#69d59e; outline:3px solid #69d59e26; outline-offset:2px; }
.auth-password { position:relative; display:block; }
.auth-password input { padding-right:48px; }
.auth-password button { position:absolute; right:5px; top:5px; width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:6px; color:#abc1b5; background:transparent; cursor:pointer; }
.auth-password button:hover { color:#fff; background:#ffffff0a; }
.auth-card .btn.primary { display:flex; justify-content:center; gap:10px; height:50px; margin-top:4px; background:#37cf87; color:#0c2419; border-color:#37cf87; font-size:16px; font-weight:650; border-radius:9px; box-shadow:none; }
.auth-card .btn.primary:hover { background:#64dfa2; }
.auth-card .form-error { margin:0; font-size:14px; background:#482a2d; color:#ffb4b9; }
.auth-card .form-error[hidden] { display:none; }
.ops-account { position:relative; flex-shrink:0; }
.ops-account>summary { list-style:none; cursor:pointer; border-radius:50%; border-color:var(--line); }
.ops-account>summary::-webkit-details-marker { display:none; }
.ops-account .ops-dropdown { min-width:240px; right:0; left:auto; padding:16px; display:grid; gap:6px; }
.ops-account .ops-dropdown strong { font-size:15px; }
.ops-account .ops-dropdown>span { color:var(--muted); font-size:13px; margin-bottom:12px; }
.manage-shell { display:grid; grid-template-columns:236px minmax(0,1fr); grid-template-rows:76px minmax(0,1fr); min-height:100dvh; }
.manage-sidebar { grid-column:1; grid-row:1 / 3; background:var(--surface); border-right:1px solid var(--line); padding:24px 16px 16px; display:flex; flex-direction:column; gap:0; height:100dvh; position:sticky; top:0; overflow-y:auto; }
.manage-brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; padding:0 12px 24px; }
.manage-brand .brand-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#183b32; padding:6px; }
.manage-brand img { width:28px; height:28px; }
.manage-brand strong { font-size:22px; letter-spacing:.5px; }
.manage-caption { color:var(--muted); font-size:11px; letter-spacing:1.3px; padding:8px 14px 12px; }
.manage-sidebar nav { display:grid; gap:4px; }
.manage-link,.manage-back,.manage-logout { display:flex; align-items:center; gap:12px; min-height:46px; padding:12px 14px; border-radius:9px; color:var(--muted); font-size:15px; text-decoration:none; background:transparent; border:0; text-align:left; }
.manage-link:hover,.manage-back:hover,.manage-logout:hover { background:#ffffff08; color:var(--ink); }
.manage-link.selected { background:#1b4438; color:#8aefbb; }
:root[data-theme="light"] .manage-link.selected { background:#dfefe5; color:#1d6944; }
.manage-back { margin-top:24px; border-top:1px solid var(--line); border-radius:0; padding-top:16px; }
.manage-identity { margin-top:auto; padding:20px 14px 6px; display:grid; gap:5px; }
.manage-identity strong { font-size:14px; }
.manage-identity small { color:var(--muted); font-size:12px; }
.manage-logout { min-height:40px; padding:8px 14px; }
.manage-topbar { grid-row:1; grid-column:2; min-width:0; display:flex; align-items:center; gap:12px; padding:16px 32px; border-bottom:1px solid var(--line); background:var(--surface); }
.manage-topbar>span { font-size:14px; color:var(--muted); }
.manage-topbar>.btn { margin-left:auto; white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; height:44px; min-height:44px; padding:0 16px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:14px; font-weight:500; }
.manage-venue-picker { margin-left:auto; margin-bottom:0; width:200px; min-width:0; flex:0 1 200px; }
.manage-venue-picker select { width:100%; height:44px; min-height:44px; min-width:0; margin:0; padding:0 14px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:14px; font-weight:500; }
.manage-topbar:has(.manage-venue-picker)>.btn { margin-left:0; width:200px; flex:0 1 200px; }
.manage-shell #main { grid-column:2; grid-row:2; min-width:0; margin:0; width:100%; max-width:none; padding:34px; }
.manage-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.manage-heading h1 { font-size:28px; letter-spacing:-.6px; line-height:1.2; font-weight:600; margin:0; }
.manage-heading p { color:var(--muted); font-size:14px; margin:10px 0 0; }
.manage-heading .btn { flex-shrink:0; }
.manage-restaurants { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.manage-restaurant-card { padding:24px; border-radius:14px; }
.manage-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.manage-shortcut-icon { display:grid; place-items:center; background:#ffffff08; border:1px solid var(--line); border-radius:11px; width:44px; height:44px; color:var(--primary); flex-shrink:0; }
.manage-state { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:#94e5b9; }
.manage-state:before { content:''; width:6px; height:6px; background:currentColor; border-radius:50%; flex-shrink:0; }
.manage-state.disabled { color:var(--muted); }
:root[data-theme="light"] .manage-state { color:#286f49; }
.manage-restaurant-card h2 { margin:24px 0 8px; font-size:20px; font-weight:550; overflow-wrap:anywhere; }
.manage-restaurant-card p { font-size:13px; color:var(--muted); margin:0 0 26px; }
.manage-card-actions { display:flex; gap:10px; align-items:center; }
.manage-card-actions .btn { flex:1; }
.manage-team { padding:0; overflow:hidden; border-radius:12px; }
.manage-team-head,.manage-person { display:grid; grid-template-columns:minmax(180px,1.3fr) minmax(150px,1fr) 120px 120px; align-items:center; gap:20px; padding:20px 24px; }
.manage-team-head { background:#ffffff04; color:var(--muted); font-size:12px; }
.manage-person { border-top:1px solid var(--line); font-size:14px; min-height:88px; }
.manage-person>span:first-child { display:grid; gap:7px; }
.manage-person strong { font-weight:550; overflow-wrap:anywhere; }
.manage-person small { color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.manage-person .btn { font-size:13px; min-height:36px; }
.manage-owner>span:last-child { text-align:right; color:var(--muted); padding-right:12px; }
.manage-team-empty { padding:28px 24px; color:var(--muted); font-size:14px; }
.manage-role-note { display:flex; gap:24px; flex-wrap:wrap; color:var(--muted); font-size:13px; margin-top:24px; }
.manage-role-note>span { display:flex; gap:9px; align-items:center; }
.manage-role-note .icon { width:16px; height:16px; }
.manage-overview-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:28px; }
.manage-overview-stats>.panel { display:flex; flex-direction:column; gap:10px; padding:24px; }
.manage-overview-stats strong { font-size:30px; font-weight:500; }
.manage-overview-stats span { color:var(--muted); font-size:14px; }
.manage-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.manage-shortcut { padding:24px; display:flex; align-items:center; gap:16px; text-decoration:none; color:var(--ink); }
.manage-shortcut:hover { border-color:var(--primary); }
.manage-shortcut>.icon { margin-left:auto; color:var(--muted); }
.manage-shortcut h2 { font-size:17px; margin:0 0 7px; font-weight:550; }
.manage-shortcut p { font-size:13px; margin:0; color:var(--muted); }
.manage-shell.layout-page #main { padding:22px; }
body.layout-page:has(.manage-shell) { overflow:auto; }
.layout-page .manage-shell #main { height:calc(100dvh - 76px); padding:20px; }
.manage-shell a:focus-visible,.auth-password button:focus-visible { outline:2px solid #69d59e; outline-offset:3px; }
@media(max-width:1100px){
  .manage-shell { grid-template-columns:208px minmax(0,1fr); }
  .manage-shell #main { padding:24px; }.manage-topbar{padding:16px 24px;}.manage-topbar>span{display:none;}
  .manage-person,.manage-team-head { grid-template-columns:minmax(120px,1fr) 130px 92px 92px; padding:18px; gap:14px; }
  .manage-shortcuts{grid-template-columns:1fr;}
}
@media(max-width:800px){
  .manage-shell { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); }
  .manage-sidebar { grid-column:1; grid-row:1; padding:14px 18px; gap:10px; border-right:0; border-bottom:1px solid var(--line); height:auto; position:relative; overflow:visible; }
  .manage-brand { padding:0; }.manage-brand .brand-symbol{width:32px;height:32px;}.manage-brand img{width:22px;height:22px;}.manage-brand strong{font-size:19px;}
  .manage-caption,.manage-identity,.manage-back { display:none; }.manage-sidebar nav { display:flex; gap:4px; flex-wrap:wrap; }
  .manage-link{padding:9px 10px;min-height:38px;font-size:13px;gap:7px;}.manage-link .icon{width:16px;height:16px;}
  .manage-logout { position:absolute;right:18px;top:11px;font-size:13px;min-height:36px; }
  .manage-topbar { grid-column:1;grid-row:2;padding:12px 18px;gap:12px; }.manage-venue-picker{margin-left:0;flex:1;width:auto;}.manage-venue-picker select{min-width:0;}
  .manage-topbar:has(.manage-venue-picker) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .manage-topbar:has(.manage-venue-picker)>.btn { width:auto; min-width:0; flex:1; }
  .manage-shell #main { grid-column:1;grid-row:3;padding:24px 18px; }.manage-heading{gap:16px;align-items:flex-start;flex-wrap:wrap;}.manage-heading h1{font-size:25px;}
  .layout-page .manage-shell #main { height:auto; }.manage-team-head{display:none;}.manage-person{grid-template-columns:minmax(0,1fr) auto;gap:12px;}.manage-person>span:nth-child(2){grid-column:1;font-size:12px;color:var(--muted);}.manage-person>span:nth-child(3){grid-column:2;grid-row:1;}.manage-person>.btn,.manage-person>span:last-child{grid-column:2;grid-row:2;}.manage-overview-stats{gap:12px;}.manage-overview-stats>.panel{padding:18px;}.manage-role-note{gap:16px;}
}
@media(max-width:440px){.auth-card{padding:28px 24px;border-radius:16px;}.auth-screen{padding:20px 16px;}.manage-topbar>.btn{padding:0 10px;}.manage-topbar>.btn .icon{display:none;}.manage-person{padding:16px;}.manage-shortcut{padding:20px;}.manage-restaurant-card{padding:20px;}}
