/* Dashboard shell shared by the client app and the super admin console */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:20px 14px;display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line);background:#050816b0;backdrop-filter:blur(16px)}
.side img.logo{height:32px;margin:2px 8px}
.side nav{position:relative;display:grid;gap:4px}
.side .pill{position:absolute;left:0;right:0;top:0;height:44px;border-radius:12px;background:linear-gradient(90deg,#22d3ee24,#8b5cf624);border:1px solid #22d3ee44;box-shadow:0 0 24px -8px #22d3ee88;transition:transform .38s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.nb{position:relative;display:flex;gap:12px;align-items:center;height:44px;padding:0 12px;border:0;background:none;color:var(--mut);font:500 14px var(--font);border-radius:12px;cursor:pointer;text-align:left;width:100%}
.nb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nb:hover{color:var(--ink)}.nb.on{color:var(--ink)}.nb.on svg{stroke:var(--cy);filter:drop-shadow(0 0 6px #22d3ee)}
.side .foot{margin-top:auto;font-size:12px;color:var(--mut);padding:0 8px}
.main{padding:20px 28px 90px;min-width:0;max-width:1320px;width:100%}
.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.top h1{font-size:24px}.top .grow{flex:1}
.top select{width:auto;min-width:170px}
.view{animation:rise .35s}
.sec{padding:20px;margin-bottom:16px}
.sec>h3{font-size:17px;margin-bottom:12px}
.sec .hd{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.sec .hd h3{font-size:18px}
.banner{padding:11px 16px;border-radius:12px;margin-bottom:14px;border:1px solid var(--line);font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.banner.demo{background:#8b5cf620;border-color:#8b5cf666}.banner.ro{background:#fbbf2418;border-color:#fbbf2466}.banner.trial{background:#22d3ee14;border-color:#22d3ee55}
.list{display:grid;gap:10px}
.item{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#ffffff05}
.item h4{font:600 15px var(--font);margin:0}.item small{color:var(--mut)}
.chk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #a0b4ff14}
.chk i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 12px var(--font);font-style:normal;margin-top:1px}
.chk i.pass{background:#34d39922;color:var(--ok)}.chk i.warn{background:#fbbf2422;color:var(--warn)}.chk i.fail{background:#fb718522;color:var(--bad)}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:center;margin:7px 0;font-size:14px}
.qrow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.score{display:flex;gap:14px;align-items:center}
.tabbar{display:none}
@media (max-width:860px){.shell{grid-template-columns:1fr}.side{display:none}.main{padding:16px 14px 96px}.cols{grid-template-columns:minmax(0,1fr)}
.tabbar{display:flex;position:fixed;left:8px;right:8px;bottom:8px;z-index:30;gap:2px;padding:6px;border-radius:18px;background:#0b1236ee;border:1px solid var(--line);backdrop-filter:blur(14px);overflow-x:auto}
.tabbar .nb{flex:1;min-width:58px;flex-direction:column;gap:2px;height:52px;padding:4px;font-size:10px;justify-content:center;align-items:center}}
.side .adm{display:inline-block;margin:0 8px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#fb923c26;color:#fdba74;border:1px solid #fb923c55}
.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.tools input,.tools select{width:auto;min-width:200px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv{display:grid;gap:4px;margin:6px 0}
.cred{padding:14px;border-radius:12px;background:#030618;border:1px dashed #22d3ee77;margin:10px 0;font-family:ui-monospace,Menlo,monospace;font-size:14px;line-height:1.9;word-break:break-all}
@media (max-width:640px){.two{grid-template-columns:1fr}}

@media (max-width:640px){.top{gap:8px}.top h1{font-size:20px}.top select{min-width:0;flex:1 1 140px}.sec{padding:16px}.tools input,.tools select{min-width:0;flex:1 1 100%}}
