/* Self-hosted Inter: Latin and Cyrillic load independently; see vendor/inter/license.json. */
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-greek-ext.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'WAzino Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/vendor/inter/inter-v20-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Shared dashboard design. No fonts, images or runtime styles from CDNs. */
:root {
  color-scheme: light;
  --bg-primary: #f4f6f3;
  --bg-secondary: #f8f9f6;
  --bg-card: #fff;
  --bg-input: #fff;
  --border: #e0e6df;
  --text-primary: #23312a;
  --text-secondary: #53665b;
  --text-muted: #65736a;
  --accent: #3c6a50;
  --accent-hover: #2b543d;
  --green: #478864;
  --red: #b34b43;
  --orange: #a77b24;
  --blue: #3b718c;
  --purple: #786c8a;
  --cyan: #3b7c77;
  --wz-font: 'WAzino Inter', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --wz-sidebar: 228px;
  --wz-lime: #daf18b;
  --wz-sage: #8da78a;
  --wz-green-soft: #edf3eb;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-primary: #121d17;
  --bg-secondary: #1a2820;
  --bg-card: #1e2e24;
  --bg-input: #18261d;
  --border: #34473a;
  --text-primary: #e8eee5;
  --text-secondary: #b8c8b7;
  --text-muted: #9bac9b;
  --wz-green-soft: #2d4733;
  --accent: #bad889;
  --accent-hover: #d5eda7;
  --green: #90bd92;
  --red: #e99488;
  --orange: #d8b472;
  --blue: #83b7cc;
  --purple: #bb9fd4;
  --cyan: #85bfb5;
}
body, body.user-panel { font-family: var(--wz-font); font-size: 14px; font-weight: 400; line-height: 1.55; font-synthesis: none; font-optical-sizing: auto; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.wz-icon { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; }
.wz-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--wz-sidebar); display: flex; flex-direction: column; background: #192820; color: #bccabb; padding: 24px 18px 12px; z-index: 110; }
.wz-brand { display: flex; align-items: center; gap: 11px; color: white; font-size: 25px; font-weight: 600; margin: 4px 8px 30px; letter-spacing: -.6px; }
.wz-brand:hover { color: white; }
.wz-brand-mark { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 12px; background: var(--wz-lime); color: #192820; font-size: 23px; font-weight: 500; }
.wz-sidebar :is(.sa-nav, .admin-nav, .wz-member-nav) { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto; flex-wrap: nowrap; gap: 3px; padding: 0; border: 0; background: transparent; scrollbar-width: thin; scrollbar-color: #34473a transparent; }
.wz-nav-label { color: #869b86; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; padding: 20px 11px 7px; }
.wz-nav-label:first-child { padding-top: 3px; }
.wz-sidebar .tab-btn { display: flex; align-items: center; gap: 12px; color: #bccabb; background: transparent; padding: 11px 12px; border: none; border-radius: 8px; font-size: 13px; text-align: left; white-space: nowrap; }
.wz-sidebar .tab-btn:hover { background: #24382c; color: white; }
.wz-sidebar .tab-btn.active, .wz-sidebar .tab-btn[aria-current="page"] { background: var(--wz-lime); color: #26351e; font-weight: 600; }
.wz-sidebar .header.wz-sidebar-footer { position: static; display: block; padding: 16px 6px 0; margin-top: 18px; border: 0; border-top: 1px solid #344039; background: transparent; }
.wz-profile { display: flex; align-items: center; gap: 9px; }
.wz-avatar { display: grid; place-items: center; width: 33px; height: 33px; flex: 0 0 33px; border-radius: 50%; background: #34483b; font-size: 12px; }
.wz-profile .user-info { display: grid; gap: 3px; font-size: 12px; flex: 1; min-width: 0; }
.wz-profile strong { color: #e0e7dc; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.wz-profile .user-info > span { font-size: 11px; color: #92a68e; }
.wz-icon-button { display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 4px; border: 0; background: transparent; color: inherit; border-radius: 6px; cursor: pointer; }
.wz-icon-button:hover { background: #304536; }
.wz-sidebar-status { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: 11px; margin-top: 12px; color: #a2b69c; }
.wz-sidebar .dot { width: 6px; height: 6px; margin-right: 5px; }
.wz-dashboard .content { margin: 0 0 0 var(--wz-sidebar); padding: 28px 32px; max-width: none; min-width: 0; }
.wz-menu-toggle { display: none; }
.wz-sidebar-scrim { display: none; }
.section, .chart-card, .stat-card { border-radius: 16px; border-color: var(--border); box-shadow: none; }
.section { padding: 22px; margin-bottom: 20px; min-width: 0; }
.section-title { font-size: 15px; font-weight: 600; margin-bottom: 18px; }
.stat-card { padding: 22px; }
.stat-card .stat-value { font-size: 32px; letter-spacing: -1px; line-height: 1.2; font-variant-numeric: tabular-nums; margin: 17px 0 10px; }
.stat-label { font-size: 13px; color: var(--text-secondary); }
.stat-icon { font-size: 16px; }
.btn, .hdr-btn, .hdr-btn-outline, .toolbar-select { border-radius: 8px; padding: 8px 13px; border: 1px solid var(--border); color: var(--text-primary); background: var(--bg-card); box-shadow: none; }
.btn:hover, .hdr-btn:hover { border-color: #90aa8b; background: var(--bg-secondary); }
.btn-accent, .btn-primary, .btn-login { background: var(--accent); color: var(--bg-card); }
.btn-accent:hover, .btn-primary:hover { background: var(--accent-hover); color: var(--bg-card); }
.btn-danger { color: var(--red); background: transparent; }
.btn-sm { font-size: 12px; padding: 6px 10px; }
button:disabled { opacity: .45; cursor: not-allowed; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { color: var(--text-primary); background: var(--bg-input); border: 1px solid var(--border); border-radius: 8px; padding: 8px 11px; max-width: 100%; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); }
.table-wrap, .table-scroll { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 12px; }
#sync-status { max-width: 100%; overflow-x: auto; }
form[id^="form-ai-"] > div { min-width: 0; }
table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
thead th { font-weight: 500; font-size: 12px; letter-spacing: normal; text-transform: none; color: var(--text-muted); background: var(--bg-secondary); text-align: left; }
th, td { border-bottom: 1px solid var(--border); padding: 13px 16px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--bg-secondary); }
td { overflow-wrap: anywhere; }
.badge { font-size: 11px; font-weight: 500; border-radius: 5px; text-transform: none; padding: 3px 7px; }
.badge-online { background: #eaf3e9; color: #376a46; }
.badge-offline { background: #f7eae5; color: #a55643; }
.load-more { display: flex; gap: 16px; align-items: center; justify-content: center; padding: 16px 8px; color: var(--text-muted); font-size: 12px; }
.summary-row { gap: 16px; margin: 0; }
.summary-item { flex: 1; align-items: flex-start; min-width: 120px; padding: 13px; }
.summary-item .sv { font-size: 30px; color: var(--text-primary); }
.summary-item .sl { font-size: 12px; }
.nw-val { color: var(--text-primary); }
.now-widget { background: var(--bg-card); border-color: var(--border); }
.chart-card { min-width: 0; }
.chart-card canvas { max-height: 280px; }
.wz-overview-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; min-height: 38px; }
.wz-period select { min-width: 132px; text-transform: capitalize; }
.wz-custom-period { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; }
.wz-custom-period label { display: flex; gap: 6px; align-items: center; font-size: 12px; }
.wz-form-error { color: var(--red); font-size: 13px; }
.wz-overview-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.wz-metric { min-height: 145px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 16px; padding: 22px; position: relative; }
.wz-metric > .wz-icon { position: absolute; top: 22px; right: 20px; color: var(--text-muted); }
.wz-metric-label { font-size: 13px; color: var(--text-secondary); }
.wz-metric-value { margin: 16px 0 10px; font-size: 34px; line-height: 1.1; letter-spacing: -1px; font-weight: 600; font-variant-numeric: tabular-nums; }
.wz-metric-caption { color: var(--text-muted); font-size: 12px; }
.wz-metric-primary { background: #3c694f; color: white; border-color: #3c694f; }
.wz-metric-primary :is(.wz-metric-label, .wz-metric-caption, .wz-icon) { color: #d2dfc3; }
.wz-segments { display: inline-flex; align-items: center; gap: 3px; padding: 3px; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; }
.wz-segments button { background: transparent; color: var(--text-muted); border: none; border-radius: 5px; padding: 5px 9px; font-size: 12px; cursor: pointer; }
.wz-segments button[aria-pressed="true"] { background: var(--bg-card); color: var(--accent); box-shadow: 0 1px 3px #13261a12; font-weight: 600; }
.wz-overview-panels { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; margin-bottom: 20px; }
.wz-overview-panels > .section { margin-bottom: 0; }
.wz-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.wz-section-heading h2 { font-size: 15px; font-weight: 600; }
.wz-subtle { font-size: 12px; color: var(--text-muted); }
.wz-bar-chart { display: flex; gap: 10px; height: 240px; padding: 12px 0 26px; margin-top: 18px; position: relative; }
.wz-chart-y { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; color: var(--text-muted); font-size: 11px; min-width: 30px; }
.wz-bars { flex: 1; display: flex; min-width: 0; background: repeating-linear-gradient(to top, var(--border) 0, var(--border) 1px, transparent 1px, transparent 50%); }
.wz-bar-column { display: flex; align-items: flex-end; flex: 1; min-width: 0; position: relative; padding: 0 2.5px; margin: 0; border: 0; border-radius: 4px 4px 0 0; background: transparent; cursor: pointer; touch-action: pan-y; }
.wz-bar-column[data-active] { background: var(--wz-green-soft); }
.wz-bar-column:focus-visible { outline-offset: -2px; }
.wz-bar { display: block; width: 100%; background: var(--wz-sage); border-radius: 3px 3px 0 0; min-height: 2px; pointer-events: none; }
.wz-bar-column:nth-child(3n) .wz-bar { background: #b9c9a9; }
.wz-bar-column:last-child .wz-bar { background: var(--wz-lime); }
.wz-bar-column[data-active] .wz-bar, .wz-bar-column:focus-visible .wz-bar { background: var(--accent); }
.wz-bar-date { position: absolute; top: 100%; margin-top: 9px; left: 0; font-size: 11px; font-weight: 400; color: var(--text-muted); white-space: nowrap; pointer-events: none; }
.wz-bar-column:last-child .wz-bar-date { left: auto; right: 0; }
.wz-chart-tooltip { position: absolute; z-index: 10; width: max-content; min-width: 190px; max-width: calc(100% - 16px); padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-card); color: var(--text-primary); box-shadow: 0 8px 28px #13261a24; pointer-events: none; }
.wz-chart-tooltip-date { font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; }
.wz-chart-tooltip-row { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; font-size: 12px; }
.wz-chart-tooltip-value { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
.wz-donut { width: 152px; height: 152px; margin: 30px auto; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--wz-sage) var(--online-angle, 0deg), var(--border) 0); }
.wz-donut-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 130px; height: 130px; background: var(--bg-card); border-radius: 50%; }
.wz-donut-inner strong { font-size: 32px; letter-spacing: -1px; }
.wz-donut-inner span { font-size: 11px; color: var(--text-muted); }
.wz-status-row { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; font-size: 12px; border-top: 1px solid var(--border); }
.wz-notice { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 13px 18px; margin-bottom: 20px; background: #faf8ed; border: 1px solid #e9dfb8; border-radius: 10px; color: #8a7128; font-size: 12px; }
[data-theme="dark"] .wz-notice { background: #343123; border-color: #635b36; color: #ddc784; }
.wz-notice a { margin-left: auto; color: inherit; }
.wz-empty { padding: 32px 16px; text-align: center; color: var(--text-muted); font-size: 13px; }
.wz-table-team { color: var(--text-primary); font-weight: 600; }
.wz-overview-table td { height: 58px; }
.wz-overview-table .wz-team-identity { display: flex; align-items: center; gap: 12px; }
.wz-team-group-toggle { display: flex; align-items: center; gap: 12px; border: 0; padding: 0; background: transparent; color: var(--text-primary); cursor: pointer; text-align: left; }
.wz-team-group-toggle .wz-icon { width: 15px; height: 15px; color: var(--text-muted); }
.wz-team-group-toggle[aria-expanded="true"] .wz-icon { transform: rotate(90deg); }
.wz-group-count { padding: 2px 7px; border-radius: 6px; background: var(--wz-green-soft); color: var(--text-secondary); font-size: 12px; font-variant-numeric: tabular-nums; }
.wz-overview-member { background: var(--bg-secondary); }
.wz-overview-member td:first-child { padding-left: 60px; }
.wz-team-avatar { width: 32px; height: 32px; border-radius: 10px; background: var(--bg-secondary); display: grid; place-items: center; color: var(--text-secondary); font-size: 12px; }
.login-box { border-radius: 20px; padding: 38px; background: var(--bg-card); border-color: var(--border); box-shadow: 0 18px 70px #1c382016; }
.login-box h1 { color: var(--text-primary); }
.login-box .subtitle { margin-bottom: 30px; }
.login-box .btn-login { border-radius: 9px; }
.modal-content { background: var(--bg-card); border-radius: 16px; color: var(--text-primary); border-color: var(--border); max-width: calc(100vw - 28px); }
.toast { border-radius: 10px; background: var(--bg-card); color: var(--text-primary); box-shadow: 0 8px 30px #10281818; }
.user-panel {
  --bg: var(--bg-primary); --bg2: var(--bg-secondary); --bg3: var(--border);
  --bg-hover: var(--bg-secondary); --bg-card: inherit; --border: inherit;
  --primary: var(--accent); --secondary: var(--blue); --warning: var(--orange); --error: var(--red);
  --text: var(--text-primary); --text2: var(--text-secondary); --text3: var(--text-muted);
  --border-hover: var(--accent); --radius: 8px; --radius-lg: 14px;
}
.wz-dashboard .user-panel .content { max-width: none; }
.wz-dashboard .user-panel .sub-header { background: transparent; border: 0; padding: 0; margin-bottom: 16px; }
.wz-dashboard .user-panel .toolbar { border: 0; background: transparent; padding: 0 0 14px; gap: 10px; }
.wz-dashboard .user-panel .search-input { width: min(310px, 100%); }
.wz-dashboard .chat-table { border: 1px solid var(--border); background: var(--bg-card); }
.wz-dashboard .msg-scroll { border: 1px solid var(--border); background: var(--bg-card); border-radius: 14px; min-height: 260px; }
.wz-dashboard .send-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; margin-top: 12px; }
.wz-dashboard .msg-toolbar { flex-wrap: wrap; gap: 10px; }
.wz-dashboard .msg-toolbar > div { flex-wrap: wrap; }
.wz-dashboard .msg-chat-title { color: var(--text-primary); }
.wz-dashboard .msg-bubble { background: var(--bg-secondary); border-color: var(--border); color: var(--text-primary); }
.wz-dashboard .stats-header h2 { font-size: 16px; }
.wz-dashboard .btn-logout-bright { background: transparent; color: inherit; }
@media (min-width: 1600px) { .wz-dashboard .content { padding: 30px 36px; } .wz-bar-chart { height: 280px; } }
@media (max-height: 780px) and (min-width: 901px) { .wz-sidebar { padding-top: 16px; } .wz-brand { margin-bottom: 18px; } .wz-sidebar .tab-btn { padding-top: 8px; padding-bottom: 8px; } .wz-nav-label { padding-top: 12px; } }
@media (max-width: 1150px) { :root { --wz-sidebar: 208px; } .wz-dashboard .content { padding: 24px; } .wz-overview-panels { grid-template-columns: minmax(0, 1fr) 235px; } .wz-metric { padding: 18px; } .wz-metric-value { font-size: 29px; } .wz-sidebar { padding-left: 12px; padding-right: 12px; } }
@media (max-width: 900px) {
  .wz-sidebar { transform: translateX(-100%); transition: transform .18s ease; width: 228px; padding-top: 22px; }
  .wz-menu-open .wz-sidebar { transform: none; }
  .wz-menu-toggle { display: inline-grid; place-items: center; width: 38px; height: 36px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-primary); border-radius: 8px; position: absolute; top: 18px; left: 16px; z-index: 5; }
  .wz-menu-open .wz-sidebar-scrim { display: block; position: fixed; inset: 0; border: 0; background: #0b170b60; z-index: 109; }
  .wz-dashboard .content, .wz-dashboard .user-panel .content { margin: 0; padding: 70px 16px 24px !important; }
  .wz-overview-toolbar { margin-top: -52px; margin-left: 48px; margin-bottom: 20px; }
  .wz-overview-metrics { gap: 12px; }
  .wz-overview-panels { gap: 12px; }
  .wz-sidebar .header.wz-sidebar-footer { padding: 16px 6px 0 !important; }
}
@media (max-width: 620px) {
  .wz-overview-metrics { grid-template-columns: 1fr 1fr; }
  .wz-overview-metrics .wz-metric:last-child { grid-column: 1 / -1; min-height: 105px; }
  .wz-metric { min-height: 160px; padding: 16px; }
  .wz-metric-value { font-size: 29px; }
  .wz-metric > .wz-icon { display: none; }
  .wz-metric .wz-segments { flex-wrap: wrap; }
  .wz-overview-panels { grid-template-columns: minmax(0, 1fr); }
  .section { padding: 16px !important; }
  .wz-overview-toolbar .btn { padding: 8px; font-size: 12px; }
  .wz-bar-column { padding-inline: 1.5px; }
  .wz-bar-chart { height: 210px; }
  .wz-team-avatar { display: none; }
  .team-selector { flex-wrap: wrap; }
  .charts-grid { grid-template-columns: minmax(0, 1fr); }
  .workspace-merge-form { grid-template-columns: minmax(0, 1fr); }
  form[id^="form-ai-"] { grid-template-columns: minmax(0, 1fr) !important; }
  .wz-dashboard .user-panel .sub-right { flex-wrap: wrap; }
  .wz-dashboard .msg-toolbar .btn { padding: 5px 7px; }
  .wz-overview-table { min-width: 540px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

.wz-section-heading select { max-width: 220px; }
.wz-sidebar .wz-profile { display: flex; flex-wrap: nowrap; align-items: center; }
.wz-sidebar .wz-profile .user-info { display: flex; flex-direction: column; align-items: flex-start; }
.wz-stats-period { margin-left: auto; }

/* Page structure from the approved standalone prototype. */
.wz-page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 26px; }
.wz-page-heading h1 { margin:0; font-size:30px; font-weight:600; letter-spacing:-.6px; line-height:1.25; }
.wz-page-heading p { margin:7px 0 0; color:var(--text-muted); font-size: 13px; }
.wz-page-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.wz-card { background:var(--bg-card); border:1px solid var(--border); border-radius:16px; overflow:hidden; min-width:0; }
.wz-card-pad { padding:23px; }
.wz-card h2 { font-size:15px; margin:0 0 16px; font-weight:600; }
.wz-card > .table-wrap { border:0; border-radius:0; }
.wz-card .table-wrap table { margin:0; }
.wz-card td, .wz-card th { padding:15px 20px; }
.wz-card .table-wrap td { vertical-align:middle; }
.wz-card .table-wrap tr:last-child td { border-bottom:0; }
.wz-cell-main { display:block; font-weight:600; color:var(--text-primary); }
.wz-cell-sub { display:block; font-size: 12px; margin-top:4px; color:var(--text-muted); }
.wz-table-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 20px; border-bottom:1px solid var(--border); }
.wz-search { display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); min-width:0; }
.wz-search input[type="search"] { border:0; padding:9px 0; font-size: 12px; min-width:0; width:220px; background:transparent; outline-offset:0; }
.wz-summary-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.wz-summary-card { padding:21px; position:relative; min-height:136px; }
.wz-summary-label { color:var(--text-muted); font-size: 12px; display:block; padding-right:20px; }
.wz-summary-card > .wz-icon { position:absolute; right:20px; top:22px; color:var(--text-muted); }
.wz-summary-card > strong { font-size:32px; font-weight:600; line-height:1.2; display:block; margin:15px 0 10px; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.wz-summary-card > small { font-size: 12px; color:var(--text-muted); }
.wz-summary-card.accent { background:#3c694f; color:#fff; border-color:#3c694f; }
.wz-summary-card.accent :is(.wz-summary-label,.wz-icon,small) { color:#d2dfc3; }
.wz-view-tabs { display:flex; gap:24px; border-bottom:1px solid var(--border); margin-bottom:22px; overflow-x:auto; }
.wz-view-tabs > button { border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text-muted); padding:12px 0 13px; white-space:nowrap; font-size: 13px; cursor:pointer; }
.wz-view-tabs > button[aria-selected="true"] { border-bottom-color:var(--accent); color:var(--accent); font-weight:600; }
.wz-two-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.wz-main-aside { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:20px; align-items:start; }
.wz-three-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.wz-stack { display:flex; flex-direction:column; gap:16px; }
.wz-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.wz-form label, .wz-field { display:flex; flex-direction:column; gap:7px; font-size: 12px; color:var(--text-secondary); min-width:0; }
.wz-form input, .wz-form select { width:100%; }
.wz-form .full { grid-column:1 / -1; }
.wz-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.wz-facts { margin:0; }
.wz-facts > div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--border); font-size: 13px; }
.wz-facts dt { color:var(--text-muted); flex:0 0 35%; }
.wz-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.wz-drawer { position:fixed; inset:0 0 0 auto; margin:0; width:min(540px,100vw); height:100dvh; max-width:100vw; max-height:100dvh; border:0; border-left:1px solid var(--border); background:var(--bg-card); color:var(--text-primary); padding:0; box-shadow:-15px 0 70px #14251b18; }
.wz-drawer::backdrop { background:#10211750; }
.wz-drawer-heading { padding:24px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; background:var(--bg-card); z-index:1; }
.wz-drawer-heading h2 { margin:0; font-size:20px; }
.wz-drawer-body { padding:24px; }
.wz-drawer .wz-icon-button:hover { background:var(--bg-secondary); }
.wz-drawer-body form { display:flex !important; flex-direction:column; align-items:stretch !important; gap:16px !important; }
.wz-drawer-body form > div { width:100%; }
.wz-drawer-body .btn { white-space:normal; }
.wz-drawer-body .wz-form-actions { flex-wrap:wrap; }
.wz-empty-state { display:grid; place-items:center; align-content:center; gap:10px; padding:48px 20px; min-height:180px; color:var(--text-muted); text-align:center; }
.wz-empty-state strong { color:var(--text-primary); font-size:15px; }
.wz-toolbar-status { color:var(--text-muted); font-size: 12px; margin-left:auto; }
.wz-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.wz-model { padding:22px; }
.wz-model h3 { margin:16px 0 7px; font-size:16px; }
.wz-model code { font-size: 12px; color:var(--text-muted); overflow-wrap:anywhere; }
.wz-model-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border); padding-top:16px; margin-top:20px; }
.wz-tag-list { display:flex; gap:6px; flex-wrap:wrap; margin:15px 0; }
.wz-flow { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; margin:24px 0; }
.wz-flow-node { background:var(--bg-secondary); border:1px solid var(--border); border-radius:12px; padding:20px; min-width:0; }
.wz-page-card-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--border); }
.wz-page-card-heading h2 { margin:0; }
.wz-chart-card { padding:22px; }
.wz-chart-card canvas { max-height:260px; }
.wz-rank { display:flex; gap:12px; padding:12px 0; font-size: 13px; border-bottom:1px solid var(--border); }
.wz-rank > span { color:var(--text-muted); width:16px; }
.wz-rank > div { flex:1; min-width:0; }
.wz-rank strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.wz-progress { height:5px; background:var(--bg-secondary); border-radius:3px; margin-top:10px; overflow:hidden; }
.wz-progress > i { display:block; height:100%; background:#8ca58b; border-radius:3px; }
@media(max-width:1150px) { .wz-main-aside { grid-template-columns:minmax(0,1fr) 245px; } .wz-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .wz-page-heading { align-items:flex-start; flex-wrap:wrap; } .wz-page-heading h1 { font-size:25px; } .wz-three-columns { grid-template-columns:1fr; } }
@media(max-width:620px) {
 .wz-summary-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .wz-summary-card { padding:16px; } .wz-summary-card > strong { font-size:27px; }
 .wz-two-columns,.wz-main-aside,.wz-model-grid { grid-template-columns:minmax(0,1fr); }
 .wz-card-pad,.wz-chart-card { padding:17px; } .wz-form { grid-template-columns:1fr; }
 .wz-table-toolbar { padding:13px 16px; } .wz-search { flex:1; } .wz-search input[type="search"] { width:100%; }
 .wz-page-actions { justify-content:flex-start; } .wz-flow { grid-template-columns:1fr; } .wz-flow > .wz-icon { transform:rotate(90deg); }
}
/* Calendar and directional merge follow the approved page composition. */
.wz-card-heading{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}
.wz-card-heading h2,.wz-card-pad h2,.wz-table-toolbar h2{font-size:16px;margin:0;color:var(--text-primary)}
.wz-card-heading>span,.wz-muted{font-size: 13px;line-height:1.6;color:var(--text-muted)}
.wz-calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}
.wz-calendar{padding:0 20px 24px;min-width:0}.wz-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wz-weekday{text-align:center;padding:8px;color:var(--text-muted);font-size: 12px}
.wz-calendar-day{min-height:72px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;border:1px solid var(--border);background:var(--bg-card);border-radius:9px;color:var(--text-primary);padding:10px;cursor:pointer;font:inherit}
.wz-calendar-day span{font-size: 12px;color:var(--text-muted)}.wz-calendar-day strong{align-self:flex-end;font-size:17px}.wz-calendar-day.has-contacts{background:var(--wz-green-soft,#edf3eb)}.wz-calendar-day[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.wz-calendar-day:disabled{opacity:.4;cursor:default}
.wz-calendar-summary{border-left:1px solid var(--border);min-width:0}.wz-calendar-total{padding:20px 24px;display:flex;gap:12px;align-items:baseline}.wz-calendar-total strong{font-size:32px}.wz-calendar-total span{font-size: 13px;color:var(--text-muted)}
.wz-calendar-teams{padding:0 24px 24px;max-height:355px;overflow:auto}.wz-calendar-teams>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size: 13px}.wz-calendar-teams>div>span{overflow-wrap:anywhere}
.wz-detail-table{padding:20px 24px;border-top:1px solid var(--border)}.wz-detail-table>summary{cursor:pointer;color:var(--text-secondary);font-size: 13px;margin-bottom:14px}
.wz-merge-form{display:flex;flex-direction:column;gap:20px}.wz-merge-flow{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:20px;align-items:center}.wz-merge-node{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--bg-input);border:1px solid var(--border);border-radius:12px}.wz-merge-node strong{font-size:18px}.wz-merge-arrow{text-align:center;font-size:26px;color:var(--accent)}
.wz-merge-form>button{align-self:flex-start}.wz-merge-node input{width:100%;box-sizing:border-box}
@media(max-width:900px){.wz-calendar-layout{grid-template-columns:1fr}.wz-calendar-summary{border-left:0;border-top:1px solid var(--border)}}
@media(max-width:620px){.wz-card-heading{padding:18px;flex-wrap:wrap}.wz-calendar{padding:0 10px 14px}.wz-calendar-day{padding:6px;min-height:58px}.wz-calendar-day strong{font-size:14px}.wz-merge-flow{grid-template-columns:1fr}.wz-merge-arrow{transform:rotate(90deg)}}
.wz-stats-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.wz-stats-layout #stats-content{display:contents}.wz-stats-layout .wz-summary-cards,.wz-stats-wide,.wz-metric-note{grid-column:1/-1}.wz-stats-main{min-width:0}.wz-now-aside{grid-column:2;grid-row:2;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;margin:0!important}.wz-now-aside .nw-item{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.wz-now-aside .nw-val{font-size:32px!important}.wz-now-aside .nw-label{font-size: 13px!important}.wz-now-aside .nw-sep{width:100%!important;height:1px!important;background:var(--border)}.wz-card canvas{max-width:100%;max-height:340px}.wz-three-columns canvas{max-height:240px}
.user-panel .stats-summary{display:block}.user-panel .stats-grid.wz-member-stats{grid-template-columns:minmax(0,1fr) 300px;gap:20px}
.user-panel .wz-conversations{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 180px);min-height:460px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.user-panel .wz-conversations[hidden]{display:none!important}
.user-panel .wz-chat-list-pane{min-width:0;height:100%;border-right:1px solid var(--border);overflow:auto}.wz-chat-list-heading{display:flex;align-items:baseline;justify-content:space-between;padding:22px 20px;border-bottom:1px solid var(--border)}.wz-chat-list-heading h2{font-size:16px;margin:0}
.user-panel .mobile-chat-list{display:block!important}.user-panel .mcl-item{padding:16px;cursor:pointer;border-bottom:1px solid var(--border);min-width:0;display:flex;gap:12px;align-items:center}.user-panel .mcl-item.selected{background:var(--bg-input);box-shadow:inset 3px 0 var(--accent)}.user-panel .mcl-body{min-width:0}.user-panel .mcl-avatar{width:38px;height:38px;font-size:15px;flex-shrink:0}.user-panel .mcl-name{font-size: 14px}.user-panel .mcl-preview{font-size: 12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-panel .mcl-dots{display:block;border:0;background:transparent;color:var(--text-muted);font-size:23px;cursor:pointer}
.user-panel .wz-conversations #view-messages{height:100%;min-width:0;border:0;border-radius:0;margin:0;overflow:hidden;flex-direction:column}.user-panel .wz-conversations .msg-toolbar{flex-wrap:wrap;padding:14px 18px;gap:12px;flex-shrink:0}.user-panel .wz-conversations .msg-toolbar>div{flex-wrap:wrap}.user-panel .wz-conversations .msg-scroll{flex:1;min-height:0;overflow:auto;background:var(--bg-primary);padding:24px}.user-panel .wz-conversations .send-box{flex-shrink:0;flex-wrap:wrap;border-top:1px solid var(--border);padding:16px}.user-panel .wz-conversation-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text-muted);gap:12px}.user-panel .wz-conversation-empty[hidden]{display:none}.wz-conversation-empty .wz-icon{width:48px;height:48px}.wz-conversation-empty h2{color:var(--text-primary);font-size:20px;margin:0}
@media(min-width:761px){.user-panel .bottom-sheet-overlay{align-items:stretch;justify-content:flex-end}.user-panel .bottom-sheet{height:100%;max-height:100%;width:430px;max-width:100%;border-radius:0;padding:24px;transform:translateX(100%)}.user-panel .bottom-sheet.bs-open{transform:translateX(0)}}
@media(max-width:1000px){.wz-stats-layout,.user-panel .stats-grid.wz-member-stats{grid-template-columns:minmax(0,1fr) 240px}.user-panel .wz-conversations{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:760px){.wz-stats-layout,.user-panel .stats-grid.wz-member-stats{grid-template-columns:minmax(0,1fr)}.wz-now-aside{grid-column:1;grid-row:auto}.user-panel .wz-conversations{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 230px);min-height:420px}.user-panel .wz-conversations #view-chats{display:block!important;border:0}.user-panel .wz-conversations[data-view=messages] #view-chats{display:none!important}.user-panel .wz-conversation-empty{display:none}.user-panel .wz-conversations .msg-toolbar{padding:10px;gap:6px}.user-panel .wz-conversations .msg-scroll{padding:12px}.user-panel .wz-conversations .send-box{padding:10px}.user-panel .wz-conversations .send-input{min-width:120px}}
#login-screen.login-container{min-height:100dvh;padding:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:var(--bg-primary)}.wz-login-intro{background:#192a21;color:#fff;padding:48px 9%;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;box-sizing:border-box}.wz-login-intro .wz-brand{padding:0;color:#fff;pointer-events:none}.wz-login-intro h2{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-2px;margin:24px 0;color:#f6f8f2}.wz-login-intro p{font-size:17px;line-height:1.7;color:#a8b9ad}.wz-login-eyebrow,.wz-login-caption{font-size: 12px;letter-spacing:2px;color:#b4cc9e}.wz-login-caption{letter-spacing:0;color:#8b9d91}#login-screen .login-box{align-self:center;justify-self:center;width:min(390px,80%);padding:40px 0;box-shadow:none;background:none;border:0;text-align:left}#login-screen .login-box h1{font-size:30px;letter-spacing:-.8px;margin:0 0 12px}#login-screen .login-box .subtitle{text-align:left;margin-bottom:36px}#login-screen .login-box .form-group{margin-bottom:22px}#login-screen .login-box label{font-size: 13px;text-transform:none}#login-screen .login-box input{padding:14px;border-radius:8px}#login-screen .btn-login{padding:14px;border-radius:8px}#login-screen .wz-brand{display:flex}
@media(max-width:760px){#login-screen.login-container{grid-template-columns:1fr}.wz-login-intro{min-height:auto;padding:28px;gap:30px}.wz-login-intro>div:nth-child(2),.wz-login-caption{display:none}#login-screen .login-box{width:min(390px,calc(100% - 48px));padding:32px 0;align-self:start}}
.wz-card table td{border-bottom:1px solid var(--border)!important}.wz-admins-table{table-layout:fixed}.wz-admins-table th:first-child{width:22%}.wz-admins-table th:nth-child(2){width:18%}.wz-admins-table th:last-child{width:64px}.wz-admins-table td{white-space:normal!important;overflow-wrap:anywhere}.wz-admin-team-tags{display:flex;flex-wrap:wrap;gap:8px}.wz-drawer .wz-admin-team-tags .team-tag{display:inline-flex;gap:6px;align-items:center}
.user-panel .sub-header{display:block!important;margin:0!important;padding:0!important}.user-panel .sub-header .wz-page-heading{margin-bottom:20px;width:100%}.user-panel .toolbar.wz-table-toolbar{margin-bottom:20px;border:0;padding:0;background:none}.user-panel .toolbar.wz-table-toolbar .search-input{flex:1;min-width:140px}.user-panel .toolbar .toolbar-select{max-width:200px}.user-panel .wz-conversations{height:calc(100dvh - 206px)}
@media(max-width:760px){.user-panel .toolbar.wz-table-toolbar{flex-wrap:wrap}.user-panel .toolbar .toolbar-select{max-width:calc(50% - 8px);flex:1}.user-panel .wz-conversations{height:calc(100dvh - 290px)}}
#login-screen.login-container[style*="display: flex"],#login-screen.login-container[style*="display:flex"]{display:grid!important}
.user-panel .sub-header[style*="display: none"],.user-panel .sub-header[style*="display:none"]{display:none!important}

/* Keep legacy role styles and inline metadata on the shared type scale. */
.wz-dashboard :is(button,input,select,textarea) { font-family:var(--wz-font); }
.wz-dashboard .td-mono, .wz-dashboard .team-tag { font-family:var(--wz-font); font-variant-numeric:tabular-nums; }
.wz-dashboard .team-tag { font-size:12px; }
.wz-dashboard .btn, .wz-dashboard .hdr-btn, .wz-dashboard .hdr-btn-outline { font-size:13px; font-weight:500; line-height:1.4; }
.wz-dashboard .badge, .wz-dashboard .wz-avatar { font-size:11px; }
.wz-dashboard .wz-summary-label, .wz-dashboard .wz-metric-label { font-size:13px; }
.wz-dashboard .wz-view-tabs > button { font-size:14px; }
.wz-dashboard :is(.wz-cell-sub,.wz-muted,.wz-subtle,.wz-toolbar-status) { line-height:1.5; }
.wz-dashboard td [style*="font-size:11px"], .wz-dashboard td [style*="font-size: 11px"], .wz-drawer label[style*="font-size:11px"] { font-size:12px!important; }
.user-panel .msg-bubble { font-size:14px; line-height:1.55; }
.user-panel .mcl-name { font-size:14px; font-weight:500; }
.user-panel .mcl-preview { font-size:12px; }
.user-panel .mcl-time, .user-panel .msg-time { font-size:11px; }
