﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
  color: #0366d6;
}

.btn-primary {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
  font-size: 14px;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.border-top {
  border-top: 1px solid #e5e5e5;
}
.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
  font-size: 1rem;
  line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}

body {
  margin: 0;
}
.footer {
  width: 100%;
}

:root {
  --primary: #17324d;
  --primary-hover: #10263a;
  --secondary: #617181;
  --success: #287a58;
  --danger: #b33a3a;
  --warning: #b87816;
  --background: #eef2f5;
  --surface: #ffffff;
  --text-primary: #17212b;
  --text-secondary: #657381;
  --border: #dbe2e8;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.auth-page {
  min-height: 100vh;
  margin: 0;
  background: var(--background);
  color: var(--text-primary);
}

.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.auth-panel {
  width: min(100%, 430px);
  padding: 40px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(23, 50, 77, .08);
}

.auth-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--border);
}

.auth-mark {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
}

.auth-brand h1 {
  margin: 0 0 3px;
  font-size: 21px;
  font-weight: 700;
}

.auth-brand p,
.auth-heading p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
}

.auth-heading {
  margin: 28px 0 24px;
}

.auth-heading h2 {
  margin-bottom: 6px;
  font-size: 24px;
  font-weight: 650;
}

.auth-panel .form-control {
  min-height: 46px;
  border-color: var(--border);
}

.auth-panel .form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 .2rem rgba(23, 50, 77, .12);
}

.auth-submit {
  min-height: 46px;
  font-weight: 600;
}

.validation-summary-valid {
  display: none;
}

/* Login experience */
.auth-page { min-width: 320px; overflow-x: hidden; background: #f7f8f8; }
.auth-shell { display: block; width: 100%; min-height: 100vh; padding: 0; }
.login-experience { display: grid; width: 100vw; max-width: none; min-height: 100vh; margin: 0; grid-template-columns: minmax(420px, .95fr) minmax(500px, 1.05fr); }
.login-showcase { position: relative; display: flex; min-height: 100vh; flex-direction: column; overflow: hidden; padding: 46px clamp(38px, 5vw, 76px); background: #1f2927; color: #fff; }
.login-showcase::after { position: absolute; right: -95px; bottom: -105px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.login-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; }
.login-logo { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 7px; background: #dbe9e2; color: #226148; font-size: 20px; font-weight: 800; }
.login-brand div { display: grid; gap: 1px; }
.login-brand strong { font-size: 17px; letter-spacing: 0; }
.login-brand span { color: #aebbb7; font-size: 11px; }
.login-showcase-copy { position: relative; z-index: 1; max-width: 610px; margin: clamp(64px, 10vh, 120px) 0 42px; }
.login-eyebrow { display: block; margin-bottom: 14px; color: #3d765e; font-size: 11px; font-weight: 750; letter-spacing: 0; text-transform: uppercase; }
.login-showcase .login-eyebrow { color: #8fc4aa; }
.login-showcase h1 { margin: 0 0 20px; font-size: clamp(38px, 4.2vw, 64px); font-weight: 650; line-height: 1.08; letter-spacing: 0; }
.login-showcase-copy p { max-width: 540px; margin: 0; color: #bdc8c5; font-size: 15px; line-height: 1.75; }
.login-preview { position: relative; z-index: 1; width: min(100%, 560px); margin-top: auto; border: 1px solid rgba(255,255,255,.13); background: #283431; }
.login-preview-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid rgba(255,255,255,.1); color: #aebbb7; font-size: 11px; }
.login-preview-head strong { color: #fff; font-size: 11px; }
.login-preview-row { display: grid; grid-template-columns: 50px 1fr 8px; align-items: center; gap: 13px; padding: 12px 17px; border-bottom: 1px solid rgba(255,255,255,.08); }
.login-preview-row:last-child { border-bottom: 0; }
.login-preview-row time { color: #91c6ac; font-size: 11px; font-weight: 700; }
.login-preview-row span { display: grid; gap: 2px; min-width: 0; }
.login-preview-row strong { overflow: hidden; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.login-preview-row small { color: #94a29e; font-size: 9px; }
.login-preview-row i { width: 7px; height: 7px; border-radius: 50%; background: #d68252; }
.login-showcase footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; margin-top: 27px; color: #94a29e; font-size: 10px; }
.login-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #62aa83; box-shadow: 0 0 0 4px rgba(98,170,131,.12); }
.login-form-side { display: grid; place-items: center; padding: 48px clamp(32px, 7vw, 104px); background: #f7f8f8; }
.login-form-wrap { width: min(100%, 440px); }
.login-mobile-brand { display: none; }
.login-form-wrap .auth-heading { margin: 0 0 34px; }
.login-form-wrap .auth-heading h2 { margin: 0 0 10px; color: #18211f; font-size: 34px; font-weight: 700; letter-spacing: 0; }
.login-form-wrap .auth-heading p { max-width: 390px; color: #6d7875; font-size: 13px; line-height: 1.6; }
.login-field { margin-bottom: 20px; }
.login-field .form-label { margin-bottom: 8px; color: #28332f; font-size: 12px; font-weight: 700; }
.login-input-wrap { position: relative; }
.login-form-wrap .form-control { min-height: 52px; padding: 12px 72px 12px 46px; border: 1px solid #d7ddda; border-radius: 6px; background: #fff; color: #18211f; font-size: 13px; }
.login-form-wrap .form-control::placeholder { color: #9aa4a0; }
.login-form-wrap .form-control:focus { border-color: #3d765e; box-shadow: 0 0 0 3px rgba(61,118,94,.11); }
.login-input-icon { position: absolute; z-index: 2; top: 17px; left: 17px; width: 17px; height: 17px; color: #71807a; pointer-events: none; }
.login-user-icon::before { position: absolute; top: 0; left: 5px; width: 7px; height: 7px; border: 1.7px solid currentColor; border-radius: 50%; content: ""; }
.login-user-icon::after { position: absolute; bottom: 0; left: 2px; width: 13px; height: 7px; border: 1.7px solid currentColor; border-bottom: 0; border-radius: 8px 8px 0 0; content: ""; }
.login-lock-icon::before { position: absolute; top: 0; left: 4px; width: 10px; height: 9px; border: 1.7px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; content: ""; }
.login-lock-icon::after { position: absolute; right: 1px; bottom: 0; left: 1px; height: 11px; border: 1.7px solid currentColor; border-radius: 3px; content: ""; }
.login-password-toggle { position: absolute; z-index: 2; top: 50%; right: 12px; padding: 7px; transform: translateY(-50%); border: 0; background: transparent; color: #3d765e; font-size: 11px; font-weight: 700; }
.login-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 4px 0 26px; }
.login-options .form-check { margin: 0; }
.login-options label, .login-options > span { color: #6d7875; font-size: 11px; }
.login-options .form-check-input:checked { border-color: #326a52; background-color: #326a52; }
.login-form-wrap .auth-submit { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 0 20px; border-radius: 6px; background: #285f49; border-color: #285f49; font-size: 13px; }
.login-form-wrap .auth-submit:hover { background: #1e4d3a; border-color: #1e4d3a; }
.login-form-wrap .auth-submit span:last-child { font-size: 19px; font-weight: 400; }
.login-form-wrap .text-danger { display: block; margin-top: 5px; font-size: 10px; }
.login-support { margin: 28px 0 0; color: #89938f; font-size: 10px; line-height: 1.5; text-align: center; }

@media (max-width: 900px) {
  .login-experience { grid-template-columns: minmax(320px, .8fr) minmax(420px, 1.2fr); }
  .login-showcase { padding: 38px 32px; }
  .login-showcase h1 { font-size: 38px; }
  .login-preview { display: none; }
}

@media (max-width: 700px) {
  .login-experience { display: block; min-height: 100vh; }
  .login-showcase { display: none; }
  .login-form-side { min-height: 100vh; padding: 34px 24px; place-items: center; }
  .login-mobile-brand { display: flex; align-items: center; gap: 12px; margin-bottom: clamp(50px, 10vh, 90px); color: #1f2927; font-size: 16px; }
  .login-mobile-brand .login-logo { width: 40px; height: 40px; flex-basis: 40px; }
  .login-form-wrap .auth-heading h2 { font-size: 29px; }
}

/* Cinematic login variant */
.login-experience { width: 100vw; grid-template-columns: minmax(0, 68%) minmax(420px, 32%); }
.login-preview { display: none !important; }
.login-showcase { padding: 34px 48px; background: #060a08 url('/images/auth/macxmeet-building-night.png') center center / cover no-repeat; }
.login-showcase::after { display: none; }
.login-image-shade { position: absolute; z-index: 0; inset: 0; background: rgba(2,6,4,.46); }
.login-brand { z-index: 2; }
.login-brand .login-logo { width: 38px; height: 38px; flex-basis: 38px; background: #98ef24; color: #0a150d; font-size: 17px; }
.login-brand div { line-height: 1; }
.login-brand strong { color: #fff; font-size: 18px; font-weight: 800; }
.login-brand strong span { color: #98ef24; }
.login-brand small { margin-top: 6px; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 650; }
.login-live { position: absolute; z-index: 2; top: 36px; right: 46px; display: flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(3,8,5,.45); color: rgba(255,255,255,.72); font-size: 8px; font-weight: 700; }
.login-live i { width: 6px; height: 6px; border-radius: 50%; background: #98ef24; box-shadow: 0 0 10px #98ef24; }
.login-showcase-copy { z-index: 2; max-width: 560px; margin: auto 0; }
.login-showcase .login-eyebrow { margin-bottom: 18px; color: #98ef24; font-size: 10px; }
.login-showcase .login-eyebrow::before { display: inline-block; width: 22px; height: 2px; margin-right: 10px; background: #98ef24; vertical-align: middle; content: ""; }
.login-showcase h1 { max-width: 540px; margin-bottom: 18px; font-size: clamp(44px, 4.3vw, 72px); font-weight: 720; line-height: .98; }
.login-showcase h1 em { color: #98ef24; font-style: normal; }
.login-showcase-copy p { max-width: 510px; color: rgba(255,255,255,.67); font-size: 13px; line-height: 1.65; }
.login-capabilities { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.login-capabilities span { display: flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; background: rgba(4,9,6,.43); color: rgba(255,255,255,.78); font-size: 9px; font-weight: 650; }
.login-capabilities i { color: #98ef24; font-style: normal; }
.login-showcase > footer { z-index: 2; display: flex; justify-content: space-between; margin-top: 0; color: rgba(255,255,255,.38); font-size: 7px; }
.login-showcase > footer strong { color: rgba(152,239,36,.55); font-weight: 600; }
.login-form-side { position: relative; padding: 48px clamp(42px, 4.5vw, 82px); background: #fbfcfa; }
.login-form-side::before { position: absolute; top: 0; left: 0; width: 2px; height: 100%; background: #98ef24; content: ""; }
.login-form-wrap { width: min(100%, 390px); }
.login-form-wrap .auth-heading { margin-bottom: 30px; }
.login-form-wrap .auth-heading .login-eyebrow { display: inline-flex; margin-bottom: 16px; padding: 6px 9px; border: 1px solid #dcedc7; border-radius: 5px; background: #f2fbe7; color: #588329; font-size: 8px; }
.login-form-wrap .auth-heading h2 { font-size: 32px; font-weight: 740; }
.login-form-wrap .auth-heading p { font-size: 11px; }
.login-field { margin-bottom: 17px; }
.login-field .form-label { font-size: 9px; text-transform: uppercase; }
.login-form-wrap .form-control { min-height: 48px; border-color: #dce2dc; background: #edf2fa; font-size: 12px; }
.login-form-wrap .form-control:focus { border-color: #8be71e; box-shadow: 0 0 0 3px rgba(139,231,30,.14); }
.login-form-wrap .auth-submit { min-height: 49px; border: 0; background: #84e900; color: #15200e; font-size: 10px; font-weight: 800; box-shadow: 0 10px 24px rgba(101,188,0,.19); }
.login-form-wrap .auth-submit:hover { background: #76d300; color: #101a09; }
.login-options { margin-bottom: 24px; }
.login-options label, .login-options > span { font-size: 9px; }
.login-support { margin-top: 18px; color: #8ba673; font-size: 8px; }
.login-form-footer { margin-top: 54px; padding-top: 14px; border-top: 1px solid #e7ebe6; color: #a3aaa5; font-size: 7px; text-align: center; }

@media (max-width: 980px) {
  .login-experience { grid-template-columns: minmax(0, 57%) minmax(420px, 43%); }
  .login-showcase h1 { font-size: 46px; }
}

@media (max-width: 700px) {
  .login-experience { display: block; }
  .login-form-side { background: #fbfcfa; }
  .login-form-side::before { width: 100%; height: 3px; }
  .login-mobile-brand .login-logo { background: #84e900; color: #14200e; }
  .login-form-footer { margin-top: 38px; }
}

@media (max-width: 575.98px) {
  .auth-shell { padding: 0; }
  .auth-panel {
    min-height: 100vh;
    padding: 32px 24px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

.app-body {
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--background);
  color: var(--text-primary);
}

.app-shell {
  min-height: 100vh;
}

.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1040;
  display: flex;
  width: 264px;
  flex-direction: column;
  overflow: hidden;
  background: #142638;
  color: #dce5ec;
  transition: transform .2s ease;
}

.sidebar-brand {
  display: flex;
  min-height: 76px;
  align-items: center;
  padding: 14px 16px 14px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.brand-link {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
}

.brand-link:hover { color: #fff; }

.brand-mark {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: #f1f5f7;
  color: #142638;
  font-size: 19px;
  font-weight: 750;
}

.brand-copy {
  display: grid;
  min-width: 0;
}

.brand-copy strong {
  font-size: 17px;
  letter-spacing: 0;
}

.brand-copy small {
  overflow: hidden;
  color: #9fb0bf;
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-nav {
  flex: 1;
  overflow-y: auto;
  padding: 14px 12px 20px;
  scrollbar-width: thin;
}

.nav-section-label {
  display: block;
  margin: 16px 10px 7px;
  color: #8195a6;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.nav-section-label:first-child { margin-top: 2px; }

.sidebar-link {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 12px;
  margin: 2px 0;
  padding: 8px 11px;
  border-radius: 6px;
  color: #c7d2dc;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.sidebar-link:hover,
.sidebar-link.active {
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.sidebar-link.active {
  box-shadow: inset 3px 0 0 #57a783;
}

.sidebar-link.is-disabled {
  cursor: default;
}

.nav-icon {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 5px;
  color: #aebdca;
  font-size: 10px;
  font-weight: 700;
}

.nav-icon-plus { font-size: 17px; }

.sidebar-footer {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 9px;
  padding: 0 22px;
  border-top: 1px solid rgba(255, 255, 255, .09);
  color: #9fb0bf;
  font-size: 12px;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #57a783;
  box-shadow: 0 0 0 3px rgba(87, 167, 131, .14);
}

.app-workspace {
  display: flex;
  min-height: 100vh;
  margin-left: 264px;
  flex-direction: column;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 32px;
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, .97);
}

.header-left,
.header-actions {
  display: flex;
  align-items: center;
}

.header-left { min-width: 0; flex: 1; gap: 14px; }
.header-actions { gap: 12px; }

.icon-button {
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #fff;
  color: var(--text-primary);
}

.icon-button:hover { background: #f4f7f9; }
.sidebar-close, .menu-button { display: none; }

.global-search {
  position: relative;
  width: min(100%, 560px);
}

.global-search input {
  width: 100%;
  height: 42px;
  padding: 0 66px 0 42px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #f7f9fa;
  color: var(--text-primary);
  outline: none;
}

.global-search input:focus {
  border-color: #7890a5;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(23, 50, 77, .08);
}

.global-search kbd {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 6px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text-secondary);
  font-family: inherit;
  font-size: 10px;
  font-weight: 500;
}

.search-symbol {
  position: absolute;
  z-index: 1;
  top: 13px;
  left: 15px;
  width: 14px;
  height: 14px;
  border: 2px solid #71808d;
  border-radius: 50%;
}

.search-symbol::after {
  position: absolute;
  right: -5px;
  bottom: -3px;
  width: 6px;
  height: 2px;
  background: #71808d;
  content: "";
  transform: rotate(45deg);
}

.notification-button { position: relative; }

.bell-symbol {
  width: 15px;
  height: 17px;
  border: 2px solid #566674;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
  border-bottom: 0;
}

.notification-count {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--danger);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
}

.profile-button {
  display: flex;
  max-width: 250px;
  height: 48px;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 4px 5px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  text-align: left;
}

.profile-button:hover { background: #f4f7f9; }

.profile-avatar {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 7px;
  background: #dbe7e1;
  color: #205b43;
  font-weight: 700;
}

.profile-copy {
  display: grid;
  min-width: 0;
  line-height: 1.3;
}

.profile-copy strong,
.profile-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-copy strong { font-size: 13px; }
.profile-copy small { color: var(--text-secondary); font-size: 11px; }

.dropdown-chevron {
  width: 8px;
  height: 8px;
  margin-left: 3px;
  border-right: 1px solid #657381;
  border-bottom: 1px solid #657381;
  transform: rotate(45deg) translateY(-2px);
}

.profile-menu {
  width: 230px;
  border-color: var(--border);
  border-radius: 7px;
  box-shadow: 0 12px 30px rgba(23, 33, 43, .12);
}

.app-content {
  width: 100%;
  max-width: 1600px;
  min-height: calc(100vh - 129px);
  margin: 0 auto;
  padding: 30px 32px 44px;
}

.app-footer {
  display: flex;
  min-height: 53px;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  border-top: 1px solid var(--border);
  background: #fff;
  color: var(--text-secondary);
  font-size: 11px;
}

.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.page-heading h1 {
  margin: 0 0 5px;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 0;
}

.page-heading p { margin: 0; color: var(--text-secondary); }
.page-heading .eyebrow { margin-bottom: 6px; color: #2d7054; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.page-heading .btn { min-height: 42px; border-radius: 7px; }
.button-plus { margin-right: 5px; font-size: 19px; line-height: 0; }

.dashboard-placeholder {
  display: grid;
  min-height: 390px;
  place-items: center;
  border: 1px dashed #c8d2da;
  border-radius: 8px;
  background: rgba(255, 255, 255, .58);
  text-align: center;
}

.placeholder-copy { max-width: 440px; padding: 32px; }
.placeholder-copy h2 { margin: 18px 0 8px; font-size: 20px; }
.placeholder-copy p { margin: 0; color: var(--text-secondary); }
.placeholder-mark {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 0 auto;
  place-items: center;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
  font-size: 21px;
  font-weight: 700;
}

.sidebar-backdrop { display: none; }

@media (max-width: 991.98px) {
  .app-sidebar { transform: translateX(-100%); }
  .app-workspace { margin-left: 0; }
  .menu-button, .sidebar-close { display: grid; }
  .sidebar-close {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-color: rgba(255, 255, 255, .16);
    background: transparent;
    color: #fff;
    font-size: 24px;
  }
  .menu-lines,
  .menu-lines::before,
  .menu-lines::after {
    display: block;
    width: 17px;
    height: 2px;
    background: #435565;
    content: "";
  }
  .menu-lines { position: relative; }
  .menu-lines::before { position: absolute; top: -5px; }
  .menu-lines::after { position: absolute; top: 5px; }
  .sidebar-open .app-sidebar { transform: translateX(0); }
  .sidebar-open .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1030;
    display: block;
    background: rgba(13, 24, 35, .48);
  }
}

@media (max-width: 767.98px) {
  .app-header { min-height: 66px; padding: 0 18px; }
  .global-search kbd { display: none; }
  .global-search input { padding-right: 14px; }
  .profile-copy, .dropdown-chevron { display: none; }
  .profile-button { width: 42px; padding: 2px; }
  .app-content { min-height: calc(100vh - 112px); padding: 24px 18px 34px; }
  .app-footer { min-height: 46px; padding: 0 18px; }
  .app-footer span:last-child { display: none; }
  .page-heading { align-items: flex-start; }
  .page-heading h1 { font-size: 23px; }
}

@media (max-width: 575.98px) {
  .app-sidebar { width: min(88vw, 300px); }
  .header-actions { gap: 5px; }
  .notification-button { display: none; }
  .global-search input::placeholder { color: transparent; }
  .page-heading { display: grid; }
  .page-heading .btn { width: 100%; }
  .dashboard-placeholder { min-height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  .app-sidebar { transition: none; }
}

.data-panel,
.form-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.data-panel { overflow: hidden; }
.data-panel > h2 { margin: 0; padding: 20px 22px; border-bottom: 1px solid var(--border); font-size: 16px; }
.list-toolbar { display: flex; gap: 10px; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.list-toolbar .form-control { max-width: 520px; }
.app-table th { padding: 12px 18px; background: #f6f8f9; color: var(--text-secondary); font-size: 11px; text-transform: uppercase; }
.app-table td { padding: 14px 18px; border-color: #edf0f2; }
.app-table td small { display: block; color: var(--text-secondary); }
.person-link { color: var(--text-primary); font-weight: 650; text-decoration: none; }
.person-link:hover { color: var(--primary); text-decoration: underline; }
.pagination-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; color: var(--text-secondary); font-size: 13px; }
.pagination-bar div { display: flex; gap: 8px; }
.empty-state { padding: 72px 24px; text-align: center; }
.empty-state h2 { font-size: 19px; }
.empty-state p { margin: 0; color: var(--text-secondary); }
.form-panel { max-width: 980px; padding: 4px 28px 0; }
.form-section { padding: 25px 0; border-bottom: 1px solid var(--border); }
.form-section h2 { margin: 0 0 18px; font-size: 16px; }
.form-panel .form-control { min-height: 43px; border-color: var(--border); }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 20px 0; }
.profile-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.profile-identity { display: flex; min-width: 0; align-items: center; gap: 16px; }
.profile-identity h1 { margin: 0; font-size: 26px; }
.profile-identity p { margin: 5px 0 0; color: var(--text-secondary); }
.person-avatar { display: grid; flex: 0 0 58px; width: 58px; height: 58px; place-items: center; border-radius: 8px; background: #dbe7e1; color: #205b43; font-size: 22px; font-weight: 700; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric-grid > div { padding: 18px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.metric-grid span { display: block; margin-bottom: 8px; color: var(--text-secondary); font-size: 12px; }
.metric-grid strong { font-size: 20px; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; }
.detail-list { display: grid; grid-template-columns: 140px 1fr; margin: 0; padding: 20px 22px; gap: 13px 18px; }
.detail-list dt { color: var(--text-secondary); font-weight: 500; }
.detail-list dd { margin: 0; overflow-wrap: anywhere; }
.notes-content { min-height: 120px; margin: 0; padding: 20px 22px; white-space: pre-line; }
.detail-grid .data-panel > hr, .detail-grid .data-panel > form, .detail-grid .data-panel > .small { margin-left: 22px; margin-right: 22px; }
.detail-grid .data-panel > form { margin-bottom: 20px; }
@media (max-width: 991.98px) { .metric-grid { grid-template-columns: repeat(2, 1fr); } .detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) {
  .profile-heading { align-items: flex-start; flex-direction: column; }
  .profile-heading > .d-flex { width: 100%; }
  .profile-heading > .d-flex .btn { flex: 1; }
  .form-panel { padding: 3px 18px 0; }
  .list-toolbar { flex-wrap: wrap; }
  .list-toolbar .form-control { max-width: none; flex: 1 0 100%; }
  .app-table thead { display: none; }
  .app-table, .app-table tbody, .app-table tr, .app-table td { display: block; width: 100%; }
  .app-table tr { padding: 14px 16px; border-bottom: 1px solid var(--border); }
  .app-table td { padding: 4px 0; border: 0; text-align: left !important; }
  .app-table td:last-child { padding-top: 10px; }
}
@media (max-width: 575.98px) { .metric-grid { grid-template-columns: 1fr 1fr; } .detail-list { grid-template-columns: 1fr; gap: 3px; } .detail-list dd { margin-bottom: 10px; } }
.filter-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) 170px 190px auto auto; gap: 10px; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.badge.priority-normal { background:#e8edf1;color:#425260 }.badge.priority-important,.badge.priority-high { background:#fff0d7;color:#825714 }.badge.priority-vip { background:#ede3f5;color:#654379 }.badge.priority-urgent { background:#f8dede;color:#8b2929 }
.badge.status-pending,.badge.status-waiting { background:#fff0d7;color:#825714 }.badge.status-approved { background:#dceee5;color:#246247 }.badge.status-inmeeting { background:#dce8f3;color:#275b83 }.badge.status-completed { background:#e3e9ed;color:#354b5c }.badge.status-cancelled,.badge.status-rejected,.badge.status-noshow { background:#f8dede;color:#8b2929 }.badge.status-postponed { background:#ede3f5;color:#654379 }
.detail-metric-text { display:block; overflow:hidden; font-size:16px !important; text-overflow:ellipsis; white-space:nowrap; }
.privacy-note { margin:0 22px 20px; padding:10px 12px; border-left:3px solid var(--warning); background:#fff8e9; color:#73521e; font-size:13px; }
@media(max-width:991.98px){.filter-toolbar{grid-template-columns:1fr 1fr}.filter-toolbar input:first-child{grid-column:1/-1}}
@media(max-width:575.98px){.filter-toolbar{grid-template-columns:1fr}.filter-toolbar input:first-child{grid-column:auto}}
.conflict-panel { margin:24px 0 4px; padding:18px; border:1px solid #e4c078; border-radius:8px; background:#fff8e9; color:#684b18; }
.conflict-panel h2 { margin:0 0 12px; font-size:17px; }
.conflict-item { display:grid; gap:3px; padding:10px 0; border-bottom:1px solid rgba(184,120,22,.2); }
.conflict-item:last-of-type { border-bottom:0; }
.conflict-item span { font-size:13px; }
.conflict-item a { width:max-content; color:#684b18; font-size:13px; font-weight:650; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.dashboard-metrics a { display:grid; min-height:126px; padding:18px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text-primary); text-decoration:none; }
.dashboard-metrics a:hover { border-color:#aebbc5; box-shadow:0 7px 18px rgba(23,50,77,.06); }
.dashboard-metrics span { color:var(--text-secondary); font-size:12px; font-weight:650; }
.dashboard-metrics strong { margin:6px 0 2px; font-size:30px; line-height:1; }
.dashboard-metrics small { align-self:end; color:#87939d; font-size:10px; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:18px; }
.next-meeting-panel,.today-panel { overflow:hidden; border:1px solid var(--border); border-radius:8px; background:#fff; }
.next-meeting-panel>header,.today-panel>header { display:flex; min-height:76px; align-items:center; justify-content:space-between; padding:15px 20px; border-bottom:1px solid var(--border); }
.next-meeting-panel h2,.today-panel h2 { margin:3px 0 0; font-size:17px; }
.section-kicker { color:var(--text-secondary); font-size:10px; font-weight:700; text-transform:uppercase; }
.live-indicator { padding:5px 8px; border-radius:5px; background:#e1efe8; color:#286147; font-size:10px; font-weight:700; }
.next-meeting-time { display:flex; align-items:baseline; gap:14px; padding:24px 22px 8px; }
.next-meeting-time strong { font-size:38px; line-height:1; }
.next-meeting-time span { color:#287a58; font-size:13px; font-weight:650; }
.next-meeting-person { padding:8px 22px 18px; border-bottom:1px solid var(--border); }
.next-meeting-person h3 { margin:0; font-size:21px; }.next-meeting-person p { margin:4px 0 0; color:var(--text-secondary); }
.next-meeting-details { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:18px 22px; gap:16px; }
.next-meeting-details div { min-width:0; }.next-meeting-details dt { margin-bottom:4px; color:var(--text-secondary); font-size:10px; text-transform:uppercase; }.next-meeting-details dd { margin:0; overflow-wrap:anywhere; }
.next-meeting-actions { display:flex; gap:9px; padding:0 22px 22px; }
.next-empty { min-height:310px; padding:80px 28px; text-align:center; }.next-empty h3{font-size:18px}.next-empty p{color:var(--text-secondary)}
.today-panel>header a { font-size:12px; font-weight:650; text-decoration:none; }
.schedule-list { margin:0; padding:8px 0; list-style:none; }
.schedule-list li { display:grid; grid-template-columns:52px 12px minmax(0,1fr) auto; min-height:68px; align-items:center; gap:10px; padding:8px 18px; }
.schedule-list li.is-next { background:#f2f7f4; }.schedule-list time { font-size:14px; font-weight:700; }.schedule-line { width:8px; height:8px; border:2px solid #8ea0ae; border-radius:50%; }.is-next .schedule-line { border-color:#287a58; background:#287a58; }
.schedule-list a { display:block; overflow:hidden; color:var(--text-primary); font-weight:650; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }.schedule-list small { display:block; overflow:hidden; color:var(--text-secondary); text-overflow:ellipsis; white-space:nowrap; }.schedule-list .badge { max-width:112px; overflow:hidden; text-overflow:ellipsis; }
.schedule-empty { padding:80px 24px; color:var(--text-secondary); text-align:center; }
@media(max-width:1199.98px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-metrics a{min-height:105px}.schedule-list li{grid-template-columns:45px 10px minmax(0,1fr)}.schedule-list .badge{display:none}}
@media(max-width:575.98px){.dashboard-heading{align-items:stretch}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-metrics a:first-child{grid-column:1/-1}.next-meeting-details{grid-template-columns:1fr}.next-meeting-actions{display:grid}.next-meeting-time strong{font-size:32px}}
.calendar-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }.calendar-heading h1{margin:0 0 5px;font-size:27px}.calendar-heading p{margin:0;color:var(--text-secondary)}
.calendar-shell { overflow:hidden; border:1px solid var(--border); border-radius:8px; background:#fff; }
.calendar-event[draggable="true"] { cursor:grab; }
.calendar-event.is-dragging { opacity:.35; cursor:grabbing; }
.agenda-slot.is-drop-target,.month-day.is-drop-target { background:#e5f3eb; box-shadow:inset 0 0 0 2px #3f8061; }
.calendar-toolbar { display:flex; min-height:72px; align-items:center; justify-content:space-between; gap:18px; padding:12px 16px; border-bottom:1px solid var(--border); }
.calendar-navigation { display:flex; min-width:0; align-items:center; gap:8px; }.calendar-navigation h2 { margin:0 0 0 10px; overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.calendar-navigation .icon-button { font-size:24px; line-height:1; }.calendar-modes { display:flex; padding:3px; border:1px solid var(--border); border-radius:7px; background:#f4f7f8; }
.calendar-modes button { min-width:74px; height:34px; padding:0 12px; border:0; border-radius:5px; background:transparent; color:var(--text-secondary); font-size:12px; font-weight:650; }.calendar-modes button.active { background:#fff; color:var(--text-primary); box-shadow:0 1px 4px rgba(23,50,77,.12); }
.calendar-loading,.calendar-error { padding:50px; color:var(--text-secondary); text-align:center; }.calendar-error { color:var(--danger); }
.calendar-canvas { overflow:auto; }.month-weekdays,.month-grid { display:grid; min-width:770px; grid-template-columns:repeat(7,minmax(110px,1fr)); }.month-weekdays span { padding:10px 12px; border-right:1px solid var(--border); background:#f6f8f9; color:var(--text-secondary); font-size:10px; font-weight:700; text-transform:uppercase; }.month-day { min-height:138px; padding:8px; border-top:1px solid var(--border); border-right:1px solid var(--border); background:#fff; }.month-day.outside { background:#fafbfb; }.month-day.outside>* { opacity:.55; }.month-day.today { box-shadow:inset 0 3px 0 #287a58; }.month-date { display:grid; width:27px; height:27px; place-items:center; border-radius:5px; color:var(--text-primary); font-size:12px; font-weight:700; text-decoration:none; }.month-date:hover { background:#e5eee9; }.month-events { display:grid; gap:4px; margin-top:4px; }
.calendar-event { display:grid; min-width:0; padding:5px 7px; border-left:3px solid #63829b; border-radius:4px; background:#edf3f7; color:#29465d; text-decoration:none; }.calendar-event:hover { color:#17324d; filter:brightness(.97); }.calendar-event time { font-size:10px; font-weight:700; }.calendar-event span,.calendar-event small { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.calendar-event small { color:inherit; opacity:.75; }.more-events { padding:3px 6px; color:var(--text-secondary); font-size:10px; }
.agenda-grid { display:grid; min-width:920px; }.agenda-grid.columns-7 { grid-template-columns:64px repeat(7,minmax(122px,1fr)); }.agenda-grid.columns-1 { min-width:480px; grid-template-columns:64px minmax(400px,1fr); }.agenda-corner,.agenda-day { position:sticky; top:0; z-index:2; min-height:64px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); background:#f7f9fa; }.agenda-day { display:flex; align-items:center; justify-content:center; gap:7px; }.agenda-day span { color:var(--text-secondary); font-size:11px; text-transform:uppercase; }.agenda-day strong { font-size:19px; }.agenda-day.today { background:#edf5f1; color:#246247; }.agenda-hour { padding:10px 8px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:10px; text-align:right; }.agenda-slot { position:relative; min-height:88px; padding:5px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }.agenda-slot .calendar-event { margin-bottom:4px; }.slot-add { position:absolute; top:4px; right:4px; z-index:1; display:grid; width:20px; height:20px; place-items:center; border-radius:4px; color:#778895; font-size:15px; text-decoration:none; opacity:0; }.agenda-slot:hover .slot-add,.slot-add:focus { background:#edf1f3; opacity:1; }
@media(max-width:767.98px){.calendar-heading{align-items:stretch;flex-direction:column}.calendar-heading .btn{width:100%}.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-navigation{justify-content:space-between}.calendar-navigation h2{flex:1}.calendar-modes button{flex:1;min-width:0}.calendar-modes{width:100%}.month-day{min-height:120px}.slot-add{opacity:1}}
.workflow-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding:18px 20px; border:1px solid var(--border); border-radius:8px; background:#fff; }.workflow-panel h2{margin:3px 0 0;font-size:17px}.workflow-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workflow-actions form{display:inline-flex}.modal-content{border:0;border-radius:8px;box-shadow:0 20px 55px rgba(20,38,56,.18)}.modal-header,.modal-footer{border-color:var(--border)}
@media(max-width:767.98px){.workflow-panel{align-items:stretch;flex-direction:column}.workflow-actions{display:grid;grid-template-columns:1fr 1fr}.workflow-actions form,.workflow-actions .btn{width:100%}}
.notification-menu { width:min(380px,calc(100vw - 24px)); padding:0; overflow:hidden; border-color:var(--border); border-radius:8px; box-shadow:0 14px 38px rgba(20,38,56,.15); }.notification-menu>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.notification-menu>header div{display:grid}.notification-menu>header small{color:var(--text-secondary);font-size:10px}.notification-menu form{margin:0}.notification-menu button{border:0;background:transparent;color:#376d58;font-size:11px;font-weight:650}.notification-items{max-height:360px;overflow-y:auto}.notification-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 16px;border-bottom:1px solid #edf0f2}.notification-item.unread{background:#f0f7f3;box-shadow:inset 3px 0 0 #438064}.notification-item strong{font-size:12px}.notification-item p{margin:3px 0;color:var(--text-secondary);font-size:11px}.notification-item time{color:#8a969f;font-size:9px}.notification-item form button{display:grid;width:25px;height:25px;place-items:center;border-radius:5px;background:#e2eee8}.notification-empty{margin:0;padding:42px 20px;color:var(--text-secondary);text-align:center}.notification-all-link{display:block;padding:12px;border-top:1px solid var(--border);font-size:11px;font-weight:650;text-align:center;text-decoration:none}.notification-page{overflow:hidden}.notification-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid var(--border)}.notification-row.unread{background:#f2f7f4}.notification-type{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:#e7edf1;color:#355166;font-weight:700}.notification-row h2{margin:0 0 4px;font-size:14px}.notification-row p{margin:0;color:var(--text-secondary);font-size:12px}.notification-row time{color:#89959e;font-size:10px}.notification-row-actions{display:flex;gap:7px}.notification-row-actions form{margin:0}
@media(max-width:575.98px){.notification-row{grid-template-columns:36px 1fr}.notification-row-actions{grid-column:1/-1}.notification-menu-wrap{display:none}}
.report-filter{display:flex;align-items:end;gap:12px;margin-bottom:16px;padding:16px 18px;border:1px solid var(--border);border-radius:8px;background:#fff}.report-filter div{display:grid;gap:5px}.report-filter label{color:var(--text-secondary);font-size:11px}.report-filter .form-control{width:175px}.report-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.report-metrics div{padding:17px;border:1px solid var(--border);border-radius:8px;background:#fff}.report-metrics span{display:block;color:var(--text-secondary);font-size:11px}.report-metrics strong{display:block;margin-top:6px;font-size:26px}.report-section{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.report-section>header{display:flex;min-height:64px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border)}.report-section h2{margin:0;font-size:15px}.trend-chart{display:flex;height:220px;align-items:end;gap:7px;padding:22px 18px 14px;overflow-x:auto}.trend-chart>div{display:grid;min-width:32px;height:100%;grid-template-rows:1fr auto auto;align-items:end;text-align:center}.trend-bar{width:22px;height:calc(var(--value)/var(--max)*150px);margin:auto;border-radius:4px 4px 0 0;background:#438064}.trend-chart strong{font-size:10px}.trend-chart small{margin-top:4px;color:var(--text-secondary);font-size:8px;white-space:nowrap}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.metric-bars{display:grid;gap:15px;padding:18px}.metric-bars>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:10px;padding-bottom:8px}.metric-bars span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.metric-bars strong{text-align:right}.metric-bars i{position:absolute;right:0;bottom:0;left:0;height:4px;border-radius:3px;background:linear-gradient(to right,#438064 var(--width),#e9edef var(--width));}.report-empty{margin:auto;color:var(--text-secondary);font-size:12px}
@media(max-width:991.98px){.report-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:767.98px){.report-filter{align-items:stretch;flex-direction:column}.report-filter .form-control{width:100%}.report-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics div:first-child{grid-column:1/-1}}
.audit-action{display:inline-block;padding:4px 7px;border-radius:5px;background:#e7edf1;color:#355166;font-size:10px;font-weight:700}.audit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.audit-summary div{padding:16px;border:1px solid var(--border);border-radius:8px;background:#fff}.audit-summary span{display:block;color:var(--text-secondary);font-size:10px}.audit-summary strong{display:block;margin-top:5px;font-size:14px}.audit-values{display:grid;grid-template-columns:1fr 1fr;gap:16px}.audit-values section{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.audit-values h2{margin:0;padding:15px 18px;border-bottom:1px solid var(--border);font-size:14px}.audit-values pre{min-height:260px;max-height:560px;margin:0;padding:18px;overflow:auto;background:#f7f9fa;color:#334958;font-size:11px;white-space:pre-wrap;word-break:break-word}
@media(max-width:767.98px){.audit-summary,.audit-values{grid-template-columns:1fr}}
.pending-actions{display:flex;flex-wrap:wrap;gap:6px}.pending-actions form{margin:0}.search-page-form{display:flex;gap:10px;max-width:760px;margin-bottom:18px}.search-page-form .form-control{min-height:44px}.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.search-results-grid .data-panel>h2{display:flex;align-items:center;justify-content:space-between}.search-results-grid h2 span{display:grid;width:25px;height:25px;place-items:center;border-radius:5px;background:#e8edf1;color:#526370;font-size:10px}.search-result{display:grid;gap:3px;padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text-primary);text-decoration:none}.search-result:hover{background:#f6f9f7}.search-result strong{font-size:13px}.search-result span{overflow:hidden;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.search-empty{margin:0;padding:45px 18px;color:var(--text-secondary);text-align:center}
.meeting-history-panel{margin-top:18px}.meeting-history-panel>h2{display:flex;align-items:center;justify-content:space-between}.meeting-history-panel>h2 span{color:var(--text-secondary);font-size:11px;font-weight:500}.meeting-history{margin:0;padding:8px 22px 14px;list-style:none}.meeting-history li{display:grid;grid-template-columns:95px 12px 1fr;gap:14px;min-height:82px;padding:13px 0}.history-date{display:flex;flex-direction:column;font-size:12px}.history-date span,.history-content small{color:var(--text-secondary);font-size:11px}.history-marker{position:relative;border-left:2px solid var(--border)}.history-marker:before{position:absolute;top:3px;left:-6px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary);content:""}.history-content>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-content a{color:var(--text-primary);font-size:13px;font-weight:650;text-decoration:none}.history-content p{margin:7px 0;color:var(--text-secondary);font-size:12px}.history-empty{margin:0;padding:35px 22px;color:var(--text-secondary)}.quick-appointment-form{display:grid;gap:15px}.quick-date-time{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:575px){.meeting-history li{grid-template-columns:76px 10px 1fr;gap:9px}.history-content>div{align-items:flex-start;flex-direction:column;gap:5px}.quick-date-time{grid-template-columns:1fr}.modal-footer .btn-link{width:100%;margin:0!important;padding-left:0;text-align:left}}
.attachment-panel{margin-top:18px}.attachment-panel>h2{display:flex;justify-content:space-between}.attachment-panel>h2 span{color:var(--text-secondary);font-size:11px;font-weight:500}.attachment-upload{display:grid;grid-template-columns:minmax(220px,520px) auto 1fr;align-items:center;gap:10px;padding:18px 22px}.attachment-upload small{color:var(--text-secondary);font-size:11px}.attachment-list{border-top:1px solid var(--border)}.attachment-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 22px;border-bottom:1px solid var(--border)}.attachment-list>div:last-child{border-bottom:0}.attachment-list>div>div{display:grid;gap:3px;min-width:0}.attachment-list a{overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.attachment-list small{color:var(--text-secondary);font-size:11px}.attachment-list form{margin:0}@media(max-width:767px){.attachment-upload{grid-template-columns:1fr}.attachment-upload .btn{width:100%}}
@media(max-width:767.98px){.search-results-grid{grid-template-columns:1fr}.search-page-form{display:grid}.pending-actions{padding-top:5px}}
.admin-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-module-grid a{display:grid;gap:5px;padding:20px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-primary);text-decoration:none}.admin-module-grid a:hover{border-color:var(--primary)}.admin-module-grid span{font-size:12px;font-weight:650}.admin-module-grid strong{font-size:24px}.admin-module-grid small,.admin-form small,.settings-form small{color:var(--text-secondary);font-size:11px}.admin-form{padding:22px}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid-wide{grid-column:1/-1}.admin-form .form-actions,.settings-form .form-actions{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.settings-form>div{display:grid;gap:5px}.settings-form .form-actions{grid-column:1/-1}@media(max-width:900px){.admin-module-grid{grid-template-columns:1fr 1fr}}@media(max-width:575px){.admin-module-grid,.admin-form .form-grid,.settings-form{grid-template-columns:1fr}.settings-form .form-actions{grid-column:auto}}
.appointment-filter{display:grid;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(130px,1fr));gap:10px;padding:16px;border-bottom:1px solid var(--border)}.appointment-filter .filter-search{grid-column:span 2}.appointment-filter .filter-actions{display:flex;gap:6px;grid-column:span 2}.appointment-filter .form-control,.appointment-filter .form-select{min-height:40px;font-size:12px}@media(max-width:1200px){.appointment-filter{grid-template-columns:repeat(3,1fr)}.appointment-filter .filter-search{grid-column:span 2}}@media(max-width:767px){.appointment-filter{grid-template-columns:1fr 1fr}.appointment-filter .filter-search{grid-column:1/-1}.appointment-filter .filter-actions{grid-column:1/-1}}@media(max-width:480px){.appointment-filter{grid-template-columns:1fr}.appointment-filter .filter-search,.appointment-filter .filter-actions{grid-column:auto}}
.history-filter{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(135px,1fr)) auto auto;gap:10px;padding:16px;border-bottom:1px solid var(--border)}.history-records>a{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:18px;padding:15px 20px;border-bottom:1px solid var(--border);color:var(--text-primary);text-decoration:none}.history-records>a:hover{background:#f7f9f8}.history-records time,.history-records>a>div{display:grid;gap:3px}.history-records time span,.history-records>a>div span,.history-records small{color:var(--text-secondary);font-size:11px}.history-records>a>div>strong{font-size:13px}@media(max-width:900px){.history-filter{grid-template-columns:1fr 1fr}.history-filter>input:first-child{grid-column:1/-1}}@media(max-width:575px){.history-filter{grid-template-columns:1fr}.history-filter>input:first-child{grid-column:auto}.history-records>a{grid-template-columns:78px 1fr;gap:10px}.history-records>a>.badge{grid-column:2;justify-self:start}}
.calendar-detail-loading{padding:45px;color:var(--text-secondary);text-align:center}.calendar-detail-person{display:grid;gap:3px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--border)}.calendar-detail-person strong{font-size:18px}.calendar-detail-person span{color:var(--text-secondary);font-size:12px}.calendar-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}.calendar-detail dl div{padding:12px;border:1px solid var(--border);border-radius:6px}.calendar-detail dt{color:var(--text-secondary);font-size:10px;font-weight:600}.calendar-detail dd{margin:4px 0 0;font-size:12px;font-weight:650}.calendar-detail section{padding:13px 0;border-top:1px solid var(--border)}.calendar-detail section h3{margin:0 0 6px;font-size:12px}.calendar-detail section p{margin:0;color:var(--text-secondary);font-size:12px;white-space:pre-wrap}@media(max-width:575px){.calendar-detail dl{grid-template-columns:1fr 1fr}.calendar-detail~.modal-footer{align-items:stretch;flex-direction:column}.calendar-detail~.modal-footer .btn{width:100%}}
.person-picker{position:relative}.person-search-row{display:grid;grid-template-columns:1fr auto;gap:8px}.person-picker.is-enhanced .person-select-fallback{display:none}.person-search-results{position:absolute;z-index:20;top:76px;right:0;left:0;max-height:330px;overflow:auto;border:1px solid var(--border);border-radius:7px;background:#fff;box-shadow:0 14px 30px rgba(27,43,54,.14)}.person-result{display:grid;width:100%;gap:3px;padding:12px 14px;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left}.person-result:last-child{border-bottom:0}.person-result:hover{background:#f5f8f6}.person-result:disabled{background:#f7f7f7;opacity:.65}.person-result strong{font-size:13px}.person-result span,.person-result small,.selected-person span{color:var(--text-secondary);font-size:11px}.person-result-empty{padding:22px;color:var(--text-secondary);font-size:12px;text-align:center}.selected-person{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:9px 12px;border:1px solid #9ec5ad;border-radius:6px;background:#f2f8f4}.selected-person>div{display:grid;gap:2px}.selected-person strong{font-size:13px}@media(max-width:575px){.person-search-row{grid-template-columns:1fr}.person-search-results{top:120px}}
.deleted-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.deleted-record-grid>.data-panel>h2{display:flex;justify-content:space-between}.deleted-record-grid h2 span{display:grid;width:26px;height:26px;place-items:center;border-radius:5px;background:#e8edf1;color:var(--text-secondary);font-size:11px}.deleted-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.deleted-list>div:last-child{border-bottom:0}.deleted-list>div>div{display:grid;gap:3px;min-width:0}.deleted-list strong{font-size:13px}.deleted-list span,.deleted-list small{overflow:hidden;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.deleted-list form{margin:0;flex:none}.deleted-empty{margin:0;padding:40px 18px;color:var(--text-secondary);text-align:center}@media(max-width:900px){.deleted-record-grid{grid-template-columns:1fr}}
.record-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 18px;border:1px solid #efc7c7;border-radius:8px;background:#fffafa}.record-danger-zone>div{display:grid;gap:2px}.record-danger-zone strong{font-size:12px}.record-danger-zone span{color:var(--text-secondary);font-size:11px}.record-danger-zone form{margin:0}@media(max-width:575px){.record-danger-zone{align-items:stretch;flex-direction:column}.record-danger-zone .btn{width:100%}}
.next-meeting-actions{flex-wrap:wrap}.next-meeting-actions form{display:inline-flex;margin:0}.next-meeting-actions .btn{white-space:nowrap}
.calendar-event.event-visit{border-left-color:#d97706;background:#fff3df;color:#8a4b08}.visit-list{display:grid}.visit-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border)}.visit-row.is-done{opacity:.58}.visit-date{display:grid;text-align:center}.visit-date strong{font-size:25px}.visit-date span{color:#a65d0b;font-size:11px;font-weight:700;text-transform:uppercase}.visit-date time{margin-top:4px;color:var(--text-secondary);font-size:11px}.visit-copy{min-width:0}.visit-copy>div{display:flex;align-items:center;gap:9px}.visit-copy h2{margin:0;font-size:15px}.visit-copy p{margin:5px 0;color:var(--text-secondary);font-size:12px}.visit-copy small{color:#788790}.visit-badge{background:#fff0d4;color:#92530b}.visit-actions{display:flex;gap:6px}.visit-actions form{margin:0}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.note-card{display:flex;min-height:230px;flex-direction:column;padding:18px;border:1px solid #d9dee2;border-top:4px solid #d2a22f;border-radius:7px;background:#fffef8}.note-card.is-done{opacity:.58}.note-card>header,.note-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-card header time,.note-card footer small{color:var(--text-secondary);font-size:10px}.note-pin{color:#8b6410;font-size:10px;font-weight:700;text-transform:uppercase}.note-card h2{margin:18px 0 8px;font-size:16px}.note-card>p{flex:1;margin:0 0 18px;color:#52616d;font-size:12px;white-space:pre-wrap}.note-card footer>div{display:flex;gap:4px}.note-card form{margin:0}.note-action{width:30px;height:30px;border-color:#e0e4e6;background:#fff;color:#52616d;text-decoration:none}.note-form{max-width:760px}@media(max-width:900px){.notes-grid{grid-template-columns:1fr 1fr}.visit-row{grid-template-columns:68px 1fr}.visit-actions{grid-column:2;flex-wrap:wrap}}@media(max-width:575px){.notes-grid{grid-template-columns:1fr}.visit-row{grid-template-columns:58px 1fr;padding:15px 12px}.visit-actions{grid-column:1/-1}.visit-actions .btn{font-size:11px}}
.error-page{display:grid;min-height:100vh;place-items:center;background:#f3f6f4;color:var(--text-primary)}.error-page main{width:min(560px,calc(100% - 32px))}.error-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--text-primary);text-decoration:none}.error-brand span{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;background:var(--primary);color:#fff;font-weight:800}.error-page section{padding:30px;border:1px solid var(--border);border-radius:8px;background:#fff}.error-page h1{margin:5px 0 12px;font-size:28px}.error-page section>p:not(.eyebrow){color:var(--text-secondary)}.error-page small{display:block;margin:18px 0;color:var(--text-secondary);font-family:monospace}.error-page section>div{display:flex;flex-wrap:wrap;gap:8px}
