:root { --ink:#14213d; --muted:#68738a; --line:#dfe4ed; --paper:#fff; --surface:#fbfcfe; --page:#f5f6fa; --topbar:rgba(255,255,255,.82); --accent:#7357ff; --accent-dark:#5b3ff1; --navy:#111a35; --danger:#a3233d; --danger-bg:#fff0f3; --danger-line:#ffcbd4; --shadow:rgba(19,27,56,.13); }
:root[data-theme="dark"] { --ink:#f4f1ff; --muted:#a8afc2; --line:#343a52; --paper:#171a29; --surface:#1d2031; --page:#0e101a; --topbar:rgba(20,22,35,.88); --accent:#9a85ff; --accent-dark:#b2a3ff; --navy:#0b0d17; --danger:#ff9daf; --danger-bg:#321923; --danger-line:#65293a; --shadow:rgba(0,0,0,.42); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--page); transition:background-color .25s,color .25s; }
button,input { font:inherit; }
textarea { font:inherit; }
select { font:inherit; }
.login-page { min-height:100vh; padding:clamp(16px,4vw,48px); display:grid; place-items:center; background:radial-gradient(circle at top left,rgba(121,95,255,.16),transparent 32%),var(--page); }
.login-shell { width:min(1060px,100%); min-height:650px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:28px; background:var(--paper); box-shadow:0 28px 80px var(--shadow); }
.brand-panel { padding:56px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; background:radial-gradient(circle at 80% 10%,rgba(132,109,255,.8),transparent 38%),linear-gradient(145deg,#182445,#10172f); }
.brand-mark { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; color:#fff; font-weight:800; font-size:24px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 10px 30px rgba(104,72,255,.38); }
.brand-panel h1 { margin:14px 0; max-width:420px; font-size:clamp(42px,6vw,68px); line-height:1; letter-spacing:-.05em; }
.eyebrow { margin:0 0 12px; color:#795fff; font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.brand-panel .eyebrow { color:#bcb0ff; }
.brand-copy { max-width:420px; margin:0; color:#cbd1df; font-size:18px; line-height:1.65; }
.brand-foot { color:#909bb2; font-size:13px; }
.form-panel { display:grid; place-items:center; padding:48px; }
.form-wrap { width:min(390px,100%); }
.mobile-brand { display:none; align-items:center; gap:12px; margin-bottom:52px; }
.brand-mark.small { width:38px; height:38px; border-radius:12px; font-size:18px; }
.form-wrap h2 { margin:0; font-size:40px; letter-spacing:-.04em; }
.form-intro { margin:10px 0 32px; color:var(--muted); line-height:1.6; }
label { display:block; margin:20px 0 8px; font-size:14px; font-weight:700; }
input { width:100%; height:52px; padding:0 16px; color:var(--ink); border:1px solid var(--line); border-radius:12px; outline:none; background:var(--surface); transition:.2s; }
input:focus { border-color:var(--accent); background:var(--paper); box-shadow:0 0 0 4px rgba(115,87,255,.12); }
.password-field { position:relative; }
.password-field input { padding-right:70px; }
.show-password { position:absolute; top:0; right:4px; height:52px; padding:0 12px; border:0; color:var(--accent-dark); font-size:13px; font-weight:800; background:transparent; cursor:pointer; }
.primary-button { width:100%; height:54px; margin-top:26px; padding:0 20px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:13px; color:#fff; font-weight:800; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 12px 25px rgba(101,69,243,.24); cursor:pointer; transition:.2s; }
.primary-button:hover { transform:translateY(-1px); box-shadow:0 15px 30px rgba(101,69,243,.32); }
.alert { margin:22px 0 4px; padding:13px 15px; border:1px solid var(--danger-line); border-radius:11px; color:var(--danger); background:var(--danger-bg); font-size:14px; line-height:1.45; }
.privacy-note { margin:22px 0 0; text-align:center; color:#9098a9; font-size:12px; line-height:1.5; }
.dashboard-page { min-height:100vh; background:radial-gradient(circle at 85% 0,rgba(121,95,255,.17),transparent 27%),var(--page); }
.topbar { min-height:76px; padding:0 clamp(20px,4vw,64px); display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:clamp(18px,3vw,42px); border-bottom:1px solid var(--line); background:var(--topbar); backdrop-filter:blur(16px); position:sticky; top:0; z-index:20; }
.wordmark { display:flex; align-items:center; gap:12px; color:var(--ink); font-weight:800; text-decoration:none; }
.main-nav { min-width:0; display:flex; align-items:center; justify-content:center; gap:4px; }
.main-nav a { padding:9px 11px; border-radius:9px; color:var(--muted); font-size:13px; font-weight:750; text-decoration:none; white-space:nowrap; transition:color .2s,background-color .2s; }
.main-nav a:hover { color:var(--ink); background:var(--surface); }
.main-nav a.active { color:var(--accent-dark); background:rgba(115,87,255,.12); }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.topbar-actions form { margin:0; }
.account-menu { position:relative; }
.account-menu > summary { min-height:44px; padding:5px 9px 5px 6px; display:grid; grid-template-columns:34px auto 18px; align-items:center; gap:8px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--paper); cursor:pointer; list-style:none; transition:border-color .2s,background-color .2s,transform .2s; }
.account-menu > summary::-webkit-details-marker { display:none; }
.account-menu > summary:hover,.account-menu[open] > summary { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 55%,var(--line)); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 6%,var(--paper)); }
.account-menu > summary:focus-visible { outline:3px solid rgba(115,87,255,.28); outline-offset:3px; }
.account-menu-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:11px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 6px 16px color-mix(in srgb,var(--brand-primary,var(--accent)) 24%,transparent); }
.account-menu-trigger-copy small,.account-menu-trigger-copy strong { display:block; line-height:1.1; }
.account-menu-trigger-copy small { color:var(--muted); font-size:8px !important; font-weight:750; }
.account-menu-trigger-copy strong { margin-top:3px; font-size:11px; }
.account-menu-chevron { color:var(--muted); font-size:15px; line-height:1; transition:transform .2s ease; }
.account-menu[open] .account-menu-chevron { transform:rotate(180deg); }
.account-menu-panel { width:min(350px,calc(100vw - 24px)); max-height:calc(100vh - 94px); padding:10px; position:absolute; z-index:80; top:calc(100% + 11px); right:0; overflow-x:hidden; overflow-y:auto; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 22px 65px rgba(9,12,29,.28); }
.account-menu-panel > header { padding:9px 10px 13px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.account-menu-panel > header .account-menu-avatar { width:42px; height:42px; border-radius:12px; font-size:13px; }
.account-menu-panel > header strong,.account-menu-panel > header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-menu-panel > header strong { font-size:13px; }
.account-menu-panel > header small { margin-top:4px; color:var(--muted); font-size:9px !important; }
.account-menu-panel nav { padding:8px 0; display:grid; gap:3px; }
.account-menu-panel nav a { min-width:0; padding:9px 10px; display:grid; grid-template-columns:34px minmax(0,1fr) 16px; align-items:center; gap:9px; border-radius:10px; color:var(--ink); text-decoration:none; }
.account-menu-panel nav a:hover,.account-menu-panel nav a.active { background:var(--surface); }
.account-menu-panel nav a > span { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-size:12px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,transparent); }
.account-menu-panel nav a strong,.account-menu-panel nav a small { display:block; }
.account-menu-panel nav a strong { font-size:11px; }
.account-menu-panel nav a small { margin-top:3px; color:var(--muted); font-size:8px !important; }
.account-menu-panel nav a i { color:var(--muted); font-style:normal; }
.account-menu-panel nav a.account-menu-admin { margin-top:4px; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 16%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 8%,var(--paper)),var(--paper)); }
.account-menu-panel nav a.account-menu-admin > span { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.account-menu-appearance { padding:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.account-menu-appearance strong,.account-menu-appearance small { display:block; }
.account-menu-appearance strong { font-size:10px; }
.account-menu-appearance small { margin-top:3px; color:var(--muted); font-size:8px !important; }
.account-menu-theme { flex:0 0 auto; }
.account-menu-theme button { min-width:34px; padding:5px 8px; }
.account-menu-panel > form { padding:8px 0 0; }
.account-menu-panel > form button { width:100%; min-height:40px; padding:8px 10px; display:flex; align-items:center; gap:9px; border:0; border-radius:10px; color:var(--danger); background:transparent; cursor:pointer; }
.account-menu-panel > form button:hover { background:var(--danger-bg); }
.account-menu-panel > form button span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; background:var(--danger-bg); }
.account-menu-panel > form button strong { font-size:10px; }
.logout-button,.website-button { min-height:42px; padding:9px 14px; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-weight:700; background:var(--paper); cursor:pointer; transition:border-color .2s,transform .2s,background-color .25s; }
.website-button { display:inline-flex; align-items:center; gap:7px; font-size:13px; text-decoration:none; white-space:nowrap; }
.website-button span { color:var(--accent); font-size:17px; }
.website-button.active { color:#fff; border-color:var(--accent); background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.website-button.active span { color:#fff; }
.logout-button:hover,.website-button:hover { border-color:var(--accent); transform:translateY(-1px); }
.theme-selector { display:inline-flex; padding:4px; gap:3px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.theme-selector button { min-height:34px; padding:6px 10px; display:inline-flex; align-items:center; gap:6px; border:0; border-radius:8px; color:var(--muted); font-size:13px; font-weight:800; background:transparent; cursor:pointer; transition:color .2s,background-color .2s,box-shadow .2s; }
.theme-selector button:hover { color:var(--ink); }
.theme-selector button[aria-pressed="true"] { color:var(--ink); background:var(--paper); box-shadow:0 2px 8px var(--shadow); }
.theme-selector button:focus-visible { outline:3px solid rgba(115,87,255,.25); outline-offset:2px; }
.theme-selector.floating { position:fixed; z-index:10; top:22px; right:22px; box-shadow:0 8px 24px var(--shadow); }
.theme-selector.dashboard-theme { position:fixed; z-index:30; right:22px; bottom:22px; box-shadow:0 10px 30px var(--shadow); }
.dashboard { width:min(1040px,calc(100% - 40px)); margin:0 auto; padding:90px 0; }
.dashboard h1 { margin:0; font-size:clamp(42px,7vw,72px); letter-spacing:-.055em; }
.dashboard-intro { max-width:650px; margin:18px 0 48px; color:var(--muted); font-size:19px; line-height:1.65; }
.placeholder-card { padding:32px; display:flex; align-items:center; gap:22px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 14px 40px var(--shadow); }
.placeholder-icon { width:56px; height:56px; flex:0 0 auto; display:grid; place-items:center; border-radius:17px; color:#fff; font-size:26px; background:linear-gradient(135deg,#8c74ff,#5f40ef); }
.placeholder-card h2 { margin:0 0 7px; font-size:20px; }
.placeholder-card p { margin:0; color:var(--muted); line-height:1.55; }
.workspace-grid { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.workspace-card { min-height:116px; padding:23px; display:flex; align-items:center; gap:17px; border:1px solid var(--line); border-radius:18px; color:var(--ink); background:var(--paper); box-shadow:0 10px 30px var(--shadow); text-decoration:none; transition:transform .2s,border-color .2s; scroll-margin-top:110px; }
.workspace-card:hover { transform:translateY(-2px); border-color:var(--accent); }
.workspace-icon { width:48px; height:48px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; color:#fff; font-size:21px; font-weight:800; background:linear-gradient(135deg,#8c74ff,#5f40ef); }
.workspace-card strong,.workspace-card small { display:block; }
.workspace-card strong { margin-bottom:7px; font-size:16px; }
.workspace-card small { color:var(--muted); font-size:13px; line-height:1.45; }
.workspace-card:last-child { grid-column:1 / -1; }
.dashboard-announcements { margin-bottom:18px; padding:25px; border:1px solid rgba(115,87,255,.28); border-radius:20px; background:linear-gradient(135deg,rgba(115,87,255,.12),rgba(115,87,255,.04)),var(--paper); box-shadow:0 12px 36px var(--shadow); }
.announcement-heading { margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.announcement-heading .eyebrow { margin-bottom:4px; }
.announcement-heading h2 { margin:0; font-size:22px; }
.announcement-heading > a { padding:7px 10px; border-radius:8px; color:var(--accent-dark); font-size:11px; font-weight:800; text-decoration:none; background:rgba(115,87,255,.12); }
.announcement-grid { display:grid; gap:9px; }
.announcement-grid article { padding:15px; display:grid; grid-template-columns:auto 1fr; gap:13px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.announcement-grid article > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#8c74ff,#5f40ef); }
.announcement-grid strong { display:block; font-size:14px; }
.announcement-grid p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.announcement-grid small { display:block; margin-top:7px; color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.personal-dashboard { width:min(1240px,calc(100% - 40px)); }
.personal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"notes bookmarks" "tasks calendar"; gap:20px; align-items:start; }
.notes-tool { grid-area:notes; }
.bookmarks-tool { grid-area:bookmarks; }
.tasks-tool { grid-area:tasks; }
.calendar-tool { grid-area:calendar; }
.tool-card { min-width:0; padding:27px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.compact-tool { padding:22px; }
.compact-tool .tool-heading { margin-bottom:15px; }
.compact-tool .quick-form { grid-template-columns:minmax(0,1fr) auto; }
.compact-tool .quick-form .compact-button { grid-column:1 / -1; }
.tool-heading { margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.tool-heading .eyebrow { margin-bottom:5px; }
.tool-heading h2 { margin:0; font-size:24px; letter-spacing:-.025em; }
.count-pill { min-width:30px; height:30px; padding:0 9px; display:grid; place-items:center; border-radius:999px; color:var(--accent-dark); font-size:12px; font-weight:850; background:rgba(115,87,255,.12); }
.quick-form,.stack-form { margin-bottom:20px; display:grid; gap:9px; }
.quick-form { grid-template-columns:minmax(0,1fr) auto auto; }
.quick-form input,.stack-form input { height:44px; }
.quick-form input[type="date"],.quick-form input[type="datetime-local"] { width:auto; min-width:145px; }
.stack-form textarea { width:100%; padding:13px 15px; resize:vertical; color:var(--ink); border:1px solid var(--line); border-radius:12px; outline:none; background:var(--surface); line-height:1.5; }
.stack-form textarea:focus { border-color:var(--accent); background:var(--paper); box-shadow:0 0 0 4px rgba(115,87,255,.12); }
.compact-button { min-height:44px; padding:8px 15px; border:0; border-radius:11px; color:#fff; font-size:13px; font-weight:800; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.item-list { display:grid; gap:9px; }
.list-item { min-width:0; padding:12px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.list-item strong,.list-item small { display:block; }
.list-item strong { overflow-wrap:anywhere; font-size:14px; }
.list-item small { margin-top:3px; color:var(--muted); font-size:11px; }
.list-item a { color:var(--ink); text-decoration:none; }
.list-item a:hover { color:var(--accent-dark); }
.list-item.completed strong { color:var(--muted); text-decoration:line-through; }
.check-button { width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:#fff; background:var(--paper); cursor:pointer; }
.completed .check-button { border-color:var(--accent); background:var(--accent); }
.item-action { margin:0; }
.item-action button,.text-button { border:0; color:var(--muted); background:transparent; cursor:pointer; }
.item-action button { width:28px; height:28px; border-radius:8px; font-size:19px; }
.item-action button:hover,.text-button:hover { color:var(--danger); background:var(--danger-bg); }
.date-badge { width:42px; height:42px; display:grid; place-content:center; border-radius:11px; color:var(--accent-dark); font-size:16px; font-weight:850; text-align:center; background:rgba(115,87,255,.12); line-height:1; }
.date-badge small { margin-top:3px; font-size:9px; text-transform:uppercase; }
.link-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--accent-dark); background:rgba(115,87,255,.12); }
.note-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.note-item { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.note-item strong { overflow-wrap:anywhere; font-size:14px; }
.note-item p { max-height:112px; margin:8px 0 12px; overflow:auto; color:var(--muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.text-button { padding:4px 7px; border-radius:7px; font-size:11px; font-weight:800; }
.empty-state { grid-column:1 / -1; margin:5px 0; color:var(--muted); font-size:13px; }
.success-alert { margin:0 0 20px; padding:13px 15px; border:1px solid #8bd8b1; border-radius:11px; color:#16704a; background:#eafaf2; font-size:14px; }
:root[data-theme="dark"] .success-alert { border-color:#285e48; color:#91e2bc; background:#142b22; }
.gym-section { margin-top:22px; padding:30px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(115,87,255,.08),transparent 42%),var(--paper); box-shadow:0 14px 42px var(--shadow); }
.gym-heading { margin-bottom:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.gym-heading .eyebrow { margin-bottom:5px; }
.gym-heading h2 { margin:0; font-size:28px; }
.gym-heading p:last-child { margin:7px 0 0; color:var(--muted); font-size:13px; }
.gym-period-form { min-width:170px; display:grid; gap:5px; }
.gym-period-form label { margin:0; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.gym-period-form select { height:39px; padding:0 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); font-size:11px; font-weight:800; background:var(--surface); cursor:pointer; }
.gym-stats { margin-bottom:20px; display:grid; grid-template-columns:repeat(5,1fr); gap:9px; }
.gym-stats div { padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.gym-stats strong,.gym-stats small { display:block; }
.gym-stats strong { margin-bottom:4px; font-size:19px; }
.gym-stats small { color:var(--muted); font-size:9px; font-weight:800; text-transform:uppercase; }
.gym-insights { margin-bottom:20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.gym-insights > article { min-width:0; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.insight-title { margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.insight-title > span { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-size:17px; background:rgba(115,87,255,.12); }
.insight-title strong,.insight-title small { display:block; }
.insight-title strong { font-size:12px; }
.insight-title small { margin-top:2px; color:var(--muted); font-size:8px; }
.gym-insights ol { margin:0; padding:0; display:grid; gap:6px; list-style:none; }
.gym-insights li { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:10px; }
.gym-insights li span { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.gym-insights li b { color:var(--ink); }
.split-bars { display:grid; gap:7px; }
.split-bars > div { display:grid; grid-template-columns:67px 1fr 30px; align-items:center; gap:7px; }
.split-bars span,.split-bars em { color:var(--muted); font-size:8px; font-style:normal; }
.split-bars span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; text-transform:capitalize; }
.split-bars em { text-align:right; font-weight:800; }
.split-bars progress { width:100%; height:7px; border:0; border-radius:999px; overflow:hidden; appearance:none; background:var(--line); }
.split-bars progress::-webkit-progress-bar { background:var(--line); }
.split-bars progress::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,#8067ff,#5d9dff); }
.split-bars progress::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,#8067ff,#5d9dff); }
.gym-layout { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.gym-form { padding:21px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.gym-form h3,.gym-tips h3 { margin:0 0 16px; font-size:18px; }
.gym-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.gym-form label { display:grid; gap:6px; margin:0; color:var(--muted); font-size:10px; font-weight:800; }
.gym-form input,.gym-form select { height:42px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--paper); }
.gym-form textarea { width:100%; padding:11px 13px; resize:vertical; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--paper); }
.gym-form input:focus,.gym-form select:focus,.gym-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.gym-form .wide-field { grid-column:1 / -1; }
.gym-form > .compact-button { margin-top:12px; }
.set-builder { padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.set-builder-heading { margin-bottom:11px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.set-builder-heading strong,.set-builder-heading small { display:block; }
.set-builder-heading strong { color:var(--ink); font-size:13px; }
.set-builder-heading small { margin-top:3px; color:var(--muted); font-size:9px; font-weight:500; }
.set-builder-heading button { padding:7px 10px; border:1px solid var(--accent); border-radius:8px; color:var(--accent-dark); font-size:10px; font-weight:850; background:rgba(115,87,255,.1); cursor:pointer; }
.set-list { display:grid; gap:7px; }
.set-row { display:grid; grid-template-columns:30px .7fr 1fr 1fr .7fr 30px; align-items:end; gap:7px; }
.set-number { width:28px; height:28px; margin-bottom:7px; display:grid; place-items:center; border-radius:8px; color:#fff; font-size:10px; font-weight:850; background:linear-gradient(135deg,#8067ff,#6142f2); }
.set-row label { font-size:8px; }
.set-row input,.set-row select { height:38px; padding:0 8px; font-size:11px; }
.remove-set { width:28px; height:28px; margin-bottom:5px; border:0; border-radius:8px; color:var(--danger); font-size:18px; background:var(--danger-bg); cursor:pointer; }
.remove-set:disabled { opacity:.25; cursor:not-allowed; }
.gym-tips { padding:22px; border:1px solid rgba(115,87,255,.24); border-radius:17px; background:linear-gradient(135deg,rgba(115,87,255,.1),rgba(115,87,255,.04)); }
.gym-tips .eyebrow { margin-bottom:5px; }
.gym-tips ul { margin:0; padding-left:18px; display:grid; gap:10px; color:var(--muted); font-size:12px; line-height:1.45; }
.tip-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tip-groups section { padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.tip-groups section > strong { display:block; margin-bottom:8px; color:var(--ink); font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.tip-groups section ul { gap:6px; font-size:10px; }
.tip-groups .safety-tip { border-color:var(--danger-line); background:var(--danger-bg); }
.tip-groups .safety-tip { grid-column:span 2; }
.tip-groups .safety-tip > strong { color:var(--danger); }
.tip-note { margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; line-height:1.5; }
.gym-history { margin-top:22px; }
.gym-history .tool-heading { margin-bottom:12px; }
.gym-history h3 { margin:0; font-size:20px; }
.gym-entry { margin-bottom:9px; padding:14px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.gym-date { width:44px; height:48px; display:grid; place-content:center; border-radius:11px; color:var(--accent-dark); text-align:center; background:rgba(115,87,255,.12); }
.gym-date strong,.gym-date small { display:block; }
.gym-date strong { font-size:16px; line-height:1; }
.gym-date small { margin-top:3px; font-size:8px; font-weight:850; text-transform:uppercase; }
.gym-entry-main { min-width:0; }
.gym-entry-main > div:first-child { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gym-entry-main strong { font-size:14px; overflow-wrap:anywhere; }
.workout-tag { padding:4px 7px; border-radius:7px; color:var(--accent-dark); font-size:8px; font-weight:850; text-transform:uppercase; background:rgba(115,87,255,.12); }
.gym-numbers { margin-top:9px; display:flex; gap:7px; flex-wrap:wrap; }
.gym-numbers span { padding:6px 8px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:8px; background:var(--paper); }
.gym-numbers b { color:var(--ink); font-size:10px; }
.gym-entry-main > p { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.logged-sets { margin-top:10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.logged-sets span { padding:8px 9px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:9px; background:var(--paper); }
.logged-sets b { color:var(--ink); }
.logged-sets em { display:block; margin-top:3px; color:var(--accent-dark); font-size:7px; font-style:normal; font-weight:800; text-transform:uppercase; }
.creator-dashboard { width:min(1240px,calc(100% - 40px)); }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; }
.add-content-button { width:auto; flex:0 0 auto; margin-top:16px; padding:0 24px; }
.creator-stats { margin-bottom:20px; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.creator-stats div { padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--paper); }
.creator-stats span,.creator-stats small { display:block; }
.creator-stats span { margin-bottom:5px; font-size:25px; font-weight:850; }
.creator-stats small { color:var(--muted); font-size:12px; font-weight:750; }
.filter-bar { margin-bottom:20px; padding:10px; display:grid; grid-template-columns:minmax(180px,1fr) auto auto auto auto; gap:9px; border:1px solid var(--line); border-radius:15px; background:var(--paper); }
.filter-bar input,.filter-bar select,.status-form select,.dialog-form select,.metrics-form input { height:44px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--surface); }
.filter-bar input:focus,.filter-bar select:focus,.status-form select:focus,.dialog-form select:focus,.metrics-form input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.clear-filter { padding:0 9px; display:grid; place-items:center; color:var(--muted); font-size:12px; font-weight:800; text-decoration:none; }
.content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.content-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 10px 30px var(--shadow); }
.content-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.platform-badge { padding:6px 9px; border-radius:8px; color:var(--accent-dark); font-size:10px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; background:rgba(115,87,255,.12); }
.platform-badge.website { color:#18715a; background:rgba(36,166,128,.12); }
.platform-badge.other { color:#a35e1e; background:rgba(227,143,53,.13); }
.card-delete { width:28px; height:28px; border:0; border-radius:8px; color:var(--muted); font-size:19px; background:transparent; cursor:pointer; }
.card-delete:hover { color:var(--danger); background:var(--danger-bg); }
.content-card h2 { margin:15px 0 9px; font-size:19px; overflow-wrap:anywhere; }
.content-caption { max-height:75px; margin:0 0 9px; overflow:hidden; color:var(--muted); font-size:13px; line-height:1.5; }
.hashtags { margin:0 0 15px; color:var(--accent-dark); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.status-form { margin:15px 0; padding-top:15px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); }
.status-form select { height:36px; font-size:12px; font-weight:800; }
.status-form small { color:var(--muted); font-size:10px; text-align:right; }
.metrics-form { padding-top:14px; display:grid; grid-template-columns:repeat(5,1fr); gap:6px; border-top:1px solid var(--line); }
.metrics-form label span { display:block; margin-bottom:5px; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.metrics-form input { width:100%; height:34px; padding:0 6px; font-size:11px; }
.metrics-form .text-button { grid-column:1 / -1; justify-self:end; margin-top:5px; }
.creator-empty { grid-column:1 / -1; padding:70px 30px; border:1px dashed var(--line); border-radius:20px; color:var(--muted); text-align:center; background:var(--paper); }
.creator-empty > span { width:54px; height:54px; margin:0 auto 16px; display:grid; place-items:center; border-radius:16px; color:#fff; font-size:24px; background:linear-gradient(135deg,#8c74ff,#5f40ef); }
.creator-empty h2 { margin:0 0 8px; color:var(--ink); }
.creator-empty p { margin:0; }
.content-dialog { width:min(620px,calc(100% - 30px)); max-height:90vh; padding:0; overflow:auto; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:var(--paper); box-shadow:0 30px 90px rgba(0,0,0,.4); }
.content-dialog::backdrop { background:rgba(5,7,14,.7); backdrop-filter:blur(5px); }
.dialog-form { padding:30px; }
.dialog-heading { margin-bottom:22px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.dialog-heading h2 { margin:0; font-size:28px; }
.dialog-heading button { width:36px; height:36px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:22px; background:var(--surface); cursor:pointer; }
.dialog-form > label,.form-row label { display:grid; gap:7px; margin:14px 0 0; font-size:13px; font-weight:750; }
.dialog-form textarea { width:100%; padding:12px 14px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.dialog-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dialog-form .primary-button { margin-top:20px; }
.weather-page { background:radial-gradient(circle at 78% 12%,rgba(99,147,255,.2),transparent 28%),var(--page); }
.weather-dashboard { width:min(1180px,calc(100% - 40px)); }
.weather-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.cache-badge { margin-top:16px; padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:11px; font-weight:800; background:var(--paper); }
.weather-hero { margin-bottom:22px; padding:34px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:34px; border:1px solid rgba(151,169,255,.24); border-radius:24px; color:#fff; background:radial-gradient(circle at 90% 0,rgba(147,183,255,.42),transparent 34%),linear-gradient(135deg,#273c73,#101a38); box-shadow:0 20px 60px rgba(12,24,57,.3); }
.weather-now { display:flex; align-items:center; gap:24px; }
.weather-symbol { width:84px; height:84px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:24px; font-size:43px; background:rgba(255,255,255,.1); }
.temperature { display:block; font-size:72px; font-weight:850; line-height:.95; letter-spacing:-.06em; }
.weather-now p { margin:10px 0 0; color:#cbd6ef; }
.weather-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.weather-meta div { padding:15px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.07); }
.weather-meta small,.weather-meta strong { display:block; }
.weather-meta small { margin-bottom:5px; color:#aebbd9; font-size:10px; font-weight:800; text-transform:uppercase; }
.weather-meta strong { font-size:14px; }
.forecast-section { padding:28px; border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.section-heading h2 { margin:0 0 20px; font-size:24px; }
.section-heading .eyebrow { margin-bottom:5px; }
.forecast-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.forecast-card { min-width:0; padding:19px 15px; border:1px solid var(--line); border-radius:16px; text-align:center; background:var(--surface); }
.forecast-card > strong { font-size:13px; }
.forecast-card > span { height:56px; display:grid; place-items:center; font-size:31px; }
.forecast-card > p { min-height:34px; margin:0 0 10px; color:var(--muted); font-size:11px; line-height:1.4; }
.temp-range { display:flex; justify-content:center; gap:8px; font-size:18px; }
.temp-range small { color:var(--muted); }
.forecast-card dl { margin:14px 0 0; padding-top:10px; display:grid; gap:6px; border-top:1px solid var(--line); }
.forecast-card dl div { display:flex; justify-content:space-between; gap:8px; }
.forecast-card dt,.forecast-card dd { margin:0; font-size:9px; }
.forecast-card dt { color:var(--muted); }
.forecast-card dd { font-weight:800; }
.sun-card { margin-top:16px; padding:22px 28px; display:flex; align-items:center; justify-content:center; gap:clamp(30px,8vw,100px); border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.sun-card div { text-align:center; }
.sun-card small,.sun-card strong { display:block; }
.sun-card small { margin-bottom:4px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.sun-card > span { color:#ffb740; font-size:30px; }
.weather-credit { margin:14px 0 0; color:var(--muted); font-size:10px; text-align:center; }
.marine-section { margin-top:20px; padding:28px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(55,149,191,.09),transparent 45%),var(--paper); box-shadow:0 12px 36px var(--shadow); }
.marine-heading { margin-bottom:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.marine-heading .eyebrow { margin-bottom:5px; }
.marine-heading h2 { margin:0; font-size:25px; }
.marine-now { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.marine-now article { padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.marine-now small,.marine-now strong,.marine-now span { display:block; }
.marine-now small { margin-bottom:8px; color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.marine-now strong { font-size:20px; }
.marine-now span { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.4; }
.marine-outlook { margin-top:22px; }
.marine-outlook h3 { margin:0 0 12px; font-size:15px; }
.marine-scroll { display:grid; grid-template-columns:repeat(12,minmax(95px,1fr)); gap:8px; overflow-x:auto; padding-bottom:7px; }
.marine-scroll article { padding:13px 10px; border:1px solid var(--line); border-radius:13px; text-align:center; background:var(--surface); }
.marine-scroll strong,.marine-scroll small { display:block; }
.marine-scroll strong { font-size:11px; }
.marine-scroll small { margin-top:4px; color:var(--muted); font-size:8px; }
.mini-wave { height:32px; display:grid; place-items:center; color:#49a6ce; font-size:24px; }
.marine-warning { margin-top:17px; padding:14px 16px; display:grid; grid-template-columns:auto 1fr; gap:14px; border:1px solid #e6b761; border-radius:13px; color:#86550f; background:#fff6df; }
.marine-warning strong { font-size:11px; white-space:nowrap; }
.marine-warning p { margin:0; font-size:10px; line-height:1.5; }
:root[data-theme="dark"] .marine-warning { border-color:#5e4b28; color:#efcb88; background:#2b2417; }
.website-dashboard { width:min(1180px,calc(100% - 40px)); }
.subnav { margin:0 0 20px; padding:6px; display:flex; gap:5px; overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.subnav a { padding:10px 13px; display:flex; align-items:center; gap:7px; border-radius:9px; color:var(--muted); font-size:12px; font-weight:800; text-decoration:none; white-space:nowrap; }
.subnav a:hover { color:var(--ink); background:var(--surface); }
.subnav span { min-width:20px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:999px; color:var(--accent-dark); font-size:9px; background:rgba(115,87,255,.12); }
.admin-section { margin-bottom:20px; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); scroll-margin-top:170px; }
.admin-heading { margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.admin-heading .eyebrow { margin-bottom:5px; }
.admin-heading h2 { margin:0; font-size:25px; }
.admin-split { display:grid; grid-template-columns:minmax(270px,.8fr) minmax(0,1.3fr); gap:22px; }
.admin-form,.settings-form { display:grid; gap:12px; }
.admin-form { padding:18px; align-self:start; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.admin-form label,.settings-form label { display:grid; gap:6px; margin:0; color:var(--muted); font-size:11px; font-weight:800; }
.admin-form input,.admin-form select,.settings-form input { height:43px; }
.admin-form select { padding:0 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--paper); }
.admin-form textarea { width:100%; padding:12px 14px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--paper); }
.admin-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.admin-list { display:grid; align-content:start; gap:9px; }
.admin-list article { min-width:0; padding:14px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.admin-list article > div:first-child { min-width:0; position:relative; padding-left:17px; }
.admin-list strong,.admin-list small { display:block; overflow-wrap:anywhere; }
.admin-list strong { font-size:14px; }
.admin-list small { max-width:440px; margin-top:4px; overflow:hidden; color:var(--muted); font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.status-dot { width:8px; height:8px; position:absolute; top:4px; left:0; border-radius:50%; background:#8c93a4; }
.status-dot.published { background:#33bb7c; box-shadow:0 0 0 4px rgba(51,187,124,.12); }
.row-actions { flex:0 0 auto; display:flex; gap:5px; }
.row-actions form { margin:0; }
.row-actions button,.message-actions button { padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:10px; font-weight:800; background:var(--paper); cursor:pointer; }
.row-actions .danger-link:hover { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }
.message-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.message-card { min-width:0; padding:19px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.message-head { display:flex; justify-content:space-between; gap:12px; }
.message-head strong,.message-head a { display:block; overflow-wrap:anywhere; }
.message-head strong { font-size:14px; }
.message-head a { margin-top:3px; color:var(--accent-dark); font-size:10px; text-decoration:none; }
.message-head > span { align-self:start; padding:5px 7px; border-radius:7px; color:var(--accent-dark); font-size:8px; font-weight:850; text-transform:uppercase; background:rgba(115,87,255,.12); }
.message-card h3 { margin:17px 0 7px; font-size:14px; }
.message-card > p { max-height:100px; overflow:auto; color:var(--muted); font-size:12px; line-height:1.5; }
.message-actions { display:flex; gap:6px; }
.settings-form { width:min(650px,100%); grid-template-columns:1fr 1fr; }
.settings-form label:first-of-type,.settings-form .checkbox-row,.settings-form button { grid-column:1 / -1; }
.checkbox-row { padding:14px; display:flex!important; grid-template-columns:auto 1fr; align-items:center; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.checkbox-row input { width:18px; height:18px; margin:0; }
.checkbox-row strong,.checkbox-row small { display:block; }
.checkbox-row strong { color:var(--ink); font-size:12px; }
.checkbox-row small { margin-top:3px; font-weight:500; }
.admin-lock { padding:7px 10px; border:1px solid rgba(115,87,255,.28); border-radius:999px; color:var(--accent-dark); font-size:10px; font-weight:850; background:rgba(115,87,255,.1); }
.form-help { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.user-list em { margin-left:6px; padding:3px 6px; border-radius:6px; color:var(--accent-dark); font-size:8px; font-style:normal; text-transform:uppercase; background:rgba(115,87,255,.12); }
.personal-subnav { margin:0 0 22px; padding:6px; display:flex; gap:4px; overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:var(--paper); scrollbar-width:none; }
.personal-subnav::-webkit-scrollbar { display:none; }
.personal-subnav a { padding:9px 11px; border-radius:9px; color:var(--muted); font-size:10px; font-weight:800; text-decoration:none; white-space:nowrap; }
.personal-subnav a:hover,.personal-subnav a.active { color:var(--accent-dark); background:rgba(115,87,255,.11); }
.growth-dashboard { width:min(1240px,calc(100% - 40px)); }
.growth-dashboard > .growth-section { display:none; }
.growth-page-programs #programs,.growth-page-records #records,.growth-page-habits #habits,.growth-page-goals #goals,.growth-page-finance #finance-dashboard { display:block; }
.growth-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.growth-home-grid > a { min-width:0; padding:22px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:15px; border:1px solid var(--line); border-radius:17px; color:var(--ink); text-decoration:none; background:var(--paper); box-shadow:0 12px 36px var(--shadow); transition:transform .18s ease,border-color .18s ease; }
.growth-home-grid > a:hover { transform:translateY(-2px); border-color:rgba(115,87,255,.55); }
.growth-home-grid > a > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:18px; font-weight:850; background:linear-gradient(135deg,#8067ff,#5d73ff); }
.growth-home-grid strong,.growth-home-grid small { display:block; }
.growth-home-grid strong { font-size:15px; }
.growth-home-grid small { margin-top:4px; color:var(--accent-dark); font-size:9px; font-weight:800; }
.growth-home-grid p { margin:8px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.growth-home-grid > a > b { color:var(--accent-dark); font-size:10px; white-space:nowrap; }
.growth-section { margin-bottom:22px; padding:28px; border:1px solid var(--line); border-radius:21px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); scroll-margin-top:150px; }
.growth-heading { margin-bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.growth-heading .eyebrow { margin-bottom:5px; }
.growth-heading h2 { margin:0; font-size:26px; }
.growth-split,.habit-layout { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:18px; align-items:start; }
.growth-form { padding:18px; display:grid; gap:11px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.growth-form h3 { margin:0 0 3px; font-size:16px; }
.growth-form label { display:grid; gap:6px; margin:0; color:var(--muted); font-size:9px; font-weight:800; }
.growth-form input,.growth-form select { height:41px; }
.growth-form textarea { width:100%; padding:11px 13px; resize:vertical; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--paper); }
.growth-form select { padding:0 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
.program-list,.goal-list { display:grid; gap:10px; }
.program-card,.goal-card { min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.program-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.program-title strong,.program-title small { display:block; }
.program-title small { margin-top:3px; color:var(--muted); font-size:9px; }
.program-card > p { color:var(--muted); font-size:10px; line-height:1.5; }
.program-card ol { margin:12px 0; padding:0; display:grid; gap:6px; list-style:none; }
.program-card li { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:10px; }
.program-card li b { color:var(--ink); }
.inline-add,.inline-create { display:grid; gap:7px; }
.inline-add { grid-template-columns:minmax(100px,1fr) 58px 70px auto; }
.inline-create { grid-template-columns:minmax(140px,1fr) auto auto; margin-bottom:12px; }
.inline-add input,.inline-create input { height:38px; padding:0 10px; }
.inline-add button { padding:0 11px; border:0; border-radius:9px; color:#fff; font-size:10px; font-weight:800; background:var(--accent); cursor:pointer; }
.records-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.records-grid > article { padding:19px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.records-grid h3 { margin:0 0 15px; font-size:16px; }
.record-list { margin:0; padding:0; display:grid; gap:8px; list-style:none; }
.record-list li { padding:9px; display:flex; justify-content:space-between; gap:12px; border-radius:9px; background:var(--paper); font-size:11px; }
.record-list em { margin-right:8px; color:var(--accent-dark); font-size:8px; font-style:normal; }
.volume-chart { display:grid; gap:9px; }
.volume-chart > div { display:grid; grid-template-columns:45px 1fr 75px; align-items:center; gap:8px; }
.volume-chart span,.volume-chart b { color:var(--muted); font-size:8px; }
.volume-chart b { color:var(--ink); text-align:right; }
.volume-chart progress,.goal-card progress,.savings-grid progress { width:100%; height:9px; appearance:none; border:0; border-radius:999px; overflow:hidden; background:var(--line); }
.volume-chart progress::-webkit-progress-bar,.goal-card progress::-webkit-progress-bar,.savings-grid progress::-webkit-progress-bar { background:var(--line); }
.volume-chart progress::-webkit-progress-value,.goal-card progress::-webkit-progress-value,.savings-grid progress::-webkit-progress-value { background:linear-gradient(90deg,#8067ff,#5d9dff); }
.habit-layout { grid-template-columns:1fr 1fr; }
.habit-list { display:grid; gap:8px; }
.habit-list article { padding:12px; display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.habit-check { width:27px; height:27px; border:1px solid var(--line); border-radius:8px; color:#fff; background:var(--paper); cursor:pointer; }
.habit-check.done { border-color:var(--accent); background:var(--accent); }
.habit-colour { width:8px; height:30px; border-radius:999px; background:var(--habit-colour,var(--accent)); }
.habit-list strong,.habit-list small { display:block; }
.habit-list strong { font-size:12px; }
.habit-list small { margin-top:3px; color:var(--muted); font-size:8px; }
.wellness-ratings { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.wellness-history { margin-top:9px; display:grid; gap:5px; }
.wellness-history span { padding:8px 10px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:8px; background:var(--surface); }
.wellness-history b { margin-right:7px; color:var(--ink); }
.goal-card > div:first-child span,.goal-card > div:first-child strong,.goal-card > div:first-child small { display:block; }
.goal-card > div:first-child span { color:var(--accent-dark); font-size:8px; font-weight:850; text-transform:uppercase; }
.goal-card > div:first-child strong { margin:5px 0; font-size:14px; }
.goal-card > div:first-child small { color:var(--muted); font-size:9px; }
.goal-card progress { margin:13px 0; }
.goal-update { display:grid; grid-template-columns:1fr auto; gap:7px; }
.goal-update input { height:37px; }
.goal-update button,.savings-grid form button { padding:0 11px; border:0; border-radius:9px; color:#fff; font-size:9px; font-weight:800; background:var(--accent); }
.goal-card ul { margin:13px 0; padding:0; display:grid; gap:6px; list-style:none; }
.goal-card li { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.goal-card li.done { text-decoration:line-through; }
.goal-card li button { width:22px; height:22px; border:1px solid var(--line); border-radius:6px; color:#fff; background:var(--paper); }
.goal-card li.done button { border-color:var(--accent); background:var(--accent); }
.finance-balance { padding:8px 11px; border-radius:10px; color:var(--accent-dark); font-size:11px; font-weight:850; background:rgba(115,87,255,.11); }
.finance-heading { align-items:end; }
.finance-period-form { display:flex; align-items:end; gap:8px; }
.finance-period-form label { display:grid; gap:5px; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.finance-period-form select { min-width:155px; height:39px; padding:0 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); font-size:10px; font-weight:750; text-transform:none; outline:none; background:var(--surface); }
.finance-period-form button { height:39px; padding:0 14px; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:850; background:var(--accent); cursor:pointer; }
.finance-summary { margin-bottom:14px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.finance-summary-expanded { grid-template-columns:repeat(4,minmax(0,1fr)); }
.finance-summary div { padding:15px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.finance-summary small,.finance-summary strong { display:block; }
.finance-summary small { margin-bottom:4px; color:var(--muted); font-size:8px; text-transform:uppercase; }
.finance-summary strong { font-size:19px; }
.finance-summary span { display:block; margin-top:5px; color:var(--muted); font-size:8px; }
.finance-summary .income-stat strong,.finance-summary .net-stat.positive strong { color:#2ba978; }
.finance-summary .expense-stat strong,.finance-summary .net-stat.negative strong { color:#d45b72; }
.finance-chart-card { margin:14px 0 18px; padding:20px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.finance-chart-heading { margin-bottom:12px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.finance-chart-heading h3,.transaction-panel-heading h3 { margin:0; font-size:16px; }
.finance-chart-heading p { margin:4px 0 0; color:var(--muted); font-size:9px; }
.finance-chart-legend { display:flex; gap:13px; color:var(--muted); font-size:9px; font-weight:800; }
.finance-chart-legend span { display:flex; align-items:center; gap:6px; }
.finance-chart-legend span::before { width:9px; height:9px; border-radius:3px; background:#2ba978; content:""; }
.finance-chart-legend .expense-key::before { background:#d45b72; }
.finance-chart-scroll { overflow-x:auto; padding-bottom:5px; }
.finance-chart-svg { width:100%; min-width:720px; height:auto; display:block; overflow:visible; }
.chart-gridline { stroke:var(--line); stroke-width:1; }
.chart-axis-label,.chart-bucket-label { fill:var(--muted); font-size:9px; font-weight:700; }
.finance-bar { transition:opacity .18s ease; }
.finance-bar:hover { opacity:.76; }
.income-bar { fill:#2ba978; }
.expense-bar { fill:#d45b72; }
.finance-chart-empty { min-height:230px; display:grid; place-content:center; justify-items:center; text-align:center; }
.finance-chart-empty > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:var(--accent-dark); font-size:22px; background:rgba(115,87,255,.12); }
.finance-chart-empty strong { margin-top:12px; font-size:13px; }
.finance-chart-empty p { max-width:360px; margin:6px 0 0; color:var(--muted); font-size:9px; line-height:1.5; }
.finance-grid { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:16px; }
.finance-entry-grid { align-items:start; }
.transaction-panel { min-width:0; }
.transaction-panel-heading { margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.transaction-panel-heading small { display:block; margin-top:3px; color:var(--muted); font-size:8px; }
.transaction-list { display:grid; align-content:start; gap:7px; }
.transaction-list article { padding:11px; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.money-type { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#fff; font-weight:850; background:#d45b72; }
.money-type.income { background:#2ba978; }
.transaction-list strong,.transaction-list small { display:block; }
.transaction-list strong { font-size:11px; }
.transaction-list small { color:var(--muted); font-size:8px; }
.transaction-list > article > b { font-size:11px; }
.savings-area { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.savings-area .inline-create { grid-template-columns:1fr 110px 110px 130px auto; }
.savings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.savings-grid article { padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.savings-grid strong,.savings-grid small { display:block; }
.savings-grid strong { font-size:12px; }
.savings-grid small { margin-top:4px; color:var(--muted); font-size:8px; }
.savings-grid progress { margin:12px 0; }
.savings-grid form { display:grid; grid-template-columns:1fr auto; gap:6px; }
.savings-grid input { height:35px; }
.user-management-layout { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:20px; align-items:start; }
.create-user-form { position:sticky; top:165px; }
.create-user-form h3 { margin:0 0 4px; font-size:16px; }
.managed-users { min-width:0; display:grid; gap:10px; }
.managed-user-card { min-width:0; border:1px solid var(--line); border-radius:15px; background:var(--surface); overflow:hidden; }
.managed-user-summary { padding:15px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.managed-user-summary > div { min-width:0; position:relative; padding-left:17px; }
.managed-user-summary strong,.managed-user-summary small { display:block; overflow-wrap:anywhere; }
.managed-user-summary strong { font-size:14px; }
.managed-user-summary small { margin-top:4px; color:var(--muted); font-size:10px; }
.managed-user-summary em { margin-left:6px; padding:3px 6px; border-radius:6px; color:var(--accent-dark); font-size:8px; font-style:normal; text-transform:uppercase; background:rgba(115,87,255,.12); }
.managed-user-summary .role-admin { color:#805fff; background:rgba(128,95,255,.14); }
.managed-user-summary .role-family { color:#16835b; background:rgba(31,174,116,.13); }
.managed-user-summary .role-friend { color:#2475aa; background:rgba(42,140,201,.13); }
.managed-user-summary .role-brother { color:#a85e20; background:rgba(224,135,52,.14); }
.managed-user-summary .role-sister { color:#b54b80; background:rgba(220,82,148,.14); }
.managed-user-summary details summary { padding:7px 10px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:10px; font-weight:800; background:var(--paper); cursor:pointer; list-style:none; }
.managed-user-summary details[open] summary { color:var(--accent-dark); border-color:var(--accent); }
.managed-user-card:not(:has(details[open])) .user-editor { display:none; }
.user-editor { padding:18px; border-top:1px solid var(--line); background:var(--paper); }
.user-profile-form { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.user-profile-form label,.account-actions label { display:grid; gap:6px; margin:0; color:var(--muted); font-size:10px; font-weight:800; }
.user-profile-form input,.user-profile-form select,.account-actions input { height:41px; }
.user-profile-form select { padding:0 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--surface); }
.user-profile-form textarea { width:100%; padding:11px 13px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.notes-field,.user-profile-form button { grid-column:1 / -1; }
.account-actions { margin-top:16px; padding-top:15px; display:flex; align-items:end; gap:8px; border-top:1px solid var(--line); flex-wrap:wrap; }
.account-actions form:first-child { display:grid; grid-template-columns:minmax(150px,1fr) auto; align-items:end; gap:8px; flex:1 1 330px; }
.account-actions button { min-height:39px; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:10px; font-weight:800; background:var(--surface); cursor:pointer; }
.account-actions .danger-link { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }

/* Dashboard 2.0 */
.command-page { background:radial-gradient(circle at 8% 6%,rgba(83,122,255,.12),transparent 25%),radial-gradient(circle at 92% 0,rgba(122,84,255,.2),transparent 29%),var(--page); }
.command-dashboard { width:min(1260px,calc(100% - 40px)); padding-top:72px; }
.command-hero { min-height:310px; padding:42px; display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:40px; border:1px solid rgba(151,169,255,.24); border-radius:27px; color:#fff; background:radial-gradient(circle at 85% 5%,rgba(140,113,255,.75),transparent 32%),radial-gradient(circle at 5% 110%,rgba(53,149,216,.35),transparent 36%),linear-gradient(135deg,#17224b,#10142f 58%,#171033); box-shadow:0 24px 75px rgba(10,18,47,.32); overflow:hidden; }
.command-hero .eyebrow { color:#b9c7ff; }
.command-hero h1 { max-width:780px; color:#fff; font-size:clamp(42px,6vw,72px); }
.command-hero-copy > p:not(.eyebrow) { max-width:670px; margin:16px 0 0; color:#c9d0e9; font-size:16px; line-height:1.65; }
.command-actions { margin-top:27px; display:flex; gap:9px; flex-wrap:wrap; }
.command-actions a { padding:11px 14px; border:1px solid rgba(255,255,255,.16); border-radius:11px; color:#fff; font-size:10px; font-weight:850; text-decoration:none; background:rgba(255,255,255,.09); backdrop-filter:blur(8px); }
.command-actions a:first-child { border-color:var(--brand-primary,var(--accent)); background:var(--brand-primary,var(--accent)); }
.command-actions a:hover { background:rgba(255,255,255,.16); }
.today-progress { padding:23px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:rgba(8,13,38,.35); backdrop-filter:blur(12px); }
.today-progress > header { padding-bottom:13px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(255,255,255,.12); }
.today-progress > header span { color:#aeb9db; font-size:8px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.today-progress > header time { color:#fff; font-size:11px; font-weight:850; }
.today-progress-score { padding:17px 0 14px; }
.today-progress-score > div { margin-bottom:14px; }
.today-progress-score strong,.today-progress-score small,.today-progress-score span { display:block; }
.today-progress-score strong { color:#fff; font-size:34px; line-height:1; }
.today-progress-score small { margin-top:6px; color:#ccd3ed; font-size:9px; font-weight:800; text-transform:uppercase; }
.today-progress-score progress { width:100%; height:9px; border:0; border-radius:999px; appearance:none; overflow:hidden; background:rgba(255,255,255,.14); }
.today-progress-score progress::-webkit-progress-bar { background:rgba(255,255,255,.14); }
.today-progress-score progress::-webkit-progress-value { background:linear-gradient(90deg,#8e75ff,#56c6ff); }
.today-progress-score progress::-moz-progress-bar { background:linear-gradient(90deg,#8e75ff,#56c6ff); }
.today-progress-score > span { margin-top:8px; color:#aeb9db; font-size:8px; }
.today-snapshot { margin:0; padding-top:13px; display:grid; gap:8px; border-top:1px solid rgba(255,255,255,.12); }
.today-snapshot > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.today-snapshot dt { color:#aeb9db; font-size:8px; }
.today-snapshot dd { margin:0; overflow:hidden; color:#fff; font-size:8px; font-weight:800; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-customizer { margin:15px 0 20px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 10px 30px var(--shadow); }
.dashboard-customizer summary { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; cursor:pointer; list-style:none; }
.dashboard-customizer summary::-webkit-details-marker { display:none; }
.dashboard-customizer summary span b,.dashboard-customizer summary span small { display:block; }
.dashboard-customizer summary span b { font-size:11px; }
.dashboard-customizer summary span small { margin-top:3px; color:var(--muted); font-size:8px; }
.dashboard-customizer summary em { padding:7px 10px; border-radius:8px; color:var(--accent-dark); font-size:9px; font-style:normal; font-weight:850; background:rgba(115,87,255,.11); }
.dashboard-customizer[open] summary { border-bottom:1px solid var(--line); }
.dashboard-customizer > form { padding:18px; }
.preference-grid { margin-bottom:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.preference-grid label { min-width:0; padding:11px; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.preference-grid label:hover,.preference-grid label:has(input:checked) { border-color:rgba(115,87,255,.48); background:rgba(115,87,255,.07); }
.preference-grid input { width:17px; height:17px; flex:0 0 auto; accent-color:var(--accent); }
.preference-grid strong,.preference-grid small { display:block; }
.preference-grid strong { font-size:10px; }
.preference-grid small { margin-top:2px; color:var(--muted); font-size:8px; }
.command-announcements { margin-bottom:20px; }
.command-stats { margin-bottom:17px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.command-stats > a { min-width:0; padding:16px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:16px; color:var(--ink); text-decoration:none; background:var(--paper); box-shadow:0 10px 30px var(--shadow); }
.command-stats > a:hover { border-color:rgba(115,87,255,.5); transform:translateY(-2px); }
.command-stat-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:16px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.command-stat-icon.habits { background:linear-gradient(135deg,#25b784,#18865f); }
.command-stat-icon.finance { background:linear-gradient(135deg,#4d9ce3,#4269cc); }
.command-stat-icon.workouts { background:linear-gradient(135deg,#ec7f58,#c84c68); }
.command-stats small,.command-stats strong,.command-stats em { display:block; }
.command-stats small { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.command-stats strong { margin:3px 0; overflow:hidden; font-size:21px; text-overflow:ellipsis; white-space:nowrap; }
.command-stats em { color:var(--muted); font-size:8px; font-style:normal; }
.command-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:17px; align-items:stretch; }
.command-widget { min-width:0; grid-column:span 6; padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 13px 38px var(--shadow); scroll-margin-top:145px; transition:border-color .2s,transform .2s,box-shadow .2s; }
.command-widget:hover { border-color:rgba(115,87,255,.34); box-shadow:0 17px 46px var(--shadow); }
.command-widget.widget-wide { grid-column:span 7; }
.command-widget.widget-narrow,.command-widget.weather-widget { grid-column:span 5; }
.command-widget.widget-full { grid-column:1 / -1; }
.command-grid > .command-widget:not(.widget-full):nth-child(odd) { grid-column:span 7; }
.command-grid > .command-widget:not(.widget-full):nth-child(even) { grid-column:span 5; }
.command-grid > .command-widget:not(.widget-full):last-child:nth-child(odd),
.command-grid > .command-widget:not(.widget-full):nth-child(odd):has(+ .widget-full) { grid-column:1 / -1; }
.command-widget-heading { margin-bottom:17px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.command-widget-heading .eyebrow { margin-bottom:4px; }
.command-widget-heading h2 { margin:0; font-size:20px; }
.command-widget-heading > a { padding:7px 9px; border-radius:8px; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; background:rgba(115,87,255,.1); white-space:nowrap; }
.dashboard-quick-task { margin-bottom:12px; display:grid; grid-template-columns:minmax(0,1fr) 132px auto; gap:7px; }
.dashboard-quick-task input { height:40px; padding:0 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--surface); }
.dashboard-quick-task input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.1); }
.dashboard-quick-task button { padding:0 13px; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:850; background:var(--accent); cursor:pointer; }
.dashboard-task-list { display:grid; gap:7px; }
.dashboard-task-list article { padding:10px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.dashboard-task-list article:hover { border-color:rgba(115,87,255,.38); }
.dashboard-task-list article button { width:26px; height:26px; border:1px solid var(--line); border-radius:8px; background:var(--paper); cursor:pointer; }
.dashboard-task-list article button::after { color:var(--accent-dark); font-size:12px; content:"✓"; opacity:0; }
.dashboard-task-list article button:hover::after { opacity:1; }
.dashboard-task-list strong,.dashboard-task-list small { display:block; }
.dashboard-task-list strong { font-size:11px; }
.dashboard-task-list small { margin-top:3px; color:var(--muted); font-size:8px; }
.widget-empty { min-height:115px; display:grid; place-content:center; justify-items:center; text-align:center; color:var(--muted); }
.widget-empty.compact { min-height:70px; }
.widget-empty > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); font-size:16px; background:rgba(115,87,255,.11); }
.widget-empty p { max-width:330px; margin:9px 0 0; font-size:10px; line-height:1.5; }
.widget-empty > a { margin-top:8px; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; }
.weather-widget { color:#fff; border-color:rgba(151,169,255,.22); background:radial-gradient(circle at 90% 0,rgba(113,164,255,.48),transparent 38%),linear-gradient(145deg,#22386b,#111b39); }
.weather-widget .eyebrow { color:#aebff2; }
.weather-widget .command-widget-heading h2 { color:#fff; }
.weather-widget .command-widget-heading > a { color:#fff; background:rgba(255,255,255,.1); }
.dashboard-weather-main { margin:6px 0 25px; display:flex; align-items:center; gap:14px; }
.dashboard-weather-main > span { width:64px; height:64px; display:grid; place-items:center; border-radius:18px; font-size:32px; background:rgba(255,255,255,.1); }
.dashboard-weather-main strong { display:block; color:#fff; font-size:48px; line-height:1; }
.dashboard-weather-main p { margin:4px 0 0; color:#c6d3f4; font-size:10px; }
.dashboard-weather-details { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dashboard-weather-details div { padding:11px; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(255,255,255,.06); }
.dashboard-weather-details small,.dashboard-weather-details b { display:block; }
.dashboard-weather-details small { color:#aebff0; font-size:8px; }
.dashboard-weather-details b { margin-top:4px; color:#fff; font-size:11px; }
.weather-widget .widget-empty { color:#c3cceb; }
.dashboard-habit-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dashboard-habit-list article { min-width:0; padding:12px; display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:9px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.dashboard-habit-list article form { grid-row:1 / 3; align-self:center; }
.dashboard-habit-list button { width:29px; height:29px; border:1px solid var(--line); border-radius:9px; color:#fff; background:var(--paper); cursor:pointer; }
.dashboard-habit-list article.done button { border-color:#2ba978; background:#2ba978; }
.dashboard-habit-list strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-habit-list small { margin-top:2px; color:var(--muted); font-size:8px; }
.dashboard-event-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dashboard-event-list article { padding:11px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.dashboard-event-list time { width:39px; height:42px; display:grid; place-content:center; justify-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.dashboard-event-list time strong { font-size:14px; line-height:1; }
.dashboard-event-list time small { margin-top:2px; color:#ded9ff; font-size:7px; text-transform:uppercase; }
.dashboard-event-list article > div strong,.dashboard-event-list article > div small { display:block; }
.dashboard-event-list article > div strong { font-size:10px; }
.dashboard-event-list article > div small { margin-top:4px; color:var(--muted); font-size:8px; }
.dashboard-money-net { padding:17px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.dashboard-money-net small,.dashboard-money-net strong { display:block; }
.dashboard-money-net small { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.dashboard-money-net strong { margin-top:5px; font-size:27px; }
.dashboard-money-net strong.positive { color:#2ba978; }
.dashboard-money-net strong.negative { color:#d45b72; }
.dashboard-money-bars { margin:16px 0; display:grid; gap:12px; }
.dashboard-money-bars span { margin-bottom:6px; display:flex; justify-content:space-between; gap:12px; font-size:9px; }
.dashboard-money-bars span em { color:var(--muted); font-style:normal; }
.dashboard-money-bars progress { width:100%; height:9px; appearance:none; border:0; border-radius:999px; overflow:hidden; background:var(--line); }
.dashboard-money-bars progress::-webkit-progress-bar { background:var(--line); }
.dashboard-money-bars progress.income::-webkit-progress-value { background:#2ba978; }
.dashboard-money-bars progress.expense::-webkit-progress-value { background:#d45b72; }
.dashboard-money-bars progress.income::-moz-progress-bar { background:#2ba978; }
.dashboard-money-bars progress.expense::-moz-progress-bar { background:#d45b72; }
.widget-primary-link { display:inline-block; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; }
.dashboard-training-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dashboard-training-stats div { padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.dashboard-training-stats strong,.dashboard-training-stats small { display:block; }
.dashboard-training-stats strong { font-size:17px; }
.dashboard-training-stats small { margin-top:4px; color:var(--muted); font-size:7px; font-weight:800; text-transform:uppercase; }
.latest-workout { margin-top:13px; padding:13px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.latest-workout > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#ec7f58,#c84c68); }
.latest-workout small,.latest-workout strong,.latest-workout p { display:block; }
.latest-workout small { color:var(--muted); font-size:8px; }
.latest-workout strong { margin-top:3px; font-size:12px; }
.latest-workout p { margin:3px 0 0; color:var(--muted); font-size:8px; }
.wellness-glance { margin:10px 0 0; color:var(--muted); font-size:8px; }
.dashboard-goal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.dashboard-goal-grid article { padding:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.dashboard-goal-grid article div span,.dashboard-goal-grid article div strong,.dashboard-goal-grid article div small { display:block; }
.dashboard-goal-grid article div span { color:var(--accent-dark); font-size:7px; font-weight:850; text-transform:uppercase; }
.dashboard-goal-grid article div strong { margin:4px 0; font-size:11px; }
.dashboard-goal-grid article div small { color:var(--muted); font-size:8px; }
.dashboard-goal-grid article > b { color:var(--accent-dark); font-size:11px; }
.dashboard-goal-grid progress { width:100%; height:8px; grid-column:1 / -1; appearance:none; border:0; border-radius:999px; overflow:hidden; background:var(--line); }
.dashboard-goal-grid progress::-webkit-progress-bar { background:var(--line); }
.dashboard-goal-grid progress::-webkit-progress-value { background:linear-gradient(90deg,#8067ff,#5d9dff); }
.dashboard-goal-grid progress::-moz-progress-bar { background:linear-gradient(90deg,#8067ff,#5d9dff); }
.dashboard-goal-grid article > em { grid-column:1 / -1; color:var(--muted); font-size:7px; font-style:normal; }
.dashboard-launchpad { margin-top:18px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 13px 38px var(--shadow); }
.dashboard-launchpad h2 { margin:0; font-size:20px; }
.dashboard-launchpad nav { margin-top:16px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.dashboard-launchpad nav a { min-width:0; padding:12px 9px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-size:9px; text-decoration:none; background:var(--surface); }
.dashboard-launchpad nav a:hover { border-color:var(--accent); transform:translateY(-2px); }
.dashboard-launchpad nav span { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; color:#fff; font-weight:900; background:var(--accent); }
.dashboard-launchpad nav b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.command-actions a,.command-stats>a,.command-widget-heading>a,.widget-primary-link,.dashboard-launchpad a,.dashboard-customizer summary,.dashboard-quick-task button,.dashboard-task-list button,.dashboard-habit-list button { transition:border-color .18s,background-color .18s,color .18s,transform .18s,box-shadow .18s; }
.command-actions a:focus-visible,.command-stats>a:focus-visible,.command-widget-heading>a:focus-visible,.widget-primary-link:focus-visible,.dashboard-launchpad a:focus-visible,.dashboard-customizer summary:focus-visible,.dashboard-quick-task button:focus-visible,.dashboard-task-list button:focus-visible,.dashboard-habit-list button:focus-visible { outline:3px solid rgba(115,87,255,.35); outline-offset:3px; }
@media (max-width:1120px) { .topbar{grid-template-columns:auto 1fr}.main-nav{grid-column:1 / -1; grid-row:2; justify-content:flex-start; overflow-x:auto; padding-bottom:10px; scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.topbar-actions{justify-self:end}.dashboard{padding-top:64px} }
@media (max-width:1000px) { .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px) { .personal-grid{grid-template-columns:1fr;grid-template-areas:"notes" "bookmarks" "tasks" "calendar"}.tip-groups{grid-template-columns:1fr 1fr}.tip-groups .safety-tip{grid-column:1 / -1}.gym-stats{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:6px}.gym-insights{grid-template-columns:1fr 1fr}.gym-insights article:last-child{grid-column:1 / -1}.growth-home-grid{grid-template-columns:1fr}.growth-split,.habit-layout,.finance-grid{grid-template-columns:1fr}.records-grid{grid-template-columns:1fr}.savings-grid{grid-template-columns:1fr 1fr}.savings-area .inline-create{grid-template-columns:1fr 1fr}.creator-stats{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar input{grid-column:1 / -1}.weather-hero{grid-template-columns:1fr}.forecast-grid{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto;padding-bottom:6px}.marine-now{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;padding-bottom:7px}.admin-split,.user-management-layout{grid-template-columns:1fr}.create-user-form{position:static} }
@media (max-width:760px) { .login-page{padding:0;background:var(--paper)}.login-shell{min-height:100vh;display:block;border-radius:0;box-shadow:none}.brand-panel{display:none}.form-panel{min-height:100vh;padding:30px 24px}.mobile-brand{display:flex;margin-top:52px}.form-wrap h2{font-size:36px}.theme-selector.floating{top:20px;right:20px}.dashboard{padding:52px 0}.placeholder-card{align-items:flex-start}.topbar{padding:10px 16px 0}.wordmark{font-size:0}.topbar .theme-selector button{padding:6px 8px;font-size:0}.topbar .theme-selector button span{font-size:15px}.workspace-grid{grid-template-columns:1fr}.workspace-card:last-child{grid-column:auto}.tool-card{padding:20px}.quick-form{grid-template-columns:1fr}.quick-form input[type="date"],.quick-form input[type="datetime-local"]{width:100%}.note-grid{grid-template-columns:1fr} }
@keyframes command-reveal { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.command-hero { animation:command-reveal .42s ease both; }
.dashboard-customizer,.command-announcements,.command-stats,.command-grid,.dashboard-launchpad { animation:command-reveal .42s ease .08s both; }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media (max-width:680px) { .page-heading{display:block}.add-content-button{margin:0 0 24px}.content-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.filter-bar input{grid-column:auto}.form-row{grid-template-columns:1fr}.metrics-form{grid-template-columns:repeat(3,1fr)}.gym-section{padding:20px}.gym-heading{display:block}.gym-period-form{margin-top:14px}.gym-form-grid{grid-template-columns:1fr 1fr}.gym-form .wide-field{grid-column:1 / -1}.gym-insights{grid-template-columns:1fr}.gym-insights article:last-child{grid-column:auto}.tip-groups{grid-template-columns:1fr}.tip-groups .safety-tip{grid-column:auto}.set-row{grid-template-columns:28px 1fr 1fr 28px}.set-row label:nth-of-type(3),.set-row label:nth-of-type(4){grid-column:auto}.logged-sets{grid-template-columns:1fr}.gym-entry{align-items:start}.weather-hero{padding:24px}.weather-now{align-items:flex-start}.weather-symbol{width:60px;height:60px;border-radius:18px;font-size:31px}.temperature{font-size:58px}.weather-meta{grid-template-columns:1fr 1fr}.forecast-section,.marine-section{padding:20px}.marine-warning{grid-template-columns:1fr}.admin-section{padding:20px}.message-list,.settings-form,.user-profile-form{grid-template-columns:1fr}.settings-form label,.settings-form label:first-of-type,.user-profile-form label,.user-profile-form button{grid-column:auto}.settings-form .checkbox-row,.settings-form button,.notes-field{grid-column:1 / -1}.admin-list article{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.website-button{padding:8px 10px;font-size:0}.website-button span{font-size:17px}.theme-selector.dashboard-theme{right:14px;bottom:14px}.managed-user-summary{align-items:flex-start}.account-actions form:first-child{grid-template-columns:1fr}.account-actions form{width:100%}.account-actions button{width:100%} }
@media (max-width:680px) { .growth-home-grid>a{padding:17px;grid-template-columns:38px minmax(0,1fr)}.growth-home-grid>a>span{width:38px;height:38px}.growth-home-grid>a>b{grid-column:2}.growth-section{padding:20px}.growth-heading{align-items:flex-start}.inline-add,.inline-create,.savings-area .inline-create{grid-template-columns:1fr}.inline-add button{min-height:38px}.savings-grid{grid-template-columns:1fr}.wellness-ratings{grid-template-columns:1fr 1fr 1fr}.finance-summary{grid-template-columns:1fr 1fr}.transaction-list article{grid-template-columns:auto minmax(0,1fr) auto}.transaction-list .item-action{grid-column:1 / -1;justify-self:end} }
@media (max-width:680px) { .finance-heading{display:block}.finance-period-form{margin-top:14px}.finance-period-form label{min-width:0;flex:1}.finance-period-form select{width:100%;min-width:0}.finance-chart-card{padding:15px}.finance-chart-heading{display:block}.finance-chart-legend{margin-top:10px}.finance-summary-expanded strong{font-size:16px} }
@media (max-width:1050px) { .command-stats{grid-template-columns:1fr 1fr}.preference-grid{grid-template-columns:1fr 1fr}.command-grid>.command-widget:not(.widget-full):nth-child(n){grid-column:1 / -1}.dashboard-launchpad nav{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:860px) { .command-hero{grid-template-columns:1fr}.today-progress{max-width:420px}.command-widget{grid-column:1 / -1} }
@media (max-width:680px) { .command-dashboard{width:min(100% - 28px,1260px);padding-top:54px}.command-hero{min-height:0;padding:27px 22px;border-radius:21px}.command-hero h1{font-size:39px}.command-hero-copy>p:not(.eyebrow){font-size:13px}.command-actions a{flex:1 1 auto;text-align:center}.today-progress{padding:18px}.command-stats{grid-template-columns:1fr 1fr}.command-stats>a{padding:13px}.command-stat-icon{width:36px;height:36px}.command-stats strong{font-size:17px}.preference-grid{grid-template-columns:1fr}.command-widget{padding:19px}.dashboard-quick-task{grid-template-columns:1fr}.dashboard-quick-task input[type=date]{width:100%}.dashboard-quick-task button{min-height:40px}.dashboard-habit-list,.dashboard-event-list,.dashboard-goal-grid{grid-template-columns:1fr}.dashboard-launchpad{padding:19px}.dashboard-launchpad nav{grid-template-columns:1fr 1fr} }
@media (max-width:440px) { .command-stats{grid-template-columns:1fr}.dashboard-training-stats{grid-template-columns:1fr 1fr}.dashboard-training-stats div:last-child{grid-column:1 / -1}.dashboard-launchpad nav{grid-template-columns:1fr} }

/* Notification centre */
.notification-bell { position:relative; min-height:42px; padding:9px 12px; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-size:12px; font-weight:750; text-decoration:none; white-space:nowrap; background:var(--paper); transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s; }
.notification-bell > span { font-size:17px; line-height:1; }
.notification-bell em { font-style:normal; }
.notification-bell b { position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center; border:2px solid var(--topbar); border-radius:999px; color:#fff; font-size:8px; font-weight:900; line-height:1; background:#e44e6f; box-shadow:0 4px 12px rgba(172,34,69,.32); }
.notification-bell:hover,.notification-bell.active { border-color:var(--accent); color:var(--accent-dark); transform:translateY(-1px); }
.notification-bell.active { background:rgba(115,87,255,.11); }
.notification-bell:focus-visible { outline:3px solid rgba(115,87,255,.34); outline-offset:3px; }
.notifications-dashboard { width:min(1080px,calc(100% - 40px)); }
.notifications-hero { position:relative; min-height:250px; padding:42px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; overflow:hidden; border:1px solid rgba(137,116,255,.34); border-radius:25px; color:#fff; background:radial-gradient(circle at 82% 12%,rgba(139,178,255,.42),transparent 31%),radial-gradient(circle at 4% 100%,rgba(138,83,255,.34),transparent 35%),linear-gradient(138deg,#171d42,#292257 65%,#423178); box-shadow:0 22px 60px rgba(28,24,69,.28); }
.notifications-hero::after { position:absolute; width:170px; height:170px; right:-55px; bottom:-75px; border:1px solid rgba(255,255,255,.14); border-radius:50%; content:""; }
.notifications-hero .eyebrow { color:#c8c0ff; }
.notifications-hero h1 { margin:6px 0 10px; color:#fff; font-size:49px; line-height:1; letter-spacing:-2px; }
.notifications-hero p:not(.eyebrow) { max-width:600px; margin:0; color:#cdd4ef; font-size:13px; line-height:1.65; }
.notification-hero-count { position:relative; z-index:1; min-width:170px; padding:24px; border:1px solid rgba(255,255,255,.16); border-radius:19px; text-align:center; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.notification-hero-count strong,.notification-hero-count span,.notification-hero-count small { display:block; }
.notification-hero-count strong { color:#fff; font-size:55px; line-height:.95; }
.notification-hero-count span { margin-top:8px; color:#dcd7ff; font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.notification-hero-count small { margin-top:7px; color:#b9c2e0; font-size:9px; }
.notification-toolbar { margin:18px 0; padding:10px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 28px var(--shadow); }
.notification-toolbar nav { display:flex; align-items:center; gap:5px; }
.notification-toolbar nav a { padding:9px 12px; display:inline-flex; align-items:center; gap:7px; border-radius:10px; color:var(--muted); font-size:10px; font-weight:800; text-decoration:none; }
.notification-toolbar nav a span { min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:999px; color:var(--muted); font-size:8px; background:var(--surface); }
.notification-toolbar nav a:hover,.notification-toolbar nav a.active { color:var(--accent-dark); background:rgba(115,87,255,.1); }
.notification-toolbar nav a.active span { color:#fff; background:var(--accent); }
.notification-toolbar > form button { min-height:36px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); font-size:9px; font-weight:850; background:var(--surface); cursor:pointer; }
.notification-toolbar > form button:hover { border-color:var(--accent); color:var(--accent-dark); }
.notification-list { display:grid; gap:10px; }
.notification-card { position:relative; padding:20px 20px 20px 23px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:15px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:16px; background:var(--paper); box-shadow:0 10px 32px var(--shadow); transition:border-color .18s,transform .18s,box-shadow .18s,opacity .18s; }
.notification-card:hover { border-color:rgba(115,87,255,.48); transform:translateY(-1px); box-shadow:0 14px 38px var(--shadow); }
.notification-card.priority-urgent { border-left-color:#e44e6f; }
.notification-card.priority-high { border-left-color:#e99b3b; }
.notification-card.read { opacity:.72; box-shadow:0 6px 21px var(--shadow); }
.notification-type-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:var(--accent-dark); font-size:17px; font-weight:900; background:rgba(115,87,255,.11); }
.priority-urgent .notification-type-icon { color:#d63c61; background:rgba(228,78,111,.12); }
.priority-high .notification-type-icon { color:#c7771c; background:rgba(233,155,59,.13); }
.notification-content { min-width:0; }
.notification-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.notification-title-row > div > span { display:block; color:var(--muted); font-size:8px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.notification-title-row h2 { margin:5px 0 0; font-size:15px; line-height:1.3; }
.notification-title-row > b { padding:5px 7px; border-radius:7px; color:#fff; font-size:7px; letter-spacing:.08em; text-transform:uppercase; background:var(--accent); }
.notification-content > p { margin:7px 0 12px; color:var(--muted); font-size:10px; line-height:1.55; }
.notification-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.notification-actions a,.notification-actions button { min-height:30px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-family:inherit; font-size:8px; font-weight:850; text-decoration:none; background:var(--surface); cursor:pointer; }
.notification-actions a { display:inline-flex; align-items:center; color:#fff; border-color:var(--accent); background:var(--accent); }
.notification-actions a:hover,.notification-actions button:hover { border-color:var(--accent); transform:translateY(-1px); }
.notification-actions button.dismiss { color:var(--muted); border-color:transparent; background:transparent; }
.notification-toolbar a:focus-visible,.notification-toolbar button:focus-visible,.notification-actions a:focus-visible,.notification-actions button:focus-visible { outline:3px solid rgba(115,87,255,.32); outline-offset:2px; }
.notification-empty { min-height:300px; padding:42px 24px; display:grid; place-content:center; justify-items:center; border:1px dashed var(--line); border-radius:20px; text-align:center; background:var(--paper); }
.notification-empty > span { width:60px; height:60px; display:grid; place-items:center; border-radius:18px; color:#fff; font-size:23px; background:linear-gradient(135deg,#32b381,#208e66); box-shadow:0 12px 28px rgba(32,142,102,.25); }
.notification-empty h2 { margin:17px 0 7px; font-size:21px; }
.notification-empty p { max-width:420px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.notification-empty a { margin-top:15px; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; }
.notification-footnote { margin:18px 4px 0; color:var(--muted); font-size:8px; line-height:1.5; text-align:center; }
@media (max-width:760px) { .notification-bell { padding:8px 10px; } .notification-bell em { display:none; } .notifications-dashboard { width:min(100% - 28px,1080px); padding-top:54px; } .notifications-hero { min-height:0; padding:28px 23px; grid-template-columns:1fr; } .notifications-hero h1 { font-size:39px; } .notification-hero-count { min-width:0; display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:11px; text-align:left; } .notification-hero-count strong { grid-row:1 / 3; font-size:42px; } .notification-hero-count span { margin-top:0; } .notification-hero-count small { margin-top:2px; } }
@media (max-width:560px) { .notification-toolbar { align-items:stretch; flex-direction:column; } .notification-toolbar nav { display:grid; grid-template-columns:repeat(3,1fr); } .notification-toolbar nav a { justify-content:center; } .notification-toolbar > form button { width:100%; } .notification-card { padding:17px 15px; grid-template-columns:36px minmax(0,1fr); gap:11px; } .notification-type-icon { width:36px; height:36px; border-radius:11px; } .notification-title-row { gap:8px; } .notification-actions { gap:5px; } }

/* Portal-wide finishing touches */
html { scroll-behavior:smooth; scrollbar-color:var(--accent) var(--page); scrollbar-width:thin; }
::selection { color:#fff; background:var(--accent); }
a,button { -webkit-tap-highlight-color:transparent; }
input,textarea,select { caret-color:var(--accent); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:.78; }
body.dashboard-page { padding-bottom:72px; }
.topbar { transition:border-color .2s,box-shadow .2s,background-color .25s; }
.topbar.is-scrolled { border-bottom-color:rgba(115,87,255,.24); box-shadow:0 10px 32px rgba(14,16,31,.13); }
.wordmark .brand-mark { transition:transform .2s,box-shadow .2s; }
.wordmark:hover .brand-mark { transform:rotate(-4deg) scale(1.04); box-shadow:0 12px 32px rgba(104,72,255,.46); }
.main-nav a.active { box-shadow:inset 0 -2px var(--accent); }
.logout-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap; }
.logout-button::before { font-size:15px; line-height:1; content:"\21AA"; }
.logout-button:focus-visible,.website-button:focus-visible,.main-nav a:focus-visible,.wordmark:focus-visible,.personal-subnav a:focus-visible { outline:3px solid rgba(115,87,255,.32); outline-offset:3px; }
.personal-subnav { scroll-snap-type:x proximity; box-shadow:0 8px 24px rgba(19,27,56,.06); }
.personal-subnav a { scroll-snap-align:center; transition:color .18s,background-color .18s,box-shadow .18s; }
.personal-subnav a.active { box-shadow:inset 0 0 0 1px rgba(115,87,255,.16); }
.alert,.success-alert { display:flex; align-items:flex-start; gap:10px; transition:opacity .3s,transform .3s; }
.alert::before,.success-alert::before { width:22px; height:22px; flex:0 0 auto; display:grid; place-items:center; border-radius:7px; font-size:11px; font-weight:900; }
.alert::before { color:#fff; background:var(--danger); content:"!"; }
.success-alert::before { color:#fff; background:#28966a; content:"\2713"; }
.success-alert.is-hiding { opacity:0; transform:translateY(-5px); }
.empty-state { padding:19px; border:1px dashed var(--line); border-radius:12px; text-align:center; background:linear-gradient(135deg,rgba(115,87,255,.045),transparent),var(--surface); }
.notification-bell b { animation:notification-pop .45s cubic-bezier(.2,.9,.3,1.35) both; }
.notification-card.read { opacity:.82; }
.notification-actions button.open { color:#fff; border-color:var(--accent); background:var(--accent); }
.notification-actions button.open:hover { color:#fff; box-shadow:0 5px 14px rgba(115,87,255,.22); }
@keyframes notification-pop { 0% { opacity:0; transform:scale(.55); } 70% { transform:scale(1.13); } 100% { opacity:1; transform:scale(1); } }
@media (max-width:560px) { .topbar { gap:8px 10px; } .topbar-actions { gap:6px; } .main-nav { width:calc(100vw - 32px); scroll-snap-type:x proximity; scroll-padding-inline:4px; } .main-nav a { scroll-snap-align:start; font-size:12px; } .logout-button { width:42px; padding:8px; font-size:0; } .logout-button::before { font-size:16px; } .notification-bell { width:42px; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .notification-bell b { animation:none; } }

/* Expanded Mackay weather and marine hub */
.weather-dashboard { width:min(1260px,calc(100% - 40px)); }
.weather-freshness { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.weather-now small { display:block; margin-top:8px; color:#98a9cf; font-size:9px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.weather-section-heading { margin-bottom:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.weather-section-heading .eyebrow { margin-bottom:5px; }
.weather-section-heading h2 { margin:0; font-size:26px; letter-spacing:-.025em; }
.weather-section-heading p:not(.eyebrow) { max-width:660px; margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.weather-section-heading > span,.weather-section-heading > a { padding:7px 10px; border:1px solid var(--line); border-radius:9px; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; white-space:nowrap; background:var(--surface); }
.weather-section-heading > a:hover { border-color:var(--accent); transform:translateY(-1px); }
.weather-chart-section,.weather-map-section { margin-bottom:20px; padding:28px; border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.weather-chart-section { background:radial-gradient(circle at 95% 0,rgba(255,176,96,.09),transparent 32%),var(--paper); }
.weather-insight-strip { margin-bottom:15px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.weather-insight-strip article { padding:14px; display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.weather-insight-strip article > span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:15px; background:linear-gradient(135deg,#6b9fff,#7d5af1); }
.weather-insight-strip small,.weather-insight-strip strong { display:block; }
.weather-insight-strip small { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.weather-insight-strip strong { margin-top:3px; font-size:15px; }
.weather-chart-grid,.marine-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.weather-chart-card { min-width:0; padding:18px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.weather-chart-card.chart-wide { grid-column:1 / -1; }
.chart-card-heading { margin-bottom:7px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.chart-card-heading small,.chart-card-heading h3 { display:block; }
.chart-card-heading small { color:var(--accent-dark); font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.chart-card-heading h3 { margin:4px 0 0; font-size:15px; }
.chart-card-heading > span { padding:5px 7px; border-radius:7px; color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; background:var(--paper); }
.portal-chart-wrap { position:relative; min-width:0; }
.portal-chart-wrap canvas { width:100%; height:245px; display:block; cursor:crosshair; }
.chart-tooltip { position:absolute; z-index:4; top:38px; min-width:145px; padding:10px; border:1px solid var(--line); border-radius:11px; opacity:0; color:var(--ink); background:var(--paper); box-shadow:0 12px 30px var(--shadow); pointer-events:none; transform:translate(-50%,-5px); transition:opacity .15s,transform .15s; }
.chart-tooltip.visible { opacity:1; transform:translate(-50%,0); }
.chart-tooltip strong,.chart-tooltip span { display:block; }
.chart-tooltip strong { margin-bottom:7px; font-size:9px; }
.chart-tooltip span { margin-top:5px; display:flex; align-items:center; gap:7px; }
.chart-tooltip i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; }
.chart-tooltip em { color:var(--muted); font-size:8px; font-style:normal; }
.weather-map-section { background:radial-gradient(circle at 0 100%,rgba(75,188,180,.1),transparent 34%),var(--paper); }
.weather-map-layout { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(240px,.9fr); gap:14px; }
.weather-map-frame { min-height:430px; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,#173044,#1f5064); }
.weather-map-frame iframe { width:100%; height:100%; min-height:430px; display:block; border:0; filter:saturate(.88) contrast(.97); }
:root[data-theme="dark"] .weather-map-frame iframe { filter:saturate(.78) brightness(.8) contrast(1.06); }
.map-points { display:grid; align-content:start; gap:9px; }
.map-points article { padding:15px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.map-pin { width:34px; height:34px; display:grid; place-items:center; border:8px solid rgba(115,87,255,.14); border-radius:50%; background:var(--accent); background-clip:padding-box; box-shadow:0 7px 18px rgba(115,87,255,.22); }
.map-pin.marine { border-color:rgba(56,190,198,.16); background:#35b8c2; }
.map-points small,.map-points strong,.map-points p { display:block; }
.map-points small { color:var(--muted); font-size:7px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.map-points strong { margin-top:3px; font-size:12px; }
.map-points p { margin:3px 0 0; color:var(--muted); font-size:8px; }
.map-note { padding:17px; border:1px solid rgba(115,87,255,.25); border-radius:14px; background:linear-gradient(135deg,rgba(115,87,255,.11),rgba(115,87,255,.04)); }
.map-note strong { display:block; font-size:11px; }
.map-note p { margin:6px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.map-credit { margin:10px 2px 0; color:var(--muted); font-size:8px; }
.map-credit a,.weather-credit a { color:var(--accent-dark); }
.weather-map-section + .forecast-section { margin-top:0; }
.forecast-section { margin-bottom:0; }
.marine-heading > div > p:last-child { max-width:760px; margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.marine-insight-strip { margin:15px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.marine-insight-strip article { padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.marine-insight-strip small,.marine-insight-strip strong,.marine-insight-strip span { display:block; }
.marine-insight-strip small { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.marine-insight-strip strong { margin-top:5px; font-size:18px; }
.marine-insight-strip span { margin-top:3px; color:var(--muted); font-size:8px; }
.marine-chart-grid { margin-top:12px; }
.marine-resource-grid { margin-top:17px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.marine-resource-grid > a { padding:14px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid var(--line); border-radius:13px; color:var(--ink); text-decoration:none; background:var(--surface); transition:border-color .18s,transform .18s; }
.marine-resource-grid > a:hover { border-color:var(--accent); transform:translateY(-1px); }
.marine-resource-grid > a > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:15px; background:linear-gradient(135deg,#4f8dde,#5e56dc); }
.marine-resource-grid strong,.marine-resource-grid small { display:block; }
.marine-resource-grid strong { font-size:11px; }
.marine-resource-grid small { margin-top:3px; color:var(--muted); font-size:8px; }
.marine-resource-grid b { color:var(--accent-dark); }
.weather-credit { margin-top:17px; }
@media (max-width:1000px) { .weather-map-layout { grid-template-columns:1fr; } .map-points { grid-template-columns:1fr 1fr; } .map-note { grid-column:1 / -1; } .marine-insight-strip { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .weather-chart-section,.weather-map-section { padding:20px; } .weather-chart-grid,.marine-chart-grid { grid-template-columns:1fr; } .weather-chart-card.chart-wide { grid-column:auto; } .weather-insight-strip { grid-template-columns:1fr; } .weather-section-heading { display:block; } .weather-section-heading > span,.weather-section-heading > a { margin-top:12px; display:inline-block; } .portal-chart-wrap canvas { height:225px; } .weather-map-frame,.weather-map-frame iframe { min-height:350px; } .marine-resource-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .weather-dashboard { width:min(100% - 28px,1260px); } .weather-heading { display:block; } .weather-freshness { margin:0 0 15px; justify-content:flex-start; } .weather-chart-section,.weather-map-section,.forecast-section,.marine-section { padding:18px; } .map-points { grid-template-columns:1fr; } .map-note { grid-column:auto; } .weather-map-frame,.weather-map-frame iframe { min-height:300px; } .marine-insight-strip { grid-template-columns:1fr 1fr; } .portal-chart-wrap canvas { height:215px; } }

/* First-login welcome */
.first-login-welcome { position:fixed; inset:0; width:min(650px,calc(100% - 32px)); max-height:min(820px,calc(100dvh - 32px)); margin:auto; padding:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:1px solid rgba(141,119,255,.42); border-radius:26px; color:var(--ink); background:var(--paper); box-shadow:0 30px 100px rgba(9,11,27,.42); scrollbar-width:none; }
.first-login-welcome::-webkit-scrollbar { display:none; }
.first-login-welcome::backdrop { background:rgba(8,10,24,.74); backdrop-filter:blur(8px); }
.welcome-glow { position:absolute; z-index:0; width:340px; height:260px; top:-155px; right:-90px; border-radius:50%; background:radial-gradient(circle,rgba(115,87,255,.38),transparent 70%); pointer-events:none; }
.welcome-copy,.welcome-tips,.welcome-actions { position:relative; z-index:1; }
.welcome-copy { padding:38px 38px 20px; text-align:center; }
.welcome-copy .eyebrow { margin-bottom:8px; }
.welcome-copy h2 { max-width:540px; margin:0 auto; font-size:35px; line-height:1.08; letter-spacing:-1.2px; }
.welcome-copy > p:last-child { max-width:535px; margin:13px auto 0; color:var(--muted); font-size:12px; line-height:1.7; }
.welcome-tips { margin:0 28px; display:grid; gap:8px; }
.welcome-tips article { padding:15px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.welcome-tips article > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,#7658f8,#527fe8); box-shadow:0 7px 18px rgba(93,78,224,.22); }
.welcome-tips strong { display:block; font-size:11px; }
.welcome-tips p { margin:4px 0 0; color:var(--muted); font-size:9px; line-height:1.45; }
.welcome-actions { padding:22px 28px 28px; display:flex; align-items:center; justify-content:center; gap:9px; }
.welcome-actions form { margin:0; }
.welcome-actions button,.welcome-actions > a { min-height:43px; padding:11px 16px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-family:inherit; font-size:10px; font-weight:900; text-decoration:none; background:var(--surface); cursor:pointer; }
.welcome-actions button { color:#fff; border-color:var(--accent); background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 9px 23px rgba(89,69,219,.28); }
.welcome-actions button:hover,.welcome-actions > a:hover { border-color:var(--accent); transform:translateY(-1px); }
.welcome-actions button:focus-visible,.welcome-actions > a:focus-visible { outline:3px solid rgba(115,87,255,.34); outline-offset:3px; }
@media (max-width:560px) { .first-login-welcome { width:min(100% - 20px,650px); max-height:calc(100dvh - 20px); border-radius:20px; } .welcome-copy { padding:30px 22px 17px; } .welcome-copy h2 { font-size:28px; } .welcome-copy > p:last-child { font-size:11px; } .welcome-tips { margin:0 14px; } .welcome-tips article { padding:12px; } .welcome-actions { padding:18px 14px 20px; align-items:stretch; flex-direction:column; } .welcome-actions form,.welcome-actions button,.welcome-actions > a { width:100%; } }
@media (prefers-reduced-motion:no-preference) { .first-login-welcome[open] { animation:welcome-in .28s cubic-bezier(.2,.8,.2,1) both; } .first-login-welcome[open]::backdrop { animation:welcome-backdrop-in .25s ease both; } }
@keyframes welcome-in { from { opacity:0; transform:translateY(16px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes welcome-backdrop-in { from { opacity:0; } to { opacity:1; } }

/* Website administration control centre */
.admin-command-page { background:radial-gradient(circle at 8% 4%,rgba(62,137,221,.1),transparent 27%),radial-gradient(circle at 94% 2%,rgba(120,82,247,.16),transparent 30%),var(--page); }
.admin-command-dashboard { width:min(1260px,calc(100% - 40px)); padding-top:72px; }
.admin-command-hero { min-height:300px; margin-bottom:16px; padding:40px; display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:center; gap:38px; overflow:hidden; border:1px solid rgba(151,169,255,.25); border-radius:27px; color:#fff; background:radial-gradient(circle at 90% 0,rgba(141,104,255,.72),transparent 35%),radial-gradient(circle at 0 110%,rgba(42,151,205,.34),transparent 38%),linear-gradient(137deg,#17234a,#11152f 59%,#1a1238); box-shadow:0 24px 72px rgba(10,18,47,.3); scroll-margin-top:150px; }
.admin-command-hero .eyebrow { color:#b9c9ff; }
.admin-command-hero h1 { margin:8px 0 13px; color:#fff; font-size:clamp(43px,6vw,70px); line-height:.98; letter-spacing:-3px; }
.admin-command-hero > div > p:not(.eyebrow) { max-width:680px; margin:0; color:#cad2eb; font-size:14px; line-height:1.65; }
.admin-hero-actions { margin-top:25px; display:flex; gap:8px; flex-wrap:wrap; }
.admin-hero-actions a { padding:11px 14px; border:1px solid rgba(255,255,255,.17); border-radius:11px; color:#fff; font-size:10px; font-weight:850; text-decoration:none; background:rgba(255,255,255,.09); transition:background-color .18s,transform .18s; }
.admin-hero-actions a:first-child { border-color:var(--brand-primary,var(--accent)); background:var(--brand-primary,var(--accent)); }
.admin-hero-actions a:hover { background:rgba(255,255,255,.17); transform:translateY(-1px); }
.admin-site-pulse { padding:24px; border:1px solid rgba(255,255,255,.17); border-radius:21px; background:rgba(8,13,38,.39); backdrop-filter:blur(12px); }
.site-state { padding:7px 9px; display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(53,187,124,.25); border-radius:999px; color:#42d890; font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; background:rgba(38,168,109,.12); }
.site-state i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(66,216,144,.1); }
.site-state.maintenance { color:#f0b45e; border-color:rgba(240,180,94,.3); background:rgba(199,127,38,.12); }
.admin-site-pulse > strong { margin-top:19px; display:block; color:#fff; font-size:22px; }
.admin-site-pulse > p { min-height:34px; margin:7px 0 20px; color:#bfc8e4; font-size:10px; line-height:1.55; }
.admin-site-pulse > div { padding-top:15px; border-top:1px solid rgba(255,255,255,.12); }
.admin-site-pulse > div span { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.admin-site-pulse b { color:#fff; font-size:18px; }
.admin-site-pulse small { color:#aeb9da; font-size:8px; font-weight:850; text-transform:uppercase; }
.admin-site-pulse progress { width:100%; height:7px; margin-top:10px; overflow:hidden; border:0; border-radius:999px; appearance:none; background:rgba(255,255,255,.13); }
.admin-site-pulse progress::-webkit-progress-bar { background:rgba(255,255,255,.13); }
.admin-site-pulse progress::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,#39bf91,#7f6cff); }
.admin-site-pulse progress::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,#39bf91,#7f6cff); }
.admin-subnav { position:sticky; z-index:15; top:91px; margin-bottom:16px; box-shadow:0 10px 32px var(--shadow); scrollbar-width:none; }
.admin-subnav::-webkit-scrollbar { display:none; }
.admin-subnav a.active { color:var(--accent-dark); background:rgba(115,87,255,.1); }
.admin-overview-stats { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.admin-overview-stats > a { min-width:0; padding:17px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:16px; color:var(--ink); text-decoration:none; background:var(--paper); box-shadow:0 10px 30px var(--shadow); transition:border-color .18s,transform .18s; }
.admin-overview-stats > a:hover { border-color:rgba(115,87,255,.52); transform:translateY(-2px); }
.admin-stat-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:16px; font-weight:900; background:linear-gradient(135deg,#7c67f7,#5942da); }
.admin-stat-icon.pages { background:linear-gradient(135deg,#45a0df,#3865ca); }
.admin-stat-icon.announcements { background:linear-gradient(135deg,#ee9c52,#d36462); }
.admin-stat-icon.messages { background:linear-gradient(135deg,#31b78c,#258c72); }
.admin-overview-stats small,.admin-overview-stats strong,.admin-overview-stats em { display:block; }
.admin-overview-stats small { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.admin-overview-stats strong { margin:3px 0; font-size:22px; }
.admin-overview-stats em { overflow:hidden; color:var(--muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.admin-overview-grid { margin-bottom:20px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.admin-overview-panel { padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.admin-panel-heading { margin-bottom:16px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.admin-panel-heading .eyebrow { margin-bottom:4px; }
.admin-panel-heading h2 { margin:0; font-size:19px; }
.admin-panel-heading > b { padding:6px 8px; border-radius:8px; color:var(--accent-dark); font-size:8px; text-transform:uppercase; background:rgba(115,87,255,.1); }
.site-check-list,.admin-activity-list { display:grid; gap:8px; }
.site-check-list a { padding:11px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:var(--surface); }
.site-check-list a > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:var(--muted); font-weight:900; background:var(--paper); }
.site-check-list a.done > span { color:#fff; background:#2ba978; }
.site-check-list strong,.site-check-list small { display:block; }
.site-check-list strong { font-size:10px; }
.site-check-list small { margin-top:2px; color:var(--muted); font-size:8px; }
.admin-activity-list article { padding:9px 3px; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.admin-activity-list article:last-child { border-bottom:0; }
.admin-activity-list article > span { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-size:12px; font-weight:900; background:rgba(115,87,255,.1); }
.admin-activity-list strong,.admin-activity-list small { display:block; }
.admin-activity-list strong { font-size:10px; }
.admin-activity-list small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.admin-expanded-section { scroll-margin-top:155px; }
.admin-expanded-section .admin-heading { align-items:flex-start; }
.admin-expanded-section .admin-heading p:not(.eyebrow) { max-width:620px; margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.admin-create-form { position:sticky; top:157px; }
.admin-create-form h3 { margin:0; font-size:16px; }
.admin-create-form > p { margin:-5px 0 3px; color:var(--muted); font-size:9px; line-height:1.5; }
.admin-form label small { color:var(--muted); font-size:8px; font-weight:500; }
.admin-content-list { min-width:0; display:grid; align-content:start; gap:10px; }
.admin-list-toolbar,.admin-filter-toolbar { padding:8px; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.admin-list-toolbar label,.admin-filter-toolbar > label { min-width:0; flex:1; display:flex; align-items:center; gap:8px; }
.admin-list-toolbar input,.admin-filter-toolbar input { width:100%; height:38px; border:0; outline:0; color:var(--ink); background:transparent; }
.admin-list-toolbar > span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; white-space:nowrap; }
.admin-content-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.admin-content-card > header { padding:15px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.admin-content-card > header > div:first-child { min-width:0; position:relative; padding-left:17px; }
.admin-content-card header strong,.admin-content-card header small { display:block; overflow-wrap:anywhere; }
.admin-content-card header strong { font-size:13px; }
.admin-content-card header small { margin-top:4px; color:var(--muted); font-size:9px; }
.admin-content-card > details { border-top:1px solid var(--line); background:var(--paper); }
.admin-content-card > details > summary { padding:11px 15px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:9px; font-weight:850; cursor:pointer; list-style:none; }
.admin-content-card > details > summary::-webkit-details-marker { display:none; }
.admin-content-card > details[open] > summary { color:var(--accent-dark); }
.admin-content-card > details[open] > summary span { transform:rotate(180deg); }
.admin-edit-form { padding:16px; display:grid; grid-template-columns:1fr 1fr; gap:11px; border-top:1px solid var(--line); }
.admin-edit-form label { display:grid; gap:6px; color:var(--muted); font-size:9px; font-weight:800; }
.admin-edit-form input,.admin-edit-form select { height:41px; }
.admin-edit-form select { padding:0 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); }
.admin-edit-form textarea { width:100%; padding:12px; resize:vertical; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:0; background:var(--surface); }
.admin-edit-form .wide { grid-column:1 / -1; }
.admin-edit-form button { align-self:end; }
.admin-check { display:flex!important; align-items:center; gap:9px!important; }
.admin-check input { width:18px; height:18px; }
.announcement-admin-card > p { margin:0; padding:0 15px 15px 32px; color:var(--muted); font-size:10px; line-height:1.55; }
.admin-filter-toolbar { margin-bottom:13px; background:var(--paper); }
.admin-filter-toolbar > label { padding:0 8px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.admin-filter-toolbar > div { display:flex; gap:5px; flex-wrap:wrap; }
.admin-filter-toolbar button { min-height:37px; padding:8px 10px; display:inline-flex; align-items:center; gap:6px; border:1px solid transparent; border-radius:9px; color:var(--muted); font-size:9px; font-weight:850; background:transparent; cursor:pointer; }
.admin-filter-toolbar button span { min-width:18px; height:18px; display:grid; place-items:center; border-radius:999px; font-size:7px; background:var(--surface); }
.admin-filter-toolbar button:hover,.admin-filter-toolbar button.active { color:var(--accent-dark); border-color:rgba(115,87,255,.18); background:rgba(115,87,255,.1); }
.admin-message-list .message-card { position:relative; }
.admin-message-list .message-card.status-new { border-color:rgba(115,87,255,.45); box-shadow:inset 3px 0 var(--accent); }
.message-time { display:block; margin:10px 0; color:var(--muted); font-size:8px; }
.message-admin-actions { padding-top:11px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); }
.message-admin-actions form { margin:0; }
.message-admin-actions .danger-link { padding:7px 9px; border:1px solid transparent; border-radius:8px; color:var(--danger); font-size:9px; font-weight:800; background:transparent; cursor:pointer; }
.admin-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
.admin-settings-form { width:auto; }
.admin-brand-preview { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.admin-brand-preview > p { margin:0; padding:12px 16px; border-bottom:1px solid var(--line); color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.admin-brand-preview > div { min-height:190px; padding:28px 24px; display:grid; place-content:center; justify-items:center; text-align:center; background:radial-gradient(circle at 80% 0,rgba(128,96,255,.22),transparent 38%),linear-gradient(145deg,var(--paper),var(--surface)); }
.admin-brand-preview .brand-mark { margin-bottom:13px; }
.admin-brand-preview strong { font-size:19px; }
.admin-brand-preview small { max-width:245px; margin-top:7px; color:var(--muted); font-size:9px; line-height:1.5; }
.admin-brand-preview dl { margin:0; padding:15px; display:grid; gap:8px; }
.admin-brand-preview dl > div { padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.admin-brand-preview dt { color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.admin-brand-preview dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:9px; font-weight:750; }
.user-admin-summary { margin-bottom:13px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.user-admin-summary article { padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.user-admin-summary strong,.user-admin-summary span { display:block; }
.user-admin-summary strong { font-size:18px; }
.user-admin-summary span { margin-top:3px; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.user-filter-toolbar { margin-bottom:18px; }
[data-page-card][hidden],[data-message-card][hidden],[data-user-card][hidden] { display:none; }
@media (max-width:1050px) { .admin-command-hero { grid-template-columns:1fr 280px; } .admin-overview-stats { grid-template-columns:1fr 1fr; } .admin-settings-layout { grid-template-columns:1fr; } .admin-brand-preview { max-width:520px; } }
@media (max-width:900px) { .admin-command-hero { grid-template-columns:1fr; } .admin-site-pulse { max-width:440px; } .admin-overview-grid { grid-template-columns:1fr; } .admin-create-form { position:static; } }
@media (max-width:680px) { .admin-command-dashboard { width:min(100% - 28px,1260px); padding-top:54px; } .admin-command-hero { min-height:0; padding:28px 22px; border-radius:21px; } .admin-command-hero h1 { font-size:42px; letter-spacing:-2px; } .admin-subnav { top:125px; } .admin-overview-stats { grid-template-columns:1fr 1fr; } .admin-overview-stats > a { padding:13px; } .admin-stat-icon { width:36px; height:36px; } .admin-expanded-section { padding:19px; } .admin-content-card > header { align-items:flex-start; flex-direction:column; } .admin-edit-form { grid-template-columns:1fr; } .admin-edit-form .wide { grid-column:auto; } .admin-filter-toolbar { align-items:stretch; flex-direction:column; } .admin-filter-toolbar > div { width:100%; display:grid; grid-template-columns:repeat(4,1fr); } .admin-filter-toolbar button { justify-content:center; padding:7px; } .user-filter-toolbar > div { grid-template-columns:repeat(3,1fr); } .message-admin-actions { align-items:flex-start; flex-direction:column; } .user-admin-summary { grid-template-columns:1fr 1fr; } }
@media (max-width:440px) { .admin-overview-stats { grid-template-columns:1fr; } .admin-hero-actions a { flex:1 1 100%; text-align:center; } .admin-site-pulse { padding:19px; } .admin-filter-toolbar > div { grid-template-columns:1fr 1fr; } .user-filter-toolbar > div { grid-template-columns:1fr 1fr 1fr; } }

/* Portal brand studio */
.brand-studio .admin-settings-layout { grid-template-columns:minmax(0,1fr) 390px; }
.brand-settings-form { min-width:0; display:grid; gap:13px; }
.brand-setting-group { min-width:0; margin:0; padding:21px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.brand-setting-group legend { width:100%; padding:0 0 16px; display:flex; align-items:center; gap:11px; }
.brand-setting-group legend > span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:11px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.brand-setting-group legend strong,.brand-setting-group legend small { display:block; }
.brand-setting-group legend strong { font-size:13px; }
.brand-setting-group legend small { margin-top:3px; color:var(--muted); font-size:8px; font-weight:600; }
.brand-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.brand-field-grid > label,.brand-colour-grid > label { min-width:0; margin:0; display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:800; }
.brand-field-grid .wide { grid-column:1 / -1; }
.brand-field-grid input,.brand-field-grid select { height:43px; }
.brand-field-grid select { padding:0 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:0; background:var(--paper); }
.brand-field-grid textarea { width:100%; padding:12px 14px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:0; background:var(--paper); }
.brand-field-grid input:focus,.brand-field-grid select:focus,.brand-field-grid textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.brand-field-grid label > small { color:var(--muted); font-size:8px; font-weight:500; line-height:1.45; }
.logo-mode-grid { margin-bottom:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.logo-mode-grid label { min-width:0; margin:0; position:relative; cursor:pointer; }
.logo-mode-grid input { width:1px; height:1px; position:absolute; opacity:0; }
.logo-mode-grid label > span { min-height:103px; padding:13px; display:grid; place-content:center; justify-items:center; border:1px solid var(--line); border-radius:13px; text-align:center; background:var(--paper); transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s; }
.logo-mode-grid label > span > b { width:35px; height:35px; margin-bottom:8px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:12px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.logo-mode-grid strong,.logo-mode-grid small { display:block; }
.logo-mode-grid strong { color:var(--ink); font-size:10px; }
.logo-mode-grid small { margin-top:3px; color:var(--muted); font-size:7px; }
.logo-mode-grid input:checked + span { border-color:var(--accent); background:rgba(115,87,255,.08); box-shadow:0 0 0 2px rgba(115,87,255,.1); }
.logo-mode-grid input:focus-visible + span { outline:3px solid rgba(115,87,255,.3); outline-offset:2px; }
.logo-upload-field input[type=file] { height:auto; min-height:46px; padding:8px; color:var(--muted); background:var(--paper); }
.logo-upload-field input[type=file]::file-selector-button { min-height:30px; margin-right:10px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-weight:800; background:var(--surface); cursor:pointer; }
.brand-colour-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.brand-colour-grid label > span { display:block; }
.brand-colour-grid label > div { padding:7px; display:grid; grid-template-columns:45px minmax(0,1fr); gap:8px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.brand-colour-grid input[type=color] { width:45px; height:39px; padding:2px; overflow:hidden; border:0; border-radius:8px; cursor:pointer; }
.brand-colour-grid input[type=text] { height:39px; border:0; text-transform:uppercase; background:transparent; box-shadow:none; }
.brand-presets { margin-top:15px; }
.brand-presets > span { display:block; margin-bottom:7px; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.brand-presets > div { display:flex; gap:6px; flex-wrap:wrap; }
.brand-presets button { min-height:34px; padding:6px 9px; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:8px; font-weight:800; background:var(--paper); cursor:pointer; }
.brand-presets button:hover { color:var(--ink); border-color:var(--accent); transform:translateY(-1px); }
.brand-presets i { width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg,var(--preset-a),var(--preset-b)); }
.palette-electric { --preset-a:#7357ff; --preset-b:#527de8; }
.palette-coastal { --preset-a:#168f69; --preset-b:#36b7a3; }
.palette-sunset { --preset-a:#dd6b38; --preset-b:#d53f73; }
.palette-ocean { --preset-a:#2d75c7; --preset-b:#30a2c4; }
.palette-gold { --preset-a:#d3a11c; --preset-b:#9b6e11; }
.brand-save-bar { padding:15px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid rgba(115,87,255,.25); border-radius:15px; background:linear-gradient(135deg,rgba(115,87,255,.1),rgba(82,125,232,.06)); }
.brand-save-bar strong,.brand-save-bar small { display:block; }
.brand-save-bar strong { font-size:11px; }
.brand-save-bar small { margin-top:3px; color:var(--muted); font-size:8px; }
.brand-save-bar button { min-width:160px; }
.brand-studio .admin-brand-preview { position:sticky; top:157px; --brand-primary:var(--accent); --brand-secondary:var(--accent-dark); }
.brand-studio .admin-brand-preview > p { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.brand-studio .admin-brand-preview > p span { color:var(--ink); }
.brand-studio .admin-brand-preview > p em { color:var(--muted); font-size:7px; font-style:normal; text-transform:none; }
.brand-studio .brand-preview-window { min-height:430px; padding:0; display:block; text-align:left; background:var(--paper); }
.brand-preview-topbar { height:62px; padding:0 17px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); background:var(--surface); }
.brand-preview-topbar > span:not(.brand-mark) { max-width:175px; overflow:hidden; font-size:10px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.brand-preview-topbar > i { width:27px; height:8px; margin-left:auto; border-radius:999px; background:var(--line); }
.brand-preview-topbar > i + i { width:18px; margin-left:0; }
.brand-preview-content { min-height:368px; padding:36px 25px; display:flex; align-items:center; flex-direction:column; text-align:center; background:radial-gradient(circle at 78% 0,color-mix(in srgb,var(--brand-primary) 22%,transparent),transparent 35%),linear-gradient(150deg,var(--paper),var(--surface)); }
.brand-preview-content > .brand-mark { margin-bottom:17px; }
.brand-preview-content > strong { max-width:300px; font-size:22px; line-height:1.15; }
.brand-preview-content > small { max-width:280px; margin-top:7px; color:var(--muted); font-size:9px; line-height:1.45; }
.brand-preview-content > p { max-width:285px; margin:23px 0 15px; color:var(--muted); font-size:10px; line-height:1.6; }
.brand-preview-content > button { min-height:40px; padding:9px 14px; display:inline-flex; align-items:center; gap:8px; border:0; border-radius:10px; color:#fff; font-size:9px; font-weight:850; background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)); }
.brand-studio .admin-brand-preview .brand-mark { background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)); }
[data-logo-option][hidden] { display:none; }
@media (max-width:1050px) { .brand-studio .admin-settings-layout { grid-template-columns:1fr; } .brand-studio .admin-brand-preview { width:min(100%,560px); position:static; } }
@media (max-width:680px) { .brand-setting-group { padding:17px; } .brand-field-grid,.brand-colour-grid { grid-template-columns:1fr; } .brand-field-grid .wide { grid-column:auto; } .logo-mode-grid { grid-template-columns:1fr; } .logo-mode-grid label > span { min-height:72px; padding:10px; grid-template-columns:auto 1fr; grid-template-rows:auto auto; align-items:center; justify-items:start; column-gap:10px; text-align:left; } .logo-mode-grid label > span > b { grid-row:1 / 3; margin:0; } .brand-save-bar { align-items:stretch; flex-direction:column; } .brand-save-bar button { width:100%; } }

/* Website Admin suite: persistent sidebar and dedicated tool pages */
.admin-suite-page { min-width:320px; overflow-x:hidden; background:var(--page); }
.admin-suite { min-height:100vh; }
.admin-sidebar { width:270px; position:fixed; z-index:70; inset:0 auto 0 0; display:flex; flex-direction:column; color:var(--ink); border-right:1px solid var(--line); background:color-mix(in srgb,var(--paper) 96%,var(--page)); box-shadow:10px 0 35px rgba(5,8,22,.06); transition:width .22s ease,transform .22s ease; }
:root[data-theme="dark"] .admin-sidebar { background:#121321; box-shadow:12px 0 35px rgba(0,0,0,.16); }
.admin-sidebar-brand { min-height:84px; padding:16px 17px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.admin-sidebar-brand > a { min-width:0; display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; }
.admin-sidebar-brand > a > span:last-child { min-width:0; }
.admin-sidebar-brand strong,.admin-sidebar-brand small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-sidebar-brand strong { max-width:165px; font-size:12px; }
.admin-sidebar-brand small { margin-top:3px; color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-sidebar-brand > button { width:29px; height:29px; position:absolute; right:-15px; top:69px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:20px; line-height:1; background:var(--paper); box-shadow:0 7px 20px var(--shadow); cursor:pointer; transition:color .18s,border-color .18s,transform .22s; }
.admin-sidebar-brand > button:hover { color:var(--accent-dark); border-color:var(--accent); }
.admin-side-nav { min-height:0; padding:21px 13px; display:grid; align-content:start; gap:23px; overflow-y:auto; scrollbar-width:none; }
.admin-side-nav::-webkit-scrollbar { display:none; }
.admin-side-nav section { display:grid; gap:4px; }
.admin-side-nav h2 { margin:0 10px 5px; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.admin-side-nav a { min-height:42px; padding:7px 10px; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; border:1px solid transparent; border-radius:10px; color:var(--muted); font-size:10px; font-weight:800; text-decoration:none; transition:color .17s,border-color .17s,background-color .17s,transform .17s; }
.admin-side-nav a:hover { color:var(--ink); background:var(--surface); transform:translateX(2px); }
.admin-side-nav a.active { color:var(--ink); border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 23%,transparent); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 17%,transparent); box-shadow:inset 3px 0 var(--brand-primary,var(--accent)); }
.admin-nav-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:currentColor; font-size:14px; font-weight:900; background:color-mix(in srgb,var(--muted) 9%,transparent); }
.admin-side-nav a.active .admin-nav-icon { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 6px 14px color-mix(in srgb,var(--brand-primary,var(--accent)) 28%,transparent); }
.admin-side-nav a b { min-width:20px; height:20px; padding:0 5px; display:grid; place-items:center; border-radius:999px; color:var(--muted); font-size:7px; background:var(--surface); }
.admin-side-nav a.active b { color:#fff; background:var(--brand-primary,var(--accent)); }
.admin-sidebar-footer { margin-top:auto; padding:12px; border-top:1px solid var(--line); }
.admin-profile-link { min-width:0; padding:8px; display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:9px; border-radius:10px; color:var(--ink); text-decoration:none; }
.admin-profile-link:hover { background:var(--surface); }
.admin-profile-link > span:first-child { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-profile-link strong,.admin-profile-link small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-profile-link strong { font-size:10px; }
.admin-profile-link small { margin-top:3px; color:var(--muted); font-size:8px; }
.admin-profile-link i { color:var(--muted); font-style:normal; }
.admin-sidebar-footer form { margin:6px 0 0; }
.admin-sidebar-footer form button { width:100%; min-height:35px; padding:7px 10px; display:flex; align-items:center; gap:10px; border:0; border-radius:9px; color:var(--muted); font-size:9px; font-weight:800; background:transparent; cursor:pointer; }
.admin-sidebar-footer form button:hover { color:var(--danger); background:var(--danger-bg); }
.admin-sidebar-footer form button em { font-style:normal; }
.admin-sidebar-scrim { display:none; }

.admin-suite-workspace { min-width:0; min-height:100vh; margin-left:270px; transition:margin-left .22s ease; }
.admin-suite-topbar { min-height:72px; position:sticky; z-index:50; top:0; padding:12px clamp(18px,3vw,38px); display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--topbar) 94%,transparent); backdrop-filter:blur(18px); transition:box-shadow .2s,border-color .2s; }
.admin-suite-topbar.is-scrolled { border-color:color-mix(in srgb,var(--accent) 25%,var(--line)); box-shadow:0 10px 35px var(--shadow); }
.admin-mobile-menu { width:40px; height:40px; padding:10px; display:none; place-content:center; gap:4px; border:1px solid var(--line); border-radius:10px; background:var(--paper); cursor:pointer; }
.admin-mobile-menu span { width:18px; height:2px; display:block; border-radius:99px; background:var(--ink); }
.admin-command-search { width:min(390px,38vw); position:relative; display:flex; align-items:center; }
.admin-command-search > span { position:absolute; z-index:2; left:14px; color:var(--muted); font-size:16px; }
.admin-command-search > input { height:43px; padding:0 62px 0 40px; border-radius:12px; background:var(--surface); }
.admin-command-search kbd { position:absolute; right:10px; padding:4px 6px; border:1px solid var(--line); border-radius:6px; color:var(--muted); font-family:inherit; font-size:7px; font-weight:850; background:var(--paper); }
.admin-command-results { width:100%; max-height:370px; position:absolute; z-index:90; top:50px; left:0; padding:7px; overflow-y:auto; border:1px solid var(--line); border-radius:13px; background:var(--paper); box-shadow:0 18px 50px var(--shadow); }
.admin-command-results a { padding:9px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; border-radius:9px; color:var(--ink); text-decoration:none; }
.admin-command-results a:hover { background:color-mix(in srgb,var(--accent) 11%,var(--surface)); }
.admin-command-results a > span { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-command-results strong { font-size:9px; }
.admin-command-results small { color:var(--muted); font-size:7px; }
.admin-command-results p { margin:0; padding:18px; color:var(--muted); font-size:9px; text-align:center; }
.admin-topbar-actions { margin-left:auto; display:flex; align-items:center; gap:8px; }
.admin-live-pill { min-height:31px; padding:6px 9px; display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(45,187,125,.25); border-radius:999px; color:#2dbb7d; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; background:rgba(45,187,125,.1); }
.admin-live-pill i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(45,187,125,.1); }
.admin-live-pill.maintenance { color:#d78c31; border-color:rgba(215,140,49,.28); background:rgba(215,140,49,.1); }
.admin-theme-selector { flex:0 0 auto; }
.admin-theme-selector button { width:34px; padding:5px; justify-content:center; }
.admin-topbar-actions .notification-bell { width:42px; padding:8px; justify-content:center; }
.admin-topbar-actions .notification-bell em { display:none; }
.admin-back-portal { min-height:42px; padding:9px 12px; display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-size:9px; font-weight:850; text-decoration:none; background:var(--paper); }
.admin-back-portal:hover { color:var(--accent-dark); border-color:var(--accent); transform:translateY(-1px); }
.admin-back-portal em { font-style:normal; }

.admin-suite-content { width:min(1420px,100%); margin:0 auto; padding:38px clamp(20px,3.2vw,48px) 70px; }
.admin-page-heading { margin-bottom:26px; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }
.admin-page-heading .eyebrow { margin-bottom:7px; font-size:9px; }
.admin-page-heading h1 { margin:0; font-size:clamp(30px,4vw,45px); line-height:1; letter-spacing:-1.7px; }
.admin-page-heading > div:first-child > p:last-child { max-width:730px; margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.admin-page-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-page-actions a { min-height:40px; padding:9px 13px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:10px; color:var(--ink); font-size:9px; font-weight:850; text-decoration:none; background:var(--paper); }
.admin-page-actions a.primary { color:#fff; border-color:var(--brand-primary,var(--accent)); background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-page-actions a:hover { border-color:var(--accent); transform:translateY(-1px); }
.admin-page-section { margin-bottom:20px; scroll-margin-top:95px; }
.admin-suite-content > .alert,.admin-suite-content > .success-alert { margin:-9px 0 20px; }
.admin-suite-hero { min-height:260px; padding:34px; grid-template-columns:minmax(0,1fr) 300px; }
.admin-suite-hero h2 { margin:7px 0 12px; color:#fff; font-size:clamp(34px,4vw,54px); line-height:1; letter-spacing:-2px; }
.admin-suite-hero > div > p:not(.eyebrow) { max-width:680px; margin:0; color:#cad2eb; font-size:12px; line-height:1.65; }
.admin-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.admin-module-grid > a { min-width:0; padding:16px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; color:var(--ink); text-decoration:none; background:var(--paper); box-shadow:0 9px 28px var(--shadow); transition:border-color .18s,transform .18s; }
.admin-module-grid > a:hover { border-color:var(--accent); transform:translateY(-2px); }
.admin-module-grid > a > span { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:16px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-module-grid strong,.admin-module-grid small { display:block; }
.admin-module-grid strong { font-size:11px; }
.admin-module-grid small { margin-top:4px; color:var(--muted); font-size:8px; line-height:1.4; }
.admin-module-grid i { color:var(--muted); font-style:normal; font-size:18px; }
.admin-suite-content .admin-create-form { top:94px; }

.admin-settings-page-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); gap:18px; align-items:start; }
.admin-general-form { padding:0; border:0; background:transparent; }
.admin-general-form > label:first-of-type { margin-top:0; }
.admin-general-form label small { font-size:8px; line-height:1.5; }
.admin-setting-toggle { padding:16px; display:grid!important; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:11px!important; border:1px solid var(--line); border-radius:13px; background:var(--surface); cursor:pointer; }
.admin-setting-toggle input { width:19px; height:19px; margin:1px 0 0; }
.admin-setting-toggle strong,.admin-setting-toggle small { display:block; }
.admin-setting-toggle strong { color:var(--ink); font-size:11px; }
.admin-setting-toggle small { margin-top:4px; }
.admin-general-form > button { justify-self:start; min-width:180px; }
.admin-settings-summary { display:grid; gap:12px; }
.admin-settings-summary > section { padding:22px; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 10px 30px var(--shadow); }
.admin-settings-summary h2 { margin:5px 0 18px; font-size:20px; }
.admin-settings-summary dl { margin:0; display:grid; gap:9px; }
.admin-settings-summary dl div { padding-bottom:9px; display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.admin-settings-summary dl div:last-child { padding-bottom:0; border:0; }
.admin-settings-summary dt { color:var(--muted); font-size:8px; font-weight:800; }
.admin-settings-summary dd { margin:0; max-width:160px; overflow-wrap:anywhere; font-size:8px; font-weight:850; text-align:right; }
.admin-summary-link { padding:16px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:15px; color:var(--ink); text-decoration:none; background:color-mix(in srgb,var(--accent) 8%,var(--paper)); }
.admin-summary-link > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-summary-link strong,.admin-summary-link small { display:block; }
.admin-summary-link strong { font-size:10px; }
.admin-summary-link small { margin-top:3px; color:var(--muted); font-size:8px; line-height:1.4; }
.admin-summary-link i { color:var(--muted); font-style:normal; }
.admin-settings-directory { margin-top:20px; }

.admin-security-stats { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.admin-security-stats article { padding:17px; display:grid; grid-template-columns:39px minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 8px 25px var(--shadow); }
.admin-security-stats article > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,#7c67f7,#4e64cc); }
.admin-security-stats small,.admin-security-stats strong,.admin-security-stats em { display:block; }
.admin-security-stats small { color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.admin-security-stats strong { margin:3px 0; overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.admin-security-stats em { color:var(--muted); font-size:7px; font-style:normal; }
.admin-security-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:18px; }
.security-health-badge { padding:6px 8px; border-radius:8px; color:#209364; font-size:7px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; background:rgba(32,147,100,.12); }
.security-health-badge.watch { color:#bd7321; background:rgba(189,115,33,.13); }
.security-checks { display:grid; gap:8px; }
.security-checks article { padding:13px; display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.security-checks article > span { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#26966b; font-size:11px; font-weight:900; background:rgba(38,150,107,.12); }
.security-checks article.watch > span { color:#bd7321; background:rgba(189,115,33,.13); }
.security-checks strong,.security-checks small { display:block; }
.security-checks strong { font-size:10px; }
.security-checks small { margin-top:4px; color:var(--muted); font-size:8px; line-height:1.45; }
.admin-security-action { align-self:start; text-align:center; }
.admin-security-action h2 { margin:0; font-size:17px; }
.admin-security-action > strong { margin:15px 0 4px; display:block; font-size:60px; line-height:1; }
.admin-security-action > p:not(.eyebrow) { margin:8px auto 18px; color:var(--muted); font-size:9px; line-height:1.55; }
.admin-security-action form { margin:0; }
.admin-security-action button { width:100%; min-height:39px; border:1px solid var(--danger-line); border-radius:9px; color:var(--danger); font-size:9px; font-weight:850; background:var(--danger-bg); cursor:pointer; }
.admin-security-action button:disabled { opacity:.45; cursor:not-allowed; }
.admin-heading .text-link { color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; }

.admin-sidebar-collapsed .admin-sidebar { width:82px; }
.admin-sidebar-collapsed .admin-suite-workspace { margin-left:82px; }
.admin-sidebar-collapsed .admin-sidebar-brand { padding-inline:21px; }
.admin-sidebar-collapsed .admin-sidebar-brand > a > span:last-child,.admin-sidebar-collapsed .admin-side-nav h2,.admin-sidebar-collapsed .admin-nav-label,.admin-sidebar-collapsed .admin-side-nav a b,.admin-sidebar-collapsed .admin-profile-link > span:nth-child(2),.admin-sidebar-collapsed .admin-profile-link i,.admin-sidebar-collapsed .admin-sidebar-footer form button em { display:none; }
.admin-sidebar-collapsed .admin-side-nav { padding-inline:13px; }
.admin-sidebar-collapsed .admin-side-nav section { gap:7px; }
.admin-sidebar-collapsed .admin-side-nav section + section { padding-top:15px; border-top:1px solid var(--line); }
.admin-sidebar-collapsed .admin-side-nav a { padding:6px 12px; grid-template-columns:30px; justify-content:center; }
.admin-sidebar-collapsed .admin-profile-link { grid-template-columns:35px; justify-content:center; }
.admin-sidebar-collapsed .admin-sidebar-footer form button { justify-content:center; }
.admin-sidebar-collapsed .admin-sidebar-brand > button { transform:rotate(180deg); }

@media (max-width:1150px) {
    .admin-module-grid { grid-template-columns:1fr 1fr; }
    .admin-security-stats { grid-template-columns:1fr 1fr; }
    .admin-settings-page-grid { grid-template-columns:minmax(0,1fr) 300px; }
}
@media (max-width:900px) {
    .admin-sidebar { transform:translateX(-105%); box-shadow:24px 0 70px rgba(0,0,0,.35); }
    .admin-sidebar-brand > button { display:none; }
    .admin-suite-workspace,.admin-sidebar-collapsed .admin-suite-workspace { margin-left:0; }
    .admin-mobile-menu { display:grid; }
    .admin-sidebar-scrim { width:100%; height:100%; position:fixed; z-index:60; inset:0; border:0; opacity:0; visibility:hidden; display:block; background:rgba(4,6,16,.65); backdrop-filter:blur(3px); transition:opacity .2s,visibility .2s; }
    .admin-sidebar-open .admin-sidebar { transform:translateX(0); }
    .admin-sidebar-open .admin-sidebar-scrim { opacity:1; visibility:visible; }
    .admin-sidebar-collapsed .admin-sidebar { width:270px; }
    .admin-sidebar-collapsed .admin-sidebar-brand { padding:16px 17px; }
    .admin-sidebar-collapsed .admin-sidebar-brand > a > span:last-child,.admin-sidebar-collapsed .admin-side-nav h2,.admin-sidebar-collapsed .admin-nav-label,.admin-sidebar-collapsed .admin-side-nav a b,.admin-sidebar-collapsed .admin-profile-link > span:nth-child(2),.admin-sidebar-collapsed .admin-profile-link i,.admin-sidebar-collapsed .admin-sidebar-footer form button em { display:block; }
    .admin-sidebar-collapsed .admin-side-nav { padding:21px 13px; }
    .admin-sidebar-collapsed .admin-side-nav section { gap:4px; }
    .admin-sidebar-collapsed .admin-side-nav section + section { padding-top:0; border-top:0; }
    .admin-sidebar-collapsed .admin-side-nav a { padding:7px 10px; grid-template-columns:28px minmax(0,1fr) auto; justify-content:stretch; }
    .admin-sidebar-collapsed .admin-profile-link { grid-template-columns:35px minmax(0,1fr) auto; justify-content:stretch; }
    .admin-sidebar-collapsed .admin-sidebar-footer form button { justify-content:flex-start; }
    .admin-command-search { width:min(380px,44vw); }
    .admin-suite-hero { grid-template-columns:1fr; }
    .admin-site-pulse { max-width:450px; }
    .admin-settings-page-grid,.admin-security-grid { grid-template-columns:1fr; }
    .admin-settings-summary { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
    .admin-suite-topbar { padding:9px 13px; gap:9px; }
    .admin-command-search { width:auto; min-width:0; flex:1; }
    .admin-command-search > input { padding-right:13px; }
    .admin-command-search kbd,.admin-live-pill,.admin-back-portal em { display:none; }
    .admin-topbar-actions { gap:5px; }
    .admin-theme-selector { display:none; }
    .admin-back-portal { width:42px; padding:8px; justify-content:center; }
    .admin-suite-content { padding:27px 14px 50px; }
    .admin-page-heading { align-items:flex-start; flex-direction:column; gap:16px; }
    .admin-page-heading h1 { font-size:34px; }
    .admin-page-actions { width:100%; }
    .admin-page-actions a { flex:1; }
    .admin-suite-hero { padding:25px 21px; }
    .admin-suite-hero h2 { font-size:37px; }
    .admin-module-grid,.admin-settings-summary,.admin-security-stats { grid-template-columns:1fr; }
    .admin-security-stats article { padding:14px; }
    .admin-general-form > button { width:100%; }
}
@media (max-width:430px) {
    .admin-command-search > span { left:11px; }
    .admin-command-search > input { padding-left:34px; }
    .admin-topbar-actions .notification-bell { display:none; }
    .admin-suite-hero .admin-site-pulse { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
    .admin-sidebar,.admin-suite-workspace,.admin-sidebar-scrim { transition:none; }
}

html { scrollbar-width:none; }
html::-webkit-scrollbar { width:0; height:0; display:none; }
@media (max-width:780px) {
    .quick-add-tabs { gap:4px; }
    .quick-add-tabs button { padding:0 9px; font-size:8px; }
}

/* Portal navigation and module management */
.admin-navigation-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; align-items:start; }
.admin-navigation-form { display:grid; gap:15px; }
.support-placement-banner { padding:14px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 24%,var(--line)); border-radius:13px; background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 7%,var(--surface)),var(--surface)); }
.support-placement-banner > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.support-placement-banner .eyebrow { margin-bottom:3px; font-size:8px!important; }
.support-placement-banner strong,.support-placement-banner small { display:block; }
.support-placement-banner strong { font-size:11px; }
.support-placement-banner small { margin-top:3px; color:var(--muted); font-size:8px!important; }
.support-placement-banner > b { padding:7px 9px; border-radius:8px; color:var(--accent-dark); font-size:8px; white-space:nowrap; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.admin-navigation-list { display:grid; gap:8px; }
.admin-navigation-list > article { min-width:0; padding:12px; display:grid; grid-template-columns:38px minmax(125px,.75fr) minmax(150px,1fr) 82px 180px 76px; align-items:center; gap:10px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.admin-module-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 6px 15px color-mix(in srgb,var(--brand-primary,var(--accent)) 22%,transparent); }
.admin-navigation-identity { min-width:0; }
.admin-navigation-identity strong,.admin-navigation-identity small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-navigation-identity strong { font-size:10px; }
.admin-navigation-identity small { margin-top:4px; color:var(--muted); font-size:7px; }
.admin-navigation-list label { min-width:0; margin:0; display:grid; gap:5px; color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.admin-navigation-list input[type=text],.admin-navigation-list input[type=number] { height:39px; padding:0 11px; border-radius:9px; font-size:9px; text-transform:none; }
.admin-nav-visibility { min-height:39px; padding:6px 8px; grid-template-columns:18px minmax(0,1fr)!important; align-items:center; gap:7px!important; border:1px solid var(--line); border-radius:9px; color:var(--ink)!important; text-transform:none!important; background:var(--paper); }
.admin-nav-visibility input { width:17px; height:17px; margin:0; }
.admin-nav-visibility strong,.admin-nav-visibility small { display:block; }
.admin-nav-visibility strong { font-size:8px; }
.admin-nav-visibility small { margin-top:2px; overflow:hidden; color:var(--muted); font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.admin-nav-placement { min-width:0; margin:0; padding:0; border:0; }
.admin-nav-placement legend { margin-bottom:5px; padding:0; color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.admin-nav-placement > div { padding:3px; display:grid; grid-template-columns:1fr 1fr; gap:3px; border:1px solid var(--line); border-radius:9px; background:var(--paper); }
.admin-nav-placement label { min-height:31px; padding:5px 6px; display:flex; align-items:center; justify-content:center; border-radius:6px; color:var(--muted); font-size:7px!important; text-align:center; cursor:pointer; text-transform:none; }
.admin-nav-placement label:has(input:checked) { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-nav-placement input { width:1px; height:1px; position:absolute; opacity:0; }
.admin-nav-placement input:focus-visible + span { outline:2px solid rgba(115,87,255,.34); outline-offset:3px; }
.module-status { min-height:29px; padding:6px 7px; display:inline-flex; align-items:center; justify-content:center; gap:5px; border-radius:8px; color:#258c65; font-size:6px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; background:rgba(37,140,101,.11); }
.module-status i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.module-status.disabled { color:#a06a2c; background:rgba(160,106,44,.12); }
.admin-reset-form { margin:13px 0 0; text-align:right; }
.admin-reset-form button { padding:6px 8px; border:0; color:var(--muted); font-size:8px; font-weight:800; background:transparent; cursor:pointer; }
.admin-reset-form button:hover { color:var(--danger); }
.admin-nav-preview { position:sticky; top:94px; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 11px 34px var(--shadow); }
.admin-nav-preview > p { margin:0; padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:9px; border-bottom:1px solid var(--line); color:var(--muted); font-size:7px; font-weight:900; text-transform:uppercase; }
.admin-nav-preview > p em { font-size:6px; font-style:normal; font-weight:700; text-transform:none; }
.admin-preview-browser { min-height:255px; background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--brand-primary,var(--accent)) 18%,transparent),transparent 40%),var(--page); }
.admin-preview-browser header { min-height:57px; padding:10px 12px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); background:var(--paper); }
.admin-preview-browser header .brand-mark { width:29px; height:29px; border-radius:9px; font-size:12px; }
.admin-preview-browser header strong { max-width:105px; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.admin-preview-browser header i { width:23px; height:7px; margin-left:auto; border-radius:999px; background:var(--line); }
.admin-preview-browser header i + i { width:15px; margin-left:0; }
.admin-preview-browser nav { min-height:49px; padding:9px 11px; display:flex; align-items:center; gap:4px; overflow:hidden; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--paper) 88%,transparent); }
.admin-preview-browser nav span { padding:7px 8px; border-radius:7px; color:var(--muted); font-size:6px; font-weight:850; white-space:nowrap; background:var(--surface); }
.admin-preview-browser nav span:first-child { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-preview-browser > div { padding:28px 20px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.admin-preview-browser > div span { height:45px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.admin-nav-preview > section { padding:16px; border-top:1px solid var(--line); }
.admin-nav-preview > section strong { display:block; font-size:9px; }
.admin-nav-preview > section p { margin:5px 0 10px; color:var(--muted); font-size:8px; line-height:1.5; }
.admin-nav-preview > section a { color:var(--accent-dark); font-size:8px; font-weight:850; text-decoration:none; }
.admin-nav-preview > section.admin-account-menu-preview { margin:13px; padding:9px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.admin-account-menu-preview header { padding:7px; display:grid; grid-template-columns:32px minmax(0,1fr) 14px; align-items:center; gap:8px; border-bottom:1px solid var(--line); }
.admin-account-menu-preview header > span { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:9px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-account-menu-preview header strong,.admin-account-menu-preview header small { display:block; }
.admin-account-menu-preview header strong { font-size:8px!important; }
.admin-account-menu-preview header small { margin-top:2px; color:var(--muted); font-size:6px!important; }
.admin-account-menu-preview header i { color:var(--muted); font-style:normal; }
.admin-account-menu-preview > div { margin-top:5px; padding:7px; display:grid; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:7px; border-radius:8px; color:var(--ink); background:var(--paper); }
.admin-account-menu-preview > div > span { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:var(--accent-dark); font-size:8px; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.admin-account-menu-preview > div strong { font-size:8px!important; }

.admin-module-stats article > span { background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-module-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.admin-module-control-card { min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); transition:border-color .18s,transform .18s; }
.admin-module-control-card.enabled { border-color:color-mix(in srgb,#2da979 25%,var(--line)); }
.admin-module-control-card.disabled { opacity:.82; }
.admin-module-control-card:hover { transform:translateY(-2px); }
.admin-module-control-card header { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:10px; }
.admin-module-control-card header > span { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:16px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-module-control-card header strong,.admin-module-control-card header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-module-control-card header strong { font-size:11px; }
.admin-module-control-card header small { margin-top:4px; color:var(--muted); font-size:7px; }
.admin-module-control-card header b { padding:5px 7px; display:inline-flex; align-items:center; gap:5px; border-radius:8px; color:#258c65; font-size:6px; text-transform:uppercase; background:rgba(37,140,101,.11); }
.admin-module-control-card.disabled header b { color:#a06a2c; background:rgba(160,106,44,.12); }
.admin-module-control-card header b i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.admin-module-control-card > p { min-height:51px; margin:14px 0; color:var(--muted); font-size:8px; line-height:1.55; }
.admin-module-control-card dl { margin:0 0 14px; padding:10px; display:grid; gap:7px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.admin-module-control-card dl div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-module-control-card dt { color:var(--muted); font-size:7px; font-weight:800; }
.admin-module-control-card dd { margin:0; font-size:7px; font-weight:850; }
.admin-module-control-card form { margin:0; }
.admin-module-control-card button { width:100%; min-height:38px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:8px; font-weight:850; background:var(--paper); cursor:pointer; }
.admin-module-control-card button.enable { color:#fff; border-color:var(--brand-primary,var(--accent)); background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-module-control-card button.disable:hover { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }
.admin-module-control-card button:disabled { opacity:.55; cursor:not-allowed; }
.admin-module-note { padding:16px 18px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:12px; border:1px solid rgba(38,150,107,.24); border-radius:14px; background:rgba(38,150,107,.08); }
.admin-module-note > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; font-weight:900; background:#26966b; }
.admin-module-note strong { display:block; font-size:10px; }
.admin-module-note p { margin:4px 0 0; color:var(--muted); font-size:8px; line-height:1.45; }

@media (max-width:1220px) {
    .admin-navigation-list > article { grid-template-columns:38px minmax(110px,.7fr) minmax(140px,1fr) 72px 180px; }
    .admin-navigation-list .module-status { grid-column:2 / -1; justify-self:start; }
    .admin-module-control-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:1000px) {
    .admin-navigation-layout { grid-template-columns:1fr; }
    .admin-nav-preview { width:min(100%,560px); position:static; }
}
@media (max-width:720px) {
    .support-placement-banner { grid-template-columns:42px minmax(0,1fr); }
    .support-placement-banner > b { grid-column:1 / -1; justify-self:start; }
    .admin-navigation-list > article { grid-template-columns:38px minmax(0,1fr) 75px; align-items:start; }
    .admin-navigation-identity { align-self:center; }
    .admin-navigation-list > article > label:not(.admin-order-field):not(.admin-nav-visibility) { grid-column:1 / -1; }
    .admin-order-field { grid-column:1 / 3; }
    .admin-nav-visibility { grid-column:3; }
    .admin-nav-placement { grid-column:1 / -1; }
    .admin-navigation-list .module-status { grid-column:1 / -1; }
    .admin-module-control-grid { grid-template-columns:1fr; }
}
@media (max-width:430px) {
    .admin-module-control-card header { grid-template-columns:38px minmax(0,1fr); }
    .admin-module-control-card header b { grid-column:1 / -1; justify-self:start; }
}

/* User invitations, custom roles, and access control */
.managed-user-summary .role-badge { color:var(--role-colour,var(--accent-dark)); background:color-mix(in srgb,var(--role-colour,var(--accent)) 14%,transparent); }
.admin-users-full { max-width:none; }
.admin-add-user-layout,.admin-invitation-layout,.admin-role-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); gap:18px; align-items:start; }
.admin-add-user-form,.admin-role-create { padding:0; border:0; background:transparent; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.admin-form-grid > label { min-width:0; margin:0; display:grid; gap:6px; color:var(--muted); font-size:9px; font-weight:800; }
.admin-form-grid > label.wide { grid-column:1 / -1; }
.admin-form-grid label small { color:var(--muted); font-size:7px; font-weight:600; line-height:1.4; }
.admin-form-grid input,.admin-form-grid select { height:43px; }
.admin-form-grid select { padding:0 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--surface); }
.admin-form-grid textarea { width:100%; padding:11px 13px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--surface); }
.admin-add-user-form > button,.admin-role-create > button { min-width:190px; margin-top:17px; }
.admin-role-guide { padding:20px; display:grid; gap:8px; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 10px 31px var(--shadow); }
.admin-role-guide h2 { margin:-2px 0 8px; font-size:18px; }
.admin-role-guide > article { padding:10px 0; display:grid; grid-template-columns:9px minmax(0,1fr) auto; align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.admin-role-guide > article i { width:9px; height:35px; border-radius:999px; background:var(--role-colour); }
.admin-role-guide > article strong,.admin-role-guide > article small { display:block; }
.admin-role-guide > article strong { font-size:9px; }
.admin-role-guide > article small { margin-top:3px; color:var(--muted); font-size:7px; line-height:1.35; }
.admin-role-guide > article a { color:var(--accent-dark); font-size:7px; font-weight:850; text-decoration:none; }
.admin-role-guide .admin-summary-link { margin-top:8px; }

.new-invitation-banner { margin-bottom:18px; padding:18px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; border:1px solid rgba(38,150,107,.32); border-radius:16px; background:rgba(38,150,107,.09); }
.new-invitation-banner > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-weight:900; background:#26966b; }
.new-invitation-banner strong { display:block; font-size:12px; }
.new-invitation-banner p { margin:4px 0 10px; color:var(--muted); font-size:8px; line-height:1.45; }
.new-invitation-banner div > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.new-invitation-banner input { height:40px; font-size:8px; }
.new-invitation-banner button { min-width:95px; border:0; border-radius:9px; color:#fff; font-size:8px; font-weight:850; background:#26966b; cursor:pointer; }
.admin-invite-form { padding:0; border:0; background:transparent; }
.admin-invite-form > label:first-of-type { margin-top:0; }
.admin-invite-form label small { font-size:7px; font-weight:600; }
.admin-invite-explainer { padding:23px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--paper)),var(--paper)); box-shadow:0 10px 31px var(--shadow); }
.admin-invite-explainer > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:#fff; font-size:19px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-invite-explainer h2 { margin:16px 0 10px; font-size:18px; }
.admin-invite-explainer ol { margin:0; padding-left:19px; color:var(--muted); font-size:8px; line-height:1.65; }
.admin-invite-explainer > p { margin:15px 0 0; padding-top:13px; border-top:1px solid var(--line); color:var(--danger); font-size:8px; font-weight:800; }
.admin-invitation-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-invitation-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.admin-invitation-card.active { border-color:rgba(38,150,107,.35); }
.admin-invitation-card.inactive { opacity:.74; }
.admin-invitation-card header { display:grid; grid-template-columns:39px minmax(0,1fr) auto; align-items:center; gap:10px; }
.admin-invitation-card header > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-invitation-card header strong,.admin-invitation-card header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-invitation-card header strong { font-size:10px; }
.admin-invitation-card header small { margin-top:4px; color:var(--muted); font-size:7px; }
.admin-invitation-card header b { padding:5px 7px; display:flex; align-items:center; gap:5px; border-radius:8px; color:#258c65; font-size:6px; text-transform:uppercase; background:rgba(37,140,101,.11); }
.admin-invitation-card.inactive header b { color:#9a672b; background:rgba(154,103,43,.11); }
.admin-invitation-card header b i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.admin-invitation-card dl { margin:14px 0; padding:10px; display:grid; grid-template-columns:1fr 1fr; gap:9px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.admin-invitation-card dt { color:var(--muted); font-size:6px; font-weight:850; text-transform:uppercase; }
.admin-invitation-card dd { margin:3px 0 0; display:flex; align-items:center; gap:5px; font-size:7px; font-weight:800; }
.admin-invitation-card dd > span { width:7px; height:7px; border-radius:50%; background:var(--role-colour); }
.admin-invite-actions { display:flex; gap:6px; flex-wrap:wrap; }
.admin-invite-actions form { margin:0; }
.admin-invite-actions button { min-height:33px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:7px; font-weight:800; background:var(--paper); cursor:pointer; }
.admin-invite-actions .danger-link { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }

.admin-admin-hero { margin-bottom:18px; padding:28px; display:grid; grid-template-columns:65px minmax(0,1fr) auto; align-items:center; gap:20px; overflow:hidden; border:1px solid rgba(138,108,255,.34); border-radius:20px; color:#fff; background:radial-gradient(circle at 90% 0,rgba(138,108,255,.55),transparent 35%),linear-gradient(135deg,#171b3e,#101426); box-shadow:0 17px 48px rgba(8,12,35,.3); }
.admin-admin-hero > span { width:65px; height:65px; display:grid; place-items:center; border-radius:19px; color:#fff; font-size:25px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-admin-hero .eyebrow { color:#c8beff; }
.admin-admin-hero h2 { margin:3px 0 7px; color:#fff; font-size:25px; }
.admin-admin-hero p:last-child { margin:0; max-width:720px; color:#c4cbe2; font-size:9px; line-height:1.55; }
.admin-admin-hero > b { padding:8px 10px; border:1px solid rgba(255,255,255,.15); border-radius:10px; font-size:7px; text-transform:uppercase; background:rgba(255,255,255,.08); }
.admin-admin-list article { padding:16px; display:grid; grid-template-columns:44px minmax(0,1fr) auto auto; align-items:center; gap:13px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.admin-admin-list article > span { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:14px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-admin-list strong,.admin-admin-list small { display:block; }
.admin-admin-list strong { font-size:11px; }
.admin-admin-list small { margin-top:4px; color:var(--muted); font-size:8px; }
.admin-admin-list dl { margin:0; display:flex; gap:18px; }
.admin-admin-list dt { color:var(--muted); font-size:6px; text-transform:uppercase; }
.admin-admin-list dd { margin:3px 0 0; font-size:8px; font-weight:800; }
.admin-admin-list a { padding:8px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:7px; font-weight:800; text-decoration:none; background:var(--paper); }
.admin-admin-rule { text-align:center; }
.admin-admin-rule > span { width:52px; height:52px; margin:0 auto 14px; display:grid; place-items:center; border-radius:15px; color:#fff; font-size:20px; background:linear-gradient(135deg,#2f9670,#28795e); }
.admin-admin-rule h2 { margin:0; font-size:17px; }
.admin-admin-rule p { margin:8px 0 0; color:var(--muted); font-size:8px; line-height:1.55; }

.admin-role-summary { padding:23px; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 10px 31px var(--shadow); text-align:center; }
.admin-role-summary > strong { display:block; font-size:62px; line-height:1; }
.admin-role-summary > span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.admin-role-summary dl { margin:20px 0; display:grid; gap:8px; }
.admin-role-summary dl div { padding-bottom:8px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); }
.admin-role-summary dt { color:var(--muted); font-size:8px; }
.admin-role-summary dd { margin:0; font-size:8px; font-weight:850; }
.admin-role-summary > a { color:var(--accent-dark); font-size:8px; font-weight:850; text-decoration:none; }
.admin-module-picker { margin:16px 0 0; padding:14px; border:1px solid var(--line); border-radius:12px; }
.admin-module-picker legend { padding:0 6px; color:var(--muted); font-size:8px; font-weight:850; }
.admin-module-picker { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.admin-module-picker label { margin:0; }
.admin-module-picker input { width:1px!important; height:1px!important; margin:-1px!important; position:absolute; overflow:hidden; opacity:0; clip:rect(0,0,0,0); }
.admin-module-picker label > span { min-height:45px; padding:8px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:9px; color:var(--muted); background:var(--paper); cursor:pointer; }
.admin-module-picker label > span b { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:var(--muted); background:var(--surface); }
.admin-module-picker label > span strong { font-size:7px; }
.admin-module-picker input:checked + span { color:var(--ink); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--paper)); }
.admin-module-picker input:checked + span b { color:#fff; background:var(--accent); }
.admin-role-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.admin-role-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.admin-role-card > header { padding:15px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; }
.admin-role-card > header > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:14px; font-weight:900; background:var(--role-colour); }
.admin-role-card header strong,.admin-role-card header small { display:block; }
.admin-role-card header strong { font-size:10px; }
.admin-role-card header small { margin-top:4px; color:var(--muted); font-size:7px; }
.admin-role-card header b { padding:5px 7px; border-radius:7px; color:var(--accent-dark); font-size:6px; text-transform:uppercase; background:rgba(115,87,255,.1); }
.admin-role-card > p { min-height:48px; margin:0; padding:0 15px 14px; color:var(--muted); font-size:8px; line-height:1.5; }
.admin-role-card details { border-top:1px solid var(--line); background:var(--paper); }
.admin-role-card summary { padding:11px 15px; display:flex; justify-content:space-between; color:var(--muted); font-size:8px; font-weight:850; cursor:pointer; list-style:none; }
.admin-role-card details > form { padding:14px; display:grid; gap:9px; border-top:1px solid var(--line); }
.admin-role-card details form label { margin:0; display:grid; gap:5px; color:var(--muted); font-size:7px; }
.admin-role-card details input { height:39px; }
.admin-role-card details textarea { width:100%; padding:10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); }
.admin-role-card .admin-role-delete { padding-top:0; border:0; }
.admin-role-delete button { min-height:34px; border:1px solid var(--danger-line); border-radius:8px; color:var(--danger); font-size:7px; font-weight:850; background:var(--danger-bg); cursor:pointer; }

.admin-permission-form { display:grid; gap:15px; }
.admin-permission-table { min-width:800px; display:grid; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.admin-permission-form { overflow-x:auto; padding-bottom:3px; }
.admin-permission-table { min-width:var(--permission-width,900px); }
.admin-permission-head,.admin-permission-row { display:grid; grid-template-columns:190px repeat(var(--permission-modules,5),minmax(105px,1fr)); }
.admin-permission-head { border-bottom:1px solid var(--line); background:var(--paper); }
.admin-permission-head > span { min-height:62px; padding:10px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:3px; border-left:1px solid var(--line); color:var(--ink); font-size:7px; font-weight:850; }
.admin-permission-head > span:first-child { align-items:flex-start; border:0; }
.admin-permission-head b { font-size:14px; }
.admin-permission-head small { color:var(--muted); font-size:6px; font-weight:600; }
.admin-permission-row { min-height:67px; border-bottom:1px solid var(--line); }
.admin-permission-row:last-child { border:0; }
.admin-permission-row > header { padding:10px 13px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:9px; background:var(--paper); }
.admin-permission-row > header > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:11px; font-weight:900; background:var(--role-colour); }
.admin-permission-row header strong,.admin-permission-row header small { display:block; }
.admin-permission-row header strong { font-size:9px; }
.admin-permission-row header small { margin-top:3px; color:var(--muted); font-size:6px; }
.admin-permission-row > label { min-height:67px; margin:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; border-left:1px solid var(--line); cursor:pointer; }
.admin-permission-row label input { width:1px!important; height:1px!important; margin:-1px!important; position:absolute; overflow:hidden; opacity:0; clip:rect(0,0,0,0); }
.admin-permission-row label > span { width:31px; height:18px; position:relative; border-radius:999px; background:var(--line); transition:background-color .18s; }
.admin-permission-row label > span::after { width:14px; height:14px; position:absolute; top:2px; left:2px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.25); content:""; transition:transform .18s; }
.admin-permission-row label input:checked + span { background:#26966b; }
.admin-permission-row label input:checked + span::after { transform:translateX(13px); }
.admin-permission-row label small { color:var(--muted); font-size:6px; }
.admin-permission-row label.locked { cursor:not-allowed; background:color-mix(in srgb,var(--accent) 5%,transparent); }
.admin-permission-row label.module-off { opacity:.55; }

.invite-registration-page { padding:24px; }
.invite-registration-shell { width:min(1050px,100%); min-height:680px; display:grid; grid-template-columns:.85fr 1.15fr; overflow:hidden; border:1px solid var(--line); border-radius:27px; background:var(--paper); box-shadow:0 26px 75px var(--shadow); }
.invite-registration-brand { padding:48px; display:flex; justify-content:center; align-items:flex-start; flex-direction:column; color:#fff; background:radial-gradient(circle at 88% 5%,rgba(139,105,255,.68),transparent 36%),linear-gradient(145deg,#172342,#10172f); }
.invite-registration-brand .brand-mark { margin-bottom:35px; }
.invite-registration-brand .eyebrow { color:#c8beff; }
.invite-registration-brand h1 { margin:4px 0 13px; color:#fff; font-size:48px; line-height:1; letter-spacing:-2px; }
.invite-registration-brand > p:not(.eyebrow) { margin:0; color:#c7cfe1; font-size:12px; line-height:1.65; }
.invite-registration-brand > div { width:100%; margin-top:32px; padding:18px; display:grid; grid-template-columns:45px minmax(0,1fr); align-items:center; gap:3px 11px; border:1px solid rgba(255,255,255,.15); border-radius:15px; background:rgba(255,255,255,.07); }
.invite-registration-brand > div > span { width:45px; height:45px; grid-row:1 / 4; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:16px; font-weight:900; background:var(--role-colour); }
.invite-registration-brand > div small { color:#aeb7d0; font-size:6px; font-weight:850; text-transform:uppercase; }
.invite-registration-brand > div strong { font-size:12px; }
.invite-registration-brand > div em { color:#aeb7d0; font-size:7px; font-style:normal; }
.invite-registration-form { padding:45px; display:grid; place-items:center; }
.invite-registration-form > div { width:min(530px,100%); }
.invite-registration-form > a { color:var(--accent-dark); font-size:10px; font-weight:850; text-decoration:none; }
.invite-registration-form h2 { margin:0; font-size:32px; }
.invite-registration-form > div > p:not(.eyebrow) { margin:8px 0 24px; color:var(--muted); font-size:10px; line-height:1.5; }
.invite-registration-form .primary-button { margin-top:18px; }
.invite-privacy { margin-top:14px; display:block; color:var(--muted); font-size:7px; text-align:center; }

@media (max-width:1080px) {
    .admin-role-card-grid { grid-template-columns:1fr 1fr; }
    .admin-invitation-list { grid-template-columns:1fr; }
}
@media (max-width:850px) {
    .admin-add-user-layout,.admin-invitation-layout,.admin-role-layout { grid-template-columns:1fr; }
    .admin-role-guide,.admin-role-summary,.admin-invite-explainer { width:min(100%,560px); }
    .admin-admin-list article { grid-template-columns:44px minmax(0,1fr) auto; }
    .admin-admin-list dl { grid-column:2 / -1; }
    .invite-registration-shell { grid-template-columns:1fr; }
    .invite-registration-brand { padding:35px; }
    .invite-registration-brand h1 { font-size:39px; }
}
@media (max-width:650px) {
    .admin-form-grid,.admin-role-card-grid { grid-template-columns:1fr; }
    .admin-form-grid > label.wide { grid-column:auto; }
    .admin-module-picker { grid-template-columns:1fr 1fr; }
    .admin-admin-hero { padding:22px; grid-template-columns:52px minmax(0,1fr); }
    .admin-admin-hero > span { width:52px; height:52px; }
    .admin-admin-hero > b { grid-column:1 / -1; justify-self:start; }
    .admin-admin-list article { grid-template-columns:40px minmax(0,1fr); }
    .admin-admin-list dl,.admin-admin-list a { grid-column:1 / -1; }
    .new-invitation-banner { grid-template-columns:1fr; }
    .new-invitation-banner div > div { grid-template-columns:1fr; }
    .new-invitation-banner button { min-height:39px; }
    .invite-registration-page { padding:0; }
    .invite-registration-shell { min-height:100vh; border:0; border-radius:0; }
    .invite-registration-brand { padding:80px 24px 28px; }
    .invite-registration-brand .brand-mark { margin-bottom:24px; }
    .invite-registration-form { padding:30px 22px 45px; }
}

/* Comfortable reading scale */
body { font-size:16px; }
body label { font-size:12px !important; }
body input,
body select,
body textarea,
body button { font-size:13px !important; }
body small,
body dt,
body dd { font-size:11px !important; line-height:1.45; }
.eyebrow { font-size:13px; }

/* Primary navigation and common controls */
.main-nav a,
.website-button,
.theme-selector button { font-size:14px !important; }
.subnav a,
.personal-subnav a,
.announcement-heading > a,
.command-widget-heading > a,
.dashboard-launchpad a,
.text-button,
.row-actions button,
.message-actions button { font-size:12px !important; }
.subnav span,
.workout-tag,
.platform-badge,
.cache-badge,
.admin-lock,
.user-list em,
.managed-user-summary em { font-size:10px !important; }

/* Portal cards, trackers, weather, and finance */
.announcement-grid p,
.growth-home-grid p,
.program-card > p,
.gym-entry-main > p,
.marine-warning p,
.finance-chart-heading p,
.finance-chart-empty p,
.admin-list p,
.message-card > p,
.command-widget p { font-size:13px !important; line-height:1.55; }
.gym-insights li,
.tip-groups section ul,
.program-card li,
.goal-card li,
.record-list li { font-size:12px !important; }
.insight-title strong,
.set-builder-heading strong,
.forecast-card > strong,
.marine-scroll strong,
.marine-warning strong,
.habit-list strong,
.transaction-list strong,
.savings-grid strong,
.dashboard-task-list strong { font-size:13px !important; }
.split-bars span,
.split-bars em,
.gym-numbers span,
.logged-sets span,
.finance-summary span,
.finance-chart-legend,
.chart-axis-label,
.chart-bucket-label,
.workout-tag,
.logged-sets em { font-size:10px !important; }

/* Website administration: sidebar, page headings, and forms */
.admin-sidebar-brand strong { font-size:14px !important; }
.admin-sidebar-brand small,
.admin-profile-link small { font-size:10px !important; }
.admin-side-nav h2 { font-size:10px !important; }
.admin-side-nav a { font-size:12px !important; }
.admin-side-nav a b,
.admin-live-pill,
.security-health-badge,
.module-status { font-size:9px !important; }
.admin-profile-link strong,
.admin-command-results strong { font-size:12px !important; }
.admin-sidebar-footer form button,
.admin-back-portal,
.admin-page-actions a,
.admin-heading .text-link { font-size:12px !important; }
.admin-command-search input { font-size:13px !important; }
.admin-command-search kbd { font-size:9px !important; }
.admin-command-results small,
.admin-command-results p { font-size:11px !important; }
.admin-page-heading .eyebrow { font-size:11px !important; }
.admin-page-heading > div:first-child > p:last-child,
.admin-suite-page p:not(.eyebrow) { font-size:13px !important; line-height:1.6; }

/* Website administration: cards and access-control options */
.admin-module-grid strong,
.admin-setting-toggle strong,
.admin-summary-link strong,
.security-checks strong,
.admin-navigation-identity strong,
.admin-module-control-card header strong,
.admin-module-note strong,
.admin-role-guide > article strong,
.admin-invitation-card header strong,
.admin-admin-list strong,
.admin-role-card header strong,
.admin-permission-row header strong { font-size:12px !important; }
.admin-navigation-list input[type=text],
.admin-navigation-list input[type=number] { font-size:12px !important; }
.admin-nav-visibility strong,
.admin-reset-form button,
.admin-nav-preview > p,
.admin-preview-browser header strong,
.admin-preview-browser nav span,
.admin-nav-preview > section a,
.admin-module-control-card header b,
.admin-module-control-card button,
.new-invitation-banner button,
.admin-invitation-card header b,
.admin-invite-actions button,
.admin-admin-hero > b,
.admin-admin-list a,
.admin-role-summary > a,
.admin-role-card header b,
.admin-role-card summary,
.admin-role-delete button { font-size:10px !important; }
.admin-nav-preview > section strong,
.admin-module-picker label > span strong,
.admin-permission-head > span { font-size:11px !important; }
.admin-module-control-card > p,
.admin-module-note p,
.new-invitation-banner p,
.admin-invite-explainer ol,
.admin-invite-explainer > p,
.admin-role-card > p,
.admin-admin-rule p { font-size:12px !important; }
.admin-admin-hero p:last-child { font-size:13px !important; }
.admin-role-summary > span,
.admin-module-picker legend { font-size:10px !important; }
.admin-permission-table { min-width:900px; }

/* Invitation registration */
.invite-registration-brand > p:not(.eyebrow),
.invite-registration-form > div > p:not(.eyebrow) { font-size:14px !important; }
.invite-registration-brand > div strong { font-size:14px !important; }
.invite-registration-form > a { font-size:12px !important; }
.invite-privacy { font-size:11px !important; }

/* Website overview analytics */
:root { --overview-series-1:#7357ff; --overview-series-2:#3f87df; --overview-series-3:#269e73; --overview-series-4:#df8750; }
:root[data-theme="dark"] { --overview-series-1:#9a85ff; --overview-series-2:#65a9ff; --overview-series-3:#48c99a; --overview-series-4:#f2a36f; }
.sr-only { width:1px !important; height:1px !important; padding:0 !important; position:absolute !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.admin-analytics-section { margin-bottom:20px; padding:24px; scroll-margin-top:100px; border:1px solid var(--line); border-radius:21px; background:radial-gradient(circle at 95% 0,color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,transparent),transparent 30%),var(--paper); box-shadow:0 12px 36px var(--shadow); }
.admin-analytics-heading { margin-bottom:20px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.admin-analytics-heading .eyebrow { margin-bottom:5px; }
.admin-analytics-heading h2 { margin:0; font-size:23px; }
.admin-analytics-heading p:not(.eyebrow) { max-width:680px; margin:7px 0 0; color:var(--muted); }
.admin-period-switch { padding:4px; display:flex; gap:3px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.admin-period-switch a { min-height:34px; padding:7px 10px; display:flex; align-items:center; justify-content:center; border-radius:8px; color:var(--muted); font-size:11px; font-weight:850; text-decoration:none; white-space:nowrap; }
.admin-period-switch a:hover { color:var(--ink); }
.admin-period-switch a.active { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-analytics-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr); gap:14px; }
.admin-chart-card { min-width:0; padding:20px; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.admin-chart-card > header { min-height:48px; margin-bottom:12px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.admin-chart-card > header span,.admin-chart-card > header h3 { display:block; }
.admin-chart-card > header > div:first-child > span { color:var(--accent-dark); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.admin-chart-card > header h3 { margin:5px 0 0; font-size:18px; }
.admin-chart-card > header > a { color:var(--accent-dark); font-size:11px; font-weight:850; text-decoration:none; white-space:nowrap; }
.admin-chart-legend { display:flex; align-items:center; gap:13px; flex-wrap:wrap; color:var(--muted); font-size:11px; font-weight:800; }
.admin-chart-legend span { display:flex; align-items:center; gap:6px; }
.admin-chart-legend span::before { width:9px; height:9px; border-radius:50%; background:var(--overview-series-1); content:""; }
.admin-chart-legend .people::before { background:var(--overview-series-2); }
.admin-overview-chart-wrap,.admin-donut-wrap { min-width:0; position:relative; }
.admin-overview-chart-wrap canvas { width:100%; height:270px; display:block; cursor:crosshair; }
.admin-donut-wrap { min-height:230px; display:grid; place-items:center; }
.admin-donut-wrap canvas { width:100%; height:230px; display:block; cursor:crosshair; }
.admin-donut-total { position:absolute; inset:50% auto auto 50%; display:grid; justify-items:center; pointer-events:none; transform:translate(-50%,-50%); }
.admin-donut-total strong { font-size:28px; line-height:1; }
.admin-donut-total span { margin-top:4px; color:var(--muted); font-size:10px; font-weight:850; text-transform:uppercase; }
.admin-chart-tooltip { min-width:165px; padding:10px 12px; position:absolute; z-index:5; top:18px; left:50%; display:none; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--paper); box-shadow:0 14px 34px var(--shadow); pointer-events:none; transform:translateX(-50%); }
.admin-chart-tooltip.visible { display:block; }
.admin-chart-tooltip strong { display:block; margin-bottom:6px; font-size:12px; }
.admin-chart-tooltip span { margin-top:4px; display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; }
.admin-chart-tooltip i { width:8px; height:8px; flex:0 0 auto; border-radius:50%; }
.admin-chart-tooltip .series-1 i { background:var(--overview-series-1); }
.admin-chart-tooltip .series-2 i { background:var(--overview-series-2); }
.admin-chart-tooltip .series-3 i { background:var(--overview-series-3); }
.admin-chart-tooltip .series-4 i { background:var(--overview-series-4); }
.admin-chart-summary { margin-top:9px; padding-top:13px; display:flex; gap:18px; flex-wrap:wrap; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.admin-chart-summary b { margin-right:4px; color:var(--ink); font-size:13px; }
.admin-content-legend { margin:8px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.admin-content-legend > div { min-width:0; padding:9px 10px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.admin-content-legend dt { min-width:0; overflow:hidden; display:flex; align-items:center; gap:7px; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.admin-content-legend dt::before { width:8px; height:8px; flex:0 0 auto; border-radius:3px; background:var(--overview-series-1); content:""; }
.admin-content-legend .series-2 dt::before { background:var(--overview-series-2); }
.admin-content-legend .series-3 dt::before { background:var(--overview-series-3); }
.admin-content-legend .series-4 dt::before { background:var(--overview-series-4); }
.admin-content-legend dd { color:var(--ink); font-weight:900; }

@media (max-width:1000px) {
    .admin-analytics-grid { grid-template-columns:1fr; }
    .admin-content-chart-card { display:grid; grid-template-columns:minmax(250px,.75fr) minmax(0,1fr); align-items:center; column-gap:20px; }
    .admin-content-chart-card > header { grid-column:1 / -1; }
}
@media (max-width:680px) {
    .admin-analytics-section { padding:18px; border-radius:17px; }
    .admin-analytics-heading { align-items:flex-start; flex-direction:column; }
    .admin-period-switch { width:100%; }
    .admin-period-switch a { flex:1; }
    .admin-chart-card { padding:16px; }
    .admin-chart-card > header { flex-direction:column; }
    .admin-overview-chart-wrap canvas { height:245px; }
    .admin-content-chart-card { display:block; }
    .admin-content-legend { grid-template-columns:1fr; }
}

/* Website overview attention centre and permanent activity */
.admin-attention-centre { margin-bottom:20px; padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.admin-attention-centre > header { margin-bottom:17px; display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.admin-attention-centre > header .eyebrow { margin-bottom:5px; }
.admin-attention-centre > header h2 { margin:0; font-size:22px; }
.admin-attention-centre > header p:not(.eyebrow) { margin:7px 0 0; color:var(--muted); }
.admin-attention-centre > header > span { padding:7px 10px; border-radius:9px; color:var(--accent-dark); font-size:10px; font-weight:900; text-transform:uppercase; white-space:nowrap; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.admin-attention-centre.has-items { background:radial-gradient(circle at 96% 0,rgba(232,151,72,.08),transparent 28%),var(--paper); }
.admin-attention-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.admin-attention-grid > a { min-width:0; min-height:126px; padding:14px; display:grid; grid-template-columns:39px minmax(0,1fr) auto; align-items:start; gap:11px; border:1px solid var(--line); border-radius:14px; color:var(--ink); text-decoration:none; background:var(--surface); transition:border-color .18s,transform .18s,box-shadow .18s; }
.admin-attention-grid > a:hover { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 45%,var(--line)); transform:translateY(-2px); box-shadow:0 10px 24px var(--shadow); }
.admin-attention-grid > a > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); font-size:15px; font-weight:900; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 12%,transparent); }
.admin-attention-grid > a.important > span { color:#a66a29; background:rgba(223,135,80,.13); }
.admin-attention-grid > a.urgent { border-color:var(--danger-line); background:linear-gradient(135deg,var(--danger-bg),var(--surface)); }
.admin-attention-grid > a.urgent > span { color:var(--danger); background:color-mix(in srgb,var(--danger) 13%,transparent); }
.admin-attention-grid small,.admin-attention-grid strong { display:block; }
.admin-attention-grid small { color:var(--muted); font-size:10px !important; font-weight:850; text-transform:uppercase; }
.admin-attention-grid strong { margin-top:4px; font-size:23px; line-height:1; }
.admin-attention-grid p { margin:8px 0 0; color:var(--muted); font-size:12px !important; line-height:1.5 !important; }
.admin-attention-grid b { align-self:center; color:var(--accent-dark); font-size:10px; white-space:nowrap; }
.admin-attention-clear { padding:16px; display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:13px; border:1px solid rgba(38,158,115,.28); border-radius:14px; background:rgba(38,158,115,.08); }
.admin-attention-clear > span { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:18px; font-weight:900; background:#269e73; }
.admin-attention-clear strong { font-size:14px; }
.admin-attention-clear p { margin:4px 0 0; color:var(--muted); }
.admin-activity-list article { grid-template-columns:31px minmax(0,1fr) 28px; }
.admin-activity-list article > a { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:var(--accent-dark); font-size:18px; text-decoration:none; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,transparent); }
.admin-activity-list article.category-security > span { color:var(--danger); background:var(--danger-bg); }
.admin-activity-list article.category-auth > span,.admin-activity-list article.category-user > span { color:#258c65; background:rgba(37,140,101,.11); }
.admin-activity-list article.category-communication > span { color:#a66a29; background:rgba(223,135,80,.12); }
.admin-activity-more { margin-top:11px; border-top:1px solid var(--line); }
.admin-activity-more > summary { padding:12px 3px 2px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--accent-dark); font-size:11px; font-weight:850; cursor:pointer; list-style:none; }
.admin-activity-more > summary::-webkit-details-marker { display:none; }
.admin-activity-more > summary span { min-width:24px; height:24px; display:grid; place-items:center; border-radius:999px; color:var(--muted); background:var(--surface); }
.admin-activity-more[open] > summary { margin-bottom:8px; }

@media (max-width:1080px) {
    .admin-attention-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
    .admin-attention-centre { padding:18px; }
    .admin-attention-centre > header { flex-direction:column; }
    .admin-attention-grid { grid-template-columns:1fr; }
    .admin-attention-grid > a { min-height:0; }
}

/* Announcement publishing studio */
.announcement-studio-hero { min-height:178px; margin-bottom:16px; padding:28px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 38%,var(--line)); border-radius:22px; background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--brand-primary,var(--accent)) 28%,transparent),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 20%,var(--paper)),var(--paper)); box-shadow:0 16px 44px var(--shadow); }
.announcement-studio-hero::after { width:190px; height:190px; position:absolute; right:60px; bottom:-135px; border:38px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 12%,transparent); border-radius:50%; content:""; }
.announcement-studio-hero > div { max-width:710px; position:relative; z-index:1; }
.announcement-studio-hero h2 { margin:3px 0 8px; font-size:30px; letter-spacing:-.7px; }
.announcement-studio-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.announcement-studio-hero > a { min-height:43px; padding:11px 16px; position:relative; z-index:1; display:flex; align-items:center; justify-content:center; border-radius:11px; color:#fff; font-size:12px; font-weight:900; text-decoration:none; white-space:nowrap; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 11px 26px color-mix(in srgb,var(--brand-primary,var(--accent)) 23%,transparent); }
.announcement-stat-grid { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.announcement-stat-grid article { min-width:0; padding:16px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 26px var(--shadow); }
.announcement-stat-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.announcement-stat-icon.live { background:linear-gradient(135deg,#37bd8b,#218e69); }
.announcement-stat-icon.acknowledgements { background:linear-gradient(135deg,#4e9fe8,#4567d1); }
.announcement-stat-icon.drafts { background:linear-gradient(135deg,#e99655,#c96859); }
.announcement-stat-grid small,.announcement-stat-grid strong,.announcement-stat-grid em { display:block; }
.announcement-stat-grid small { color:var(--muted); font-size:10px !important; font-weight:900; text-transform:uppercase; }
.announcement-stat-grid strong { margin:3px 0 2px; font-size:24px; line-height:1; }
.announcement-stat-grid em { overflow:hidden; color:var(--muted); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.announcement-studio-grid { margin-bottom:20px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:14px; align-items:start; }
.announcement-engagement-card { min-height:100%; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.announcement-engagement-card .admin-overview-chart-wrap canvas { height:282px; }
.announcement-composer { padding:21px; scroll-margin-top:110px; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.announcement-composer-heading { margin-bottom:3px; display:flex; align-items:center; gap:11px; }
.announcement-composer-heading > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.announcement-composer-heading .eyebrow { margin:0 0 2px; }
.announcement-composer-heading h3 { margin:0; font-size:18px; }
.announcement-composer > label,.announcement-field-grid > label { display:grid; gap:6px; color:var(--muted); font-size:11px !important; font-weight:850; }
.announcement-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.announcement-field-grid > label:last-child { grid-column:1 / -1; }
.announcement-field-grid small { color:var(--muted); font-size:9px; font-weight:600; }
.announcement-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.announcement-option-grid label { min-width:0; padding:11px; display:flex; align-items:flex-start; gap:9px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.announcement-option-grid label:has(input:checked) { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 48%,var(--line)); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 8%,var(--surface)); }
.announcement-option-grid input { width:17px; height:17px; margin-top:1px; flex:0 0 auto; accent-color:var(--brand-primary,var(--accent)); }
.announcement-option-grid strong,.announcement-option-grid small { display:block; }
.announcement-option-grid strong { font-size:11px; }
.announcement-option-grid small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.45; }
.announcement-library { padding:24px; border:1px solid var(--line); border-radius:21px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.announcement-library .admin-heading { align-items:flex-start; }
.announcement-library .admin-heading p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:12px; }
.announcement-filters { margin-bottom:16px; padding:4px; display:flex; gap:4px; overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.announcement-filters a { min-height:38px; padding:7px 11px; display:flex; align-items:center; gap:8px; border-radius:9px; color:var(--muted); font-size:11px; font-weight:850; text-decoration:none; white-space:nowrap; }
.announcement-filters a b { min-width:21px; height:21px; padding:0 6px; display:grid; place-items:center; border-radius:999px; color:var(--muted); font-size:9px; background:var(--paper); }
.announcement-filters a.active { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.announcement-filters a.active b { color:var(--brand-primary,var(--accent)); background:#fff; }
.announcement-card-list { display:grid; gap:12px; }
.announcement-library-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.announcement-library-card.priority-important { border-color:color-mix(in srgb,#e7a04d 38%,var(--line)); }
.announcement-library-card.priority-urgent { border-color:color-mix(in srgb,var(--danger) 48%,var(--line)); box-shadow:inset 4px 0 0 var(--danger); }
.announcement-card-header { padding:17px 18px 12px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.announcement-title-group { min-width:0; display:grid; grid-template-columns:39px minmax(0,1fr); align-items:start; gap:11px; }
.announcement-priority-mark { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); font-size:15px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 12%,transparent); }
.priority-important .announcement-priority-mark { color:#a56825; background:rgba(231,160,77,.13); }
.priority-urgent .announcement-priority-mark { color:var(--danger); background:var(--danger-bg); }
.announcement-title-group h3 { margin:6px 0 3px; font-size:17px; overflow-wrap:anywhere; }
.announcement-title-group small { color:var(--muted); font-size:10px; }
.announcement-badges { display:flex; gap:5px; flex-wrap:wrap; }
.announcement-badges span { padding:4px 7px; border-radius:6px; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; background:var(--paper); }
.announcement-badges .status.published { color:#278463; background:rgba(39,159,112,.11); }
.announcement-badges .status.scheduled { color:#4977bc; background:rgba(72,128,208,.11); }
.announcement-badges .status.draft { color:#a56a25; background:rgba(231,160,77,.12); }
.announcement-badges .status.template { color:var(--accent-dark); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.announcement-badges .priority.urgent { color:var(--danger); background:var(--danger-bg); }
.announcement-badges .priority.important { color:#9a6425; background:rgba(231,160,77,.12); }
.announcement-library-card .row-actions { flex-wrap:wrap; justify-content:flex-end; }
.announcement-message { max-width:900px; margin:0; padding:0 18px 15px 68px; color:var(--muted); font-size:12px; line-height:1.65; }
.announcement-timing { padding:0 18px 14px 68px; display:flex; gap:8px; flex-wrap:wrap; }
.announcement-timing span { padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:9px; background:var(--paper); }
.announcement-timing b { margin-right:5px; color:var(--ink); }
.announcement-metrics { margin:0 18px 15px 68px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.announcement-metrics > div { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.announcement-metrics small,.announcement-metrics strong { display:block; }
.announcement-metrics small { color:var(--muted); font-size:9px; font-weight:800; }
.announcement-metrics strong { margin-top:4px; font-size:16px; }
.announcement-card-details { border-top:1px solid var(--line); }
.announcement-card-details > details + details { border-top:1px solid var(--line); }
.announcement-card-details summary { padding:12px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; font-weight:850; list-style:none; cursor:pointer; background:var(--paper); }
.announcement-card-details summary::-webkit-details-marker { display:none; }
.announcement-card-details details[open] > summary { color:var(--accent-dark); }
.announcement-reader-list { padding:12px 18px; display:grid; gap:7px; background:var(--paper); }
.announcement-reader-list > article { padding:9px 10px; display:grid; grid-template-columns:32px minmax(0,1fr) auto auto; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.reader-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:11px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.announcement-reader-list strong,.announcement-reader-list small { display:block; }
.announcement-reader-list strong { font-size:11px; }
.announcement-reader-list small { margin-top:2px; color:var(--muted); font-size:9px; }
.reader-state { padding:5px 7px; border-radius:7px; color:var(--muted); font-size:8px; font-weight:850; white-space:nowrap; background:var(--paper); }
.reader-state.viewed,.reader-state.acknowledged { color:#278463; background:rgba(39,159,112,.11); }
.reader-state.waiting { color:#a56a25; background:rgba(231,160,77,.12); }
.announcement-edit-form { padding:17px 18px; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--paper); }
.announcement-edit-form .wide { grid-column:1 / -1; }
.announcement-edit-form .admin-check { display:flex; align-items:center; gap:8px; }
.announcement-edit-form .admin-check input { width:17px; height:17px; accent-color:var(--brand-primary,var(--accent)); }
.announcement-empty { min-height:170px; display:grid; place-items:center; align-content:center; gap:6px; }
.announcement-empty > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--accent-dark); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.announcement-empty strong { color:var(--ink); font-size:14px; }
.announcement-empty p { margin:0; }

/* User-facing announcement priorities and acknowledgements */
.command-announcements { scroll-margin-top:135px; }
.announcement-grid .dashboard-announcement { position:relative; overflow:hidden; }
.announcement-grid .dashboard-announcement::before { width:4px; position:absolute; inset:0 auto 0 0; background:transparent; content:""; }
.announcement-grid .dashboard-announcement.priority-important::before { background:#e7a04d; }
.announcement-grid .dashboard-announcement.priority-urgent::before { background:var(--danger); }
.announcement-grid .dashboard-announcement.pinned { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 42%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 7%,var(--paper)),var(--paper)); }
.announcement-grid .dashboard-announcement.priority-important > span { background:linear-gradient(135deg,#e7a04d,#c46b42); }
.announcement-grid .dashboard-announcement.priority-urgent > span { background:linear-gradient(135deg,#eb6b6b,#b83e54); }
.announcement-grid .dashboard-announcement.acknowledged { opacity:.82; }
.dashboard-announcement-labels { margin-bottom:5px; display:flex; flex-wrap:wrap; gap:5px; }
.dashboard-announcement-labels b { padding:3px 6px; border-radius:5px; color:var(--accent-dark); font-size:8px; letter-spacing:.03em; text-transform:uppercase; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.priority-urgent .dashboard-announcement-labels b:first-child { color:var(--danger); background:var(--danger-bg); }
.priority-important .dashboard-announcement-labels b:first-child { color:#9a6425; background:rgba(231,160,77,.12); }
.announcement-acknowledge { margin-top:11px; }
.announcement-acknowledge button { min-height:36px; padding:8px 12px; border:0; border-radius:9px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.announcement-confirmed { width:max-content; margin-top:10px; padding:6px 8px; display:block; border-radius:8px; color:#278463; font-size:9px; font-weight:850; background:rgba(39,159,112,.11); }

@media (max-width:1120px) {
    .announcement-stat-grid { grid-template-columns:1fr 1fr; }
    .announcement-studio-grid { grid-template-columns:1fr; }
    .announcement-edit-form { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
    .announcement-studio-hero { min-height:0; padding:22px; align-items:flex-start; flex-direction:column; }
    .announcement-studio-hero h2 { font-size:25px; }
    .announcement-stat-grid { grid-template-columns:1fr; }
    .announcement-field-grid,.announcement-option-grid { grid-template-columns:1fr; }
    .announcement-field-grid > label:last-child { grid-column:auto; }
    .announcement-library { padding:17px; }
    .announcement-card-header { flex-direction:column; }
    .announcement-library-card .row-actions { justify-content:flex-start; }
    .announcement-message,.announcement-timing { padding-left:18px; }
    .announcement-metrics { margin-left:18px; grid-template-columns:1fr 1fr; }
    .announcement-reader-list > article { grid-template-columns:32px minmax(0,1fr); }
    .reader-state { grid-column:2; width:max-content; }
    .announcement-edit-form { grid-template-columns:1fr; }
    .announcement-edit-form .wide { grid-column:auto; }
}

/* Page content studio */
.page-studio-hero { min-height:180px; margin-bottom:16px; padding:29px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 35%,var(--line)); border-radius:22px; background:radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 27%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 13%,var(--paper)),var(--paper)); box-shadow:0 16px 44px var(--shadow); }
.page-studio-hero::before { width:160px; height:120px; position:absolute; right:90px; bottom:-82px; border:32px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); border-radius:24px; content:""; transform:rotate(-9deg); }
.page-studio-hero > div { max-width:750px; position:relative; z-index:1; }
.page-studio-hero h2 { margin:3px 0 8px; font-size:30px; letter-spacing:-.7px; }
.page-studio-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.page-studio-hero > a { min-height:43px; padding:11px 16px; position:relative; z-index:1; display:flex; align-items:center; justify-content:center; border-radius:11px; color:#fff; font-size:12px; font-weight:900; text-decoration:none; white-space:nowrap; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 11px 26px color-mix(in srgb,var(--brand-primary,var(--accent)) 23%,transparent); }
.page-studio-stats { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.page-studio-stats article { min-width:0; padding:16px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 26px var(--shadow); }
.page-studio-stats article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.page-studio-stats article > span.published { background:linear-gradient(135deg,#37bd8b,#218e69); }
.page-studio-stats article > span.views { background:linear-gradient(135deg,#4e9fe8,#4567d1); }
.page-studio-stats article > span.scheduled { background:linear-gradient(135deg,#a47df1,#7357cf); }
.page-studio-stats article > span.drafts { background:linear-gradient(135deg,#e99655,#c96859); }
.page-studio-stats small,.page-studio-stats strong,.page-studio-stats em { display:block; }
.page-studio-stats small { color:var(--muted); font-size:10px !important; font-weight:900; text-transform:uppercase; }
.page-studio-stats strong { margin:3px 0 2px; font-size:24px; line-height:1; }
.page-studio-stats em { overflow:hidden; color:var(--muted); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.page-studio-grid { margin-bottom:20px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr); gap:14px; align-items:start; }
.page-view-chart { min-height:100%; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.page-view-chart .admin-overview-chart-wrap canvas { height:390px; }
.page-composer { padding:21px; scroll-margin-top:110px; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.page-composer-heading { margin-bottom:4px; display:flex; align-items:center; gap:11px; }
.page-composer-heading > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.page-composer-heading .eyebrow { margin:0 0 2px; }
.page-composer-heading h3 { margin:0; font-size:18px; }
.page-composer > label,.page-field-grid > label { display:grid; gap:6px; color:var(--muted); font-size:11px !important; font-weight:850; }
.page-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.page-field-grid small { color:var(--muted); font-size:9px; font-weight:600; }
.page-seo-fields { overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.page-seo-fields > summary { padding:11px 12px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; font-weight:850; cursor:pointer; list-style:none; }
.page-seo-fields > summary::-webkit-details-marker { display:none; }
.page-seo-fields[open] > summary { color:var(--accent-dark); border-bottom:1px solid var(--line); }
.page-seo-fields[open] > summary span { transform:rotate(180deg); }
.page-seo-fields > div { padding:12px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.page-seo-fields label { display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:850; }
.page-seo-fields textarea { background:var(--paper); }
.page-feature-option { padding:11px; display:flex !important; grid-template-columns:none !important; align-items:flex-start; gap:9px !important; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.page-feature-option:has(input:checked) { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 48%,var(--line)); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 8%,var(--surface)); }
.page-feature-option input { width:17px; height:17px !important; margin-top:1px; flex:0 0 auto; accent-color:var(--brand-primary,var(--accent)); }
.page-feature-option strong,.page-feature-option small { display:block; }
.page-feature-option strong { color:var(--ink); font-size:11px; }
.page-feature-option small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.45; }
.page-library { padding:24px; border:1px solid var(--line); border-radius:21px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.page-library .admin-heading { align-items:flex-start; }
.page-library .admin-heading p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:12px; }
.page-library-toolbar { margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.page-library-toolbar > label { min-width:250px; max-width:420px; flex:1; position:relative; }
.page-library-toolbar > label span { position:absolute; left:12px; top:50%; color:var(--muted); transform:translateY(-50%); }
.page-library-toolbar > label input { width:100%; height:42px; padding:0 12px 0 36px; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.page-library-toolbar > label input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.page-library-toolbar nav { padding:4px; display:flex; gap:3px; overflow-x:auto; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.page-library-toolbar nav a { min-height:33px; padding:6px 9px; display:flex; align-items:center; gap:6px; border-radius:8px; color:var(--muted); font-size:10px; font-weight:850; text-decoration:none; white-space:nowrap; }
.page-library-toolbar nav a b { min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:999px; font-size:8px; background:var(--paper); }
.page-library-toolbar nav a.active { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.page-library-toolbar nav a.active b { color:var(--brand-primary,var(--accent)); background:#fff; }
.page-library-list { display:grid; gap:12px; }
.page-library-card { min-width:0; overflow:hidden; position:relative; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.page-library-card::before { width:4px; position:absolute; inset:0 auto 0 0; content:""; background:var(--muted); opacity:.35; }
.page-library-card.status-published::before { background:#2ea579; opacity:1; }
.page-library-card.status-scheduled::before { background:#7b63d7; opacity:1; }
.page-library-card.status-draft::before { background:#d98b46; opacity:1; }
.page-library-card.status-archived { opacity:.76; }
.page-library-card > header { padding:17px 18px 12px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.page-library-title { min-width:0; display:grid; grid-template-columns:39px minmax(0,1fr); align-items:start; gap:11px; }
.page-library-title > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); font-size:15px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.page-library-title h3 { margin:6px 0 3px; font-size:17px; overflow-wrap:anywhere; }
.page-library-title small { color:var(--muted); font-size:10px; }
.page-card-badges { display:flex; gap:5px; flex-wrap:wrap; }
.page-card-badges b { padding:4px 7px; border-radius:6px; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.03em; text-transform:uppercase; background:var(--paper); }
.status-published .page-card-badges .status { color:#278463; background:rgba(39,159,112,.11); }
.status-scheduled .page-card-badges .status { color:#6650c0; background:rgba(115,87,255,.11); }
.status-draft .page-card-badges .status { color:#9a6425; background:rgba(231,160,77,.12); }
.page-library-card .row-actions { flex-wrap:wrap; justify-content:flex-end; }
.page-library-card .row-actions > a { padding:7px 9px; display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:10px; font-weight:800; text-decoration:none; background:var(--paper); }
.page-library-card .row-actions > a:hover { color:var(--accent-dark); border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); }
.page-card-excerpt { max-width:900px; margin:0; padding:0 18px 14px 68px; color:var(--muted); font-size:12px; line-height:1.6; }
.page-schedule-note { width:max-content; max-width:calc(100% - 86px); margin:0 18px 14px 68px; padding:7px 9px; border-radius:8px; color:#6650c0; font-size:9px; background:rgba(115,87,255,.1); }
.page-card-metrics { margin:0 18px 15px 68px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.page-card-metrics > div { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.page-card-metrics small,.page-card-metrics strong { display:block; }
.page-card-metrics small { color:var(--muted); font-size:9px; font-weight:800; }
.page-card-metrics strong { margin-top:4px; font-size:16px; }
.page-card-details { border-top:1px solid var(--line); }
.page-card-details > details + details { border-top:1px solid var(--line); }
.page-card-details summary { padding:12px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; font-weight:850; list-style:none; cursor:pointer; background:var(--paper); }
.page-card-details summary::-webkit-details-marker { display:none; }
.page-card-details details[open] > summary { color:var(--accent-dark); }
.page-edit-form { padding:17px 18px; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--paper); }
.page-edit-form .wide { grid-column:1 / -1; }
.page-edit-form .admin-check { display:flex; align-items:center; gap:8px; }
.page-edit-form .admin-check input { width:17px; height:17px; accent-color:var(--brand-primary,var(--accent)); }
.page-revision-list { padding:12px 18px; display:grid; gap:7px; background:var(--paper); }
.page-revision-list > p { margin:0; padding:11px; color:var(--muted); font-size:10px; }
.page-revision-list article { padding:10px 11px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.page-revision-list strong,.page-revision-list small { display:block; }
.page-revision-list strong { font-size:11px; }
.page-revision-list small { margin-top:3px; color:var(--muted); font-size:9px; }
.page-revision-list button { padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--accent-dark); font-size:9px; font-weight:850; background:var(--paper); cursor:pointer; }
.page-library-empty { min-height:170px; display:grid; place-items:center; align-content:center; gap:6px; color:var(--muted); }
.page-library-empty > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--accent-dark); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.page-library-empty strong { color:var(--ink); font-size:14px; }
.page-library-empty p { margin:0; }

/* Featured portal content */
.dashboard-featured-pages { margin:20px 0; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 13px 38px var(--shadow); }
.dashboard-featured-pages > div:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.dashboard-featured-pages > div:last-child > a { min-width:0; padding:14px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid var(--line); border-radius:13px; color:var(--ink); text-decoration:none; background:var(--surface); transition:border-color .18s,transform .18s; }
.dashboard-featured-pages > div:last-child > a:hover { border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); transform:translateY(-2px); }
.dashboard-featured-pages > div:last-child > a > span { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:14px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.dashboard-featured-pages small,.dashboard-featured-pages strong { display:block; }
.dashboard-featured-pages small { color:var(--accent-dark); font-size:8px; font-weight:900; text-transform:uppercase; }
.dashboard-featured-pages strong { margin-top:3px; font-size:13px; }
.dashboard-featured-pages p { margin:5px 0 0; overflow:hidden; color:var(--muted); font-size:10px !important; line-height:1.45 !important; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-featured-pages a > b { color:var(--accent-dark); font-size:18px; }

/* Published portal pages */
.portal-content-page { min-height:100vh; background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,transparent),transparent 35%),var(--bg); }
.portal-article-shell { width:min(100% - 34px,980px); margin:0 auto; padding:150px 0 70px; }
.portal-page-breadcrumb { margin-bottom:13px; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.portal-page-breadcrumb a { color:var(--accent-dark); font-weight:800; text-decoration:none; }
.portal-article { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--paper); box-shadow:0 22px 60px var(--shadow); }
.portal-article-header { padding:42px 48px 34px; position:relative; border-bottom:1px solid var(--line); background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--brand-primary,var(--accent)) 16%,transparent),transparent 35%),var(--surface); }
.portal-article-header::after { width:118px; height:118px; position:absolute; right:42px; bottom:-82px; border:25px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 8%,transparent); border-radius:28px; content:""; transform:rotate(12deg); }
.portal-article-badges { display:flex; gap:6px; flex-wrap:wrap; }
.portal-article-badges span { padding:5px 8px; border-radius:7px; color:var(--accent-dark); font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.portal-article-badges span.preview { color:#9a6425; background:rgba(231,160,77,.13); }
.portal-article-header h1 { max-width:760px; margin:14px 0 10px; position:relative; z-index:1; font-size:43px; line-height:1.08; letter-spacing:-1.5px; }
.portal-article-header > p { max-width:710px; margin:0; position:relative; z-index:1; color:var(--muted); font-size:16px; line-height:1.65; }
.portal-article-header > div:last-child { margin-top:22px; display:flex; gap:9px; flex-wrap:wrap; color:var(--muted); font-size:10px; font-weight:750; }
.portal-article-header > div:last-child span { padding-right:9px; border-right:1px solid var(--line); }
.portal-article-header > div:last-child span:last-child { border:0; }
.portal-article-body { min-height:260px; padding:43px 48px 52px; color:var(--ink); font-size:15px; line-height:1.9; overflow-wrap:anywhere; }
.portal-article footer { padding:16px 48px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); background:var(--surface); }
.portal-article footer a { color:var(--accent-dark); font-size:11px; font-weight:850; text-decoration:none; }
.portal-page-missing { padding:65px 28px; display:grid; place-items:center; text-align:center; border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 20px 55px var(--shadow); }
.portal-page-missing > span { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; color:var(--accent-dark); font-size:20px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.portal-page-missing .eyebrow { margin:16px 0 4px; }
.portal-page-missing h1 { margin:0; font-size:30px; }
.portal-page-missing p:not(.eyebrow) { color:var(--muted); }
.portal-page-missing a { margin-top:8px; padding:10px 13px; border-radius:9px; color:#fff; font-size:11px; font-weight:850; text-decoration:none; background:var(--accent); }

@media (max-width:1120px) {
    .page-studio-stats { grid-template-columns:1fr 1fr; }
    .page-studio-grid { grid-template-columns:1fr; }
    .page-view-chart .admin-overview-chart-wrap canvas { height:270px; }
    .page-edit-form { grid-template-columns:1fr 1fr; }
    .page-library-toolbar { align-items:stretch; flex-direction:column; }
    .page-library-toolbar > label { max-width:none; }
}
@media (max-width:720px) {
    .page-studio-hero { min-height:0; padding:22px; align-items:flex-start; flex-direction:column; }
    .page-studio-hero h2 { font-size:25px; }
    .page-studio-stats { grid-template-columns:1fr; }
    .page-field-grid,.page-seo-fields > div { grid-template-columns:1fr; }
    .page-library { padding:17px; }
    .page-library-toolbar nav { width:100%; }
    .page-library-card > header { flex-direction:column; }
    .page-library-card .row-actions { justify-content:flex-start; }
    .page-card-excerpt { padding-left:18px; }
    .page-schedule-note { max-width:calc(100% - 36px); margin-left:18px; }
    .page-card-metrics { margin-left:18px; grid-template-columns:1fr 1fr; }
    .page-edit-form { grid-template-columns:1fr; }
    .page-edit-form .wide { grid-column:auto; }
    .page-revision-list article { align-items:flex-start; flex-direction:column; }
    .dashboard-featured-pages > div:last-child { grid-template-columns:1fr; }
    .portal-article-shell { padding-top:130px; }
    .portal-article-header { padding:30px 24px 26px; }
    .portal-article-header h1 { font-size:34px; }
    .portal-article-body { padding:30px 24px 38px; }
    .portal-article footer { padding:15px 24px; align-items:flex-start; flex-direction:column; }
}

/* Account overview */
.account-page { background:radial-gradient(circle at 75% -5%,color-mix(in srgb,var(--brand-primary,var(--accent)) 13%,transparent),transparent 31%),var(--page); }
.account-shell { width:min(100% - 34px,1240px); margin:0 auto; padding:52px 0 78px; }
.account-hero { min-height:210px; margin-bottom:16px; padding:32px 36px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 34%,var(--line)); border-radius:24px; background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--brand-primary,var(--accent)) 27%,transparent),transparent 35%),linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 13%,var(--paper)),var(--paper)); box-shadow:0 18px 50px var(--shadow); }
.account-hero-identity { min-width:0; display:flex; align-items:center; gap:19px; }
.account-hero-identity > span { width:76px; height:76px; flex:0 0 auto; display:grid; place-items:center; border-radius:22px; color:#fff; font-size:28px; font-weight:900; background:linear-gradient(135deg,var(--role-colour,var(--brand-primary,var(--accent))),color-mix(in srgb,var(--role-colour,var(--accent)) 65%,#1c2861)); box-shadow:0 14px 35px color-mix(in srgb,var(--role-colour,var(--accent)) 28%,transparent); }
.account-hero h1 { margin:3px 0 6px; font-size:42px; letter-spacing:-1.3px; }
.account-hero-identity p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; font-weight:700; }
.account-hero aside { min-width:230px; padding:16px; display:grid; grid-template-columns:35px minmax(0,1fr); align-items:center; gap:10px; border:1px solid rgba(39,159,112,.22); border-radius:14px; background:color-mix(in srgb,var(--paper) 90%,transparent); }
.account-status-dot { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; background:rgba(39,159,112,.11); }
.account-status-dot::after { width:10px; height:10px; border:4px solid rgba(39,159,112,.14); border-radius:50%; content:""; background:#32c88e; background-clip:padding-box; }
.account-hero aside strong,.account-hero aside small { display:block; }
.account-hero aside strong { font-size:11px; }
.account-hero aside small { margin-top:4px; color:var(--muted); font-size:9px !important; }
.account-stat-grid { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.account-stat-grid article { min-width:0; padding:16px; display:grid; grid-template-columns:41px minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 27px var(--shadow); }
.account-stat-grid article > span { width:41px; height:41px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); font-size:14px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.account-stat-grid small,.account-stat-grid strong,.account-stat-grid em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-stat-grid small { color:var(--muted); font-size:8px !important; font-weight:900; text-transform:uppercase; }
.account-stat-grid strong { margin:3px 0 2px; font-size:15px; }
.account-stat-grid em { color:var(--muted); font-size:8px; font-style:normal; }
.account-content-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:14px; }
.account-settings-card { padding:23px; scroll-margin-top:100px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.account-settings-card > header { margin-bottom:18px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.account-settings-card > header h2 { margin:3px 0 5px; font-size:21px; }
.account-settings-card > header p:not(.eyebrow) { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.account-settings-card > header > span { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:var(--accent-dark); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.account-settings-card > form { display:grid; grid-template-columns:1fr 1fr; gap:12px 10px; }
.account-settings-card label { margin:0; display:grid; gap:6px; color:var(--muted); font-size:10px !important; font-weight:850; }
.account-settings-card label.wide { grid-column:1 / -1; }
.account-settings-card input { height:44px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); outline:none; background:var(--surface); }
.account-settings-card input[readonly] { color:var(--muted); cursor:not-allowed; }
.account-settings-card input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.account-settings-card label small { color:var(--muted); font-size:8px !important; font-weight:650; }
.account-settings-card form > button { min-height:43px; grid-column:1 / -1; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.account-security-note { margin-top:14px; padding:12px; display:grid; grid-template-columns:33px minmax(0,1fr); align-items:center; gap:9px; border:1px solid rgba(39,159,112,.2); border-radius:11px; background:rgba(39,159,112,.07); }
.account-security-note > span { width:33px; height:33px; display:grid; place-items:center; border-radius:9px; color:#278463; background:rgba(39,159,112,.12); }
.account-security-note p { margin:0; }
.account-security-note strong,.account-security-note small { display:block; }
.account-security-note strong { font-size:9px; }
.account-security-note small { margin-top:3px; color:var(--muted); font-size:8px !important; line-height:1.45; }
.account-quick-links { margin-top:14px; padding:22px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.account-quick-links > header h2 { margin:3px 0 14px; font-size:20px; }
.account-quick-links > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.account-quick-links a { min-width:0; padding:13px; display:grid; grid-template-columns:37px minmax(0,1fr) 14px; align-items:center; gap:9px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:var(--surface); transition:border-color .2s,transform .2s; }
.account-quick-links a:hover { border-color:var(--accent); transform:translateY(-1px); }
.account-quick-links a > span { width:37px; height:37px; display:grid; place-items:center; border-radius:10px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.account-quick-links a strong,.account-quick-links a small { display:block; }
.account-quick-links a strong { font-size:10px; }
.account-quick-links a small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:8px !important; text-overflow:ellipsis; white-space:nowrap; }
.account-quick-links a i { color:var(--muted); font-style:normal; }
.account-quick-links a.admin { border-color:color-mix(in srgb,var(--accent) 25%,var(--line)); background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.account-quick-links a.admin > span { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }

@media (max-width:1080px) {
    .account-stat-grid { grid-template-columns:1fr 1fr; }
    .account-content-grid { grid-template-columns:1fr; }
    .account-quick-links > div { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
    .account-shell { padding-top:32px; }
    .account-hero { min-height:0; padding:25px; align-items:flex-start; flex-direction:column; }
    .account-hero h1 { font-size:34px; }
    .account-hero aside { width:100%; min-width:0; }
    .account-stat-grid { grid-template-columns:1fr; }
    .account-settings-card > form { grid-template-columns:1fr; }
    .account-settings-card label.wide,.account-settings-card form > button { grid-column:auto; }
    .account-quick-links > div { grid-template-columns:1fr; }
}
@media (max-width:520px) {
    .account-hero-identity { align-items:flex-start; flex-direction:column; }
    .account-hero-identity > span { width:62px; height:62px; border-radius:18px; font-size:22px; }
}

/* Private Support page */
.support-page { min-height:100vh; background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent),transparent 34%),var(--bg); }
.support-shell { width:min(100% - 34px,1240px); margin:0 auto; padding:150px 0 72px; }
.support-hero { min-height:210px; margin-bottom:18px; padding:34px 38px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 35%,var(--line)); border-radius:24px; background:radial-gradient(circle at 86% 15%,color-mix(in srgb,var(--brand-primary,var(--accent)) 27%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 16%,var(--paper)),var(--paper)); box-shadow:0 18px 50px var(--shadow); }
.support-hero > div { max-width:760px; }
.support-hero h1 { margin:4px 0 9px; font-size:42px; letter-spacing:-1.4px; }
.support-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.support-hero aside { min-width:165px; padding:18px; display:grid; grid-template-columns:43px 1fr; align-items:center; gap:12px; position:relative; z-index:1; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 25%,var(--line)); border-radius:16px; background:color-mix(in srgb,var(--paper) 88%,transparent); }
.support-hero aside > span { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.support-hero aside strong,.support-hero aside small { display:block; }
.support-hero aside strong { font-size:25px; line-height:1; }
.support-hero aside small { margin-top:4px; color:var(--muted); font-size:9px; font-weight:800; }
.support-status-strip { margin-bottom:18px; display:grid; grid-template-columns:repeat(3,minmax(120px,.55fr)) minmax(260px,1.35fr); gap:9px; }
.support-status-strip article { min-width:0; padding:13px 15px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 8px 24px var(--shadow); }
.support-status-strip article > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:var(--accent-dark); font-size:12px; font-weight:900; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.support-status-strip strong,.support-status-strip small { display:block; }
.support-status-strip strong { font-size:14px; }
.support-status-strip small { margin-top:2px; color:var(--muted); font-size:9px; line-height:1.35; }
.support-status-strip article:not(.privacy) strong { font-size:21px; line-height:1; }
.support-status-strip .privacy > span { color:#278463; background:rgba(39,159,112,.11); }
.support-layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); align-items:start; gap:17px; }
.support-new-ticket { padding:23px; position:sticky; top:135px; display:grid; gap:13px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 14px 40px var(--shadow); }
.support-new-ticket h2 { margin:3px 0 5px; font-size:22px; }
.support-new-ticket > div:first-child > p:not(.eyebrow) { margin:0 0 4px; color:var(--muted); font-size:11px; }
.support-privacy-note { padding:10px 11px; display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:9px; border:1px solid rgba(39,159,112,.2); border-radius:10px; background:rgba(39,159,112,.07); }
.support-privacy-note > span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; color:#278463; background:rgba(39,159,112,.12); }
.support-privacy-note p { margin:0; }
.support-privacy-note strong,.support-privacy-note small { display:block; }
.support-privacy-note strong { font-size:9px; }
.support-privacy-note small { margin-top:2px; color:var(--muted); font-size:8px; line-height:1.4; }
.support-new-ticket label { display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:850; }
.support-new-ticket input,.support-new-ticket select { height:43px; padding:0 12px; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.support-new-ticket textarea { width:100%; padding:12px; resize:vertical; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.support-new-ticket input:focus,.support-new-ticket select:focus,.support-new-ticket textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.support-form-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.support-new-ticket > button { min-height:43px; border:0; border-radius:11px; color:#fff; font-size:11px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.support-conversations { min-width:0; display:grid; gap:12px; }
.support-conversations > header { padding:4px 2px 2px; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }
.support-conversations > header h2 { margin:3px 0 0; font-size:23px; }
.support-conversations > header > span { padding:6px 9px; border-radius:8px; color:var(--muted); font-size:9px; font-weight:850; background:var(--paper); }
.support-ticket { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 12px 34px var(--shadow); scroll-margin-top:145px; }
.support-ticket.priority-high { border-color:color-mix(in srgb,#e7a04d 42%,var(--line)); }
.support-ticket > header { padding:17px 18px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); background:var(--surface); }
.support-ticket > header > div > div { display:flex; gap:5px; flex-wrap:wrap; }
.support-ticket > header > div > div span { padding:4px 7px; border-radius:6px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; background:var(--paper); }
.support-ticket > header h3 { margin:7px 0 3px; font-size:17px; }
.support-ticket > header small { color:var(--muted); font-size:9px; }
.support-ticket > header > b { padding:5px 8px; border-radius:7px; color:var(--accent-dark); font-size:8px; text-transform:uppercase; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.support-ticket.status-resolved > header > b { color:#278463; background:rgba(39,159,112,.11); }
.support-thread { padding:17px 18px; display:grid; gap:11px; }
.support-thread > article { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:9px; }
.support-thread > article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,#4e91d5,#3d67bd); }
.support-thread > article.from-admin > span { background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.support-thread > article > div { min-width:0; padding:10px 11px; border:1px solid var(--line); border-radius:0 11px 11px 11px; background:var(--surface); }
.support-thread > article.from-admin > div { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 6%,var(--surface)); }
.support-thread strong,.support-thread small { display:block; }
.support-thread strong { font-size:10px; }
.support-thread p { margin:5px 0; color:var(--ink); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.support-thread small { color:var(--muted); font-size:8px; }
.support-ticket-actions { padding:14px 18px; display:flex; align-items:flex-end; gap:8px; border-top:1px solid var(--line); background:var(--surface); }
.support-ticket-actions > form:first-child { flex:1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.support-ticket-actions textarea { min-width:0; padding:10px; resize:vertical; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
.support-ticket-actions button { min-height:39px; padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--accent-dark); font-size:9px; font-weight:850; background:var(--paper); cursor:pointer; }
.support-ticket-actions > form:first-child button { border:0; color:#fff; background:var(--accent); }
.message-compose-field { min-width:0; display:grid; gap:4px; }
.message-compose-field textarea { width:100%; min-height:96px; max-height:320px; field-sizing:content; overflow:auto; }
.message-compose-field > small { padding-right:2px; color:var(--muted); font-size:8px; font-weight:700; text-align:right; }
.message-compose-field > small b { color:var(--ink); font-weight:850; }
.support-new-ticket .message-compose-field textarea { min-height:142px; }
.support-ticket-actions .message-compose-field textarea { min-height:78px; }
.support-empty { min-height:250px; padding:30px; display:grid; place-items:center; align-content:center; gap:7px; text-align:center; border:1px dashed var(--line); border-radius:18px; color:var(--muted); background:var(--paper); }
.support-empty > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:var(--accent-dark); font-size:18px; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.support-empty strong { color:var(--ink); font-size:14px; }
.support-empty p { margin:0; }

/* Ashton communication centre */
.inbox-command-hero { min-height:178px; margin-bottom:16px; padding:29px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 36%,var(--line)); border-radius:22px; background:radial-gradient(circle at 87% 12%,color-mix(in srgb,var(--brand-primary,var(--accent)) 27%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 15%,var(--paper)),var(--paper)); box-shadow:0 16px 44px var(--shadow); }
.inbox-command-hero > div { max-width:740px; }
.inbox-command-hero h2 { margin:3px 0 8px; font-size:30px; letter-spacing:-.7px; }
.inbox-command-hero p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.inbox-command-hero > a { min-height:43px; padding:11px 16px; display:flex; align-items:center; justify-content:center; border-radius:11px; color:#fff; font-size:12px; font-weight:900; text-decoration:none; white-space:nowrap; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-stat-grid { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.inbox-stat-grid article { min-width:0; padding:16px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 26px var(--shadow); }
.inbox-stat-grid article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-stat-grid article > span.new { background:linear-gradient(135deg,#4e9fe8,#4567d1); }
.inbox-stat-grid article > span.urgent { background:linear-gradient(135deg,#eb6b6b,#b83e54); }
.inbox-stat-grid article > span.pending { background:linear-gradient(135deg,#e99655,#c96859); }
.inbox-stat-grid article > span.response { background:linear-gradient(135deg,#37bd8b,#218e69); }
.inbox-stat-grid small,.inbox-stat-grid strong,.inbox-stat-grid em { display:block; }
.inbox-stat-grid small { color:var(--muted); font-size:10px !important; font-weight:900; text-transform:uppercase; }
.inbox-stat-grid strong { margin:3px 0 2px; font-size:24px; line-height:1; }
.inbox-stat-grid em { overflow:hidden; color:var(--muted); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.inbox-insight-grid { margin-bottom:20px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:14px; align-items:start; }
.inbox-volume-chart { min-height:100%; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.inbox-side-insights { display:grid; gap:12px; }
.inbox-category-card,.reply-template-manager { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.inbox-category-card { padding:19px; }
.inbox-category-card h3,.reply-template-manager h3 { margin:3px 0 0; font-size:17px; }
.inbox-category-card > div:last-child { margin-top:15px; display:grid; gap:9px; }
.inbox-category-card article span { margin-bottom:5px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.inbox-category-card article b { font-size:10px; }
.inbox-category-card article em { color:var(--muted); font-size:9px; font-style:normal; font-weight:800; }
.inbox-category-card progress { width:100%; height:6px; border:0; border-radius:999px; overflow:hidden; appearance:none; background:var(--surface); }
.inbox-category-card progress::-webkit-progress-bar { background:var(--surface); }
.inbox-category-card progress::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-category-card progress::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.reply-template-manager > summary { padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
.reply-template-manager > summary::-webkit-details-marker { display:none; }
.reply-template-manager > summary > b { min-width:25px; height:25px; display:grid; place-items:center; border-radius:8px; color:var(--accent-dark); font-size:9px; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.reply-template-manager > div { padding:15px 18px 18px; border-top:1px solid var(--line); }
.reply-template-manager > div > form { display:grid; gap:9px; }
.reply-template-manager label { display:grid; gap:5px; color:var(--muted); font-size:9px; font-weight:850; }
.reply-template-manager input { height:39px; padding:0 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); }
.reply-template-manager textarea { padding:10px; resize:vertical; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); }
.reply-template-manager > div > form > button { min-height:37px; border:0; border-radius:9px; color:#fff; font-size:9px; font-weight:850; background:var(--accent); cursor:pointer; }
.reply-template-list { margin-top:12px; display:grid; gap:7px; }
.reply-template-list article { padding:9px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.reply-template-list strong { display:block; font-size:9px; }
.reply-template-list p { margin:3px 0 0; overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.reply-template-list button { padding:5px 6px; border:1px solid var(--line); border-radius:6px; color:var(--danger); font-size:7px; font-weight:800; background:var(--paper); cursor:pointer; }
.inbox-conversation-library { padding:24px; scroll-margin-top:105px; border:1px solid var(--line); border-radius:21px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.inbox-conversation-library .admin-heading { align-items:flex-start; }
.inbox-conversation-library .admin-heading p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:12px; }
.inbox-filter-toolbar { margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inbox-filter-toolbar > label { min-width:260px; max-width:430px; flex:1; position:relative; }
.inbox-filter-toolbar > label > span { position:absolute; left:12px; top:50%; color:var(--muted); transform:translateY(-50%); }
.inbox-filter-toolbar > label input { width:100%; height:42px; padding:0 12px 0 36px; border:1px solid var(--line); border-radius:11px; color:var(--ink); outline:none; background:var(--surface); }
.inbox-filter-toolbar > div { padding:4px; display:flex; gap:3px; overflow-x:auto; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.inbox-filter-toolbar button { min-height:33px; padding:6px 9px; display:flex; align-items:center; gap:6px; border:0; border-radius:8px; color:var(--muted); font-size:9px; font-weight:850; white-space:nowrap; background:transparent; cursor:pointer; }
.inbox-filter-toolbar button span { min-width:18px; height:18px; display:grid; place-items:center; border-radius:999px; font-size:7px; background:var(--paper); }
.inbox-filter-toolbar button.active { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-filter-toolbar button.active span { color:var(--accent); background:#fff; }
.inbox-conversation-list { display:grid; gap:13px; }
.inbox-conversation { min-width:0; overflow:hidden; position:relative; border:1px solid var(--line); border-radius:18px; background:var(--surface); scroll-margin-top:105px; }
.inbox-conversation::before { width:4px; position:absolute; inset:0 auto 0 0; content:""; background:var(--muted); opacity:.3; }
.inbox-conversation.priority-high::before { background:#e7a04d; opacity:1; }
.inbox-conversation.priority-urgent::before { background:var(--danger); opacity:1; }
.inbox-conversation.status-new { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 40%,var(--line)); }
.inbox-conversation.status-archived { opacity:.72; }
.inbox-conversation.is-open { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 38%,var(--line)); box-shadow:0 15px 38px var(--shadow); }
.inbox-conversation:not(.is-open) .inbox-thread,.inbox-conversation:not(.is-open) .inbox-workspace,.inbox-conversation:not(.is-open) .inbox-private-notes,.inbox-conversation:not(.is-open) > footer { display:none; }
.inbox-conversation-header { padding:17px 18px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; background:var(--paper); }
.inbox-conversation.is-open .inbox-conversation-header { border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 3%,var(--paper)); }
.inbox-contact-identity { min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:11px; }
.inbox-contact-identity > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:12px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-badges { display:flex; gap:5px; flex-wrap:wrap; }
.inbox-badges b { padding:4px 7px; border-radius:6px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; background:var(--surface); }
.status-new .inbox-badges .status { color:#5176c2; background:rgba(78,159,232,.11); }
.status-resolved .inbox-badges .status { color:#278463; background:rgba(39,159,112,.11); }
.priority-urgent .inbox-badges .priority { color:var(--danger); background:var(--danger-bg); }
.priority-high .inbox-badges .priority { color:#9a6425; background:rgba(231,160,77,.12); }
.inbox-contact-identity h3 { margin:7px 0 3px; font-size:17px; }
.inbox-contact-identity p { margin:0; color:var(--muted); font-size:10px; }
.inbox-contact-identity a { color:var(--accent-dark); text-decoration:none; }
.inbox-conversation-summary { flex:0 0 auto; display:flex; align-items:center; gap:14px; }
.inbox-conversation-meta { flex:0 0 auto; text-align:right; }
.inbox-conversation-meta span,.inbox-conversation-meta strong,.inbox-conversation-meta small { display:block; }
.inbox-conversation-meta span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.inbox-conversation-meta strong { margin-top:4px; font-size:10px; }
.inbox-conversation-meta small { margin-top:4px; color:var(--muted); font-size:8px; }
.inbox-conversation-toggle { min-height:39px; padding:8px 10px 8px 12px; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; color:var(--accent-dark); font-size:9px; font-weight:900; white-space:nowrap; background:var(--surface); cursor:pointer; }
.inbox-conversation-toggle b { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; font-size:9px; background:color-mix(in srgb,var(--accent) 10%,transparent); transition:transform .2s ease; }
.inbox-conversation.is-open .inbox-conversation-toggle { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-conversation.is-open .inbox-conversation-toggle b { color:var(--accent-dark); background:#fff; transform:rotate(180deg); }
.inbox-thread { padding:18px; display:grid; gap:11px; background:var(--paper); }
.inbox-thread > article { max-width:88%; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:9px; }
.inbox-thread > article.admin-message { margin-left:auto; grid-template-columns:minmax(0,1fr) 34px; }
.inbox-thread > article.admin-message > span { grid-column:2; grid-row:1; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.inbox-thread > article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,#4e91d5,#3d67bd); }
.inbox-thread > article > div { min-width:0; padding:10px 11px; border:1px solid var(--line); border-radius:0 11px 11px 11px; background:var(--surface); }
.inbox-thread > article.admin-message > div { border-radius:11px 0 11px 11px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 7%,var(--surface)); }
.inbox-thread article header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.inbox-thread article header strong { font-size:10px; }
.inbox-thread article time { color:var(--muted); font-size:8px; }
.inbox-thread article p { margin:6px 0 0; color:var(--ink); font-size:11px; line-height:1.65; overflow-wrap:anywhere; }
.inbox-workspace { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); border-top:1px solid var(--line); }
.inbox-reply-panel { padding:17px 18px; border-right:1px solid var(--line); background:var(--surface); }
.inbox-reply-panel > header { margin-bottom:10px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.inbox-reply-panel h4 { margin:3px 0 0; font-size:15px; }
.inbox-template-buttons { display:flex; justify-content:flex-end; gap:4px; flex-wrap:wrap; }
.inbox-template-buttons button { padding:5px 7px; border:1px solid var(--line); border-radius:7px; color:var(--accent-dark); font-size:7px; font-weight:800; background:var(--paper); cursor:pointer; }
.inbox-reply-panel > form { display:grid; gap:8px; }
.inbox-reply-panel textarea { padding:11px; resize:vertical; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
.inbox-reply-panel > form > button { min-height:38px; border:0; border-radius:9px; color:#fff; font-size:9px; font-weight:900; background:var(--accent); cursor:pointer; }
.external-reply { padding:13px; border:1px dashed var(--line); border-radius:10px; background:var(--paper); }
.external-reply p { margin:0 0 10px; color:var(--muted); font-size:9px; line-height:1.5; }
.external-reply a { padding:7px 9px; display:inline-flex; border-radius:8px; color:#fff; font-size:8px; font-weight:850; text-decoration:none; background:var(--accent); }
.inbox-admin-controls { padding:17px 18px; display:grid; gap:12px; background:var(--surface); }
.inbox-routing-form { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; }
.inbox-routing-form label,.inbox-note-form label { display:grid; gap:5px; color:var(--muted); font-size:8px; font-weight:850; }
.inbox-routing-form select { height:36px; padding:0 8px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--paper); }
.inbox-routing-form button { min-height:36px; grid-column:1 / -1; border:1px solid var(--line); border-radius:8px; color:var(--accent-dark); font-size:8px; font-weight:850; background:var(--paper); cursor:pointer; }
.inbox-note-form { display:grid; gap:7px; }
.inbox-note-form textarea { padding:9px; resize:vertical; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--paper); }
.inbox-note-form button { min-height:34px; border:1px solid var(--line); border-radius:8px; color:#9a6425; font-size:8px; font-weight:850; background:rgba(231,160,77,.1); cursor:pointer; }
.inbox-private-notes { border-top:1px solid var(--line); background:var(--paper); }
.inbox-private-notes > summary { padding:11px 18px; display:flex; align-items:center; justify-content:space-between; color:#9a6425; font-size:9px; font-weight:850; cursor:pointer; list-style:none; }
.inbox-private-notes > summary::-webkit-details-marker { display:none; }
.inbox-private-notes > summary b { min-width:21px; height:21px; display:grid; place-items:center; border-radius:7px; font-size:8px; background:rgba(231,160,77,.11); }
.inbox-private-notes > div { padding:0 18px 14px; display:grid; gap:7px; }
.inbox-private-notes article { padding:10px; display:grid; grid-template-columns:31px minmax(0,1fr); gap:9px; border:1px solid rgba(231,160,77,.25); border-radius:9px; background:rgba(231,160,77,.07); }
.inbox-private-notes article > span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; background:rgba(231,160,77,.12); }
.inbox-private-notes strong,.inbox-private-notes small { display:block; }
.inbox-private-notes strong { font-size:9px; }
.inbox-private-notes p { margin:4px 0; font-size:9px; line-height:1.5; }
.inbox-private-notes small { color:var(--muted); font-size:7px; }
.inbox-conversation > footer { padding:11px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--line); background:var(--paper); }
.inbox-conversation > footer > div { display:flex; gap:7px; flex-wrap:wrap; }
.inbox-conversation > footer span { padding:5px 7px; border-radius:6px; color:var(--muted); font-size:8px; background:var(--surface); }
.inbox-conversation > footer button { padding:6px 8px; border:1px solid var(--danger-line); border-radius:7px; color:var(--danger); font-size:8px; font-weight:800; background:var(--danger-bg); cursor:pointer; }
.inbox-empty { min-height:180px; display:grid; place-items:center; align-content:center; gap:6px; text-align:center; color:var(--muted); }
.inbox-empty > span { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.inbox-empty strong { color:var(--ink); font-size:14px; }
.inbox-empty p { margin:0; }

@media (max-width:1120px) {
    .support-status-strip { grid-template-columns:repeat(3,1fr); }
    .support-status-strip .privacy { grid-column:1 / -1; }
    .support-layout { grid-template-columns:1fr; }
    .support-new-ticket { position:static; }
    .inbox-stat-grid { grid-template-columns:1fr 1fr; }
    .inbox-insight-grid { grid-template-columns:1fr; }
    .inbox-workspace { grid-template-columns:1fr; }
    .inbox-reply-panel { border-right:0; border-bottom:1px solid var(--line); }
    .inbox-filter-toolbar { align-items:stretch; flex-direction:column; }
    .inbox-filter-toolbar > label { max-width:none; }
}
@media (max-width:720px) {
    .support-shell { padding-top:130px; }
    .support-hero { min-height:0; padding:25px; align-items:flex-start; flex-direction:column; }
    .support-hero h1 { font-size:34px; }
    .support-hero aside { width:100%; }
    .support-status-strip { grid-template-columns:1fr 1fr; }
    .support-status-strip .privacy { grid-column:1 / -1; }
    .support-form-row { grid-template-columns:1fr; }
    .support-ticket > header { flex-direction:column; }
    .support-ticket-actions { align-items:stretch; flex-direction:column; }
    .support-ticket-actions > form:first-child { grid-template-columns:1fr; }
    .inbox-command-hero { min-height:0; padding:22px; align-items:flex-start; flex-direction:column; }
    .inbox-command-hero h2 { font-size:25px; }
    .inbox-stat-grid { grid-template-columns:1fr; }
    .inbox-conversation-library { padding:17px; }
    .inbox-filter-toolbar > div { width:100%; }
    .inbox-conversation-header { flex-direction:column; }
    .inbox-conversation-summary { width:100%; align-items:flex-start; justify-content:space-between; }
    .inbox-conversation-meta { text-align:left; }
    .inbox-thread > article { max-width:100%; }
    .inbox-reply-panel > header { flex-direction:column; }
    .inbox-template-buttons { justify-content:flex-start; }
    .inbox-routing-form { grid-template-columns:1fr; }
    .inbox-routing-form button { grid-column:auto; }
    .inbox-conversation > footer { align-items:flex-start; flex-direction:column; }
}
@media (max-width:460px) {
    .support-status-strip { grid-template-columns:1fr; }
    .support-status-strip .privacy { grid-column:auto; }
    .inbox-conversation-summary { flex-direction:column; }
    .inbox-conversation-toggle { width:100%; justify-content:space-between; }
}
@media (max-width:560px) {
    .account-menu > summary { min-width:42px; padding:4px; grid-template-columns:34px; justify-content:center; }
    .account-menu-trigger-copy,.account-menu-chevron { display:none; }
    .account-menu-panel { right:-4px; }
}
@media (prefers-reduced-motion:reduce) {
    .inbox-conversation-toggle b,.account-menu-chevron { transition:none; }
}

/* Portal expansion: account security, household, insights, health, and PWA */
.login-help { margin:15px 0 0; text-align:center; }
.login-help a,.text-link { color:var(--accent-dark); font-size:13px; font-weight:800; text-decoration:none; }
.login-help a:hover,.text-link:hover { text-decoration:underline; }
.compact-login-page { padding:24px; }
.security-auth-shell { width:min(540px,100%); }
.security-auth-card { padding:clamp(28px,6vw,52px); border:1px solid var(--line); border-radius:26px; background:var(--paper); box-shadow:0 28px 80px var(--shadow); }
.security-auth-card .brand-mark { margin-bottom:32px; }
.security-auth-card h1 { margin:0; font-size:clamp(34px,7vw,48px); letter-spacing:-.045em; }
.security-auth-card > p:not(.eyebrow) { margin:12px 0 25px; color:var(--muted); font-size:16px; line-height:1.6; }
.security-auth-card form + form { margin-top:10px; }
.security-auth-card .text-button { width:100%; min-height:40px; border:0; color:var(--muted); font-weight:750; background:transparent; cursor:pointer; }
.security-auth-card .link-button { text-decoration:none; }
.verification-code { font-size:24px; font-weight:850; letter-spacing:.22em; text-align:center; }

.expansion-shell { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:42px 0 80px; }
.expansion-hero { min-height:190px; margin-bottom:18px; padding:clamp(26px,4vw,44px); display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 35%,var(--line)); border-radius:24px; background:linear-gradient(130deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 14%,var(--paper)),var(--paper) 58%,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 12%,var(--paper))); box-shadow:0 18px 46px color-mix(in srgb,var(--shadow) 75%,transparent); }
.expansion-hero::after { content:""; width:260px; height:260px; position:absolute; right:-70px; top:-150px; border-radius:50%; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 12%,transparent); }
.expansion-hero > * { position:relative; z-index:1; }
.expansion-hero h1 { margin:0; font-size:clamp(35px,5vw,56px); letter-spacing:-.05em; }
.expansion-hero p:not(.eyebrow) { max-width:720px; margin:10px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.security-score { min-width:210px; padding:18px; border:1px solid var(--line); border-radius:16px; background:color-mix(in srgb,var(--paper) 90%,transparent); }
.security-score span,.security-score strong,.security-score small { display:block; }
.security-score span { color:#34bd8a; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.security-score strong { margin:7px 0 5px; font-size:17px; }
.security-score small { color:var(--muted); font-size:11px; }
.hero-action,.expansion-card form > button:not(.text-button),.household-form form > button { min-height:46px; padding:0 18px; border:0; border-radius:12px; color:#fff; font-weight:850; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; box-shadow:0 10px 22px color-mix(in srgb,var(--brand-primary,var(--accent)) 22%,transparent); }
.expansion-grid { display:grid; gap:18px; margin-bottom:18px; }
.expansion-grid.two-column { grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); }
.expansion-card { min-width:0; padding:clamp(20px,3vw,30px); border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 34px color-mix(in srgb,var(--shadow) 46%,transparent); }
.expansion-card > header { margin-bottom:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.expansion-card > header h2 { margin:0; font-size:23px; letter-spacing:-.025em; }
.expansion-card > header p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.expansion-card label { color:var(--ink); }
.expansion-card label small,.expansion-card form > small { margin-top:6px; display:block; color:var(--muted); font-size:11px; line-height:1.5; }
.expansion-card input,.expansion-card select,.expansion-card textarea { width:100%; min-height:46px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); outline:none; }
.expansion-card textarea { resize:vertical; }
.expansion-card input:focus,.expansion-card select:focus,.expansion-card textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent); }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.status-pill { padding:6px 9px; display:inline-flex; align-items:center; border-radius:999px; color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; background:var(--surface); }
.status-pill.online,.status-pill.emailed { color:#24a978; background:rgba(38,190,137,.12); }
.status-pill.issued { color:#7860ef; background:rgba(115,87,255,.12); }
.metric-value { color:var(--accent-dark); font-size:35px; line-height:1; }
.secondary-button { border:1px solid var(--line) !important; color:var(--ink) !important; background:var(--surface) !important; box-shadow:none !important; cursor:pointer; }
.danger-button { border:1px solid var(--danger-line) !important; color:var(--danger) !important; background:var(--danger-bg) !important; box-shadow:none !important; }
.danger-button.compact { min-height:36px !important; padding:0 12px !important; font-size:11px; }
.notice-card { margin:18px 0; padding:14px; border:1px solid color-mix(in srgb,#e1a941 35%,var(--line)); border-radius:12px; background:color-mix(in srgb,#e1a941 8%,var(--paper)); }
.notice-card strong,.notice-card p { display:block; }
.notice-card p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.empty-state.large { min-height:260px; }
.empty-state.large span { font-size:28px; }

.recovery-codes { margin-bottom:18px; border-color:color-mix(in srgb,#35c792 38%,var(--line)); }
.recovery-code-grid { margin:18px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.recovery-code-grid code { padding:12px; border:1px dashed var(--line); border-radius:10px; color:var(--ink); font-size:14px; font-weight:850; text-align:center; background:var(--surface); }
.setup-panel { padding:18px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.setup-panel > p { color:var(--muted); font-size:13px; line-height:1.55; }
.setup-secret { margin:10px 0; padding:14px; display:block; overflow-wrap:anywhere; border-radius:10px; color:var(--ink); font-size:16px; font-weight:900; letter-spacing:.08em; background:var(--paper); }
.setup-panel .text-link { display:inline-block; }
.security-feature { padding:18px; display:flex; align-items:flex-start; gap:14px; border:1px solid rgba(39,190,136,.3); border-radius:14px; background:rgba(39,190,136,.08); }
.security-feature > span { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; background:#26b985; }
.security-feature p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.danger-details { margin-top:18px; border-top:1px solid var(--line); }
.danger-details summary { padding-top:18px; color:var(--danger); font-size:12px; font-weight:800; cursor:pointer; }
.session-list { display:grid; gap:10px; }
.session-list article { padding:14px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.device-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.session-list strong,.session-list p,.session-list small { display:block; }
.session-list strong { font-size:13px; }
.session-list strong em { margin-left:6px; padding:3px 6px; border-radius:6px; color:#20a873; font-size:8px; font-style:normal; background:rgba(38,190,137,.1); }
.session-list p { margin:4px 0; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.session-list small { color:var(--muted); font-size:10px; }

.preferences-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:18px; }
.preference-list { display:grid; gap:8px; }
.preference-list label,.switch-row { min-height:62px; margin:0; padding:10px 12px; display:grid; grid-template-columns:40px minmax(0,1fr) 42px; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:pointer; }
.preference-list input,.switch-row input { width:1px; height:1px; position:absolute; opacity:0; }
.preference-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.preference-list strong,.preference-list small,.switch-row strong,.switch-row small { display:block; }
.preference-list small,.switch-row small { margin-top:3px; color:var(--muted); font-size:11px; font-weight:500; }
.preference-list i,.switch-row i { width:40px; height:23px; position:relative; border-radius:999px; background:var(--line); transition:.2s; }
.preference-list i::after,.switch-row i::after { content:""; width:17px; height:17px; position:absolute; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 7px #0003; transition:.2s; }
.preference-list input:checked + i,.switch-row input:checked + i { background:var(--accent); }
.preference-list input:checked + i::after,.switch-row input:checked + i::after { transform:translateX(17px); }
.switch-row { grid-template-columns:minmax(0,1fr) 42px; }

.household-hero { background:linear-gradient(135deg,color-mix(in srgb,#33bd96 15%,var(--paper)),var(--paper) 58%,color-mix(in srgb,var(--accent) 12%,var(--paper))); }
.expansion-stat-grid { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.expansion-stat-grid article { padding:17px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:var(--paper); }
.expansion-stat-grid article > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:var(--accent-dark); font-weight:900; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.expansion-stat-grid article.warning > span { color:#c17825; background:rgba(225,169,65,.12); }
.expansion-stat-grid small,.expansion-stat-grid strong { display:block; }
.expansion-stat-grid small { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.expansion-stat-grid strong { margin-top:3px; font-size:20px; }
.household-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); gap:18px; align-items:start; }
.household-form { position:sticky; top:96px; }
.inline-filters { display:flex; gap:8px; }
.inline-filters select { min-width:130px; min-height:38px; padding:7px 10px; }
.household-item-list { display:grid; gap:9px; }
.household-item-list article { padding:13px; display:grid; grid-template-columns:34px 40px minmax(0,1fr) auto; align-items:center; gap:11px; position:relative; border:1px solid var(--line); border-left:4px solid #8e95aa; border-radius:12px; background:var(--surface); }
.household-item-list article.priority-high { border-left-color:#e1a941; }
.household-item-list article.priority-urgent { border-left-color:#ef667d; }
.household-item-list article.priority-low { border-left-color:#42b99a; }
.household-item-list article.is-complete { opacity:.62; }
.complete-toggle { width:31px; height:31px; display:grid; place-items:center; border:2px solid var(--line); border-radius:9px; color:#fff; font-weight:900; background:var(--paper); cursor:pointer; }
.is-complete .complete-toggle { border-color:#2ab989; background:#2ab989; }
.item-type-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 9%,transparent); }
.household-item-copy { min-width:0; }
.household-item-copy > div { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.household-item-copy strong { font-size:14px; }
.household-item-copy p { margin:5px 0; color:var(--muted); font-size:12px; line-height:1.5; }
.household-item-copy small { color:var(--muted); font-size:10px; }
.household-item-copy em.overdue { color:var(--danger); font-style:normal; font-weight:800; }
.priority-label,.private-label { padding:3px 6px; border-radius:6px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; background:var(--paper); }
.private-label { color:var(--accent-dark); }
.icon-delete { width:30px; height:30px; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; }
.icon-delete:hover { color:var(--danger); background:var(--danger-bg); }

.insights-hero form { min-width:190px; }
.insights-hero form label { margin:0; color:var(--muted); font-size:10px; text-transform:uppercase; }
.insights-hero select { width:100%; height:44px; margin-top:7px; padding:0 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
.insight-score-grid { margin-bottom:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.insight-score-grid article { padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--paper); }
.insight-score-grid article > div { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.insight-score-grid article > div span { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.insight-score-grid strong { margin-top:15px; display:block; font-size:22px; }
.insight-score-grid strong.negative { color:var(--danger); }
.insight-score-grid p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.insights-chart-grid { margin-bottom:18px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.chart-legend { display:flex; gap:13px; color:var(--muted); font-size:10px; }
.chart-legend span::before { content:""; width:8px; height:8px; margin-right:5px; display:inline-block; border-radius:3px; background:var(--accent); }
.chart-legend .expense::before { background:#ef7188; }
.chart-legend .training::before { background:#5e8cf2; }
.chart-legend .habits::before { background:#35bf91; }
.bar-chart { height:230px; padding:18px 8px 0; display:grid; grid-template-columns:repeat(6,1fr); align-items:end; gap:12px; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to top,transparent 0,transparent 49px,color-mix(in srgb,var(--line) 45%,transparent) 50px); }
.bar-group { height:100%; display:grid; grid-template-rows:minmax(0,1fr) 24px; gap:7px; align-items:end; text-align:center; }
.bar-group .bars { height:100%; display:flex; align-items:end; justify-content:center; gap:4px; }
.bar-group i { width:min(20px,38%); min-height:3px; display:block; border-radius:6px 6px 2px 2px; background:linear-gradient(to top,#7357ff,#a592ff); }
.bar-group i.expense { background:linear-gradient(to top,#da4e69,#fa91a4); }
.bar-group i.training { background:linear-gradient(to top,#3f70db,#75a2ff); }
.bar-group i.habits { background:linear-gradient(to top,#1d9c73,#53d8ae); }
.bar-group small { color:var(--muted); font-size:9px; }
.insight-summary > div { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.insight-summary article { padding:14px; border-radius:12px; background:var(--surface); }
.insight-summary strong,.insight-summary small { display:block; }
.insight-summary strong { font-size:20px; }
.insight-summary small { margin-top:5px; color:var(--muted); font-size:10px; }

.health-overview-banner { margin-bottom:14px; padding:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius:16px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--paper)),var(--paper)); }
.health-overview-banner > div { display:flex; align-items:center; gap:16px; }
.health-overview-banner h2 { margin:0; font-size:24px; }
.health-overview-banner p:not(.eyebrow) { margin:5px 0 0; color:var(--muted); font-size:12px; }
.health-score-ring { --score:50; width:68px; height:68px; flex:0 0 auto; display:grid; place-items:center; position:relative; border-radius:50%; font-size:13px; font-weight:900; background:conic-gradient(#2abd89 calc(var(--score)*1%),var(--line) 0); }
.health-score-ring::after { content:""; position:absolute; inset:6px; border-radius:50%; background:var(--paper); }
.health-score-ring { isolation:isolate; }
.health-score-ring::after { z-index:-1; }
.health-overview-banner dl { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.health-overview-banner dl div { min-width:130px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.health-overview-banner dt { color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.health-overview-banner dd { margin:4px 0 0; font-size:10px; font-weight:800; }
.health-check-grid { margin-bottom:14px; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.health-check-grid article { padding:13px; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:11px; background:var(--paper); }
.health-check-grid article > span { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; color:#fff; font-weight:900; background:#2ab989; }
.health-check-grid article.attention > span { background:#dd9341; }
.health-check-grid strong { display:block; font-size:10px; }
.health-check-grid p { margin:3px 0 0; color:var(--muted); font-size:8px; line-height:1.4; }
.admin-health-grid { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:14px; }
.admin-count-pill { padding:5px 8px; border-radius:7px; color:var(--accent-dark); font-size:8px; font-weight:900; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.issued-reset-link { margin-bottom:14px; padding:13px; border:1px solid rgba(42,185,137,.3); border-radius:10px; background:rgba(42,185,137,.08); }
.issued-reset-link > strong,.issued-reset-link > small { display:block; }
.issued-reset-link > strong { font-size:10px; }
.issued-reset-link > div { margin:8px 0 5px; display:flex; gap:6px; }
.issued-reset-link input { height:36px; font-size:9px; }
.issued-reset-link button { border:0; border-radius:7px; color:#fff; font-size:9px; font-weight:850; background:var(--accent); cursor:pointer; }
.issued-reset-link small { color:var(--muted); font-size:8px; }
.recovery-request-list { display:grid; gap:7px; }
.recovery-request-list article { padding:11px; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.recovery-request-list strong,.recovery-request-list small { display:block; }
.recovery-request-list strong { font-size:10px; }
.recovery-request-list small { margin:3px 0 5px; color:var(--muted); font-size:8px; }
.row-actions { display:flex; gap:5px; }
.row-actions button { min-height:32px; padding:0 9px; border:0; border-radius:7px; color:#fff; font-size:8px; font-weight:850; background:var(--accent); cursor:pointer; }
.backup-panel dl { display:grid; gap:7px; }
.backup-panel dl div { padding:10px; display:flex; justify-content:space-between; border-radius:8px; background:var(--surface); }
.backup-panel dt { color:var(--muted); font-size:9px; }
.backup-panel dd { margin:0; font-size:9px; font-weight:850; }
.backup-panel form button { width:100%; min-height:40px; margin-top:12px; border:0; border-radius:9px; color:#fff; font-size:9px; font-weight:900; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); cursor:pointer; }
.sensitive-note { color:var(--muted); font-size:8px; line-height:1.5; }
.admin-session-table { display:grid; }
.admin-session-table > header,.admin-session-table > article { padding:9px 10px; display:grid; grid-template-columns:1fr 1.5fr .8fr .7fr; align-items:center; gap:10px; border-bottom:1px solid var(--line); }
.admin-session-table > header { color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.admin-session-table > article { font-size:9px; }
.admin-session-table strong,.admin-session-table small { display:block; }
.admin-session-table small { margin-top:3px; color:var(--muted); font-size:8px; }
.admin-session-table a { color:var(--accent-dark); font-weight:800; text-decoration:none; }

.pwa-install-card { width:min(430px,calc(100vw - 28px)); padding:12px; display:grid; grid-template-columns:42px minmax(0,1fr) auto 28px; align-items:center; gap:10px; position:fixed; z-index:200; left:50%; bottom:18px; transform:translateX(-50%); border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line)); border-radius:15px; color:var(--ink); background:var(--paper); box-shadow:0 18px 55px rgba(8,10,25,.35); }
.pwa-install-card > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; font-weight:900; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.pwa-install-card strong,.pwa-install-card small { display:block; }
.pwa-install-card strong { font-size:12px; }
.pwa-install-card small { margin-top:3px; color:var(--muted); font-size:9px; }
.pwa-install-card button { min-height:34px; padding:0 11px; border:0; border-radius:8px; color:#fff; font-size:10px; font-weight:850; background:var(--accent); cursor:pointer; }
.pwa-install-card button.dismiss { padding:0; color:var(--muted); font-size:20px; background:transparent; }

@media (max-width:1000px) {
    .expansion-grid.two-column,.preferences-layout,.household-layout,.insights-chart-grid,.admin-health-grid { grid-template-columns:1fr; }
    .household-form { position:static; }
    .insight-score-grid,.expansion-stat-grid { grid-template-columns:1fr 1fr; }
    .health-overview-banner { align-items:flex-start; flex-direction:column; }
    .health-check-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
    .expansion-shell { width:min(100% - 24px,1240px); padding-top:24px; }
    .expansion-hero { min-height:0; align-items:flex-start; flex-direction:column; }
    .security-score,.insights-hero form,.hero-action { width:100%; }
    .insight-score-grid,.expansion-stat-grid,.health-check-grid { grid-template-columns:1fr; }
    .form-pair,.recovery-code-grid { grid-template-columns:1fr 1fr; }
    .expansion-card > header { align-items:flex-start; flex-direction:column; }
    .inline-filters { width:100%; }
    .inline-filters select { min-width:0; flex:1; }
    .household-item-list article { grid-template-columns:32px 38px minmax(0,1fr); }
    .household-item-list article > form:last-child { grid-column:3; justify-self:end; }
    .insight-summary > div { grid-template-columns:1fr 1fr; }
    .bar-chart { height:200px; gap:6px; }
    .health-overview-banner dl { width:100%; }
    .admin-session-table > header { display:none; }
    .admin-session-table > article { grid-template-columns:1fr; gap:5px; }
    .recovery-request-list article { align-items:flex-start; flex-direction:column; }
    .pwa-install-card { grid-template-columns:38px minmax(0,1fr) 28px; }
    .pwa-install-card button[data-install] { grid-column:2; justify-self:start; }
    .pwa-install-card button.dismiss { grid-column:3; grid-row:1; }
}
@media (max-width:460px) {
    .form-pair,.recovery-code-grid,.insight-summary > div { grid-template-columns:1fr; }
    .session-list article { grid-template-columns:38px minmax(0,1fr); }
    .session-list article form { grid-column:2; }
    .health-overview-banner dl { grid-template-columns:1fr; }
}
@media print {
    .topbar,.expansion-hero,.expansion-grid,.session-list,.account-menu,.pwa-install-card { display:none !important; }
    .recovery-codes { border:0; box-shadow:none; }
}

/* Today dashboard redesign */
.today-dashboard { overflow-x:clip; scrollbar-width:none; }
.today-dashboard::-webkit-scrollbar,.today-dashboard *::-webkit-scrollbar { width:0; height:0; }
.today-dashboard-shell { width:min(1280px,calc(100% - 48px)); padding:34px 0 64px; }
.today-dashboard-shell h1,.today-dashboard-shell h2,.today-dashboard-shell h3 { letter-spacing:-.035em; }
.dashboard-alert { margin:0 0 16px; }
.today-hero { min-height:150px; padding:30px 32px; display:flex; align-items:center; justify-content:space-between; gap:28px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:24px; background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 12%,var(--paper)),var(--paper) 58%,color-mix(in srgb,var(--brand-secondary,var(--accent-dark)) 12%,var(--paper))); box-shadow:0 14px 42px color-mix(in srgb,var(--shadow) 72%,transparent); }
.today-hero::after { content:""; width:320px; height:320px; position:absolute; right:-145px; top:-190px; pointer-events:none; border-radius:50%; background:color-mix(in srgb,var(--accent) 14%,transparent); filter:blur(2px); }
.today-hero-copy { position:relative; z-index:1; }
.today-hero-copy .eyebrow { margin-bottom:8px; }
.today-hero-copy h1 { margin:0; font-size:clamp(31px,4vw,48px); line-height:1.04; }
.today-hero-nudge { margin-top:12px; display:flex; align-items:center; gap:9px; }
.today-hero-nudge > span { padding:5px 8px; border:1px solid color-mix(in srgb,#2dc98f 28%,var(--line)); border-radius:999px; color:#2ab989; font-size:8px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; background:color-mix(in srgb,#2dc98f 8%,var(--paper)); white-space:nowrap; }
.today-hero-nudge > p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.today-hero-actions { display:flex; align-items:center; gap:9px; position:relative; z-index:1; }
.primary-dashboard-button,.secondary-dashboard-button { min-height:44px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px; font-size:12px; font-weight:850; white-space:nowrap; cursor:pointer; transition:transform .18s,border-color .18s,box-shadow .18s; }
.primary-dashboard-button { border:0; color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 28%,transparent); }
.primary-dashboard-button > span { font-size:19px; font-weight:500; }
.primary-dashboard-button kbd { margin-left:3px; padding:3px 5px; border:1px solid rgba(255,255,255,.22); border-radius:5px; color:rgba(255,255,255,.76); font:700 7px/1 ui-sans-serif,sans-serif; background:rgba(8,10,27,.14); }
.secondary-dashboard-button { border:1px solid var(--line); color:var(--ink); background:var(--paper); }
.primary-dashboard-button:hover,.secondary-dashboard-button:hover { transform:translateY(-1px); border-color:var(--accent); }
.today-weather-chip { min-height:54px; padding:7px 12px 7px 8px; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:color-mix(in srgb,var(--paper) 88%,transparent); text-decoration:none; }
.today-weather-chip > span:first-child { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; font-size:20px; background:color-mix(in srgb,#5e8cf2 15%,var(--surface)); }
.today-weather-chip b,.today-weather-chip small { display:block; }
.today-weather-chip b { font-size:16px; }
.today-weather-chip small { max-width:140px; margin-top:2px; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }

.today-announcement { margin-top:14px; padding:13px 15px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; position:relative; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius:15px; background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 9%,var(--paper)),var(--paper)); }
.today-announcement.priority-urgent { border-color:color-mix(in srgb,#ef7188 48%,var(--line)); background:linear-gradient(100deg,color-mix(in srgb,#ef7188 10%,var(--paper)),var(--paper)); }
.today-announcement-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.today-announcement-copy { min-width:0; display:flex; align-items:center; gap:16px; }
.today-announcement-copy > div { min-width:145px; }
.today-announcement-copy span { color:var(--accent-dark); font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.today-announcement-copy h2 { margin:3px 0 0; font-size:14px; }
.today-announcement-copy p { min-width:0; margin:0; overflow:hidden; display:-webkit-box; color:var(--muted); font-size:11px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.today-announcement > form { margin:0; }
.today-announcement > form button,.today-announcement > a,.today-more-announcements > summary { padding:8px 11px; border:1px solid var(--line); border-radius:9px; color:var(--accent-dark); font-size:9px; font-weight:850; background:var(--paper); text-decoration:none; cursor:pointer; list-style:none; }
.today-more-announcements { position:relative; }
.today-more-announcements > summary::-webkit-details-marker { display:none; }
.today-more-announcements > div { width:min(400px,calc(100vw - 36px)); padding:8px; display:grid; gap:6px; position:absolute; z-index:30; right:0; top:calc(100% + 8px); border:1px solid var(--line); border-radius:13px; background:var(--paper); box-shadow:0 16px 45px var(--shadow); }
.today-more-announcements article { padding:10px; border-radius:9px; background:var(--surface); }
.today-more-announcements strong { font-size:10px; }
.today-more-announcements p { margin:4px 0 0; color:var(--muted); font-size:9px; line-height:1.45; }

.today-glance { margin:14px 0 22px; display:grid; grid-template-columns:1.2fr repeat(5,minmax(0,1fr)); border:1px solid var(--line); border-radius:17px; background:var(--paper); box-shadow:0 9px 28px color-mix(in srgb,var(--shadow) 45%,transparent); }
.today-glance > header,.today-glance > a { min-width:0; min-height:88px; padding:14px; display:flex; align-items:center; gap:10px; position:relative; }
.today-glance > header { padding-left:18px; }
.today-glance > header::after,.today-glance > a:not(:last-child)::after { content:""; width:1px; position:absolute; top:15px; right:0; bottom:15px; background:var(--line); }
.today-glance > header .eyebrow { margin:0 0 4px; font-size:8px; }
.today-glance time { font-size:13px; font-weight:850; }
.today-status-label { display:block; margin-top:3px; color:var(--muted); font-size:8px; font-weight:750; }
.live-dot { width:9px; height:9px; flex:0 0 auto; border:2px solid color-mix(in srgb,#2dc98f 27%,transparent); border-radius:50%; background:#2dc98f; box-shadow:0 0 0 5px color-mix(in srgb,#2dc98f 12%,transparent); }
.today-glance > a { color:var(--ink); text-decoration:none; }
.today-glance > a:hover { background:color-mix(in srgb,var(--accent) 4%,transparent); }
.glance-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:12px; font-weight:900; background:linear-gradient(135deg,#7860ff,#557eea); }
.glance-icon.habits { background:linear-gradient(135deg,#30bf8b,#20a579); }
.glance-icon.household { background:linear-gradient(135deg,#e79a4b,#e06d55); }
.glance-icon.finance { background:linear-gradient(135deg,#4e93ed,#3972ce); }
.glance-icon.events { background:linear-gradient(135deg,#a96cea,#7a53cf); }
.today-glance small,.today-glance strong,.today-glance em { display:block; min-width:0; }
.today-glance small { color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.today-glance strong { margin-top:3px; font-size:16px; }
.today-glance em { max-width:110px; margin-top:2px; overflow:hidden; color:var(--muted); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }

.dashboard-focus-panel { display:none; padding:26px; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line)); border-radius:22px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--paper)),var(--paper)); box-shadow:0 15px 45px var(--shadow); }
.focus-panel-heading { display:flex; align-items:center; gap:13px; }
.focus-panel-heading > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#fff; font-size:20px; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.focus-panel-heading .eyebrow { margin:0 0 3px; }
.focus-panel-heading h2 { margin:0; font-size:22px; }
.focus-panel-heading button { margin-left:auto; padding:9px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); font-size:10px; font-weight:800; background:var(--paper); cursor:pointer; }
.focus-cards { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.focus-cards article { min-height:120px; padding:18px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:15px; background:var(--paper); }
.focus-cards small { color:var(--accent-dark); font-size:9px; font-weight:900; text-transform:uppercase; }
.focus-cards strong { margin:12px 0 auto; font-size:15px; line-height:1.35; }
.focus-cards span { margin-top:12px; color:var(--muted); font-size:9px; }
.focus-quick-add { margin-top:14px; }
.dashboard-focus-mode .today-announcement,.dashboard-focus-mode .today-glance,.dashboard-focus-mode .today-workspace,.dashboard-focus-mode .today-featured,.dashboard-focus-mode .today-app-launcher { display:none; }
.dashboard-focus-mode .dashboard-focus-panel { display:block; }

.today-workspace-heading { margin:0 2px 14px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.today-workspace-heading .eyebrow { margin-bottom:5px; }
.today-workspace-heading h2 { margin:0; font-size:24px; }
.today-workspace-heading p:not(.eyebrow) { margin:5px 0 0; color:var(--muted); font-size:10px; }
.today-widget-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:14px; align-items:start; }
.today-widget { min-width:0; padding:22px; position:relative; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 10px 32px color-mix(in srgb,var(--shadow) 50%,transparent); scroll-margin-top:100px; transition:opacity .18s,transform .18s,border-color .18s; }
.today-widget:hover { border-color:color-mix(in srgb,var(--accent) 24%,var(--line)); }
.today-widget.is-hidden { display:none; }
.today-widget.is-dragging { opacity:.4; transform:scale(.985); }
.today-widget.drag-over { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent); }
.today-widget.widget-tasks { grid-column:span 7; }
.today-widget.widget-events { grid-column:span 5; }
.today-widget.widget-weather { grid-column:span 4; background:linear-gradient(145deg,color-mix(in srgb,#3d70d5 24%,var(--paper)),var(--paper)); }
.today-widget.widget-household { grid-column:span 8; }
.today-widget.widget-habits { grid-column:span 5; }
.today-widget.widget-finance { grid-column:span 7; }
.today-widget.widget-workouts,.today-widget.widget-goals { grid-column:span 6; }
.today-widget > header { margin-bottom:15px; padding-right:46px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.today-widget > header .eyebrow { margin-bottom:4px; font-size:9px; }
.today-widget > header h3 { margin:0; font-size:20px; }
.today-widget > header > a { padding:6px 8px; border-radius:8px; color:var(--accent-dark); font-size:10px; font-weight:850; background:color-mix(in srgb,var(--accent) 9%,transparent); text-decoration:none; }
.widget-heading-line { display:flex; align-items:center; gap:8px; }
.widget-heading-line > span { padding:4px 6px; border-radius:999px; color:var(--muted); font-size:8px; font-weight:850; background:var(--surface); white-space:nowrap; }
.today-widget-toolbar { display:flex; gap:2px; position:absolute; top:15px; right:14px; z-index:2; opacity:.42; transition:opacity .18s; }
.today-widget:hover .today-widget-toolbar,.today-widget:focus-within .today-widget-toolbar { opacity:1; }
.today-widget-toolbar button { width:26px; height:26px; padding:0; border:0; border-radius:7px; color:var(--muted); font-size:12px; background:transparent; cursor:pointer; }
.today-widget-toolbar button:hover { color:var(--ink); background:var(--surface); }
.widget-drag-handle { letter-spacing:-3px; cursor:grab !important; }
.widget-drag-handle:active { cursor:grabbing !important; }
.widget-order-controls { display:none; gap:2px; }
.dashboard-quick-task { margin-bottom:10px; display:grid; grid-template-columns:minmax(0,1fr) 145px auto; gap:7px; }
.dashboard-quick-task input { height:42px; border-radius:10px; font-size:11px; }
.dashboard-quick-task button { padding:0 14px; border:0; border-radius:10px; color:#fff; font-size:11px; font-weight:850; background:var(--accent); cursor:pointer; }
.dashboard-task-list,.dashboard-event-list,.today-household-list,.today-goal-list { display:grid; gap:7px; }
.dashboard-task-list article { padding:10px; display:grid; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:10px; border-radius:11px; background:var(--surface); }
.dashboard-task-list article form { margin:0; }
.dashboard-task-list article button { width:25px; height:25px; border:1px solid var(--line); border-radius:8px; background:var(--paper); cursor:pointer; }
.dashboard-task-list strong,.dashboard-task-list small { display:block; }
.dashboard-task-list strong { font-size:11px; }
.dashboard-task-list small { margin-top:3px; color:var(--muted); font-size:8px; }
.widget-empty { min-height:92px; padding:16px; display:grid; place-items:center; align-content:center; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:13px; background:var(--surface); }
.widget-household .widget-empty { min-height:78px; }
.widget-empty > span { width:32px; height:32px; display:grid; place-items:center; margin-bottom:7px; border-radius:9px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.widget-empty strong { color:var(--ink); font-size:11px; }
.widget-empty p { margin:4px 0 0; font-size:9px; line-height:1.45; }
.widget-empty a { margin-top:8px; color:var(--accent-dark); font-size:9px; font-weight:850; text-decoration:none; }
.dashboard-event-list article { padding:10px; display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:11px; border-radius:11px; background:var(--surface); }
.dashboard-event-list time { width:40px; height:40px; display:grid; place-content:center; border-radius:10px; color:var(--accent-dark); text-align:center; background:color-mix(in srgb,var(--accent) 10%,transparent); line-height:1; }
.dashboard-event-list time strong { font-size:14px; }
.dashboard-event-list time small { margin-top:3px; font-size:7px; text-transform:uppercase; }
.dashboard-event-list article > div strong,.dashboard-event-list article > div small { display:block; }
.dashboard-event-list article > div strong { font-size:10px; }
.dashboard-event-list article > div small { margin-top:3px; color:var(--muted); font-size:8px; }
.today-weather-main { display:flex; align-items:center; gap:13px; }
.today-weather-main > span { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; font-size:29px; background:color-mix(in srgb,#5e8cf2 13%,var(--paper)); }
.today-weather-main strong { display:block; font-size:38px; letter-spacing:-.055em; line-height:1; }
.today-weather-main p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.today-weather-details { margin-top:17px; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.today-weather-details span { padding:9px; border:1px solid color-mix(in srgb,var(--line) 80%,transparent); border-radius:10px; background:color-mix(in srgb,var(--paper) 60%,transparent); }
.today-weather-details small,.today-weather-details b { display:block; }
.today-weather-details small { color:var(--muted); font-size:7px; }
.today-weather-details b { margin-top:3px; font-size:9px; }
.today-household-summary { margin-bottom:12px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.today-household-summary div { padding:12px; border-radius:11px; background:var(--surface); }
.today-household-summary strong,.today-household-summary small { display:block; }
.today-household-summary strong { font-size:20px; }
.today-household-summary small { margin-top:3px; color:var(--muted); font-size:8px; }
.today-household-list article { padding:9px 10px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; border-radius:10px; background:var(--surface); }
.household-type-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:var(--accent-dark); font-size:10px; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.today-household-list strong,.today-household-list small { display:block; }
.today-household-list strong { font-size:10px; }
.today-household-list small,.today-household-list time { margin-top:3px; color:var(--muted); font-size:8px; }
.habit-ring-row { margin-bottom:12px; display:flex; align-items:center; gap:12px; }
.habit-ring { width:58px; height:58px; flex:0 0 auto; display:grid; place-items:center; position:relative; isolation:isolate; border-radius:50%; background:conic-gradient(#31bf8c calc(var(--progress)*1%),var(--line) 0); }
.habit-ring::after { content:""; position:absolute; z-index:-1; inset:6px; border-radius:50%; background:var(--paper); }
.habit-ring strong { font-size:10px; }
.habit-ring-row > div:last-child b,.habit-ring-row > div:last-child small { display:block; }
.habit-ring-row > div:last-child b { font-size:11px; }
.habit-ring-row > div:last-child small { margin-top:4px; color:var(--muted); font-size:8px; }
.dashboard-habit-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.dashboard-habit-list article { padding:9px; display:grid; grid-template-columns:25px minmax(0,1fr); align-items:center; column-gap:8px; border-radius:10px; background:var(--surface); }
.dashboard-habit-list article form { grid-row:1 / span 2; margin:0; }
.dashboard-habit-list article button { width:24px; height:24px; border:1px solid var(--line); border-radius:7px; color:#fff; background:var(--paper); cursor:pointer; }
.dashboard-habit-list article.done button { border-color:#2eb988; background:#2eb988; }
.dashboard-habit-list article strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-habit-list article small { color:var(--muted); font-size:7px; }
.today-money-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.today-money-summary small,.today-money-summary strong { display:block; }
.today-money-summary small { color:var(--muted); font-size:8px; font-weight:800; text-transform:uppercase; }
.today-money-summary strong { margin-top:5px; font-size:26px; }
.today-money-summary strong.positive { color:#29b783; }
.today-money-summary strong.negative { color:var(--danger); }
.today-money-summary > span { color:var(--muted); font-size:9px; }
.today-money-summary > span b { color:var(--ink); }
.chart-caption { margin:13px 0 -6px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:8px; }
.chart-caption span { font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.chart-caption b { color:var(--ink); font-weight:800; }
.mini-chart { height:105px; margin-top:15px; padding:10px 6px 0; display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:8px; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to top,transparent 0,transparent 31px,color-mix(in srgb,var(--line) 42%,transparent) 32px); }
.mini-chart.is-empty i { opacity:.22; }
.mini-chart > span { height:100%; display:grid; grid-template-rows:minmax(8px,1fr) 17px; align-items:end; gap:5px; text-align:center; }
.mini-chart i { width:min(24px,70%); min-height:5px; max-height:100%; justify-self:center; border-radius:6px 6px 2px 2px; background:linear-gradient(to top,#e16478,#ff9cae); }
.mini-chart small { color:var(--muted); font-size:8px; }
.training-chart i { background:linear-gradient(to top,#4b75de,#8ca7ff); }
.dashboard-training-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.dashboard-training-stats div { padding:10px; border-radius:10px; background:var(--surface); }
.dashboard-training-stats strong,.dashboard-training-stats small { display:block; }
.dashboard-training-stats strong { font-size:15px; }
.dashboard-training-stats small { margin-top:4px; color:var(--muted); font-size:8px; text-transform:uppercase; }
.today-latest-line { margin:10px 0 0; overflow:hidden; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.today-latest-line b { color:var(--ink); }
.today-goal-list article { padding:11px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; border-radius:11px; background:var(--surface); }
.today-goal-list article div span,.today-goal-list article div strong,.today-goal-list article div small { display:block; }
.today-goal-list article div span { color:var(--accent-dark); font-size:8px; font-weight:850; text-transform:uppercase; }
.today-goal-list article div strong { margin-top:3px; font-size:11px; }
.today-goal-list article div small { margin-top:3px; color:var(--muted); font-size:9px; }
.today-goal-list article > b { font-size:11px; }
.today-goal-list progress { width:100%; height:5px; grid-column:1 / -1; accent-color:var(--accent); }
.density-compact .today-widget { padding:16px; }
.density-compact .today-widget > header { margin-bottom:10px; }
.density-compact .dashboard-task-list,.density-compact .dashboard-event-list,.density-compact .today-household-list,.density-compact .dashboard-habit-list,.density-compact .today-goal-list { gap:5px; }
.density-compact .widget-empty { min-height:85px; }
.all-widgets-hidden { padding:38px; display:grid; place-items:center; text-align:center; border:1px dashed var(--line); border-radius:18px; background:var(--paper); }
.all-widgets-hidden.is-hidden { display:none; }
.all-widgets-hidden span { font-size:25px; }
.all-widgets-hidden h3 { margin:9px 0 5px; }
.all-widgets-hidden p { margin:0 0 14px; color:var(--muted); font-size:11px; }
.all-widgets-hidden button { padding:9px 12px; border:0; border-radius:9px; color:#fff; font-size:10px; font-weight:850; background:var(--accent); cursor:pointer; }

.today-featured,.today-app-launcher { margin-top:18px; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.today-featured > header,.today-app-launcher > header { margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; }
.today-featured .eyebrow,.today-app-launcher .eyebrow { margin-bottom:4px; font-size:8px; }
.today-featured h2,.today-app-launcher h2 { margin:0; font-size:18px; }
.today-featured > header a,.today-app-launcher > header button { padding:6px 9px; border:0; border-radius:7px; color:var(--accent-dark); font-size:8px; font-weight:850; background:color-mix(in srgb,var(--accent) 9%,transparent); text-decoration:none; cursor:pointer; }
.today-featured > div { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.today-featured > div > a { min-width:0; padding:11px; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:9px; border:1px solid var(--line); border-radius:11px; color:var(--ink); text-decoration:none; }
.today-featured > div > a > span { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.today-featured strong,.today-featured small { display:block; }
.today-featured strong { margin-top:2px; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.today-featured small { color:var(--accent-dark); font-size:7px; text-transform:uppercase; }
.today-featured p { display:none; }
.today-app-launcher > header button { display:none; }
.today-app-launcher nav { display:grid; grid-template-columns:repeat(8,1fr); gap:8px; }
.today-app-launcher nav a { min-width:0; min-height:70px; padding:10px 6px; display:grid; place-items:center; align-content:center; gap:6px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-align:center; text-decoration:none; transition:transform .18s,border-color .18s; }
.today-app-launcher nav a:hover { transform:translateY(-2px); border-color:var(--accent); }
.today-app-launcher nav a span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:10px; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.today-app-launcher nav a:nth-child(2n) span { background:linear-gradient(135deg,#4b8de7,#3a6dd2); }
.today-app-launcher nav a:nth-child(3n) span { background:linear-gradient(135deg,#2fbd8a,#23966f); }
.today-app-launcher nav a:nth-child(4n) span { background:linear-gradient(135deg,#e5974a,#dd6c55); }
.today-app-launcher nav a b { max-width:100%; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }

.dashboard-dialog { width:min(620px,calc(100% - 28px)); max-height:min(820px,calc(100vh - 28px)); padding:0; overflow:auto; scrollbar-width:none; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:var(--paper); box-shadow:0 28px 90px rgba(4,6,18,.58); }
.dashboard-dialog::-webkit-scrollbar { width:0; height:0; display:none; }
.dashboard-dialog::backdrop { background:rgba(5,7,18,.68); backdrop-filter:blur(7px); }
.dashboard-dialog > header { padding:25px 27px 17px; }
.dashboard-dialog > header .eyebrow { margin-bottom:5px; }
.dashboard-dialog > header h2 { margin:0; font-size:26px; }
.dashboard-dialog > header > p:last-child { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.dashboard-dialog-close { position:absolute; top:14px; right:14px; z-index:2; }
.dashboard-dialog-close button { width:34px; height:34px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:20px; background:var(--surface); cursor:pointer; }
.quick-add-tabs { padding:0 27px 14px; display:flex; gap:5px; overflow-x:auto; scrollbar-width:none; }
.quick-add-tabs::-webkit-scrollbar { display:none; }
.quick-add-tabs button { min-height:34px; padding:0 12px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:9px; font-weight:850; background:var(--surface); cursor:pointer; }
.quick-add-tabs button[aria-selected="true"] { color:#fff; border-color:var(--accent); background:var(--accent); }
.quick-add-panels { padding:0 27px 27px; }
.quick-add-panels form { padding:18px; display:grid; gap:12px; border-radius:15px; background:var(--surface); }
.quick-add-panels form[hidden],.quick-add-more[hidden] { display:none; }
.quick-add-panels label { margin:0; font-size:10px; }
.quick-add-panels label small { color:var(--muted); font-size:8px; font-weight:600; }
.quick-add-panels input,.quick-add-panels select { width:100%; height:43px; margin-top:6px; padding:0 12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--paper); }
.quick-add-panels form > button { min-height:43px; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:850; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); cursor:pointer; }
.quick-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.quick-add-more { display:grid; gap:8px; }
.quick-add-more a { padding:13px; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--surface); text-decoration:none; }
.quick-add-more a > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.quick-add-more strong,.quick-add-more small { display:block; }
.quick-add-more strong { font-size:10px; }
.quick-add-more small { margin-top:3px; color:var(--muted); font-size:8px; }
.customize-dashboard-dialog > form:last-child { padding:0 27px 27px; }
.widget-visibility-options { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; }
.widget-visibility-options legend,.customize-choice-row legend { width:100%; margin-bottom:9px; color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.widget-visibility-options legend span { float:right; color:#2ab989; text-transform:none; }
.widget-visibility-options label { margin:0; padding:11px; display:grid; grid-template-columns:23px minmax(0,1fr); align-items:center; gap:9px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.widget-visibility-options input { width:19px; height:19px; margin:0; accent-color:var(--accent); }
.widget-visibility-options strong,.widget-visibility-options small { display:block; }
.widget-visibility-options strong { font-size:9px; }
.widget-visibility-options small { margin-top:3px; color:var(--muted); font-size:7px; line-height:1.35; }
.customize-choice-row { margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.customize-choice-row fieldset { margin:0; padding:12px; display:flex; gap:13px; border:1px solid var(--line); border-radius:11px; }
.customize-choice-row fieldset legend { width:auto; margin:0; padding:0 4px; }
.customize-choice-row fieldset label { margin:0; display:flex; align-items:center; gap:6px; font-size:9px; }
.customize-choice-row fieldset input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.customize-choice-row > label { margin:0; padding:0; color:var(--muted); font-size:9px; text-transform:uppercase; }
.customize-choice-row select { width:100%; height:43px; margin-top:6px; padding:0 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); }
.customize-dashboard-dialog > form:last-child > button { width:100%; min-height:45px; margin-top:17px; border:0; border-radius:11px; color:#fff; font-size:10px; font-weight:850; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); cursor:pointer; }
.mobile-dashboard-nav { display:none; }
[data-dashboard-toast] { max-width:min(360px,calc(100vw - 28px)); padding:11px 15px; position:fixed; z-index:260; left:50%; bottom:22px; opacity:0; transform:translate(-50%,18px); pointer-events:none; border:1px solid color-mix(in srgb,#2ab989 38%,var(--line)); border-radius:11px; color:var(--ink); font-size:10px; font-weight:800; background:var(--paper); box-shadow:0 14px 40px rgba(5,7,18,.28); transition:opacity .2s,transform .2s; }
[data-dashboard-toast].is-visible { opacity:1; transform:translate(-50%,0); }
[data-dashboard-toast].is-error { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }
.today-dashboard :is(button,a,input,select,summary):focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 34%,transparent); outline-offset:3px; }
.today-dashboard button:disabled { opacity:.5; cursor:not-allowed; }

@media (max-width:1080px) {
    .today-dashboard-shell { width:min(100% - 32px,1280px); }
    .today-hero { align-items:flex-start; flex-direction:column; }
    .today-hero-actions { width:100%; }
    .today-weather-chip { margin-right:auto; }
    .today-glance { grid-template-columns:1fr repeat(3,1fr); }
    .today-glance > a:nth-last-child(-n+2) { border-top:1px solid var(--line); }
    .today-glance > a:nth-last-child(2) { grid-column:2; }
    .today-widget.widget-tasks,.today-widget.widget-household,.today-widget.widget-finance { grid-column:span 7; }
    .today-widget.widget-events,.today-widget.widget-weather,.today-widget.widget-habits { grid-column:span 5; }
    .today-app-launcher nav { grid-template-columns:repeat(4,1fr); }
    .today-featured > div { grid-template-columns:1fr 1fr; }
}

@media (max-width:780px) {
    .today-dashboard { padding-bottom:76px; }
    .today-dashboard .topbar { min-height:62px; padding:0 14px; grid-template-columns:minmax(0,1fr) auto; }
    .today-dashboard .topbar .main-nav { display:none; }
    .today-dashboard .wordmark { min-width:0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
    .today-dashboard .wordmark .brand-mark { flex:0 0 auto; }
    .today-dashboard .topbar-actions { gap:6px; }
    .today-dashboard .account-menu-trigger-copy,.today-dashboard .account-menu-chevron { display:none; }
    .today-dashboard .account-menu > summary { min-height:42px; padding:4px; grid-template-columns:34px; }
    .today-dashboard-shell { width:calc(100% - 24px); padding:18px 0 26px; }
    .today-hero { min-height:0; padding:22px 20px; gap:20px; border-radius:20px; }
    .today-hero-copy h1 { font-size:32px; }
    .today-hero-nudge { align-items:flex-start; flex-direction:column; gap:7px; }
    .today-hero-nudge > p { font-size:11px; line-height:1.5; }
    .today-hero-actions { display:grid; grid-template-columns:1fr 1fr; }
    .today-weather-chip { width:100%; grid-column:1 / -1; }
    .primary-dashboard-button,.secondary-dashboard-button { min-height:46px; }
    .primary-dashboard-button kbd { display:none; }
    .today-announcement { grid-template-columns:34px minmax(0,1fr); }
    .today-announcement-icon { width:34px; height:34px; }
    .today-announcement-copy { display:block; }
    .today-announcement-copy > div { min-width:0; }
    .today-announcement-copy p { margin-top:5px; font-size:9px; }
    .today-announcement > form,.today-announcement > a,.today-more-announcements { grid-column:2; justify-self:start; }
    .today-glance { grid-template-columns:1fr 1fr; overflow:hidden; }
    .today-glance > header { grid-column:1 / -1; min-height:58px; }
    .today-glance > header::after { top:auto; left:14px; bottom:0; width:auto; height:1px; }
    .today-glance > a { min-height:72px; }
    .today-glance > a:nth-last-child(-n+2) { border-top:0; }
    .today-glance > a:nth-last-child(2) { grid-column:auto; }
    .today-glance > a:nth-child(even)::after { top:12px; bottom:12px; }
    .today-glance > a:nth-child(odd)::after { top:auto; left:12px; bottom:0; width:auto; height:1px; }
    .today-glance > a:last-child { grid-column:1 / -1; }
    .today-glance > a:last-child::after { display:none; }
    .focus-panel-heading { align-items:flex-start; flex-wrap:wrap; }
    .focus-panel-heading button { width:100%; margin:3px 0 0; }
    .focus-cards { grid-template-columns:1fr; }
    .focus-cards article { min-height:105px; }
    .today-workspace-heading { align-items:flex-start; }
    .today-workspace-heading h2 { font-size:21px; }
    .today-workspace-heading > button { padding:0 11px; }
    .today-widget-grid { grid-template-columns:1fr; }
    .today-widget.widget-tasks,.today-widget.widget-events,.today-widget.widget-weather,.today-widget.widget-household,.today-widget.widget-habits,.today-widget.widget-finance,.today-widget.widget-workouts,.today-widget.widget-goals { grid-column:1; }
    .today-widget { padding:18px; border-radius:17px; }
    .today-widget[draggable="true"] { cursor:default; }
    .widget-drag-handle { display:none; }
    .today-widget-toolbar { opacity:1; }
    .widget-order-controls { display:flex; }
    .dashboard-quick-task { grid-template-columns:minmax(0,1fr) auto; }
    .dashboard-quick-task input[type="date"] { width:100%; min-width:0; padding:0 11px; }
    .dashboard-quick-task button { grid-column:2; grid-row:1; }
    .dashboard-quick-task input[type="date"] { grid-column:1 / -1; grid-row:2; }
    .dashboard-quick-task input[name="title"] { grid-column:1; grid-row:1; height:42px; }
    .today-featured > div { grid-template-columns:1fr; }
    .today-app-launcher > header button { display:block; }
    .today-app-launcher nav { grid-template-columns:repeat(4,1fr); }
    .today-app-launcher nav a:nth-child(n+5) { display:none; }
    .today-app-launcher.is-expanded nav a { display:grid; }
    .dashboard-dialog { width:100%; max-width:none; max-height:88vh; margin:auto 0 0; border-radius:22px 22px 0 0; }
    .dashboard-dialog > header { padding:24px 20px 15px; }
    .quick-add-tabs { padding:0 20px 13px; }
    .quick-add-panels,.customize-dashboard-dialog > form:last-child { padding-left:20px; padding-right:20px; padding-bottom:calc(20px + env(safe-area-inset-bottom)); }
    .widget-visibility-options { grid-template-columns:1fr; }
    .customize-choice-row { grid-template-columns:1fr; }
    .mobile-dashboard-nav { height:66px; padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); display:grid; grid-template-columns:repeat(5,1fr); position:fixed; z-index:120; left:0; right:0; bottom:0; border-top:1px solid var(--line); background:color-mix(in srgb,var(--paper) 92%,transparent); backdrop-filter:blur(18px); box-shadow:0 -9px 28px rgba(6,8,20,.18); }
    .mobile-dashboard-nav a,.mobile-dashboard-nav button { min-width:0; padding:3px; display:grid; place-items:center; align-content:center; gap:3px; border:0; border-radius:10px; color:var(--muted); font:inherit; background:transparent; text-decoration:none; cursor:pointer; }
    .mobile-dashboard-nav span { font-size:15px; }
    .mobile-dashboard-nav b { font-size:8px; }
    .mobile-dashboard-nav a[aria-current="page"] { color:var(--accent-dark); background:color-mix(in srgb,var(--accent) 9%,transparent); }
    .mobile-dashboard-nav button span { width:36px; height:36px; display:grid; place-items:center; margin-top:-20px; border:3px solid var(--page); border-radius:13px; color:#fff; font-size:22px; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 32%,transparent); }
    [data-dashboard-toast] { bottom:82px; }
}

@media (max-width:480px) {
    .today-dashboard-shell { width:calc(100% - 18px); }
    .today-hero { padding:19px 17px; }
    .today-hero-actions { gap:7px; }
    .today-weather-chip small { max-width:210px; }
    .today-glance > a { padding:11px; }
    .glance-icon { width:31px; height:31px; }
    .today-workspace-heading > div > p:last-child { display:none; }
    .today-widget { padding:16px; }
    .today-widget > header h3 { font-size:18px; }
    .dashboard-habit-list { grid-template-columns:1fr; }
    .today-money-summary { align-items:flex-start; flex-direction:column; }
    .today-app-launcher nav { grid-template-columns:repeat(3,1fr); }
    .today-app-launcher nav a:nth-child(4) { display:none; }
    .today-app-launcher.is-expanded nav a { display:grid; }
    .quick-form-row { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
    .today-dashboard * { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Dedicated Gym hub */
.gym-hub-page { scroll-behavior:smooth; }
.growth-page-growth .growth-home-grid > a:last-child:nth-child(odd) { grid-column:1 / -1; }
.gym-dashboard { width:min(1280px,calc(100% - 48px)); padding:32px 0 64px; }
.gym-dashboard section[id] { scroll-margin-top:96px; }
.gym-hero { min-height:300px; padding:34px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr); align-items:stretch; gap:24px; overflow:hidden; position:relative; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:26px; background:radial-gradient(circle at 78% 4%,rgba(130,93,255,.28),transparent 33%),linear-gradient(130deg,#152a50 0%,#171b36 48%,#30205f 100%); box-shadow:0 24px 65px rgba(7,10,25,.28); }
:root[data-theme="light"] .gym-hero { background:radial-gradient(circle at 78% 4%,rgba(130,93,255,.23),transparent 35%),linear-gradient(130deg,#eaf2ff,#f4f0ff 55%,#eee8ff); box-shadow:0 22px 50px rgba(42,42,88,.12); }
.gym-hero::after { content:""; width:240px; height:240px; position:absolute; right:-85px; bottom:-125px; border:45px solid rgba(255,255,255,.035); border-radius:50%; }
.gym-hero-copy { max-width:720px; display:flex; justify-content:center; align-items:flex-start; flex-direction:column; position:relative; z-index:1; }
.gym-hero-copy .eyebrow { color:#9f8cff; }
.gym-hero-copy h1 { max-width:680px; margin:7px 0 10px; color:#fff; font-size:clamp(38px,5vw,66px); line-height:.98; letter-spacing:-.045em; }
:root[data-theme="light"] .gym-hero-copy h1 { color:#11152d; }
.gym-hero-copy > p:last-of-type { max-width:640px; margin:0; color:#bdc9e9; font-size:15px; line-height:1.65; }
:root[data-theme="light"] .gym-hero-copy > p:last-of-type { color:#59627d; }
.gym-hero-actions { margin-top:24px; display:flex; gap:10px; flex-wrap:wrap; }
.gym-hero-actions a { min-height:44px; padding:0 17px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.18); border-radius:11px; color:#fff; font-size:12px; font-weight:850; text-decoration:none; background:rgba(255,255,255,.07); }
:root[data-theme="light"] .gym-hero-actions a { border-color:var(--line); color:var(--ink); background:rgba(255,255,255,.58); }
.gym-hero-actions .gym-primary-action { border-color:transparent; background:linear-gradient(135deg,#8368ff,#5b76ed); box-shadow:0 10px 25px rgba(101,74,230,.3); }
:root[data-theme="light"] .gym-hero-actions .gym-primary-action { color:#fff; }
.gym-week-card { min-width:0; padding:23px; display:flex; justify-content:center; flex-direction:column; position:relative; z-index:1; border:1px solid rgba(255,255,255,.14); border-radius:19px; color:#fff; background:rgba(9,13,35,.42); backdrop-filter:blur(12px); }
:root[data-theme="light"] .gym-week-card { border-color:rgba(72,60,138,.15); color:var(--ink); background:rgba(255,255,255,.58); }
.gym-week-card > div span,.gym-week-card > div small,.gym-week-card > div strong { display:block; }
.gym-week-card > div span { color:#aab8dc; font-size:9px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.gym-week-card > div strong { margin:7px 0 0; font-size:34px; letter-spacing:-.04em; }
.gym-week-card > div small { color:#b7c2e0; font-size:10px; }
:root[data-theme="light"] .gym-week-card > div span,:root[data-theme="light"] .gym-week-card > div small { color:var(--muted); }
.gym-week-card progress { width:100%; height:7px; margin:18px 0 12px; overflow:hidden; border:0; border-radius:999px; appearance:none; background:rgba(255,255,255,.15); }
.gym-week-card progress::-webkit-progress-bar { background:rgba(255,255,255,.15); }
.gym-week-card progress::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,#866bff,#59d7be); }
.gym-week-card progress::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,#866bff,#59d7be); }
.gym-week-card > p { min-height:36px; margin:0; color:#c7d0e8; font-size:11px; line-height:1.55; }
:root[data-theme="light"] .gym-week-card > p { color:var(--muted); }
.gym-private-badge { align-self:flex-start; margin-top:17px; padding:6px 9px; border-radius:999px; color:#8be6bd; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; background:rgba(61,211,145,.12); }
:root[data-theme="light"] .gym-private-badge { color:#13704b; background:#e7f8f0; }
.gym-subnav { margin:18px 0 0; padding:7px; display:flex; gap:5px; overflow-x:auto; scrollbar-width:none; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 10px 30px var(--shadow); }
.gym-subnav::-webkit-scrollbar { display:none; }
.gym-subnav a { min-height:38px; padding:0 13px; display:flex; align-items:center; gap:7px; flex:0 0 auto; border-radius:9px; color:var(--muted); font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
.gym-subnav a:hover,.gym-subnav a:focus-visible { color:var(--accent-dark); background:rgba(115,87,255,.09); }
.gym-subnav a span { min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:999px; color:var(--accent-dark); font-size:8px; background:rgba(115,87,255,.12); }
.gym-dashboard > .alert,.gym-dashboard > .success-alert { margin-top:18px; margin-bottom:0; }
.gym-overview-section,.gym-log-section,.gym-coach-section,.gym-history-section,.gym-next-section { margin-top:18px; padding:26px; border:1px solid var(--line); border-radius:22px; background:var(--paper); box-shadow:0 14px 42px var(--shadow); }
.gym-section-heading { margin-bottom:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.gym-section-heading .eyebrow { margin-bottom:5px; }
.gym-section-heading h2 { margin:0; font-size:27px; letter-spacing:-.025em; }
.gym-section-heading > div > p:last-child { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.gym-overview-section .gym-period-form { min-width:190px; }
.gym-overview-section .gym-period-form label { font-size:9px; }
.gym-overview-section .gym-period-form select { height:44px; font-size:12px; }
.gym-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.gym-stat-grid article { min-width:0; padding:16px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.gym-stat-icon { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:11px; color:#fff; font-size:10px; font-weight:900; }
.gym-stat-icon.purple { background:linear-gradient(135deg,#8268ff,#6549ed); }
.gym-stat-icon.blue { background:linear-gradient(135deg,#5a8cf0,#3e68ca); }
.gym-stat-icon.aqua { background:linear-gradient(135deg,#42cbb2,#229077); }
.gym-stat-icon.orange { background:linear-gradient(135deg,#f1a14d,#dc6748); }
.gym-stat-icon.pink { background:linear-gradient(135deg,#eb7aa2,#c64d7a); }
.gym-stat-grid article > div { min-width:0; }
.gym-stat-grid strong,.gym-stat-grid article > div > small,.gym-stat-grid em { display:block; }
.gym-stat-grid strong { font-size:18px; letter-spacing:-.02em; white-space:nowrap; }
.gym-stat-grid strong small { display:inline; font-size:9px; }
.gym-stat-grid article > div > small { margin-top:3px; color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.gym-stat-grid em { margin-top:3px; overflow:hidden; color:var(--muted); font-size:8px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.gym-insight-layout { margin-top:12px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); gap:12px; }
.gym-chart-card,.gym-split-card { min-width:0; padding:19px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.gym-chart-card > header,.gym-split-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.gym-chart-card h3,.gym-split-card h3 { margin:2px 0 0; font-size:18px; }
.gym-chart-card header > span,.gym-split-card header > span { padding:5px 8px; border-radius:7px; color:var(--muted); font-size:8px; font-weight:800; background:var(--paper); }
.gym-week-chart { height:174px; margin-top:18px; padding:0 4px; display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:9px; }
.gym-week-chart > div { height:100%; display:grid; grid-template-rows:minmax(0,1fr) auto auto; gap:5px; text-align:center; }
.gym-week-chart > div > span { min-height:90px; display:flex; align-items:flex-end; justify-content:center; border-bottom:1px solid var(--line); }
.gym-week-chart i { width:min(24px,70%); min-height:5px; display:block; border-radius:7px 7px 3px 3px; background:linear-gradient(to top,#506ee2,#8e77ff); box-shadow:0 6px 14px rgba(102,81,225,.18); }
.gym-week-chart b { color:var(--muted); font-size:8px; text-transform:uppercase; }
.gym-week-chart small { color:var(--ink); font-size:9px; font-weight:800; }
.gym-chart-card footer { margin-top:14px; padding-top:12px; display:flex; justify-content:space-between; gap:10px; border-top:1px solid var(--line); color:var(--muted); font-size:8px; }
.gym-chart-card footer a { color:var(--accent-dark); font-weight:800; text-decoration:none; }
.gym-split-list { margin-top:18px; display:grid; gap:11px; }
.gym-split-list > div > span { margin-bottom:5px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.gym-split-list b { font-size:10px; }
.gym-split-list em { color:var(--muted); font-size:9px; font-style:normal; font-weight:800; }
.gym-split-list progress { width:100%; height:7px; overflow:hidden; border:0; border-radius:999px; appearance:none; background:var(--line); }
.gym-split-list progress::-webkit-progress-bar { background:var(--line); }
.gym-split-list progress::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,#7c62f4,#5492eb); }
.gym-split-list progress::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,#7c62f4,#5492eb); }
.gym-empty-mini { min-height:170px; display:grid; place-content:center; justify-items:center; text-align:center; }
.gym-empty-mini span,.gym-history-empty > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--accent-dark); font-weight:900; background:rgba(115,87,255,.11); }
.gym-empty-mini p { max-width:220px; margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.gym-mini-insights { margin-top:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gym-mini-insights > article { min-width:0; padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.gym-mini-title { margin-bottom:13px; display:flex; align-items:center; gap:10px; }
.gym-mini-title > span { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:var(--accent-dark); font-size:10px; font-weight:900; background:rgba(115,87,255,.11); }
.gym-mini-title strong,.gym-mini-title small { display:block; }
.gym-mini-title strong { font-size:12px; }
.gym-mini-title small { margin-top:2px; color:var(--muted); font-size:8px; }
.gym-mini-insights ol { margin:0; padding:0; display:grid; gap:8px; list-style:none; }
.gym-mini-insights li { min-width:0; display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:10px; }
.gym-mini-insights li span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gym-mini-insights li b { flex:0 0 auto; color:var(--ink); }
.gym-mini-insights article > p { margin:4px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.gym-form-status { padding:7px 10px; border-radius:999px; color:#25835c; font-size:9px; font-weight:850; background:rgba(51,196,137,.11); }
.gym-workout-form { display:grid; gap:14px; }
.gym-workout-form fieldset { min-width:0; margin:0; padding:20px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.gym-workout-form legend { padding:0 8px; display:flex; align-items:center; gap:10px; }
.gym-workout-form legend > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,#8167ff,#5b70e8); }
.gym-workout-form legend strong,.gym-workout-form legend small { display:block; }
.gym-workout-form legend strong { font-size:13px; }
.gym-workout-form legend small { margin-top:2px; color:var(--muted); font-size:9px; font-weight:500; }
.gym-workout-form .gym-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gym-workout-form .gym-form-grid.finish { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gym-workout-form label { min-width:0; display:grid; gap:6px; margin:0; color:var(--muted); font-size:10px; font-weight:800; }
.gym-workout-form label > small { color:var(--muted); font-size:8px; font-weight:500; line-height:1.45; }
.gym-workout-form input,.gym-workout-form select,.gym-workout-form textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:10px; color:var(--ink); font:inherit; outline:none; background:var(--paper); }
.gym-workout-form input,.gym-workout-form select { height:44px; padding:0 12px; }
.gym-workout-form textarea { padding:12px; resize:vertical; line-height:1.5; }
.gym-workout-form input:focus,.gym-workout-form select:focus,.gym-workout-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(115,87,255,.12); }
.gym-workout-form .gym-exercise-field { grid-column:1 / -1; }
.gym-workout-form .wide-field { grid-column:1 / -1; }
.gym-exercise-browser { margin-top:13px; padding-top:13px; border-top:1px solid var(--line); }
.gym-exercise-categories { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.gym-exercise-categories::-webkit-scrollbar { display:none; }
.gym-exercise-categories button { min-height:31px; padding:0 10px; flex:0 0 auto; border:1px solid var(--line); border-radius:999px; color:var(--muted); font:inherit; font-size:8px; font-weight:800; background:var(--paper); cursor:pointer; }
.gym-exercise-categories button.active { border-color:rgba(115,87,255,.38); color:var(--accent-dark); background:rgba(115,87,255,.11); }
.gym-exercise-results { margin-top:10px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.gym-exercise-results button { min-width:0; min-height:54px; padding:8px 9px; display:block; overflow:hidden; border:1px solid var(--line); border-radius:10px; color:var(--ink); text-align:left; font:inherit; background:var(--paper); cursor:pointer; }
.gym-exercise-results button:hover,.gym-exercise-results button:focus-visible { border-color:var(--accent); background:rgba(115,87,255,.07); }
.gym-exercise-results strong,.gym-exercise-results small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gym-exercise-results strong { font-size:9px; }
.gym-exercise-results small { margin-top:4px; color:var(--muted); font-size:7px; }
.gym-custom-exercise-note { grid-column:1 / -1; margin:0; padding:11px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:10px; }
.gym-set-builder { padding:0; border:0; background:transparent; }
.gym-set-builder .set-builder-heading { margin:0 0 10px; }
.gym-set-builder .set-builder-heading > p { margin:0; color:var(--muted); font-size:9px; }
.gym-set-builder .set-builder-heading > div { display:flex; gap:7px; }
.gym-set-builder .set-row { grid-template-columns:34px .7fr 1fr 1fr .75fr 34px; gap:9px; padding:9px; align-items:end; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.gym-set-builder .set-number { margin-bottom:8px; }
.gym-set-builder .remove-set { margin-bottom:7px; }
.gym-set-builder label > small { display:inline; font-size:7px; }
.gym-form-footer { padding:3px 2px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.gym-form-footer p { margin:0; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; }
.gym-form-footer p span { width:23px; height:23px; display:grid; place-items:center; border-radius:8px; color:#26926a; background:rgba(51,196,137,.12); }
.gym-save-button { min-height:46px; padding:0 20px; border:0; border-radius:11px; color:#fff; font:inherit; font-size:12px; font-weight:900; background:linear-gradient(135deg,#7f64fa,#527be5); box-shadow:0 10px 22px rgba(93,73,217,.2); cursor:pointer; }
.gym-save-button span { margin-left:8px; }
.gym-save-button:disabled { opacity:.58; cursor:wait; box-shadow:none; }
.gym-coach-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gym-coach-grid article { padding:17px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.gym-coach-grid article > span { color:var(--accent-dark); font-size:8px; font-weight:900; letter-spacing:.09em; }
.gym-coach-grid strong { margin:8px 0 5px; display:block; font-size:13px; }
.gym-coach-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.gym-safety-note { margin-top:10px; border:1px solid var(--danger-line); border-radius:12px; color:var(--muted); background:var(--danger-bg); }
.gym-safety-note summary { padding:12px 15px; color:var(--danger); font-size:10px; font-weight:850; cursor:pointer; }
.gym-safety-note p { margin:0; padding:0 15px 14px; font-size:10px; line-height:1.55; }
.gym-history-filters { margin-bottom:14px; padding:10px; display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto auto; align-items:end; gap:8px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.gym-history-filters label { min-width:0; display:grid; gap:5px; }
.gym-history-filters label span { color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; }
.gym-history-filters input,.gym-history-filters select { width:100%; min-width:0; height:40px; padding:0 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--paper); outline:none; }
.gym-history-filters button,.gym-history-filters > a { min-height:40px; padding:0 15px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:9px; color:var(--ink); font:inherit; font-size:10px; font-weight:850; text-decoration:none; background:var(--paper); cursor:pointer; }
.gym-history-filters button { border-color:transparent; color:#fff; background:linear-gradient(135deg,#795df2,#5679e4); }
.gym-history-list { display:grid; gap:10px; }
.gym-history-card { min-width:0; padding:15px; display:grid; grid-template-columns:56px minmax(0,1fr); gap:14px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.gym-history-date { width:56px; min-height:62px; padding:8px 3px; display:grid; place-content:center; align-self:start; border-radius:12px; color:var(--accent-dark); text-align:center; background:rgba(115,87,255,.11); }
.gym-history-date strong,.gym-history-date small,.gym-history-date em { display:block; }
.gym-history-date strong { font-size:20px; line-height:1; }
.gym-history-date small { margin-top:4px; font-size:8px; font-weight:900; text-transform:uppercase; }
.gym-history-date em { margin-top:2px; color:var(--muted); font-size:7px; font-style:normal; }
.gym-history-main { min-width:0; }
.gym-history-main > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.gym-history-main > header > div:first-child { min-width:0; }
.gym-history-main h3 { margin:6px 0 0; overflow-wrap:anywhere; font-size:16px; }
.gym-history-actions { display:flex; gap:6px; flex:0 0 auto; }
.gym-history-actions button { min-height:31px; padding:0 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font:inherit; font-size:8px; font-weight:850; background:var(--paper); cursor:pointer; }
.gym-history-actions form button { color:var(--danger); }
.gym-history-meta { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.gym-history-meta span { padding:6px 8px; border-radius:8px; color:var(--muted); font-size:8px; background:var(--paper); }
.gym-history-meta b { color:var(--ink); }
.gym-history-sets { margin-top:10px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.gym-history-sets > span { min-width:0; padding:9px; display:grid; gap:3px; border:1px solid var(--line); border-radius:9px; background:var(--paper); }
.gym-history-sets b { color:var(--muted); font-size:7px; text-transform:uppercase; }
.gym-history-sets em { color:var(--muted); font-size:8px; font-style:normal; }
.gym-history-sets strong { font-size:11px; }
.gym-history-sets small { overflow:hidden; color:var(--accent-dark); font-size:7px; font-weight:750; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.gym-history-notes { margin:10px 0 0; padding:10px; border-left:3px solid rgba(115,87,255,.45); color:var(--muted); font-size:10px; line-height:1.55; background:var(--paper); }
.gym-history-empty { min-height:230px; display:grid; place-content:center; justify-items:center; text-align:center; }
.gym-history-empty h3 { margin:12px 0 5px; }
.gym-history-empty p { max-width:360px; margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.gym-history-empty a { margin-top:14px; color:var(--accent-dark); font-size:10px; font-weight:850; }
.gym-next-section { display:grid; grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr); gap:22px; align-items:center; background:linear-gradient(130deg,rgba(115,87,255,.09),transparent 55%),var(--paper); }
.gym-next-section h2 { margin:4px 0 7px; font-size:23px; }
.gym-next-section > div > p:last-child { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.gym-next-section nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.gym-next-section nav a { min-width:0; padding:13px; display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:var(--surface); }
.gym-next-section nav a > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:9px; font-weight:900; background:linear-gradient(135deg,#8167ff,#547be4); }
.gym-next-section nav strong,.gym-next-section nav small { display:block; }
.gym-next-section nav strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.gym-next-section nav small { margin-top:4px; color:var(--muted); font-size:8px; line-height:1.35; }
.gym-next-section nav b { color:var(--accent-dark); }

@media (max-width:1050px) {
    .gym-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .gym-stat-grid article:nth-last-child(-n+2) { grid-column:span 1; }
    .gym-exercise-results { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .gym-history-sets { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .gym-next-section { grid-template-columns:1fr; }
}

@media (max-width:820px) {
    .gym-dashboard { width:calc(100% - 28px); padding-top:20px; }
    .gym-hero { min-height:0; padding:24px; grid-template-columns:1fr; }
    .gym-hero-copy h1 { font-size:42px; }
    .gym-week-card { min-height:190px; }
    .gym-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gym-stat-grid article:last-child { grid-column:1 / -1; }
    .gym-insight-layout { grid-template-columns:1fr; }
    .gym-mini-insights { grid-template-columns:1fr 1fr; }
    .gym-mini-insights article:last-child { grid-column:1 / -1; }
    .gym-workout-form .gym-form-grid,.gym-workout-form .gym-form-grid.finish { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gym-exercise-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .gym-set-builder .set-row { grid-template-columns:32px 1fr 1fr 32px; }
    .gym-set-builder .set-row label:nth-of-type(3),.gym-set-builder .set-row label:nth-of-type(4) { grid-row:2; }
    .gym-set-builder .set-row label:nth-of-type(3) { grid-column:2; }
    .gym-set-builder .set-row label:nth-of-type(4) { grid-column:3; }
    .gym-set-builder .remove-set { grid-column:4; grid-row:1 / span 2; align-self:center; }
    .gym-coach-grid { grid-template-columns:1fr 1fr; }
    .gym-next-section nav { grid-template-columns:1fr; }
}

@media (max-width:600px) {
    .gym-dashboard { width:calc(100% - 18px); padding-top:12px; padding-bottom:36px; }
    .gym-hero { padding:21px 18px; gap:17px; border-radius:20px; }
    .gym-hero-copy h1 { font-size:36px; }
    .gym-hero-copy > p:last-of-type { font-size:12px; }
    .gym-hero-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
    .gym-week-card { min-height:0; padding:18px; }
    .gym-subnav { position:sticky; z-index:30; top:64px; border-radius:12px; box-shadow:0 8px 22px var(--shadow); }
    .gym-overview-section,.gym-log-section,.gym-coach-section,.gym-history-section,.gym-next-section { padding:18px 15px; border-radius:18px; }
    .gym-section-heading { display:block; }
    .gym-section-heading h2 { font-size:23px; }
    .gym-section-heading .gym-period-form { margin-top:13px; }
    .gym-stat-grid { gap:7px; }
    .gym-stat-grid article { min-height:90px; padding:12px; align-items:flex-start; flex-direction:column; gap:8px; }
    .gym-stat-grid article:last-child { grid-column:auto; }
    .gym-stat-icon { width:31px; height:31px; }
    .gym-stat-grid strong { font-size:16px; }
    .gym-insight-layout { gap:8px; }
    .gym-chart-card,.gym-split-card { padding:15px; }
    .gym-week-chart { height:145px; gap:5px; }
    .gym-week-chart i { width:15px; }
    .gym-chart-card footer { align-items:flex-start; flex-direction:column; }
    .gym-mini-insights { grid-template-columns:1fr; gap:8px; }
    .gym-mini-insights article:last-child { grid-column:auto; }
    .gym-form-status { margin-top:10px; display:inline-block; }
    .gym-workout-form fieldset { padding:16px 12px; }
    .gym-workout-form legend { max-width:calc(100vw - 72px); align-items:flex-start; }
    .gym-workout-form legend small { line-height:1.35; }
    .gym-workout-form .gym-form-grid,.gym-workout-form .gym-form-grid.finish { grid-template-columns:1fr; }
    .gym-exercise-results { grid-template-columns:1fr 1fr; }
    .gym-set-builder .set-builder-heading { align-items:flex-start; flex-direction:column; }
    .gym-set-builder .set-builder-heading > div { width:100%; }
    .gym-set-builder .set-builder-heading button { min-height:38px; flex:1; }
    .gym-set-builder .set-row { grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 28px; padding:8px 6px; gap:6px; }
    .gym-set-builder .set-number { width:27px; height:27px; }
    .gym-set-builder .remove-set { width:27px; }
    .gym-workout-form input,.gym-workout-form select { height:46px; font-size:16px; }
    .gym-form-footer { align-items:stretch; flex-direction:column; }
    .gym-form-footer p { line-height:1.45; }
    .gym-save-button { width:100%; min-height:49px; }
    .gym-coach-grid { grid-template-columns:1fr; gap:7px; }
    .gym-history-filters { grid-template-columns:1fr 1fr; }
    .gym-history-filters label:first-of-type { grid-column:1 / -1; }
    .gym-history-filters > a { grid-column:auto; }
    .gym-history-card { padding:12px; grid-template-columns:45px minmax(0,1fr); gap:10px; }
    .gym-history-date { width:45px; min-height:55px; }
    .gym-history-main > header { display:block; }
    .gym-history-actions { margin-top:10px; }
    .gym-history-actions button { min-height:36px; }
    .gym-history-sets { grid-template-columns:1fr 1fr; }
    .gym-next-section nav a { padding:11px; }
}

@media (max-width:380px) {
    .gym-hero-actions { grid-template-columns:1fr; }
    .gym-stat-grid { grid-template-columns:1fr; }
    .gym-history-filters { grid-template-columns:1fr; }
    .gym-history-filters label:first-of-type { grid-column:auto; }
    .gym-exercise-results,.gym-history-sets { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
    .gym-hub-page * { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Admin Suite 2026 polish and private analytics */
.admin-suite-html,.admin-suite-page { max-width:100%; overflow-x:clip; }
.admin-suite-page { background:radial-gradient(circle at 78% -10%,color-mix(in srgb,var(--brand-primary,var(--accent)) 7%,transparent),transparent 31%),var(--page); }
.admin-sidebar { width:280px; }
.admin-suite-workspace { margin-left:280px; }
.admin-sidebar-brand { min-height:78px; background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary,var(--accent)) 5%,transparent),transparent); }
.admin-sidebar-brand > button { top:62px; }
.admin-side-nav { padding:18px 13px; gap:18px; }
.admin-side-nav section { position:relative; }
.admin-side-nav section + section { padding-top:2px; }
.admin-side-nav h2 { display:flex; align-items:center; gap:8px; }
.admin-side-nav h2::after { height:1px; flex:1; background:color-mix(in srgb,var(--line) 75%,transparent); content:""; }
.admin-side-nav a { min-height:44px; border-radius:11px; }
.admin-side-nav a:focus-visible,.admin-page-actions a:focus-visible,.admin-back-portal:focus-visible,.admin-create-menu summary:focus-visible,.admin-health-shortcut:focus-visible { outline:3px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 36%,transparent); outline-offset:2px; }
.admin-suite-topbar { min-height:70px; padding-block:10px; }
.admin-suite-content { width:min(1500px,100%); padding-top:34px; }
.admin-page-heading { margin-bottom:24px; }
.admin-page-heading .eyebrow span { margin:0 5px; opacity:.5; }
.admin-page-heading h1 { text-wrap:balance; }
.admin-page-heading > div:first-child > p:last-child { text-wrap:pretty; }
.admin-page-actions a { min-height:42px; padding-inline:15px; }
.admin-module-grid > a { min-height:79px; }
.admin-module-grid > a:hover { box-shadow:0 15px 34px var(--shadow); }
.admin-health-shortcut { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; color:#2aaa76; font-size:19px; font-weight:900; text-decoration:none; background:var(--paper); }
.admin-health-shortcut:hover { border-color:#2aaa76; background:color-mix(in srgb,#2aaa76 9%,var(--paper)); }

.admin-create-menu { position:relative; }
.admin-create-menu summary { min-height:38px; padding:7px 11px; display:flex; align-items:center; gap:7px; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 42%,var(--line)); border-radius:11px; color:#fff; font-size:11px; font-weight:850; list-style:none; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 8px 18px color-mix(in srgb,var(--brand-primary,var(--accent)) 20%,transparent); cursor:pointer; }
.admin-create-menu summary::-webkit-details-marker { display:none; }
.admin-create-menu summary span { font-size:17px; line-height:1; }
.admin-create-menu summary em { font-style:normal; }
.admin-create-menu[open] summary { filter:brightness(1.06); }
.admin-create-menu > div { width:255px; padding:8px; position:absolute; z-index:100; top:47px; right:0; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 20px 55px var(--shadow); }
.admin-create-menu > div > p { margin:0; padding:7px 9px 9px; color:var(--muted); font-size:9px !important; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.admin-create-menu > div > a { padding:9px; display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; border-radius:10px; color:var(--ink); text-decoration:none; }
.admin-create-menu > div > a:hover { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,var(--surface)); }
.admin-command-results a.keyboard-active { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 12%,var(--surface)); }
.admin-create-menu > div > a > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:14px; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-create-menu strong,.admin-create-menu small { display:block; }
.admin-create-menu strong { font-size:11px; }
.admin-create-menu small { margin-top:3px; color:var(--muted); font-size:9px; }

.admin-analytics-hero { margin-bottom:14px; padding:28px; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; overflow:hidden; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 28%,var(--line)); border-radius:22px; background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--brand-primary,var(--accent)) 23%,transparent),transparent 31%),linear-gradient(135deg,color-mix(in srgb,var(--paper) 96%,var(--brand-primary,var(--accent))),var(--paper)); box-shadow:0 16px 42px var(--shadow); }
.admin-analytics-hero h2 { margin:5px 0 8px; font-size:clamp(28px,3vw,42px); letter-spacing:-1.4px; }
.admin-analytics-hero p:not(.eyebrow) { max-width:700px; margin:0; color:var(--muted); }
.admin-analytics-hero .admin-period-switch { flex:0 0 auto; }
.admin-analytics-hero .admin-period-switch { scrollbar-width:none; }
.admin-analytics-hero .admin-period-switch::-webkit-scrollbar { display:none; }
.admin-insight-stats { margin-bottom:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.admin-insight-stats article { min-width:0; padding:17px; display:grid; grid-template-columns:43px minmax(0,1fr); align-items:center; gap:12px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 9px 26px var(--shadow); }
.admin-insight-stats article > span { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:#fff; font-size:17px; font-weight:900; background:linear-gradient(135deg,#8467ff,#5c4ada); }
.admin-insight-stats article > span.blue { background:linear-gradient(135deg,#56a4ef,#4168d5); }
.admin-insight-stats article > span.green { background:linear-gradient(135deg,#42c997,#22956d); }
.admin-insight-stats article > span.orange { background:linear-gradient(135deg,#f0a65c,#db7558); }
.admin-insight-stats small,.admin-insight-stats strong,.admin-insight-stats em { display:block; min-width:0; }
.admin-insight-stats small { overflow:hidden; color:var(--muted); font-size:9px; font-weight:850; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.admin-insight-stats strong { margin:3px 0; font-size:22px; }
.admin-insight-stats em { overflow:hidden; color:var(--muted); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.admin-insight-stats em.positive { color:#269b70; }
.admin-insight-stats em.negative { color:#d45e70; }
.admin-analytics-board { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr); gap:14px; }
.admin-analytics-board .admin-chart-card { background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.admin-analytics-wide { grid-column:1 / -1; }
.admin-analytics-board .admin-chart-card > header p { max-width:540px; margin:5px 0 0; color:var(--muted); }
.admin-analytics-wide .admin-overview-chart-wrap canvas { height:320px; }
.admin-activity-chart-card .admin-overview-chart-wrap canvas { height:285px; }
.admin-role-chart-card .admin-donut-wrap { min-height:205px; }
.admin-role-chart-card .admin-donut-wrap canvas { height:205px; }
.admin-chart-legend .series-2::before { background:var(--overview-series-2); }
.admin-chart-legend .series-3::before { background:var(--overview-series-3); }
.admin-chart-legend .series-4::before { background:var(--overview-series-4); }
.admin-role-analytics-legend { margin:4px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.admin-role-analytics-legend > div { padding:8px 9px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.admin-role-analytics-legend dt { min-width:0; overflow:hidden; display:flex; align-items:center; gap:7px; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.admin-role-analytics-legend dt::before { width:8px; height:8px; flex:0 0 auto; border-radius:3px; background:var(--overview-series-1); content:""; }
.admin-role-analytics-legend .series-2 dt::before { background:var(--overview-series-2); }
.admin-role-analytics-legend .series-3 dt::before { background:var(--overview-series-3); }
.admin-role-analytics-legend .series-4 dt::before { background:var(--overview-series-4); }
.admin-role-analytics-legend dd { margin:0; font-size:10px; font-weight:900; }
.admin-performance-grid { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr); gap:14px; }
.admin-performance-card { min-width:0; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 12px 34px var(--shadow); }
.admin-performance-card > header { margin-bottom:16px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.admin-performance-card h2 { margin:4px 0 5px; font-size:21px; }
.admin-performance-card header p:not(.eyebrow) { margin:0; color:var(--muted); }
.admin-performance-card header > a { color:var(--accent-dark); font-size:10px; font-weight:850; text-decoration:none; white-space:nowrap; }
.admin-ranking-list { display:grid; gap:7px; }
.admin-ranking-list > a { min-width:0; padding:10px; display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid transparent; border-radius:11px; color:var(--ink); text-decoration:none; }
.admin-ranking-list > a:hover { border-color:var(--line); background:var(--surface); }
.admin-ranking-list > a > b { color:var(--muted); font-size:9px; }
.admin-ranking-list > a > div { min-width:0; }
.admin-ranking-list > a > div > span { display:flex; align-items:center; justify-content:space-between; gap:9px; }
.admin-ranking-list strong,.admin-ranking-list small { min-width:0; overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.admin-ranking-list strong { font-size:11px; }
.admin-ranking-list small { color:var(--muted); font-size:8px; }
.admin-ranking-list i { height:6px; margin-top:7px; overflow:hidden; display:block; border-radius:999px; background:var(--surface); }
.admin-ranking-list i em { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.admin-ranking-list > a > strong:last-child { font-size:12px; }
.admin-heatmap { min-width:420px; display:grid; gap:6px; }
.admin-heatmap-labels,.admin-heatmap-row { display:grid; grid-template-columns:42px repeat(4,minmax(54px,1fr)); gap:6px; align-items:center; }
.admin-heatmap-labels span { color:var(--muted); font-size:8px; text-align:center; }
.admin-heatmap-row b { color:var(--muted); font-size:9px; }
.admin-heatmap-row span { min-height:36px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 7%,var(--line)); border-radius:8px; background:var(--surface); }
.admin-heatmap-row span.level-1,.admin-heatmap-card footer i.level-1 { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 16%,var(--surface)); }
.admin-heatmap-row span.level-2,.admin-heatmap-card footer i.level-2 { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 30%,var(--surface)); }
.admin-heatmap-row span.level-3,.admin-heatmap-card footer i.level-3 { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 47%,var(--surface)); }
.admin-heatmap-row span.level-4,.admin-heatmap-card footer i.level-4 { color:#fff; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 70%,var(--surface)); }
.admin-heatmap-row span.level-5,.admin-heatmap-card footer i.level-5 { color:#fff; background:var(--brand-primary,var(--accent)); }
.admin-heatmap-row em { font-size:9px; font-style:normal; font-weight:850; }
.admin-heatmap-card { overflow-x:auto; }
.admin-heatmap-card footer { margin-top:14px; display:flex; align-items:center; justify-content:flex-end; gap:5px; color:var(--muted); font-size:8px; }
.admin-heatmap-card footer i { width:14px; height:14px; border-radius:4px; background:var(--surface); }
.admin-analytics-note { padding:16px 18px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:12px; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 20%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 6%,var(--paper)); }
.admin-analytics-note > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--accent-dark); font-weight:900; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 13%,transparent); }
.admin-analytics-note strong { font-size:11px; }
.admin-analytics-note p { margin:3px 0 0; color:var(--muted); }

.admin-sidebar-collapsed .admin-sidebar { width:82px; }
.admin-sidebar-collapsed .admin-suite-workspace { margin-left:82px; }

@media (max-width:1150px) {
    .admin-insight-stats { grid-template-columns:1fr 1fr; }
    .admin-performance-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
    .admin-sidebar-open { overflow:hidden; }
    .admin-sidebar { width:280px; }
    .admin-suite-workspace,.admin-sidebar-collapsed .admin-suite-workspace { margin-left:0; }
    .admin-analytics-hero { align-items:flex-start; flex-direction:column; }
    .admin-analytics-hero .admin-period-switch { width:100%; overflow-x:auto; }
    .admin-analytics-hero .admin-period-switch a { flex:1; }
    .admin-analytics-board { grid-template-columns:1fr; }
    .admin-analytics-wide { grid-column:auto; }
}
@media (max-width:680px) {
    .admin-suite-content { padding-top:23px; }
    .admin-page-heading { margin-bottom:20px; }
    .admin-page-heading h1 { font-size:32px; }
    .admin-page-actions { display:grid; grid-template-columns:1fr 1fr; }
    .admin-page-actions a:first-child:last-child { grid-column:1 / -1; }
    .admin-create-menu summary { width:38px; padding:7px; justify-content:center; }
    .admin-create-menu summary em { display:none; }
    .admin-health-shortcut,.admin-live-pill { display:none; }
    .admin-create-menu > div { position:fixed; top:67px; right:10px; }
    .admin-analytics-hero { padding:20px 17px; border-radius:18px; }
    .admin-analytics-hero h2 { font-size:31px; }
    .admin-analytics-hero .admin-period-switch a { min-width:67px; }
    .admin-insight-stats { grid-template-columns:1fr 1fr; gap:7px; }
    .admin-insight-stats article { padding:12px; grid-template-columns:35px minmax(0,1fr); gap:8px; }
    .admin-insight-stats article > span { width:35px; height:35px; font-size:13px; }
    .admin-insight-stats strong { font-size:18px; }
    .admin-insight-stats small,.admin-insight-stats em { font-size:8px; }
    .admin-analytics-board { gap:9px; }
    .admin-analytics-board .admin-chart-card { padding:15px; }
    .admin-analytics-wide .admin-overview-chart-wrap canvas,.admin-activity-chart-card .admin-overview-chart-wrap canvas { height:250px; }
    .admin-performance-card { padding:17px 14px; }
    .admin-performance-card > header { flex-direction:column; }
    .admin-ranking-list > a { grid-template-columns:22px minmax(0,1fr) auto; padding-inline:5px; }
    .admin-ranking-list > a > div > span { align-items:flex-start; flex-direction:column; gap:2px; }
    .admin-heatmap-labels,.admin-heatmap-row { grid-template-columns:35px repeat(4,minmax(58px,1fr)); }
    .admin-analytics-note { align-items:start; }
}
@media (max-width:430px) {
    .admin-topbar-actions .admin-create-menu { display:block; }
    .admin-command-search > input { font-size:16px !important; }
    .admin-insight-stats { grid-template-columns:1fr; }
    .admin-role-analytics-legend { grid-template-columns:1fr; }
}

/* Keep the wide permission matrix inside its own horizontal scroller. */
.admin-permission-form { width:100%; max-width:100%; min-width:0; contain:inline-size; }
.admin-permission-table { width:var(--permission-width,900px); min-width:var(--permission-width,900px); }
.admin-permission-head,.admin-permission-row { grid-template-columns:190px repeat(var(--permission-modules,5),minmax(105px,1fr)); }

/* Ashton-only MySQL and database command centre */
.database-command-hero { margin-bottom:13px; padding:31px; display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:stretch; gap:25px; overflow:hidden; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 30%,var(--line)); border-radius:23px; background:radial-gradient(circle at 92% 5%,rgba(81,199,157,.17),transparent 27%),radial-gradient(circle at 2% 100%,color-mix(in srgb,var(--brand-primary,var(--accent)) 18%,transparent),transparent 33%),linear-gradient(145deg,#16223e,#17172b 62%,#201744); box-shadow:0 18px 48px var(--shadow); }
.database-command-hero > div:first-child { min-width:0; }
.database-live-state { width:max-content; margin-bottom:20px; padding:6px 9px; display:flex; align-items:center; gap:7px; border:1px solid rgba(58,207,143,.25); border-radius:999px; color:#55d8a1; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; background:rgba(58,207,143,.1); }
.database-live-state i { width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 0 5px rgba(58,207,143,.09); }
.database-command-hero .eyebrow { color:#a99aff; }
.database-command-hero h2 { margin:7px 0 10px; color:#fff; font-size:clamp(35px,4.5vw,57px); line-height:.98; letter-spacing:-2.2px; }
.database-command-hero > div > p:not(.eyebrow) { max-width:730px; margin:0; color:#c9d2e8; font-size:13px!important; }
.database-connection-tags { margin-top:20px; display:flex; gap:7px; flex-wrap:wrap; }
.database-connection-tags span { padding:7px 9px; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#c9d2e8; font-size:9px; font-weight:750; background:rgba(255,255,255,.06); }
.database-command-hero > aside { padding:20px; display:flex; justify-content:space-between; flex-direction:column; gap:22px; border:1px solid rgba(255,255,255,.14); border-radius:17px; background:rgba(12,14,31,.38); backdrop-filter:blur(15px); }
.database-command-hero > aside small,.database-command-hero > aside strong,.database-command-hero > aside em { display:block; }
.database-command-hero > aside small { color:#9ba6c3; font-size:9px; font-weight:850; text-transform:uppercase; }
.database-command-hero > aside strong { margin:7px 0 3px; color:#fff; font-size:25px; }
.database-command-hero > aside em { color:#9ba6c3; font-size:9px; font-style:normal; }
.database-hero-actions { display:grid; gap:8px; }
.database-hero-actions a,.database-hero-actions button,.database-unconfigured { width:100%; min-height:42px; padding:9px 12px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); border-radius:10px; color:#fff; font-size:10px; font-weight:850; text-align:center; text-decoration:none; background:rgba(255,255,255,.07); cursor:pointer; }
.database-hero-actions a.primary { border-color:transparent; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.database-hero-actions form { margin:0; }
.database-unconfigured { color:#bdc5d9; cursor:default; }

.database-stat-grid { margin-bottom:13px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.database-stat-grid article { min-width:0; min-height:89px; padding:15px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 26px var(--shadow); }
.database-stat-grid article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; font-size:15px; font-weight:900; background:linear-gradient(135deg,#8466ff,#5f4cd4); }
.database-stat-grid article > span.blue { background:linear-gradient(135deg,#57a6ef,#3e69d4); }
.database-stat-grid article > span.green { background:linear-gradient(135deg,#43cb98,#20936a); }
.database-stat-grid article > span.orange { background:linear-gradient(135deg,#efa55c,#db7356); }
.database-stat-grid article > span.pink { background:linear-gradient(135deg,#f07fa2,#c65586); }
.database-stat-grid article > span.teal { background:linear-gradient(135deg,#43c7c2,#208e9c); }
.database-stat-grid small,.database-stat-grid strong,.database-stat-grid em { min-width:0; overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.database-stat-grid small { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }
.database-stat-grid strong { margin:4px 0 2px; font-size:19px; }
.database-stat-grid em { color:var(--muted); font-size:8px; font-style:normal; }

.database-analytics-section,.database-storage-map,.database-user-panel,.database-control-panel,.database-table-directory { margin-bottom:14px; padding:22px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.database-analytics-section > header { margin-bottom:16px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.database-analytics-section > header h2 { margin:4px 0 5px; font-size:24px; }
.database-analytics-section > header p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-chart-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); gap:12px; }
.database-chart-grid .admin-chart-card { background:var(--surface); }
.database-storage-chart { grid-column:1 / -1; }
.database-storage-chart .admin-overview-chart-wrap canvas { height:285px; }
.database-activity-chart .admin-overview-chart-wrap canvas { height:260px; }
.database-chart-grid .admin-chart-card header p { margin:4px 0 0; color:var(--muted); }
.database-composition-chart .admin-donut-wrap { min-height:195px; }
.database-composition-chart .admin-donut-wrap canvas { height:195px; }
.database-composition-chart .admin-donut-total strong { max-width:110px; font-size:17px; text-align:center; }
.database-storage-legend { margin:3px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.database-storage-legend > div { padding:7px 8px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:7px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.database-storage-legend dt { min-width:0; overflow:hidden; display:flex; align-items:center; gap:6px; color:var(--muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.database-storage-legend dt::before { width:7px; height:7px; flex:0 0 auto; border-radius:2px; background:var(--overview-series-1); content:""; }
.database-storage-legend .series-2 dt::before { background:var(--overview-series-2); }
.database-storage-legend .series-3 dt::before { background:var(--overview-series-3); }
.database-storage-legend .series-4 dt::before { background:var(--overview-series-4); }
.database-storage-legend dd { margin:0; font-size:8px; font-weight:850; }

.database-storage-map .admin-heading { margin-bottom:16px; }
.database-storage-bars { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; }
.database-storage-bars article { padding:11px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.database-storage-bars header,.database-storage-bars footer { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.database-storage-bars header strong { min-width:0; overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.database-storage-bars header span { color:var(--ink); font-size:9px; font-weight:850; white-space:nowrap; }
.database-storage-bars article > div { height:7px; margin:9px 0 7px; overflow:hidden; border-radius:999px; background:var(--paper); }
.database-storage-bars article > div i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.database-storage-bars footer { justify-content:flex-start; flex-wrap:wrap; color:var(--muted); font-size:8px; }

.database-detail-grid { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr); gap:14px; align-items:start; }
.database-detail-grid > * { margin-bottom:0; }
.database-user-panel > header,.database-control-panel > header { margin-bottom:15px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.database-user-panel h2,.database-control-panel h2 { margin:4px 0 5px; font-size:22px; }
.database-user-panel header p:not(.eyebrow),.database-control-panel header p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-user-panel header a { color:var(--accent-dark); font-size:10px; font-weight:850; text-decoration:none; white-space:nowrap; }
.database-user-stats { margin-bottom:16px; display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.database-user-stats article { padding:11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.database-user-stats strong,.database-user-stats span { display:block; }
.database-user-stats strong { font-size:18px; }
.database-user-stats span { margin-top:3px; color:var(--muted); font-size:8px; }
.database-recent-users { display:grid; gap:7px; }
.database-recent-users h3 { margin:0 0 3px; font-size:13px; }
.database-recent-users > p { margin:0; color:var(--muted); }
.database-recent-users article { padding:9px; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.database-recent-users article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.database-recent-users strong,.database-recent-users small { display:block; }
.database-recent-users strong { font-size:10px; }
.database-recent-users small { margin-top:3px; color:var(--muted); font-size:8px; }

.database-control-panel > header { display:block; }
.database-control-list { display:grid; gap:7px; }
.database-control-list form,.database-control-list > a,.database-control-list > article { margin:0; padding:10px; display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; background:var(--surface); }
.database-control-list form > span,.database-control-list > a > span,.database-control-list > article > span { width:35px; height:35px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-size:13px; font-weight:900; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.database-control-list strong,.database-control-list small { display:block; }
.database-control-list strong { font-size:10px; }
.database-control-list small { margin-top:3px; color:var(--muted); font-size:8px; line-height:1.4; }
.database-control-list button,.database-control-list > a > b { min-width:62px; min-height:34px; padding:7px 9px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:8px; font-weight:850; text-decoration:none; background:var(--paper); cursor:pointer; }
.database-control-list .not-configured { opacity:.75; }
.database-server-facts { margin:15px 0 0; padding-top:14px; display:grid; gap:7px; border-top:1px solid var(--line); }
.database-server-facts div { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.database-server-facts dt { color:var(--muted); font-size:8px; }
.database-server-facts dd { margin:0; max-width:190px; overflow:hidden; font-size:8px; font-weight:850; text-align:right; text-overflow:ellipsis; white-space:nowrap; }

.database-table-directory .admin-heading { margin-bottom:15px; }
.database-snapshot-time { padding:6px 8px; border-radius:8px; color:var(--accent-dark); font-size:8px; font-weight:850; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 9%,transparent); white-space:nowrap; }
.database-table-toolbar { margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.database-table-toolbar > label { width:min(410px,100%); position:relative; }
.database-table-toolbar > label span { position:absolute; left:12px; top:50%; color:var(--muted); transform:translateY(-50%); }
.database-table-toolbar input { height:40px; padding-left:35px; background:var(--surface); }
.database-table-toolbar > div { padding:4px; display:flex; gap:3px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.database-table-toolbar button { min-height:31px; padding:6px 9px; border:0; border-radius:7px; color:var(--muted); font-size:8px; font-weight:850; background:transparent; cursor:pointer; }
.database-table-toolbar button.active { color:#fff; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); }
.database-table-list { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.database-table-list > header,.database-table-list > article { display:grid; grid-template-columns:minmax(210px,1.45fr) repeat(5,minmax(88px,.65fr)) minmax(115px,.8fr); align-items:center; }
.database-table-list > header { min-height:41px; color:var(--muted); font-size:8px; font-weight:850; text-transform:uppercase; background:var(--paper); }
.database-table-list > header span,.database-table-list > article > span { min-width:0; padding:9px 10px; border-left:1px solid var(--line); }
.database-table-list > header span:first-child,.database-table-list > article > span:first-child { border-left:0; }
.database-table-list > article { min-height:52px; border-top:1px solid var(--line); font-size:9px; }
.database-table-list > article:hover { background:color-mix(in srgb,var(--brand-primary,var(--accent)) 5%,var(--paper)); }
.database-table-list > article strong,.database-table-list > article small { min-width:0; overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.database-table-list > article strong { font-size:9px; }
.database-table-list > article small { margin-top:3px; color:var(--muted); font-size:7px; }
.database-table-empty { margin:0; padding:25px; color:var(--muted); text-align:center; }
.database-table-note { margin:10px 0 0; color:var(--muted); font-size:8px!important; }

@media (max-width:1180px) {
    .database-stat-grid { grid-template-columns:1fr 1fr; }
    .database-chart-grid { grid-template-columns:1fr; }
    .database-storage-chart { grid-column:auto; }
    .database-composition-chart { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1fr); align-items:center; column-gap:15px; }
    .database-composition-chart > header { grid-column:1 / -1; }
    .database-table-list { overflow-x:auto; }
    .database-table-list > header,.database-table-list > article { min-width:900px; }
}
@media (max-width:900px) {
    .database-command-hero { grid-template-columns:1fr; }
    .database-command-hero > aside { display:grid; grid-template-columns:1fr 1fr; align-items:center; }
    .database-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
    .database-command-hero { padding:22px 18px; border-radius:19px; }
    .database-command-hero h2 { font-size:38px; }
    .database-command-hero > aside { display:flex; }
    .database-connection-tags span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .database-stat-grid { grid-template-columns:1fr; gap:7px; }
    .database-stat-grid article { min-height:80px; padding:12px; }
    .database-analytics-section,.database-storage-map,.database-user-panel,.database-control-panel,.database-table-directory { padding:17px 14px; border-radius:17px; }
    .database-analytics-section > header { align-items:flex-start; flex-direction:column; }
    .database-analytics-section > header .admin-period-switch { width:100%; overflow-x:auto; scrollbar-width:none; }
    .database-analytics-section > header .admin-period-switch::-webkit-scrollbar { display:none; }
    .database-analytics-section > header .admin-period-switch a { min-width:74px; flex:1; }
    .database-chart-grid { gap:8px; }
    .database-chart-grid .admin-chart-card { padding:15px; }
    .database-storage-chart .admin-overview-chart-wrap canvas,.database-activity-chart .admin-overview-chart-wrap canvas { height:240px; }
    .database-composition-chart { display:block; }
    .database-storage-legend { grid-template-columns:1fr; }
    .database-storage-bars { grid-template-columns:1fr; }
    .database-user-panel > header { flex-direction:column; }
    .database-user-stats { grid-template-columns:1fr 1fr; }
    .database-control-list form,.database-control-list > a,.database-control-list > article { grid-template-columns:33px minmax(0,1fr); }
    .database-control-list button,.database-control-list > a > b { width:100%; grid-column:1 / -1; }
    .database-server-facts dd { max-width:150px; }
    .database-table-toolbar { align-items:stretch; flex-direction:column; }
    .database-table-toolbar > label { width:100%; }
    .database-table-toolbar > div { width:100%; }
    .database-table-toolbar button { flex:1; }
    .database-table-list { overflow:visible; border:0; background:transparent; }
    .database-table-list > header { display:none; }
    .database-table-list > article { min-width:0; margin-bottom:7px; padding:11px; display:grid; grid-template-columns:1fr 1fr; gap:9px 13px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
    .database-table-list > article > span { padding:0; display:flex; justify-content:space-between; gap:8px; border:0; color:var(--ink); }
    .database-table-list > article > span:first-child { grid-column:1 / -1; display:block; padding-bottom:8px; border-bottom:1px solid var(--line); }
    .database-table-list > article > span:not(:first-child)::before { color:var(--muted); font-size:8px; font-weight:700; content:attr(data-label); }
    .database-table-list > article > span:last-child { grid-column:1 / -1; }
    .database-table-note { line-height:1.5; }
}

/* Database operations centre */
.database-subnav { margin:-8px 0 18px; padding:5px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; overflow-x:auto; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 28px var(--shadow); scrollbar-width:none; }
.database-subnav::-webkit-scrollbar { display:none; }
.database-subnav a { min-width:145px; min-height:53px; padding:9px 11px; display:flex; justify-content:center; flex-direction:column; border:1px solid transparent; border-radius:10px; color:var(--muted); text-decoration:none; }
.database-subnav a:hover { border-color:var(--line); background:var(--surface); }
.database-subnav a.active { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 30%,var(--line)); color:var(--ink); background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,var(--surface)); box-shadow:inset 3px 0 0 var(--brand-primary,var(--accent)); }
.database-subnav span,.database-subnav small { display:block; }
.database-subnav span { font-size:10px; font-weight:900; }
.database-subnav small { margin-top:3px; overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }

.database-performance-hero,.database-backup-hero,.database-table-hero { margin-bottom:13px; padding:27px; display:flex; align-items:flex-end; justify-content:space-between; gap:22px; overflow:hidden; border:1px solid color-mix(in srgb,var(--brand-primary,var(--accent)) 26%,var(--line)); border-radius:21px; background:radial-gradient(circle at 88% -10%,color-mix(in srgb,var(--brand-primary,var(--accent)) 22%,transparent),transparent 36%),linear-gradient(135deg,var(--paper),color-mix(in srgb,var(--paper) 94%,var(--brand-primary,var(--accent)))); box-shadow:0 15px 42px var(--shadow); }
.database-performance-hero > div:first-child,.database-backup-hero > div:first-child,.database-table-hero > div:first-child { min-width:0; }
.database-performance-hero .database-live-state,.database-backup-hero .database-live-state { margin-bottom:14px; color:#2ca975; border-color:color-mix(in srgb,#2ca975 30%,var(--line)); background:color-mix(in srgb,#2ca975 10%,transparent); }
.database-live-state.warning { color:#d49531; border-color:color-mix(in srgb,#d49531 35%,var(--line)); background:color-mix(in srgb,#d49531 10%,transparent); }
.database-performance-hero h2,.database-backup-hero h2,.database-table-hero h2 { margin:5px 0 8px; font-size:clamp(29px,3.8vw,46px); letter-spacing:-1.6px; }
.database-performance-hero p:not(.eyebrow),.database-backup-hero p:not(.eyebrow),.database-table-hero p:not(.eyebrow) { max-width:760px; margin:0; color:var(--muted); }
.database-performance-refresh { min-width:150px; display:grid; gap:8px; justify-items:end; }
.database-performance-refresh span { color:#2ca975; font-size:9px; font-weight:850; }
.database-performance-refresh button,.database-primary-action,.database-table-hero button { min-height:42px; padding:9px 14px; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); box-shadow:0 9px 20px color-mix(in srgb,var(--brand-primary,var(--accent)) 20%,transparent); cursor:pointer; }
.database-performance-refresh button.loading { opacity:.65; cursor:wait; }

.database-live-metric-grid { margin-bottom:13px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.database-live-metric-grid article { min-width:0; min-height:132px; padding:16px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--paper); box-shadow:0 9px 25px var(--shadow); }
.database-live-metric-grid article > span { width:31px; height:31px; margin-bottom:14px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-size:12px; font-weight:900; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,var(--surface)); }
.database-live-metric-grid small,.database-live-metric-grid strong,.database-live-metric-grid p { display:block; }
.database-live-metric-grid small { color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.database-live-metric-grid strong { margin:4px 0 3px; overflow:hidden; font-size:20px; text-overflow:ellipsis; white-space:nowrap; }
.database-live-metric-grid p { margin:0; color:var(--muted); font-size:8px!important; }
.database-metric-progress { height:4px; position:absolute; right:13px; bottom:10px; left:13px; overflow:hidden; border-radius:999px; background:var(--surface); }
.database-metric-progress::after { width:var(--value); height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#4e8ce8,#7357ff); content:""; transition:width .3s ease; }
.database-metric-progress.good::after { background:linear-gradient(90deg,#28a974,#55d3a3); }

.database-performance-history { margin-bottom:14px; padding:22px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 12px 36px var(--shadow); }
.database-performance-history > header { margin-bottom:15px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.database-performance-history h2 { margin:4px 0 5px; font-size:24px; }
.database-performance-history header p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-history-notice { margin-bottom:11px; padding:12px; display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:10px; border:1px solid color-mix(in srgb,#4d8ee8 28%,var(--line)); border-radius:11px; background:color-mix(in srgb,#4d8ee8 7%,var(--surface)); }
.database-history-notice span { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; color:#4d8ee8; font-weight:900; background:color-mix(in srgb,#4d8ee8 12%,transparent); }
.database-history-notice p { margin:0; color:var(--muted); }
.database-history-notice strong { color:var(--ink); }
.database-performance-chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.database-performance-chart-grid .admin-chart-card { min-width:0; background:var(--surface); }
.database-performance-chart-grid .admin-overview-chart-wrap canvas { height:245px; }
.database-performance-chart-grid header p { margin:4px 0 0; color:var(--muted); }
.database-performance-facts { margin-bottom:14px; }
.database-performance-facts dl { margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.database-performance-facts dl div { padding:13px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.database-performance-facts dt { color:var(--muted); font-size:8px; }
.database-performance-facts dd { margin:5px 0 0; font-size:14px; font-weight:900; }

.database-backup-hero form,.database-table-hero form { margin:0; flex:0 0 auto; }
.database-primary-action:disabled { opacity:.5; cursor:not-allowed; }
.database-backup-stat-grid,.database-schema-stat-grid { margin-bottom:13px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.database-backup-stat-grid article,.database-schema-stat-grid article { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:0 8px 24px var(--shadow); }
.database-backup-stat-grid small,.database-backup-stat-grid strong,.database-backup-stat-grid p,.database-schema-stat-grid small,.database-schema-stat-grid strong,.database-schema-stat-grid p { display:block; }
.database-backup-stat-grid small,.database-schema-stat-grid small { color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; }
.database-backup-stat-grid strong,.database-schema-stat-grid strong { margin:5px 0 3px; font-size:20px; }
.database-backup-stat-grid p,.database-schema-stat-grid p { margin:0; color:var(--muted); font-size:8px!important; }
.database-schema-stat-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.database-schema-stat-grid article.warning { border-color:color-mix(in srgb,#d59a3d 42%,var(--line)); background:color-mix(in srgb,#d59a3d 6%,var(--paper)); }

.database-backup-layout { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:14px; align-items:stretch; }
.database-backup-layout > * { margin:0; }
.database-backup-schedule { box-shadow:0 11px 32px var(--shadow); }
.database-backup-settings-form { display:grid; gap:15px; }
.database-switch-row { padding:12px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:11px; border:1px solid var(--line); border-radius:12px; background:var(--surface); cursor:pointer; }
.database-switch-row input { width:42px; height:23px; margin:0; appearance:none; position:relative; border:0; border-radius:999px; background:var(--line); cursor:pointer; }
.database-switch-row input::after { width:17px; height:17px; position:absolute; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.25); content:""; transition:.2s; }
.database-switch-row input:checked { background:var(--brand-primary,var(--accent)); }
.database-switch-row input:checked::after { transform:translateX(19px); }
.database-switch-row strong,.database-switch-row small { display:block; }
.database-switch-row strong { font-size:10px; }
.database-switch-row small { margin-top:3px; color:var(--muted); font-size:8px; }
.database-settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.database-settings-grid label,.database-health-settings label { color:var(--muted); font-size:8px; font-weight:850; }
.database-settings-grid input,.database-settings-grid select,.database-health-settings select { margin-top:6px; color:var(--ink); background:var(--surface); }
.database-backup-settings-form > button,.database-health-settings > button { min-height:42px; border:0; border-radius:10px; color:#fff; font-size:10px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.database-backup-runner { padding:22px; overflow:hidden; border:1px solid color-mix(in srgb,#3eaf83 30%,var(--line)); border-radius:19px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,#3eaf83 13%,transparent),transparent 38%),var(--paper); box-shadow:0 11px 32px var(--shadow); }
.database-backup-runner h2 { margin:4px 0 7px; font-size:22px; }
.database-backup-runner > p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-backup-runner code { margin:17px 0 8px; padding:13px; overflow-wrap:anywhere; display:block; border:1px solid var(--line); border-radius:10px; color:#53c593; font-size:9px; line-height:1.55; background:#101526; }
.database-backup-runner > small { color:var(--muted); font-size:8px; line-height:1.5; }
.database-backup-runner > div { margin-top:17px; padding-top:14px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); font-size:9px; }
.database-backup-runner > div span { color:var(--muted); }
.database-backup-library { margin-bottom:14px; }
.database-backup-library .admin-heading > form { margin:0; }
.database-backup-list { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.database-backup-list > header,.database-backup-list > article { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(145px,.85fr) minmax(90px,.5fr) minmax(100px,.55fr) minmax(95px,.55fr) minmax(220px,1fr); align-items:center; }
.database-backup-list > header { min-height:40px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; background:var(--paper); }
.database-backup-list > article { min-height:61px; border-top:1px solid var(--line); font-size:9px; }
.database-backup-list > header > span,.database-backup-list > article > span { min-width:0; padding:9px 10px; }
.database-backup-list strong,.database-backup-list small { min-width:0; overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.database-backup-list small { margin-top:3px; color:var(--muted); font-size:7px; }
.database-backup-status { width:max-content; padding:4px 6px; border-radius:6px; color:#278e67; font-size:7px; text-transform:uppercase; background:color-mix(in srgb,#2aa978 11%,transparent); }
.database-backup-status.failed { color:#cf596a; background:color-mix(in srgb,#cf596a 10%,transparent); }
.database-backup-actions { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.database-backup-actions form { margin:0; }
.database-backup-actions a,.database-backup-actions button { min-height:29px; padding:5px 7px; border:1px solid var(--line); border-radius:7px; color:var(--ink); font-size:7px; font-weight:850; text-decoration:none; background:var(--paper); cursor:pointer; }
.database-backup-actions .danger-link { color:#ce5366; }
.database-restore-guide { margin-bottom:14px; padding:18px; display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:14px; border:1px solid color-mix(in srgb,#d39a3b 30%,var(--line)); border-radius:15px; background:color-mix(in srgb,#d39a3b 6%,var(--paper)); }
.database-restore-guide > span { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; color:#c28628; font-weight:900; background:color-mix(in srgb,#d39a3b 15%,transparent); }
.database-restore-guide h2 { margin:3px 0 4px; font-size:17px; }
.database-restore-guide p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-restore-guide a { min-height:36px; padding:8px 10px; display:grid; place-items:center; border:1px solid var(--line); border-radius:9px; color:var(--ink); font-size:9px; font-weight:850; text-decoration:none; background:var(--paper); white-space:nowrap; }

.database-health-hero { margin-bottom:13px; padding:25px; display:grid; grid-template-columns:120px minmax(0,1fr) auto; align-items:center; gap:22px; border:1px solid color-mix(in srgb,#34ad7b 30%,var(--line)); border-radius:21px; background:radial-gradient(circle at 95% 0,color-mix(in srgb,#34ad7b 15%,transparent),transparent 34%),var(--paper); box-shadow:0 14px 39px var(--shadow); }
.database-health-hero.warning { border-color:color-mix(in srgb,#d39a3b 35%,var(--line)); background:radial-gradient(circle at 95% 0,color-mix(in srgb,#d39a3b 13%,transparent),transparent 34%),var(--paper); }
.database-health-hero.critical { border-color:color-mix(in srgb,#d25367 40%,var(--line)); background:radial-gradient(circle at 95% 0,color-mix(in srgb,#d25367 13%,transparent),transparent 34%),var(--paper); }
.database-health-score { width:112px; aspect-ratio:1; position:relative; display:grid; place-content:center; border-radius:50%; text-align:center; background:radial-gradient(circle closest-side,var(--paper) 75%,transparent 77% 99%),conic-gradient(#34ad7b var(--score),var(--line) 0); }
.database-health-score strong,.database-health-score span { display:block; }
.database-health-score strong { font-size:29px; }
.database-health-score span { color:var(--muted); font-size:7px; font-weight:850; text-transform:uppercase; }
.database-health-hero h2 { margin:4px 0 7px; font-size:clamp(25px,3vw,38px); }
.database-health-hero p:not(.eyebrow) { margin:0; color:var(--muted); }
.database-health-hero form { margin:0; }
.database-health-hero button { min-height:42px; padding:9px 13px; border:0; border-radius:10px; color:#fff; font-size:9px; font-weight:900; background:linear-gradient(135deg,var(--brand-primary,var(--accent)),var(--brand-secondary,var(--accent-dark))); cursor:pointer; }
.database-health-checks { margin-bottom:14px; padding:22px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 11px 34px var(--shadow); }
.database-health-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.database-health-grid article { padding:12px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.database-health-grid article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:#29986d; font-weight:900; background:color-mix(in srgb,#2aaa78 12%,transparent); }
.database-health-grid article.warning > span { color:#bd8122; background:color-mix(in srgb,#d39a3b 14%,transparent); }
.database-health-grid article.critical > span { color:#cc5064; background:color-mix(in srgb,#d25367 13%,transparent); }
.database-health-grid header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.database-health-grid header strong { font-size:10px; }
.database-health-grid header b { color:var(--muted); font-size:8px; white-space:nowrap; }
.database-health-grid p { margin:4px 0 0; color:var(--muted); }
.database-health-grid small { margin-top:6px; display:block; color:#bd8122; font-size:8px; line-height:1.45; }
.database-health-grid article.critical small { color:#cc5064; }
.database-health-tools { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:14px; align-items:stretch; }
.database-health-tools > * { margin:0; }
.database-health-settings { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.database-health-settings label:last-of-type { grid-column:1 / -1; }
.database-health-settings > button { grid-column:1 / -1; }
.database-maintenance-panel { padding:22px; border:1px solid var(--line); border-radius:19px; background:var(--paper); box-shadow:0 11px 34px var(--shadow); }
.database-maintenance-panel h2 { margin:4px 0 14px; font-size:22px; }
.database-maintenance-panel > div { display:grid; gap:7px; }
.database-maintenance-panel form,.database-maintenance-panel a { margin:0; padding:10px; display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; background:var(--surface); }
.database-maintenance-panel form > span,.database-maintenance-panel a > span { width:35px; height:35px; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-weight:900; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 11%,transparent); }
.database-maintenance-panel strong,.database-maintenance-panel small { display:block; }
.database-maintenance-panel strong { font-size:9px; }
.database-maintenance-panel small { margin-top:3px; color:var(--muted); font-size:8px; }
.database-maintenance-panel button,.database-maintenance-panel b { min-height:31px; padding:5px 8px; border:1px solid var(--line); border-radius:7px; color:var(--ink); font-size:8px; font-weight:850; background:var(--paper); cursor:pointer; }
.database-maintenance-panel button:disabled { opacity:.45; cursor:not-allowed; }
.database-health-footnote { margin-bottom:14px; padding:14px; display:grid; grid-template-columns:33px minmax(0,1fr); align-items:center; gap:10px; border:1px solid color-mix(in srgb,#4d8ee8 25%,var(--line)); border-radius:12px; background:color-mix(in srgb,#4d8ee8 6%,var(--paper)); }
.database-health-footnote span { width:33px; height:33px; display:grid; place-items:center; border-radius:9px; color:#4d8ee8; font-weight:900; background:color-mix(in srgb,#4d8ee8 12%,transparent); }
.database-health-footnote p { margin:0; color:var(--muted); }
.database-health-footnote strong { color:var(--ink); }

.database-table-hero { align-items:center; }
.database-schema-layout { margin-bottom:14px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(315px,.55fr); gap:14px; align-items:start; }
.database-schema-layout > * { margin:0; }
.database-schema-directory { min-width:0; }
.database-schema-list { display:grid; gap:7px; }
.database-schema-list > details { overflow:hidden; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.database-schema-list > details[open] { border-color:color-mix(in srgb,var(--brand-primary,var(--accent)) 32%,var(--line)); box-shadow:0 9px 24px var(--shadow); }
.database-schema-list summary { min-height:61px; padding:9px 11px; display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(85px,.55fr) minmax(95px,.6fr) minmax(80px,.5fr) minmax(75px,.45fr); align-items:center; gap:10px; list-style:none; cursor:pointer; }
.database-schema-list summary::-webkit-details-marker { display:none; }
.database-schema-list summary > span { min-width:0; font-size:9px; }
.database-schema-list summary > span:first-child { display:grid; grid-template-columns:34px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:9px; }
.database-schema-list summary > span:first-child i { width:34px; height:34px; grid-row:1 / span 2; display:grid; place-items:center; border-radius:9px; color:var(--accent-dark); font-style:normal; background:color-mix(in srgb,var(--brand-primary,var(--accent)) 10%,transparent); }
.database-schema-list summary strong,.database-schema-list summary small { min-width:0; overflow:hidden; display:block; text-overflow:ellipsis; white-space:nowrap; }
.database-schema-list summary strong { font-size:10px; }
.database-schema-list summary small { color:var(--muted); font-size:7px; }
.database-schema-list summary > span:not(:first-child) small { margin-bottom:4px; text-transform:uppercase; }
.database-schema-state { width:max-content; padding:5px 7px; border-radius:7px; color:#268d66; font-size:7px!important; font-weight:900; text-transform:uppercase; background:color-mix(in srgb,#2aaa78 11%,transparent); }
.database-schema-state.warning { color:#b87c20; background:color-mix(in srgb,#d39a3b 13%,transparent); }
.database-schema-detail { padding:0 11px 11px; border-top:1px solid var(--line); }
.database-column-list { margin-top:10px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:var(--paper); }
.database-column-list > header,.database-column-list > article { display:grid; grid-template-columns:minmax(160px,1.1fr) minmax(150px,1fr) 65px 65px minmax(170px,1.2fr); align-items:center; }
.database-column-list > header { min-height:35px; color:var(--muted); font-size:7px; font-weight:900; text-transform:uppercase; }
.database-column-list > article { min-height:39px; border-top:1px solid var(--line); font-size:8px; }
.database-column-list span { min-width:0; padding:7px 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.database-column-list code { color:var(--accent-dark); font-size:7px; }
.database-schema-detail > footer { padding:10px 2px 0; display:flex; gap:7px 13px; flex-wrap:wrap; color:var(--muted); font-size:7px; }
.database-schema-detail > footer strong { width:100%; color:var(--ink); font-size:8px; overflow-wrap:anywhere; }
.database-schema-composition { position:sticky; top:91px; background:var(--paper); }
.database-schema-composition .admin-donut-wrap canvas { height:220px; }
.database-schema-composition > p { margin:13px 0 0; color:var(--muted); font-size:8px!important; line-height:1.5; }

@media (max-width:1180px) {
    .database-live-metric-grid { grid-template-columns:1fr 1fr; }
    .database-backup-layout,.database-health-tools,.database-schema-layout { grid-template-columns:1fr; }
    .database-schema-composition { position:static; }
    .database-schema-stat-grid { grid-template-columns:repeat(3,1fr); }
    .database-backup-list { overflow-x:auto; }
    .database-backup-list > header,.database-backup-list > article { min-width:980px; }
}
@media (max-width:800px) {
    .database-subnav { display:flex; }
    .database-performance-chart-grid,.database-health-grid { grid-template-columns:1fr; }
    .database-health-hero { grid-template-columns:92px minmax(0,1fr); }
    .database-health-score { width:88px; }
    .database-health-hero form { grid-column:1 / -1; }
    .database-health-hero button { width:100%; }
    .database-backup-stat-grid,.database-schema-stat-grid { grid-template-columns:1fr 1fr; }
    .database-schema-list summary { grid-template-columns:minmax(180px,1fr) auto auto; }
    .database-schema-list summary > span:nth-child(4),.database-schema-list summary > span:nth-child(5) { display:none; }
    .database-column-list { overflow-x:auto; }
    .database-column-list > header,.database-column-list > article { min-width:680px; }
}
@media (max-width:680px) {
    .database-subnav { margin-top:-11px; padding:4px; border-radius:12px; }
    .database-subnav a { min-width:128px; min-height:48px; padding:7px 9px; }
    .database-performance-hero,.database-backup-hero,.database-table-hero { padding:20px 17px; align-items:stretch; flex-direction:column; border-radius:18px; }
    .database-performance-refresh { justify-items:stretch; }
    .database-performance-refresh span { text-align:left; }
    .database-performance-refresh button,.database-backup-hero form,.database-primary-action,.database-table-hero form,.database-table-hero button { width:100%; }
    .database-live-metric-grid { gap:7px; }
    .database-live-metric-grid article { min-height:125px; padding:13px; }
    .database-performance-history,.database-health-checks { padding:17px 14px; border-radius:17px; }
    .database-performance-history > header { align-items:flex-start; flex-direction:column; }
    .database-performance-history .admin-period-switch { width:100%; overflow-x:auto; scrollbar-width:none; }
    .database-performance-history .admin-period-switch::-webkit-scrollbar { display:none; }
    .database-performance-chart-grid { gap:8px; }
    .database-performance-chart-grid .admin-chart-card { padding:14px; }
    .database-performance-chart-grid .admin-overview-chart-wrap canvas { height:225px; }
    .database-performance-facts dl { grid-template-columns:1fr 1fr; }
    .database-backup-stat-grid,.database-schema-stat-grid { gap:7px; }
    .database-backup-stat-grid article,.database-schema-stat-grid article { padding:13px; }
    .database-backup-stat-grid strong,.database-schema-stat-grid strong { font-size:17px; }
    .database-backup-schedule,.database-backup-runner,.database-backup-library,.database-health-tools > .admin-page-section,.database-maintenance-panel,.database-schema-directory,.database-schema-composition { padding:17px 14px; border-radius:17px; }
    .database-settings-grid,.database-health-settings { grid-template-columns:1fr; }
    .database-health-settings label:last-of-type,.database-health-settings > button { grid-column:auto; }
    .database-backup-list { overflow:visible; border:0; background:transparent; }
    .database-backup-list > header { display:none; }
    .database-backup-list > article { min-width:0; margin-bottom:7px; padding:12px; display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
    .database-backup-list > article > span { padding:0; }
    .database-backup-list > article > span:first-child,.database-backup-actions { grid-column:1 / -1; }
    .database-backup-list > article > span[data-label]::before { margin-bottom:3px; display:block; color:var(--muted); font-size:7px; content:attr(data-label); }
    .database-backup-actions { padding-top:8px!important; border-top:1px solid var(--line); }
    .database-backup-actions a,.database-backup-actions button { min-height:34px; }
    .database-restore-guide { grid-template-columns:38px minmax(0,1fr); }
    .database-restore-guide a { grid-column:1 / -1; }
    .database-health-hero { padding:19px 16px; grid-template-columns:76px minmax(0,1fr); gap:13px; }
    .database-health-score { width:75px; }
    .database-health-score strong { font-size:22px; }
    .database-health-hero h2 { font-size:24px; }
    .database-health-grid article { grid-template-columns:31px minmax(0,1fr); padding:10px; }
    .database-health-grid article > span { width:31px; height:31px; }
    .database-health-grid header { align-items:flex-start; flex-direction:column; gap:2px; }
    .database-maintenance-panel form,.database-maintenance-panel a { grid-template-columns:33px minmax(0,1fr); }
    .database-maintenance-panel button,.database-maintenance-panel b { width:100%; grid-column:1 / -1; }
    .database-schema-list summary { grid-template-columns:minmax(0,1fr) auto; padding:9px; }
    .database-schema-list summary > span:nth-child(2),.database-schema-list summary > span:nth-child(4),.database-schema-list summary > span:nth-child(5) { display:none; }
    .database-schema-detail { padding-inline:9px; }
}
@media (max-width:430px) {
    .database-live-metric-grid,.database-backup-stat-grid,.database-schema-stat-grid,.database-performance-facts dl { grid-template-columns:1fr; }
    .database-live-metric-grid article { min-height:112px; }
}
