:root {
  --bg: #0b0b0e;
  --card: #141417;
  --card-2: #18181c;
  --border: #232329;
  --text: #f3f3f5;
  --muted: #81818b;
  --muted-2: #5f5f69;
  --accent: #ffffff;
  --accent-2: #d8d8dc;
  --accent-glow: rgba(255,255,255,.14);
  --green: #44eb88;
  --blue: #59a8ff;
  --orange: #ffad54;
  --radius: 16px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
[hidden] { display:none !important; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: radial-gradient(circle at 50% 100%, rgba(255,255,255,.045), transparent 32%), var(--bg); color: var(--text); font: 16px/1.45 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
button, a { font: inherit; }
button { color: inherit; }
.app-shell { min-height: 100vh; padding: 16px; display: flex; flex-direction: column; gap: 16px; }
.site-login { min-height:100vh; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.055),transparent 32%),#09090b; }
.site-login form { width:min(410px,100%); padding:26px; border:1px solid var(--border); border-radius:18px; background:#141417; box-shadow:0 30px 90px rgba(0,0,0,.48); }
.login-brand { display:flex; align-items:center; gap:11px; }.login-brand>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff;color:#09090b;font-weight:900}.login-brand div{display:flex;flex-direction:column}.login-brand strong{font-size:.8rem}.login-brand small{color:var(--muted);font-size:.66rem}
.login-copy { margin:32px 0 20px; }.login-copy>span{color:var(--accent-2);font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.login-copy h1{margin:4px 0 0;font-size:1.55rem;letter-spacing:-.04em}.login-copy p{margin:5px 0 0;color:var(--muted);font-size:.72rem}
.site-login label{display:flex;flex-direction:column;gap:7px}.site-login label>span{color:var(--muted);font-size:.68rem;font-weight:650}.site-login input{width:100%;height:45px;border:1px solid var(--border);border-radius:9px;outline:0;padding:0 12px;background:#0b0b0e;color:var(--text);font:inherit;font-size:.8rem}.site-login input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.site-login form>p{min-height:19px;margin:8px 0;color:#ff667a;font-size:.68rem}.site-login form>button{width:100%;height:44px;border:0;border-radius:9px;background:#f4f4f5;color:#09090b;font-weight:800;font-size:.75rem;cursor:pointer}

.topbar { display: flex; align-items: center; gap: 20px; min-height: 54px; }
.session-controls { margin-left:auto; display:flex; align-items:center; gap:10px; }.session-controls span{color:var(--muted);font-size:.7rem}.session-controls button{border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--card);color:var(--muted);font-size:.68rem;cursor:pointer}
.brand { min-width: 185px; display: flex; align-items: center; gap: 13px; padding: 10px 16px; color: inherit; text-decoration: none; background: var(--card); border: 1px solid rgba(255,255,255,.015); border-radius: var(--radius); }
.brand-mark { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: linear-gradient(145deg, #fff, #a9a9b0); color: #08080a; font-weight: 900; box-shadow: 0 8px 22px rgba(255,255,255,.1); }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-size: .82rem; letter-spacing: .02em; }
.brand-copy small { color: var(--muted); font-size: .7rem; }
.view-tabs { display: flex; gap: 3px; padding: 5px; background: var(--card); border-radius: 999px; }
.view-tab { border: 0; background: transparent; color: var(--muted); padding: 8px 15px; border-radius: 999px; font-size: .78rem; cursor: pointer; transition: .2s ease; }
.view-tab:hover { color: var(--text); }
.view-tab.active { color: var(--text); background: #232329; }
.system-badge { margin-left: auto; display: flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: rgba(68,235,136,.08); color: var(--green); font-size: .75rem; font-weight: 600; white-space: nowrap; }
.system-badge span, .pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }

.workspace { display: flex; flex: 1; gap: 20px; min-height: 0; }
.sidebar { position: sticky; top: 16px; width: 184px; height: calc(100vh - 102px); display: flex; flex-direction: column; flex-shrink: 0; padding: 12px 0; background: var(--card); border-radius: var(--radius); }
.nav-button { width: 100%; height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 16px; border: 0; background: transparent; color: var(--muted-2); cursor: pointer; position: relative; text-align: left; transition: color .2s, background .2s; }
.nav-button:hover { color: #babac2; }
.nav-button.active { color: var(--text); background: rgba(255,255,255,.02); }
.nav-button.active::after { content: ""; position: absolute; right: 0; top: 14px; width: 3px; height: 20px; border-radius: 3px 0 0 3px; background: var(--accent); box-shadow: 0 0 12px rgba(124,92,255,.6); }
.nav-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nav-button b { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 6px; font-size: .65rem; font-weight: 900; background: rgba(255,255,255,.045); }
.nav-button span { overflow: hidden; font-size: .73rem; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.void-tab b { color: #70b7ff; }
.nova-tab b { color: #c390ff; }
.kodex-tab b { color: var(--green); }
.angel-tab b { color: #df9fff; }
.zjorn-tab b { color: #ff667a; }
.settings-tab { margin-top:auto; border-top:1px solid rgba(255,255,255,.055); }
.nav-divider { width: 32px; height: 1px; background: rgba(255,255,255,.06); margin: 5px 0; }
.nav-button.settings { margin-top: auto; }

.dashboard { flex: 1; min-width: 0; min-height: calc(100vh - 106px); display: flex; flex-direction: column; padding: 28px; background: var(--card); border-radius: 16px; }
.tab-panel { flex: 1; min-height: 100%; }
.tab-panel[hidden] { display: none; }
.tab-panel.active { display: flex; flex-direction: column; }
.overview-heading span, .announcements header div > span { display: block; margin-bottom: 3px; color: var(--accent-2); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.overview-heading h1 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.04em; }

.user-counters { display: grid; grid-template-columns: repeat(5, minmax(145px, 1fr)); gap: 12px; margin-top: 24px; }
.counter-card { min-height: 106px; display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: var(--card-2); }
.counter-mark { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 10px; font-size: .8rem; font-weight: 900; }
.counter-card p { margin: 0 0 5px; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.counter-card strong { display: block; font-size: 1.55rem; line-height: 1; }
.void-card .counter-mark { color: #70b7ff; background: rgba(89,168,255,.12); }
.nova-card .counter-mark { color: #c390ff; background: rgba(172,112,255,.12); }
.kodex-card .counter-mark { color: var(--green); background: rgba(68,235,136,.1); }
.angel-card .counter-mark { color: #df9fff; background: rgba(215,128,255,.11); }
.zjorn-card .counter-mark { color: #ff667a; background: rgba(255,80,105,.1); }

.announcements { margin-top: auto; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--card-2); }
.announcements > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.announcements h2 { margin: 0; font-size: .95rem; }
.live-label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .68rem; }
.live-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px rgba(68,235,136,.75); }
.announcement-empty { min-height: 116px; display: flex; align-items: center; justify-content: center; gap: 13px; padding: 22px; text-align: left; }
.announcement-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: rgba(124,92,255,.12); color: var(--accent-2); }
.announcement-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.announcement-empty strong { display: block; font-size: .78rem; }
.announcement-empty p { margin: 2px 0 0; color: var(--muted); font-size: .7rem; }
.announcement-item { display:grid; grid-template-columns:38px 1fr auto; align-items:start; gap:13px; padding:17px 18px; border-bottom:1px solid var(--border); }
.announcement-item:last-child{border-bottom:0}.announcement-item strong{display:block;font-size:.78rem}.announcement-item p{margin:4px 0 0;color:var(--muted);font-size:.72rem;white-space:pre-wrap}.announcement-item time{color:var(--muted-2);font-size:.64rem;white-space:nowrap}
.product-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.product-actions { display:flex; align-items:center; gap:10px; }
.account-badge { display:flex; align-items:center; gap:8px; min-height:36px; color:var(--muted); font-size:.7rem; }
.account-badge img,.account-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; object-fit:cover; background:#24242a; color:var(--accent-2); font-size:.68rem; font-weight:850; }
.product-heading span { display: block; margin-bottom: 3px; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-heading h1 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.04em; }
.void-heading h1 { color: #70b7ff; }
.nova-heading h1 { color: #c390ff; }
.kodex-heading h1 { color: var(--green); }
.angel-heading h1 { color: #df9fff; }
.zjorn-heading h1 { color: #ff667a; }
.add-user-button, .submit-user { border:0; border-radius:9px; padding:10px 14px; background:var(--accent); color:white; font-size:.72rem; font-weight:750; cursor:pointer; box-shadow:0 8px 20px rgba(124,92,255,.18); }
.add-user-button:hover, .submit-user:hover { background:#8b70ff; }
.product-workspace { flex: 1; min-height: 320px; margin-top: 24px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr); grid-template-rows:auto 1fr; gap:14px; }
.goal-card, .users-card, .terminal-card { border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.goal-card { grid-column:1/-1; padding:18px; }
.goal-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.goal-heading strong { font-size:.8rem; }
.goal-heading span { color:var(--muted); font-size:.7rem; }
.goal-track { height:7px; overflow:hidden; border-radius:999px; background:#28282e; }
.goal-fill { width:0%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transition:width .3s ease; }
.users-card, .terminal-card { min-height:310px; overflow:hidden; }
.card-heading { height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; border-bottom:1px solid var(--border); }
.card-heading h2 { margin:0; font-size:.82rem; }
.card-heading span { color:var(--muted); font-size:.68rem; }
.user-list { max-height:340px; overflow:auto; padding:8px 14px; }
.empty-users { min-height:220px; display:grid; place-items:center; color:var(--muted); font-size:.72rem; text-align:center; }
.user-row { display:grid; grid-template-columns:minmax(110px,1fr) repeat(5,auto); align-items:center; gap:14px; min-height:54px; border-bottom:1px solid rgba(255,255,255,.045); font-size:.68rem; }
.user-row:last-child { border-bottom:0; }
.user-row strong { overflow:hidden; color:var(--text); font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.user-row span { color:var(--muted); white-space:nowrap; }
.user-row .yes { color:var(--green); }
.remove-user { border:1px solid rgba(255,80,105,.2); border-radius:7px; padding:6px 8px; background:rgba(255,80,105,.07); color:#ff667a; font-size:.62rem; cursor:pointer; }
.terminal-card { display:flex; flex-direction:column; background:#0b0b0e; }
.terminal-card .card-heading { background:#121216; }
.terminal-lights { display:flex; gap:5px; }
.terminal-lights i { width:7px; height:7px; border-radius:50%; background:#35353c; }
.terminal-lights i:first-child { background:#ff5f57; }.terminal-lights i:nth-child(2){background:#febc2e}.terminal-lights i:last-child{background:#28c840}
.terminal-output { flex:1; min-height:120px; overflow:auto; padding:14px; color:#b9b9c2; font:12px/1.6 Consolas,"Courier New",monospace; white-space:pre; }
.terminal-output .term-accent { color:var(--accent-2); }.terminal-output .term-success{color:var(--green)}
.terminal-card.sized-terminal { width:min(100%,var(--terminal-width)); justify-self:start; }
.terminal-card.sized-terminal .terminal-output { height:var(--terminal-height); }
.user-dialog { width:min(560px,calc(100% - 28px)); padding:0; border:1px solid var(--border); border-radius:16px; background:#151519; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.user-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.user-dialog form { padding:22px; }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:20px; }
.dialog-heading span { color:var(--accent-2); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dialog-heading h2 { margin:3px 0 0; font-size:1.25rem; }.dialog-heading p{margin:2px 0 0;color:var(--muted);font-size:.7rem}
.dialog-close,.owner-dialog-close,.admin-dialog-close,.broadcast-dialog-close { width:32px; height:32px; border:0; border-radius:8px; background:#222228; color:var(--muted); cursor:pointer; font-size:1.25rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid label { display:flex; flex-direction:column; gap:6px; }.form-grid .wide-field{grid-column:1/-1}
.form-grid label>span,.bypass-options legend { color:var(--muted); font-size:.68rem; font-weight:650; }
.form-grid input,.form-grid select { width:100%; height:42px; border:1px solid var(--border); border-radius:9px; outline:0; padding:0 11px; background:#0f0f12; color:var(--text); font:inherit; font-size:.78rem; }
.form-grid input:focus,.form-grid select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(124,92,255,.1); }
.bypass-options { margin:18px 0 0; padding:0; border:0; display:flex; flex-wrap:wrap; gap:10px; }
.bypass-options legend { margin-bottom:9px; }.bypass-options label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:.7rem;cursor:pointer}.bypass-options input{accent-color:var(--accent)}
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }
.cancel-button { border:1px solid var(--border); border-radius:9px; padding:9px 14px; background:#1d1d22; color:var(--muted); font-size:.72rem; cursor:pointer; }
.settings-heading span { display:block; margin-bottom:3px; color:var(--accent-2); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.settings-heading h1 { margin:0; font-size:clamp(1.5rem,2.4vw,2rem); letter-spacing:-.04em; }
.settings-workspace { flex:1; min-height:320px; margin-top:24px; display:flex; flex-direction:column; gap:14px; }
.account-editor,.owner-entry { border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.account-editor { padding:20px; }
.settings-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.settings-card-heading span,.owner-entry>div>span { color:var(--accent-2); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.settings-card-heading h2,.owner-entry h2 { margin:3px 0 0; font-size:.9rem; }
.settings-card-heading p,.owner-entry p { margin:3px 0 0; color:var(--muted); font-size:.7rem; }
.settings-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.settings-form-grid label { display:flex; flex-direction:column; gap:6px; }
.settings-form-grid .wide-setting { grid-column:1/-1; }
.settings-form-grid label>span,.owner-key-field>span { color:var(--muted); font-size:.68rem; font-weight:650; }
.settings-form-grid input,.settings-form-grid select,.owner-key-field input { width:100%; height:42px; border:1px solid var(--border); border-radius:9px; outline:0; padding:0 11px; background:#0f0f12; color:var(--text); font:inherit; font-size:.78rem; }
.settings-form-grid input:focus,.settings-form-grid select:focus,.owner-key-field input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(124,92,255,.1); }
.file-setting { padding:12px; border:1px solid var(--border); border-radius:10px; background:#111115; }
.file-setting input { height:auto; padding:8px 0; border:0; background:transparent; color:var(--muted); font-size:.7rem; }
.file-setting small { color:var(--muted-2); font-size:.62rem; }
.settings-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:18px; }
.settings-actions>span { margin-right:auto; color:var(--green); font-size:.68rem; }
.owner-entry { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; }
.owner-entry>div>span { color:#ff667a; }
.owner-open-button { border:1px solid rgba(255,102,122,.25); border-radius:9px; padding:10px 14px; background:rgba(255,102,122,.08); color:#ff8292; font-size:.72rem; font-weight:750; cursor:pointer; }
.owner-open-button:hover { background:rgba(255,102,122,.14); }
.owner-key-dialog { width:min(430px,calc(100% - 28px)); padding:0; border:1px solid var(--border); border-radius:16px; background:#151519; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.admin-dialog { width:min(520px,calc(100% - 28px)); padding:0; border:1px solid var(--border); border-radius:16px; background:#151519; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.admin-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(6px); }
.admin-dialog form { padding:22px; }
.broadcast-dialog { width:min(520px,calc(100% - 28px)); padding:0; border:1px solid var(--border); border-radius:16px; background:#151519; color:var(--text); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.broadcast-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(6px); }.broadcast-dialog form{padding:22px}
.broadcast-message-field { display:flex; flex-direction:column; gap:7px; margin-top:14px; }.broadcast-message-field>span{color:var(--muted);font-size:.68rem;font-weight:650}.broadcast-message-field textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:9px;outline:0;padding:11px;background:#0f0f12;color:var(--text);font:inherit;font-size:.78rem}.broadcast-message-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.admin-roles { margin:18px 0 0; padding:0; border:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.admin-roles legend { margin-bottom:9px; color:var(--muted); font-size:.68rem; font-weight:650; }
.admin-roles label { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid var(--border); border-radius:9px; color:var(--muted); font-size:.72rem; cursor:pointer; }
.admin-roles input { accent-color:var(--accent); }
.owner-key-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(6px); }
.owner-key-dialog form { padding:22px; }
.owner-key-field { display:flex; flex-direction:column; gap:7px; }
.owner-key-error { min-height:18px; margin:8px 0 0; color:#ff667a; font-size:.68rem; }
.owner-dashboard { position:fixed; inset:0; z-index:100; overflow:auto; padding:16px; background:radial-gradient(circle at 35% 90%,rgba(38,93,66,.13),transparent 28%),var(--bg); }
.owner-dashboard[hidden] { display:none; }
.owner-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.owner-brand { display:flex; align-items:center; gap:11px; padding:10px 14px; border-radius:14px; background:var(--card); }
.owner-brand>span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:linear-gradient(145deg,#8c6dff,#5e3ce5); font-weight:900; }
.owner-brand div { display:flex; flex-direction:column; }.owner-brand strong{font-size:.78rem}.owner-brand small{color:var(--muted);font-size:.66rem}
#owner-exit-button { border:1px solid var(--border); border-radius:9px; padding:9px 12px; background:var(--card); color:var(--muted); font-size:.7rem; cursor:pointer; }
.owner-content { min-height:calc(100vh - 100px); margin-top:16px; padding:28px; border-radius:16px; background:var(--card); }
.owner-content>header>span { color:var(--accent-2); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.owner-content h1 { margin:3px 0 0; font-size:2rem; letter-spacing:-.04em; }
.owner-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.owner-summary article { padding:18px; border:1px solid var(--border); border-radius:13px; background:var(--card-2); }
.owner-summary span { display:block; margin-bottom:8px; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; }
.owner-summary strong { font-size:1.45rem; }.owner-summary .owner-active{color:var(--green)}
.owner-canvas { min-height:300px; margin-top:14px; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.owner-layout { min-height:calc(100vh - 100px); display:flex; gap:16px; margin-top:16px; }
.owner-layout .owner-content { flex:1; min-width:0; min-height:calc(100vh - 100px); margin-top:0; }
.owner-nav { width:180px; flex:0 0 180px; display:flex; flex-direction:column; gap:4px; padding:12px 0; border-radius:16px; background:var(--card); }
.owner-nav>button,.owner-nav-products button { width:100%; height:44px; padding:0 16px; border:0; border-right:3px solid transparent; background:transparent; color:var(--muted); text-align:left; font-size:.72rem; cursor:pointer; }
.owner-nav>button:hover,.owner-nav-products button:hover { color:var(--text); }
.owner-nav>button.active,.owner-nav-products button.active { border-right-color:var(--accent); background:rgba(255,255,255,.025); color:var(--text); }
.owner-nav-products { margin-top:8px; padding-top:8px; border-top:1px solid var(--border); }
.owner-view[hidden] { display:none; }.owner-view.active{display:block}
.owner-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.broadcast-button { border:1px solid var(--border); border-radius:9px; padding:10px 14px; background:#f4f4f5; color:#0b0b0e; font-size:.72rem; font-weight:800; cursor:pointer; }
.admin-list { margin-top:24px; overflow:hidden; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.admin-empty { min-height:180px; display:grid; place-items:center; color:var(--muted); font-size:.72rem; }
.admin-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(170px,1.4fr) minmax(150px,1.3fr) auto; align-items:center; gap:14px; min-height:66px; padding:10px 16px; border-bottom:1px solid var(--border); }
.admin-row:last-child{border-bottom:0}.admin-row strong{font-size:.76rem}.admin-row span{color:var(--muted);font-size:.66rem}.admin-key{font:11px Consolas,"Courier New",monospace!important;color:var(--accent-2)!important}
.remove-admin { border:1px solid rgba(255,80,105,.22); border-radius:8px; padding:7px 9px; background:rgba(255,80,105,.08); color:#ff667a; font-size:.66rem; cursor:pointer; }
.theme-grid { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:12px; margin-top:24px; }
.theme-grid button { display:flex; align-items:center; gap:10px; padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--card-2); color:var(--muted); font-size:.72rem; cursor:pointer; }
.theme-grid button.active { border-color:var(--accent); color:var(--text); box-shadow:0 0 0 3px var(--accent-glow); }
.theme-grid i { width:22px; height:22px; border-radius:7px; background:var(--theme-color); box-shadow:0 0 12px color-mix(in srgb,var(--theme-color) 55%,transparent); }
.product-goal-editor { margin-top:14px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.product-goal-editor>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid var(--border); }
.product-goal-editor>header span { color:var(--accent-2); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.product-goal-editor>header h2 { margin:3px 0 0; font-size:.9rem; }.product-goal-editor>header p{margin:3px 0 0;color:var(--muted);font-size:.7rem}
.goal-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.goal-editor-grid label { display:flex; flex-direction:column; gap:7px; }.goal-editor-grid label>span{color:var(--muted);font-size:.68rem;font-weight:650}
.goal-editor-grid input,.goal-editor-grid select { width:100%; height:42px; border:1px solid var(--border); border-radius:9px; outline:0; padding:0 11px; background:#0f0f12; color:var(--text); color-scheme:dark; font:inherit; font-size:.78rem; }
.goal-editor-grid input:focus,.goal-editor-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.goal-meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; color:var(--muted); font-size:.66rem; }
.goal-meta strong { color:var(--text); font-size:inherit; }
.goal-meta .goal-expired { color:#ff667a; }
.terminal-art-editor { margin-top:24px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.terminal-art-editor label { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.terminal-art-editor label>span { color:var(--muted); font-size:.68rem; font-weight:650; }
.terminal-art-editor select,.terminal-art-editor textarea { width:100%; border:1px solid var(--border); border-radius:9px; outline:0; padding:10px 12px; background:#0b0b0e; color:var(--text); font:12px/1.5 Consolas,"Courier New",monospace; }
.terminal-art-editor select { height:42px; padding:0 11px; font-family:inherit; }.terminal-art-editor textarea{resize:vertical;min-height:220px}
.terminal-art-editor select:focus,.terminal-art-editor textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.terminal-art-editor label>small { color:var(--muted-2); font-size:.63rem; }
.terminal-size-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }
.terminal-size-grid label { margin:0; }.terminal-size-grid input{width:100%;height:42px;border:1px solid var(--border);border-radius:9px;outline:0;padding:0 11px;background:#0b0b0e;color:var(--text);font:12px Consolas,"Courier New",monospace}.terminal-size-grid input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.terminal-art-editor>div { display:flex; align-items:center; justify-content:flex-end; gap:12px; }.terminal-art-editor>div>span{margin-right:auto;color:var(--green);font-size:.68rem}
.portal-product-content { margin-top:24px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.portal-product-content .user-row { grid-template-columns:minmax(140px,1fr) repeat(4,auto); }
.product-panel.has-tab-background { margin:-28px; padding:28px; border-radius:16px; background-position:center; background-size:cover; }
.product-panel.has-tab-background .goal-card,.product-panel.has-tab-background .users-card { background:rgba(20,20,23,.92); backdrop-filter:blur(8px); }
.chat-workspace { min-height:520px; margin-top:24px; display:grid; grid-template-columns:190px minmax(0,1fr); overflow:hidden; border:1px solid var(--border); border-radius:14px; background:var(--card-2); }
.chat-channels { padding:14px 10px; border-right:1px solid var(--border); background:#111114; }
.chat-channels>p { margin:2px 8px 12px; color:var(--muted-2); font-size:.61rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.chat-channels button { width:100%; margin:2px 0; padding:11px 10px; border:0; border-radius:8px; background:transparent; color:var(--muted); text-align:left; font:inherit; font-size:.72rem; cursor:pointer; }
.chat-channels button:hover,.chat-channels button.active { background:rgba(255,255,255,.055); color:var(--text); }
.chat-channels button.active { box-shadow:inset 2px 0 var(--accent); }
.chat-room { min-width:0; display:grid; grid-template-rows:auto 1fr auto; }
.chat-room>header { display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:13px 18px; border-bottom:1px solid var(--border); }
.chat-room>header div { display:flex; flex-direction:column; gap:4px; }.chat-room>header span{font-size:.78rem;font-weight:750}.chat-room>header small{color:var(--muted);font-size:.65rem}.chat-room>header i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.chat-messages { min-height:360px; max-height:55vh; overflow-y:auto; padding:20px; }
.chat-empty { height:100%; display:grid; place-items:center; color:var(--muted-2); font-size:.72rem; }
.chat-message { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:10px; align-items:start; margin-bottom:17px; }
.chat-message-avatar { width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:#18181c;color:var(--text);font-size:.7rem;font-weight:800; }
.chat-message-content strong { display:block; margin-bottom:4px; font-size:.7rem; }.chat-message-content p{margin:0;color:#c5c5ca;font-size:.75rem;line-height:1.55;overflow-wrap:anywhere}.chat-message time{color:var(--muted-2);font-size:.58rem;white-space:nowrap}
.chat-form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px;border-top:1px solid var(--border);background:#121215; }
.chat-form input { width:100%;height:42px;border:1px solid var(--border);border-radius:9px;outline:0;padding:0 12px;background:#0c0c0f;color:var(--text);font:inherit;font-size:.75rem}.chat-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-form button{border:0;border-radius:9px;padding:0 18px;background:var(--accent);color:#08080a;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media(max-width:1150px) {
 .user-counters { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
}
@media(max-width:800px) {
 .user-counters { grid-template-columns: repeat(2, minmax(145px, 1fr)); }
 .announcements { margin-top: 28px; }
 .product-workspace { grid-template-columns:1fr; }
 .goal-card { grid-column:auto; }
 .settings-form-grid { grid-template-columns:1fr; }
 .settings-form-grid .wide-setting { grid-column:auto; }
 .owner-summary { grid-template-columns:1fr; }
 .owner-layout { flex-direction:column-reverse; }
 .owner-nav { position:sticky; bottom:0; z-index:2; width:100%; height:60px; flex:0 0 60px; flex-direction:row; overflow-x:auto; padding:0 6px; }
 .owner-nav>button,.owner-nav-products button { width:auto; min-width:max-content; height:60px; border-right:0; border-bottom:3px solid transparent; }
 .owner-nav>button.active,.owner-nav-products button.active { border-right-color:transparent; border-bottom-color:var(--accent); }
 .owner-nav-products { display:flex; margin:0; padding:0; border:0; }
 .theme-grid { grid-template-columns:repeat(2,minmax(120px,1fr)); }
 .goal-editor-grid { grid-template-columns:1fr; }
 .admin-row { grid-template-columns:1fr auto; }.admin-row .admin-key,.admin-row .admin-roles-copy{grid-column:1/-1}
 .chat-workspace { grid-template-columns:1fr; }
 .chat-channels { display:flex;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border); }.chat-channels>p{display:none}.chat-channels>div{display:flex;gap:5px}.chat-channels button{width:auto;min-width:max-content}.chat-channels button.active{box-shadow:inset 0 -2px var(--accent)}
 .chat-messages { min-height:300px; }
}
@media(max-width:600px) {
 .app-shell { padding:12px; gap:12px; }
 .workspace { flex-direction:column-reverse; gap:12px; }
 .sidebar { position:sticky; bottom:8px; z-index:20; width:100%; height:60px; flex-direction:row; justify-content:space-around; padding:0 6px; overflow-x:auto; background:rgba(20,20,23,.95); backdrop-filter:blur(18px); }
 .nav-button { width:48px; min-width:48px; height:60px; justify-content:center; padding:0; }
 .settings-tab { margin-top:0; border-top:0; }
 .nav-button span { display:none; }
 .nav-button.active::after { top:auto; right:14px; bottom:0; width:20px; height:3px; border-radius:3px 3px 0 0; }
 .dashboard { min-height:calc(100dvh - 102px); padding:20px 16px; }
 .user-counters { grid-template-columns: 1fr; margin-top:20px; }
 .counter-card { min-height:84px; }
 .form-grid { grid-template-columns:1fr; }
 .form-grid .wide-field { grid-column:auto; }
 .user-dialog form { padding:18px; }
 .owner-entry { align-items:flex-start; flex-direction:column; }
 .product-actions { gap:7px; }.account-badge span{display:none}
 .owner-content { padding:20px 16px; }
}
