@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');

:root {
  color-scheme: dark;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #090909;
  --bg-soft: #0d0d0e;
  --surface: #121212;
  --surface-2: #181818;
  --surface-3: #202020;
  --surface-glass: rgba(18, 18, 18, .88);
  --text: #f7f4ed;
  --text-soft: #d8d3ca;
  --muted: #aaa69e;
  --muted-2: #7e7a74;
  --line: #292929;
  --line-strong: #3a3835;
  --red: #e1132b;
  --red-bright: #ff3450;
  --red-soft: rgba(225, 19, 43, .13);
  --gold: #f4c21f;
  --gold-soft: rgba(244, 194, 31, .13);
  --blue: #4d8dff;
  --cyan: #32d7d7;
  --green: #30d17b;
  --green-soft: rgba(48, 209, 123, .12);
  --orange: #ff9e3d;
  --violet: #a985ff;
  --danger: #ff4b63;
  --warning: #f4c21f;
  --shadow: 0 20px 60px rgba(0, 0, 0, .34);
  --shadow-soft: 0 12px 30px rgba(0, 0, 0, .2);
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 13px;
  --radius-sm: 9px;
  --sidebar-width: 276px;
  --topbar-height: 94px;
  --transition: 180ms cubic-bezier(.2,.8,.2,1);
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f1e9;
  --bg-soft: #eee9df;
  --surface: #fffdfa;
  --surface-2: #f6f2eb;
  --surface-3: #ebe5da;
  --surface-glass: rgba(255, 253, 250, .9);
  --text: #191716;
  --text-soft: #373330;
  --muted: #746e67;
  --muted-2: #9b948c;
  --line: #ddd6cb;
  --line-strong: #c9c0b4;
  --red-soft: rgba(225, 19, 43, .09);
  --gold-soft: rgba(198, 145, 0, .1);
  --green-soft: rgba(16, 148, 82, .09);
  --shadow: 0 20px 60px rgba(61, 45, 28, .12);
  --shadow-soft: 0 10px 30px rgba(61, 45, 28, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { min-height: 100vh; margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; }
img { max-width: 100%; }
::selection { background: rgba(225,19,43,.35); color: #fff; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--gold) 75%, transparent); outline-offset: 2px; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.eyebrow { margin: 0; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.app-loader { position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center; justify-items: center; gap: 18px; background: radial-gradient(circle at 50% 35%, rgba(225,19,43,.12), transparent 36%), #090909; color: #f7f4ed; }
.app-loader img { width: 110px; height: 110px; object-fit: contain; filter: drop-shadow(0 10px 28px rgba(244,194,31,.2)); }
.app-loader p { margin: 0; color: #aaa69e; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.loader-ring { width: 44px; height: 44px; border: 3px solid #292929; border-top-color: var(--red); border-right-color: var(--gold); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Authentication */
.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(460px, 1.2fr) minmax(430px, .8fr); background: #090909; color: #f7f4ed; }
.auth-visual { position: relative; min-height: 100vh; overflow: hidden; display: flex; align-items: center; padding: clamp(54px, 7vw, 110px); background: radial-gradient(circle at 22% 45%, rgba(225,19,43,.2), transparent 30%), radial-gradient(circle at 78% 22%, rgba(244,194,31,.12), transparent 24%), linear-gradient(145deg,#090909 12%,#14100f 62%,#080808); border-right: 1px solid #292929; }
.auth-visual::after { content: ""; position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom right,#000,transparent 80%); }
.auth-visual.compact { background: radial-gradient(circle at 40% 48%, rgba(244,194,31,.13), transparent 34%), #090909; }
.auth-brand { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(170px,250px) minmax(320px,560px); align-items: center; gap: clamp(36px,5vw,80px); }
.auth-brand img { width: 100%; filter: drop-shadow(0 28px 42px rgba(0,0,0,.55)); }
.auth-brand h1 { margin: 13px 0 24px; max-width: 650px; font-family: Sora, sans-serif; font-size: clamp(37px,4.6vw,74px); line-height: 1.01; letter-spacing: -.055em; }
.auth-brand p { max-width: 560px; margin: 0; color: #c0bab2; font-size: clamp(15px,1.4vw,19px); line-height: 1.7; }
.auth-orbit { position: absolute; z-index: 1; border: 1px solid rgba(244,194,31,.12); border-radius: 50%; }
.orbit-one { width: 580px; height: 580px; left: -280px; bottom: -210px; }
.orbit-two { width: 400px; height: 400px; top: -170px; right: -110px; border-color: rgba(225,19,43,.15); }
.auth-signal { position: absolute; z-index: 2; left: clamp(54px,7vw,110px); bottom: 42px; display: flex; align-items: center; gap: 9px; color: #817c74; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.auth-signal span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
.auth-panel { display: grid; place-items: center; padding: 40px; background: #0d0d0e; }
.auth-card { width: min(430px,100%); }
.auth-card h2 { margin: 12px 0 9px; font-family: Sora,sans-serif; font-size: clamp(28px,3vw,42px); line-height: 1.08; letter-spacing: -.04em; }
.auth-card > .muted { margin: 0 0 34px; color: #aaa69e; }
.auth-mobile-logo { display: none; }
.auth-help { margin: 22px 0 0; text-align: center; color: #77736d; font-size: 11px; }

/* Fields and controls */
.field { position: relative; display: grid; gap: 8px; margin-bottom: 18px; }
.field > span, .field > label { color: var(--text-soft); font-size: 12px; font-weight: 750; }
.field small { color: var(--muted); font-size: 11px; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-2); color: var(--text); outline: none; transition: border-color var(--transition), box-shadow var(--transition), background var(--transition); }
input, select { min-height: 48px; padding: 11px 14px; }
textarea { min-height: 108px; padding: 13px 14px; resize: vertical; line-height: 1.55; }
input::placeholder, textarea::placeholder { color: var(--muted-2); }
input:focus, select:focus, textarea:focus { border-color: color-mix(in srgb,var(--gold) 65%,var(--line)); box-shadow: 0 0 0 4px var(--gold-soft); }
input[readonly] { color: var(--muted); cursor: not-allowed; }
input[type="checkbox"], input[type="radio"] { width: 18px; min-height: 18px; accent-color: var(--red); }
.password-field input { padding-right: 50px; }
.password-toggle { position: absolute; right: 7px; bottom: 6px; }
.form-grid { display: grid; gap: 16px; }
.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.form-grid .field { margin-bottom: 0; }
.form-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-top: 24px; }
.form-message { min-height: 0; margin-top: 13px; font-size: 12px; line-height: 1.5; }
.form-message.error { padding: 12px 14px; border: 1px solid rgba(255,75,99,.3); border-radius: 10px; background: rgba(255,75,99,.1); color: #ff8b9b; }
.form-message.success { padding: 12px 14px; border: 1px solid rgba(48,209,123,.28); border-radius: 10px; background: rgba(48,209,123,.1); color: #6eefa8; }
.form-message.loading { color: var(--muted); }
html[data-theme="light"] .form-message.error { color: #a3152f; }
html[data-theme="light"] .form-message.success { color: #087044; }
.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 15px; border: 1px solid transparent; border-radius: 11px; background: var(--surface-3); color: var(--text); font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform var(--transition),background var(--transition),border-color var(--transition),opacity var(--transition); }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button svg { width: 17px; height: 17px; }
.button.primary { border-color: #ff3349; background: linear-gradient(135deg,var(--red-bright),#c90d23); color: #fff; box-shadow: 0 10px 24px rgba(225,19,43,.2); }
.button.primary:hover:not(:disabled) { background: linear-gradient(135deg,#ff465c,#d61027); }
.button.secondary { border-color: var(--line); background: var(--surface-2); }
.button.secondary:hover:not(:disabled) { border-color: var(--line-strong); background: var(--surface-3); }
.button.gold { border-color: rgba(244,194,31,.35); background: var(--gold-soft); color: var(--gold); }
.button.danger { border-color: rgba(255,75,99,.28); background: rgba(255,75,99,.09); color: var(--danger); }
.button.ghost { min-height: 36px; padding: 8px 10px; background: transparent; color: var(--muted); }
.button.small { min-height: 34px; padding: 7px 10px; border-radius: 9px; font-size: 11px; }
.button.wide { width: 100%; min-height: 51px; }
.icon-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); cursor: pointer; transition: all var(--transition); }
.icon-button:hover { border-color: var(--line-strong); background: var(--surface-2); color: var(--text); }
.icon-button svg { width: 18px; height: 18px; }

/* Public registration */
.registration-screen { min-height: 100vh; background: radial-gradient(circle at 12% 18%,rgba(225,19,43,.12),transparent 26%),#090909; color: #f7f4ed; }
.registration-header { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px clamp(20px,5vw,76px); border-bottom: 1px solid #292929; background: rgba(9,9,9,.88); backdrop-filter: blur(18px); }
.registration-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.registration-brand img { width: 56px; height: 56px; object-fit: contain; }
.registration-brand span { display: grid; }
.registration-brand b { font-family: Sora,sans-serif; letter-spacing: .1em; }
.registration-brand small { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.secure-pill { display: inline-flex; align-items: center; gap: 8px; color: #aaa69e; font-size: 11px; font-weight: 700; }
.secure-pill svg { width: 16px; }
.registration-main { width: min(1280px,calc(100% - 32px)); margin: 0 auto; padding: clamp(48px,6vw,90px) 0; display: grid; grid-template-columns: minmax(280px,.7fr) minmax(580px,1.3fr); gap: clamp(40px,7vw,110px); align-items: start; }
.registration-intro { position: sticky; top: 120px; }
.registration-intro h1 { margin: 14px 0 20px; font-family: Sora,sans-serif; font-size: clamp(38px,5vw,66px); line-height: 1.02; letter-spacing: -.055em; }
.registration-intro > p { color: #b5afa7; font-size: 17px; line-height: 1.7; }
.registration-points { display: grid; gap: 12px; margin-top: 36px; color: #d8d3ca; font-size: 12px; font-weight: 700; }
.registration-points span { display: flex; align-items: center; gap: 10px; }
.registration-points svg { width: 17px; color: var(--gold); }
.package-preview { margin: 28px 0; padding: 20px; border: 1px solid rgba(244,194,31,.26); border-radius: 16px; background: rgba(244,194,31,.07); }
.registration-card { padding: clamp(24px,4vw,48px); border: 1px solid #292929; border-radius: 26px; background: rgba(18,18,18,.92); box-shadow: var(--shadow); }
.form-section-heading { display: flex; align-items: center; gap: 14px; margin: 30px 0 20px; padding-top: 26px; border-top: 1px solid #292929; }
.form-section-heading:first-child { margin-top: 0; padding-top: 0; border: 0; }
.form-section-heading > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(244,194,31,.35); border-radius: 10px; color: var(--gold); font-size: 11px; font-weight: 800; }
.form-section-heading h2 { margin: 0; font-family: Sora,sans-serif; font-size: 18px; }
.form-section-heading p { margin: 3px 0 0; color: #817c74; font-size: 11px; }
.consent-row { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; margin: 24px 0; color: #aaa69e; font-size: 11px; line-height: 1.55; }
.honeypot { position: absolute; left: -9999px; opacity: 0; }

/* App shell */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0,1fr); background: var(--bg); }
.sidebar { position: fixed; z-index: 80; inset: 0 auto 0 0; width: var(--sidebar-width); display: flex; flex-direction: column; border-right: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(22px); transition: width var(--transition),transform var(--transition); }
.sidebar-brand { height: var(--topbar-height); flex: 0 0 auto; display: flex; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--line); }
.sidebar-brand img { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 8px 15px rgba(0,0,0,.25)); }
.sidebar-brand > div { display: grid; line-height: 1; }
.sidebar-brand b { font-family: Sora,sans-serif; font-size: 21px; letter-spacing: .08em; }
.sidebar-brand small { margin-top: 6px; color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .24em; }
.sidebar-collapse { margin-left: auto; width: 34px; height: 34px; }
.sidebar nav { flex: 1; overflow-y: auto; padding: 16px 12px; scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
.nav-section-label { padding: 17px 12px 7px; color: var(--muted-2); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.nav-item { width: 100%; min-height: 44px; position: relative; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 11px; margin: 3px 0; padding: 10px 12px; border: 0; border-radius: 11px; background: transparent; color: var(--muted); text-align: left; font-size: 11px; font-weight: 750; cursor: pointer; transition: all var(--transition); }
.nav-item:hover { background: var(--surface-2); color: var(--text); }
.nav-item.active { background: linear-gradient(90deg,var(--red-soft),transparent); color: var(--text); }
.nav-item.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 22px; border-radius: 0 4px 4px 0; background: var(--red); box-shadow: 0 0 13px rgba(225,19,43,.5); }
.nav-item svg { width: 18px; height: 18px; }
.nav-item.active svg { color: var(--red-bright); }
.nav-badge { min-width: 22px; height: 20px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--surface-3); color: var(--muted); font-size: 9px; }
.sidebar-footer { flex: 0 0 auto; padding: 12px; border-top: 1px solid var(--line); }
.system-status { display: flex; align-items: center; gap: 9px; padding: 10px 11px; color: var(--muted); }
.system-status > span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 11px var(--green); }
.system-status div { display: grid; }
.system-status b { color: var(--text-soft); font-size: 9px; }
.system-status small { font-size: 8px; }
.sidebar-user { width: 100%; display: grid; grid-template-columns: 34px 1fr 16px; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); text-align: left; cursor: pointer; }
.sidebar-user > span:not(.avatar) { min-width: 0; display: grid; }
.sidebar-user b { overflow: hidden; color: var(--text); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { color: var(--muted); font-size: 8px; }
.sidebar-user svg { width: 14px; }
.avatar { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(244,194,31,.3); border-radius: 11px; background: var(--gold-soft); color: var(--gold); font-size: 10px; font-weight: 800; }
.workspace { min-width: 0; grid-column: 2; }
.topbar { position: sticky; z-index: 60; top: 0; height: var(--topbar-height); display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 15px clamp(20px,3vw,40px); border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--bg) 86%,transparent); backdrop-filter: blur(22px); }
.topbar-left { display: flex; align-items: center; gap: 12px; }
.topbar-left h1 { margin: 3px 0 0; font-family: Sora,sans-serif; font-size: clamp(21px,2vw,29px); line-height: 1; letter-spacing: -.035em; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.global-search-button { width: min(320px,26vw); min-height: 42px; display: grid; grid-template-columns: 18px 1fr auto; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); cursor: pointer; }
.global-search-button svg { width: 16px; }
.global-search-button span { overflow: hidden; font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
kbd { padding: 3px 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); color: var(--muted); font-family: inherit; font-size: 8px; font-weight: 800; }
.create-button { min-width: 98px; }
.notification-badge { position: absolute; top: -4px; right: -4px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border: 2px solid var(--bg); border-radius: 99px; background: var(--red); color: #fff; font-size: 8px; font-weight: 800; }
.mobile-menu { display: none; }
.workspace-content { min-height: calc(100vh - var(--topbar-height)); padding: clamp(20px,3vw,40px); }
.mobile-navigation { display: none; }

body.sidebar-collapsed { --sidebar-width: 82px; }
body.sidebar-collapsed .sidebar-brand { justify-content: center; padding-inline: 10px; }
body.sidebar-collapsed .sidebar-brand img { width: 48px; }
body.sidebar-collapsed .sidebar-brand > div, body.sidebar-collapsed .sidebar-collapse, body.sidebar-collapsed .nav-section-label, body.sidebar-collapsed .nav-item span:not(.nav-badge), body.sidebar-collapsed .nav-badge, body.sidebar-collapsed .system-status div, body.sidebar-collapsed .sidebar-user > span:not(.avatar), body.sidebar-collapsed .sidebar-user > svg { display: none; }
body.sidebar-collapsed .nav-item { grid-template-columns: 1fr; justify-items: center; padding: 10px; }
body.sidebar-collapsed .system-status, body.sidebar-collapsed .sidebar-user { justify-content: center; grid-template-columns: auto; }

/* Workspace components */
.page { animation: page-in .28s ease both; }
@keyframes page-in { from { opacity: 0; transform: translateY(5px); } }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 24px; }
.page-heading h2 { margin: 0 0 6px; font-family: Sora,sans-serif; font-size: clamp(23px,2.3vw,35px); letter-spacing: -.04em; }
.page-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.page-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-soft); overflow: hidden; }
.panel + .panel { margin-top: 18px; }
.panel-body { padding: 20px; }
.panel-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.panel-header h3 { margin: 0; font-family: Sora,sans-serif; font-size: 15px; letter-spacing: -.02em; }
.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.panel-actions { display: flex; align-items: center; gap: 8px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 18px; }
.span-12 { grid-column: span 12; }.span-8 { grid-column: span 8; }.span-7 { grid-column: span 7; }.span-6 { grid-column: span 6; }.span-5 { grid-column: span 5; }.span-4 { grid-column: span 4; }.span-3 { grid-column: span 3; }
.kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.kpi-card { position: relative; min-height: 150px; overflow: hidden; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg,var(--surface),var(--surface-2)); box-shadow: var(--shadow-soft); cursor: default; transition: border-color var(--transition),transform var(--transition); }
.kpi-card[data-route] { cursor: pointer; }
.kpi-card[data-route]:hover { transform: translateY(-2px); border-color: var(--line-strong); }
.kpi-card::after { content: ""; position: absolute; right: -46px; bottom: -54px; width: 130px; height: 130px; border: 1px solid currentColor; border-radius: 50%; opacity: .08; }
.kpi-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kpi-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-3); color: var(--muted); }
.kpi-icon svg { width: 18px; }
.kpi-card.red .kpi-icon { border-color: rgba(225,19,43,.25); background: var(--red-soft); color: var(--red-bright); }
.kpi-card.gold .kpi-icon { border-color: rgba(244,194,31,.25); background: var(--gold-soft); color: var(--gold); }
.kpi-card.green .kpi-icon { border-color: rgba(48,209,123,.25); background: var(--green-soft); color: var(--green); }
.kpi-card.blue .kpi-icon { background: rgba(77,141,255,.1); color: var(--blue); }
.kpi-label { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.kpi-value { margin: 16px 0 4px; font-family: Sora,sans-serif; font-size: clamp(30px,3vw,43px); font-weight: 800; letter-spacing: -.06em; }
.kpi-meta { color: var(--muted); font-size: 10px; }
.metric-strip { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.metric-strip > div { padding: 16px 18px; border-right: 1px solid var(--line); }
.metric-strip > div:last-child { border-right: 0; }
.metric-strip small { display: block; color: var(--muted); font-size: 9px; }
.metric-strip strong { display: block; margin-top: 5px; font-family: Sora,sans-serif; font-size: 18px; }
.queue-list, .activity-list, .notification-list { display: grid; }
.queue-item, .activity-item, .notification-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.queue-item:last-child, .activity-item:last-child, .notification-item:last-child { border-bottom: 0; }
.queue-item:hover, .notification-item:hover { background: var(--surface-2); }
.queue-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--muted); }
.queue-dot.high, .queue-dot.urgent, .queue-dot.overdue { background: var(--danger); box-shadow: 0 0 12px rgba(255,75,99,.45); }
.queue-dot.medium { background: var(--gold); }.queue-dot.low { background: var(--green); }
.queue-item b, .activity-item b { display: block; font-size: 11px; }
.queue-item p, .activity-item p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.queue-item time, .activity-item time { color: var(--muted); font-size: 9px; }
.empty-state { min-height: 220px; display: grid; place-content: center; justify-items: center; gap: 9px; padding: 32px; text-align: center; color: var(--muted); }
.empty-state .empty-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 17px; background: var(--surface-2); }
.empty-state svg { width: 23px; }
.empty-state h3 { margin: 6px 0 0; color: var(--text-soft); font-family: Sora,sans-serif; font-size: 14px; }
.empty-state p { max-width: 340px; margin: 0; font-size: 10px; line-height: 1.6; }
.skeleton { position: relative; overflow: hidden; border-radius: 8px; background: var(--surface-3); }
.skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent); animation: shimmer 1.2s infinite; }
@keyframes shimmer { to { transform: translateX(100%); } }
.skeleton-line { height: 12px; margin: 10px 0; }

/* Filters and tables */
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.filter-search { min-width: min(320px,100%); flex: 1; position: relative; }
.filter-search svg { position: absolute; left: 14px; top: 50%; width: 16px; transform: translateY(-50%); color: var(--muted); }
.filter-search input { padding-left: 40px; }
.filter-bar select { width: auto; min-width: 140px; }
.segmented { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
.segmented button { min-height: 35px; padding: 6px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 9px; font-weight: 800; cursor: pointer; }
.segmented button.active { background: var(--surface-3); color: var(--text); box-shadow: var(--shadow-soft); }
.data-table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); color: var(--text-soft); font-size: 10px; vertical-align: middle; }
.data-table.compact td { padding-block: 8px; }
.data-table.compact .client-avatar { width: 30px; height: 30px; border-radius: 9px; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: color-mix(in srgb,var(--surface-2) 60%,transparent); }
.data-table .row-title { color: var(--text); font-size: 11px; font-weight: 800; }
.data-table .row-subtitle { margin-top: 3px; color: var(--muted); font-size: 9px; }
.client-cell { min-width: 190px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; }
.client-avatar { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--text-soft); font-size: 10px; font-weight: 800; }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.status-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-badge.active, .status-badge.completed, .status-badge.sent, .status-badge.paid, .status-badge.approved { border-color: rgba(48,209,123,.25); background: var(--green-soft); color: var(--green); }
.status-badge.paused, .status-badge.pending, .status-badge.pending_setup, .status-badge.opened, .status-badge.open, .status-badge.ready, .status-badge.partial { border-color: rgba(244,194,31,.25); background: var(--gold-soft); color: var(--gold); }
.status-badge.credit, .status-badge.high, .status-badge.overdue, .status-badge.failed, .status-badge.expired, .status-badge.suspended, .status-badge.unpaid { border-color: rgba(255,75,99,.25); background: rgba(255,75,99,.09); color: var(--danger); }
.status-badge.cancelled, .status-badge.rejected, .status-badge.revoked, .status-badge.inactive { color: var(--muted); }
.status-badge.owner { border-color: rgba(169,133,255,.25); background: rgba(169,133,255,.09); color: var(--violet); }
.status-badge.low { border-color: rgba(77,141,255,.25); background: rgba(77,141,255,.09); color: var(--blue); }
.countdown { font-weight: 800; }.countdown.danger { color: var(--danger); }.countdown.warning { color: var(--gold); }.countdown.good { color: var(--green); }

/* Charts */
.donut-wrap { display: grid; grid-template-columns: minmax(150px,220px) 1fr; align-items: center; gap: 22px; padding: 20px; }
.donut { --active: 0; --paused: 0; --credit: 0; width: min(190px,100%); aspect-ratio: 1; position: relative; display: grid; place-items: center; margin: auto; border-radius: 50%; background: conic-gradient(var(--green) 0 var(--active), var(--gold) var(--active) var(--paused), var(--danger) var(--paused) var(--credit), var(--surface-3) var(--credit) 100%); }
.donut::before { content: ""; width: 68%; aspect-ratio: 1; border-radius: 50%; background: var(--surface); }
.donut-center { position: absolute; text-align: center; }
.donut-center strong { display: block; font-family: Sora,sans-serif; font-size: 27px; }
.donut-center small { color: var(--muted); font-size: 8px; }
.chart-legend { display: grid; gap: 12px; }
.legend-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.legend-row i { width: 9px; height: 9px; border-radius: 3px; }
.legend-row strong { color: var(--text); }
.bar-chart { min-height: 250px; display: flex; align-items: end; gap: clamp(7px,1.5vw,18px); padding: 30px 20px 20px; }
.bar-column { flex: 1; min-width: 24px; display: grid; grid-template-rows: 190px auto; align-items: end; gap: 8px; text-align: center; }
.bar-column > div { height: var(--height,5%); min-height: 3px; border-radius: 7px 7px 2px 2px; background: linear-gradient(to top,var(--red),var(--gold)); opacity: .84; }
.bar-column span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.progress-bar { height: 7px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.progress-bar span { display: block; width: var(--progress,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--red),var(--gold)); }

/* Task board and calendar */
.task-board { display: grid; grid-template-columns: repeat(4,minmax(230px,1fr)); gap: 14px; overflow-x: auto; padding-bottom: 8px; }
.board-column { min-height: 400px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.board-heading { display: flex; align-items: center; justify-content: space-between; padding: 14px; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; }
.board-heading span { min-width: 22px; height: 20px; display: grid; place-items: center; border-radius: 999px; background: var(--surface-3); color: var(--muted); font-size: 8px; }
.board-items { display: grid; gap: 9px; padding: 10px; }
.task-card { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.task-card:hover { border-color: var(--line-strong); }
.task-card h4 { margin: 8px 0 7px; font-size: 11px; line-height: 1.45; }
.task-card p { margin: 0; color: var(--muted); font-size: 9px; }
.task-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); }
.calendar-day { min-height: 108px; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day > span { color: var(--muted); font-size: 9px; }
.calendar-task { width: 100%; display: block; margin-top: 6px; padding: 5px 6px; overflow: hidden; border: 0; border-radius: 6px; background: var(--red-soft); color: var(--red-bright); font-size: 8px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.calendar-task:not(button) { cursor: default; }

/* Modal, drawer, panels and popovers */
.overlay { position: fixed; z-index: 190; inset: 0; background: rgba(0,0,0,.62); backdrop-filter: blur(5px); }
.modal-shell { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 22px; pointer-events: none; }
.modal-card { width: min(680px,100%); max-height: calc(100vh - 44px); overflow-y: auto; border: 1px solid var(--line-strong); border-radius: 22px; background: var(--surface); box-shadow: 0 32px 100px rgba(0,0,0,.55); pointer-events: auto; animation: modal-in .2s ease both; }
.modal-card.wide { width: min(900px,100%); }
@keyframes modal-in { from { opacity: 0; transform: scale(.98) translateY(8px); } }
.modal-header { position: sticky; z-index: 2; top: 0; display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--line); background: var(--surface); }
.modal-header h2 { margin: 0 0 5px; font-family: Sora,sans-serif; font-size: 19px; }
.modal-header p { margin: 0; color: var(--muted); font-size: 10px; }
.modal-body { padding: 22px; }
.modal-footer { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 9px; padding: 14px 22px; border-top: 1px solid var(--line); background: var(--surface); }
.drawer-shell { position: fixed; z-index: 205; inset: 0; pointer-events: none; }
.drawer { width: min(760px,96vw); height: 100%; margin-left: auto; overflow-y: auto; border-left: 1px solid var(--line-strong); background: var(--bg); box-shadow: -30px 0 90px rgba(0,0,0,.45); pointer-events: auto; animation: drawer-in .24s ease both; }
@keyframes drawer-in { from { transform: translateX(100%); } }
.drawer-header { position: sticky; z-index: 5; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 20px; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter: blur(18px); }
.drawer-body { padding: 20px; }
.profile-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg,var(--surface),var(--surface-2)); }
.profile-hero .client-avatar { width: 62px; height: 62px; border-radius: 18px; font-size: 16px; }
.profile-hero h2 { margin: 0 0 8px; font-family: Sora,sans-serif; font-size: 23px; }
.profile-hero p { margin: 0; color: var(--muted); font-size: 10px; }
.profile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.profile-tabs { display: flex; gap: 5px; overflow-x: auto; margin: 18px 0; padding: 4px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); scrollbar-width: none; }
.profile-tabs button { flex: 0 0 auto; min-height: 36px; padding: 7px 11px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: 9px; font-weight: 800; cursor: pointer; }
.profile-tabs button.active { background: var(--surface-3); color: var(--text); }
.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.info-tile { min-height: 86px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.info-tile small { display: block; color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.info-tile strong { display: block; margin-top: 8px; font-size: 11px; overflow-wrap: anywhere; }
.timeline { position: relative; display: grid; gap: 2px; }
.timeline::before { content: ""; position: absolute; left: 19px; top: 22px; bottom: 22px; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 12px 0; }
.timeline-icon { z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--muted); }
.timeline-icon svg { width: 16px; }
.timeline-item h4 { margin: 2px 0 4px; font-size: 10px; }
.timeline-item p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.timeline-item time { color: var(--muted-2); font-size: 8px; }
.side-panel { position: fixed; z-index: 210; top: 0; right: 0; width: min(410px,100vw); height: 100vh; overflow-y: auto; border-left: 1px solid var(--line); background: var(--surface); box-shadow: -25px 0 80px rgba(0,0,0,.4); animation: drawer-in .22s ease both; }
.side-panel-header { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--line); background: var(--surface); }
.side-panel-header h2 { margin: 0; font-family: Sora,sans-serif; font-size: 18px; }
.popover { position: fixed; z-index: 220; width: 250px; padding: 8px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow); }
.create-menu { top: 76px; right: 24px; }
.user-menu { left: 18px; bottom: 76px; }
.popover-heading { padding: 8px 9px 6px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.popover-item { width: 100%; min-height: 40px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 8px; padding: 7px 9px; border: 0; border-radius: 9px; background: transparent; color: var(--text-soft); text-align: left; font-size: 10px; font-weight: 700; cursor: pointer; }
.popover-item:hover { background: var(--surface-2); color: var(--text); }
.popover-item svg { width: 16px; color: var(--muted); }
.command-palette { position: fixed; z-index: 300; inset: 0; display: grid; align-items: start; justify-items: center; padding: max(12vh,80px) 18px 18px; background: rgba(0,0,0,.68); backdrop-filter: blur(8px); }
.command-card { width: min(660px,100%); overflow: hidden; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--surface); box-shadow: 0 35px 120px rgba(0,0,0,.6); }
.command-input { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 11px; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.command-input svg { width: 18px; color: var(--muted); }
.command-input input { min-height: 42px; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 14px; }
.command-results { max-height: min(58vh,500px); overflow-y: auto; padding: 8px; }
.command-section { padding: 8px 10px 5px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.command-result { width: 100%; min-height: 48px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 7px 9px; border: 0; border-radius: 10px; background: transparent; text-align: left; cursor: pointer; }
.command-result:hover, .command-result.selected { background: var(--surface-2); }
.command-result svg { width: 17px; color: var(--muted); }
.command-result b { display: block; font-size: 10px; }.command-result small { color: var(--muted); font-size: 8px; }
.toast-region { position: fixed; z-index: 400; right: 22px; bottom: 22px; display: grid; gap: 10px; }
.toast { width: min(360px,calc(100vw - 32px)); display: grid; grid-template-columns: 30px 1fr auto; align-items: start; gap: 10px; padding: 13px; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow); animation: toast-in .2s ease both; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } }
.toast > i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--green-soft); color: var(--green); }
.toast.error > i { background: rgba(255,75,99,.1); color: var(--danger); }
.toast svg { width: 16px; }.toast b { display: block; font-size: 10px; }.toast p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.toast button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }

/* Responsive */
@media (max-width: 1280px) {
  .kpi-grid { grid-template-columns: repeat(3,1fr); }
  .span-8,.span-7 { grid-column: span 12; }
  .span-4,.span-5 { grid-column: span 6; }
  .global-search-button { width: 230px; }
}

@media (max-width: 1020px) {
  :root { --sidebar-width: 88px; }
  .sidebar-brand { justify-content: center; padding-inline: 10px; }
  .sidebar-brand img { width: 50px; }.sidebar-brand > div,.sidebar-collapse,.nav-section-label,.nav-item span:not(.nav-badge),.nav-badge,.system-status div,.sidebar-user > span:not(.avatar),.sidebar-user > svg { display: none; }
  .nav-item { grid-template-columns: 1fr; justify-items: center; padding: 10px; }
  .system-status,.sidebar-user { justify-content: center; grid-template-columns: auto; }
  .global-search-button span { display: none; }.global-search-button { width: auto; grid-template-columns: 18px auto; }
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .auth-screen { grid-template-columns: 1fr 430px; }.auth-brand { grid-template-columns: 160px 1fr; gap: 35px; }.auth-brand h1 { font-size: 42px; }
  .registration-main { grid-template-columns: 1fr; }.registration-intro { position: static; max-width: 720px; }.registration-intro h1 { max-width: 700px; }
}

@media (max-width: 740px) {
  :root { --topbar-height: 72px; --sidebar-width: 276px; }
  .auth-screen { display: block; min-height: 100vh; }.auth-visual { display: none; }.auth-panel { min-height: 100vh; padding: 28px 22px; }.auth-mobile-logo { display: block; width: 94px; margin: 0 auto 28px; }.auth-card h2 { font-size: 30px; }
  .registration-header { height: 70px; }.registration-brand img { width: 48px; height: 48px; }.secure-pill { display: none; }.registration-main { width: min(100% - 24px,660px); padding: 35px 0 100px; gap: 28px; }.registration-intro h1 { font-size: 38px; }.registration-intro > p { font-size: 14px; }.registration-card { padding: 20px; border-radius: 20px; }.form-grid.two,.form-grid.three { grid-template-columns: 1fr; }
  .admin-shell { display: block; }.workspace { margin: 0; padding-bottom: 72px; }.sidebar { width: min(82vw,290px); transform: translateX(-104%); box-shadow: 20px 0 70px rgba(0,0,0,.45); }.sidebar.open { transform: translateX(0); }.sidebar-brand { justify-content: initial; padding-inline: 18px; }.sidebar-brand > div,.nav-section-label,.nav-item span:not(.nav-badge),.nav-badge,.system-status div,.sidebar-user > span:not(.avatar),.sidebar-user > svg { display: initial; }.sidebar-brand { display: flex; }.sidebar-brand > div,.system-status div,.sidebar-user > span:not(.avatar) { display: grid; }.nav-item { grid-template-columns: 22px 1fr auto; justify-items: initial; padding: 10px 12px; }.system-status { justify-content: initial; }.sidebar-user { grid-template-columns: 34px 1fr 16px; justify-content: initial; }
  .topbar { padding: 10px 13px; }.mobile-menu { display: grid; }.topbar-left { min-width: 0; }.topbar-left > div { min-width: 0; }.topbar-left .eyebrow { display: none; }.topbar-left h1 { max-width: 40vw; overflow: hidden; font-size: 20px; text-overflow: ellipsis; white-space: nowrap; }.global-search-button,#themeToggle,.create-button span { display: none; }.create-button { min-width: 42px; width: 42px; padding: 0; }.workspace-content { padding: 15px 12px 24px; }
  .mobile-navigation { position: fixed; z-index: 70; inset: auto 0 0; height: calc(68px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(auto-fit,minmax(52px,1fr)); padding: 7px 6px env(safe-area-inset-bottom); border-top: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(18px); }.mobile-nav-item { display: grid; place-items: center; gap: 3px; border: 0; background: transparent; color: var(--muted); font-size: 8px; font-weight: 750; }.mobile-nav-item svg { width: 19px; }.mobile-nav-item.active { color: var(--red-bright); }.mobile-nav-item.create { width: 45px; height: 45px; justify-self: center; align-self: start; border-radius: 15px; background: var(--red); color: #fff; box-shadow: 0 8px 22px rgba(225,19,43,.28); }.mobile-nav-item.create span { display: none; }
  .page-heading { display: grid; align-items: start; }.page-heading-actions { justify-content: start; }.page-heading h2 { font-size: 25px; }.kpi-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }.kpi-card { min-height: 132px; padding: 14px; }.kpi-value { font-size: 30px; }.kpi-meta { font-size: 8px; }.dashboard-grid { gap: 12px; }.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12 { grid-column: span 12; }.metric-strip { grid-template-columns: repeat(2,1fr); }.metric-strip > div:nth-child(2) { border-right: 0; }.metric-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .filter-bar { align-items: stretch; }.filter-search,.filter-bar select,.filter-bar .button { width: 100%; }.filter-bar .segmented { width: 100%; }.segmented button { flex: 1; }
  .data-table-wrap.mobile-cards { overflow: visible; }.mobile-cards .data-table,.mobile-cards tbody { display: block; }.mobile-cards thead { display: none; }.mobile-cards tr { display: grid; gap: 8px; margin: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }.mobile-cards td { display: grid; grid-template-columns: minmax(90px,.65fr) 1fr; gap: 10px; padding: 4px 0; border: 0; }.mobile-cards td::before { content: attr(data-label); color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }.mobile-cards td:first-child { display: block; }.mobile-cards td:first-child::before { display: none; }.mobile-cards .table-actions { justify-content: stretch; }.mobile-cards .table-actions .button { flex: 1; }
  .donut-wrap { grid-template-columns: 1fr; }.info-grid { grid-template-columns: repeat(2,1fr); }.profile-hero { grid-template-columns: auto 1fr; }.profile-actions { grid-column: span 2; justify-content: start; }.drawer { width: 100%; }.modal-shell { padding: 0; align-items: end; }.modal-card,.modal-card.wide { width: 100%; max-height: 92vh; border-radius: 22px 22px 0 0; }.modal-body { padding: 18px; }.modal-footer { padding: 13px 18px env(safe-area-inset-bottom); }.side-panel { width: 100%; }.create-menu { top: auto; right: 12px; bottom: 78px; }.user-menu { left: 12px; bottom: 78px; }.toast-region { right: 12px; bottom: 82px; }.task-board { grid-template-columns: repeat(4,270px); }.calendar-day { min-height: 78px; padding: 6px; }
  .button.small { min-height: 40px; }
}

@media (max-width: 430px) {
  .kpi-grid { grid-template-columns: 1fr 1fr; }.kpi-card { min-height: 126px; }.kpi-icon { width: 32px; height: 32px; }.page-heading-actions .button { flex: 1; }.info-grid { grid-template-columns: 1fr; }.profile-hero { grid-template-columns: 1fr; text-align: center; justify-items: center; }.profile-actions { grid-column: auto; justify-content: center; }.form-actions { display: grid; grid-template-columns: 1fr 1fr; }.form-actions .button.primary:only-child { grid-column: span 2; }.registration-intro h1 { font-size: 33px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
