
  :root {
    color-scheme: light dark;
    --bg: #eef1f4; --surface: #ffffff; --ink: #16212b; --muted: #5b6b7a; --line: #d5dce3;
    --accent: #1f6f8b;
    --ok: #2f7d57;   --ok-soft: #dff0e6;
    --warn: #a96a12; --warn-soft: #f8ecd2;
    --info: #3a5fa8; --info-soft: #e0e8f6;
    --muted-soft: #e6eaee;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #11171d; --surface: #1a222b; --ink: #e5ecf2; --muted: #93a3b2; --line: #2b3641;
      --accent: #5bb4d1;
      --ok: #5cc08d;   --ok-soft: #1b3a2c;
      --warn: #e0a24a; --warn-soft: #3d2f14;
      --info: #8fb0ee; --info-soft: #22304d;
      --muted-soft: #26303a;
    }
  }
  * { box-sizing: border-box; }
  body {
    margin: 0; background: var(--bg); color: var(--ink);
    font: 15px/1.5 "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
    font-variant-numeric: tabular-nums;
  }
  .mono { font-family: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", monospace; font-size: .92em; }
  code { font-family: ui-monospace, Consolas, monospace; background: var(--muted-soft); padding: .1em .35em; border-radius: 3px; }
  h1, h2 { margin: 0; font-weight: 600; letter-spacing: -.01em; }
  h1 { font-size: 1.35rem; }
  h2 { font-size: 1.05rem; margin-bottom: .75rem; }

  header { background: var(--surface); border-bottom: 1px solid var(--line); padding: .9rem 1.5rem; }
  header p { margin: .1rem 0 0; color: var(--muted); font-size: .85rem; }
  main { max-width: 1200px; margin: 0 auto; padding: 1.5rem; }
  main > * + * { margin-top: 1.5rem; }
  .lede { margin: 0; color: var(--muted); max-width: 72ch; }
  .muted { color: var(--muted); font-size: .88rem; }

  .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 1rem 1.1rem 1.1rem; }

  /* release waves */
  .wave { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--line); }
  .wave:first-child { border-top: 0; padding-top: 0; }
  .wave-date b { display: block; }
  .wave-items { display: grid; gap: .6rem; }
  .wave-item { background: var(--bg); border-left: 5px solid var(--stage, var(--muted)); border-radius: 4px; padding: .6rem .9rem; }
  .wave-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
  .wave-clients { margin-top: .2rem; overflow-wrap: anywhere; }

  /* table */
  .scroll { overflow-x: auto; }
  table { border-collapse: collapse; width: 100%; }
  th, td { text-align: left; padding: .45rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
  th.num, td.num { text-align: right; }
  th button { appearance: none; background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; white-space: nowrap; }
  th[aria-sort="ascending"] button::after { content: " \25B2"; font-size: .7em; }
  th[aria-sort="descending"] button::after { content: " \25BC"; font-size: .7em; }
  tbody tr:hover { background: var(--muted-soft); }
  .filter {
    width: min(100%, 22rem); margin-bottom: .75rem; padding: .45rem .7rem;
    border: 1px solid var(--line); border-radius: 4px; background: var(--bg); color: var(--ink); font: inherit;
  }
  button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .count, .empty-note { color: var(--muted); font-size: .85rem; margin: .6rem 0 0; }
  .cell-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; margin-right: .45rem; }

  /* quick filters */
  .filters { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
  .filter-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
  .fchip {
    appearance: none; border: 1px solid var(--line); background: var(--surface); color: var(--ink);
    font: inherit; font-size: .88rem; padding: .25rem .8rem; border-radius: 99px; cursor: pointer;
  }
  .fchip:hover { border-color: var(--muted); }
  .fchip[aria-pressed="true"] { background: var(--ink); color: var(--surface); border-color: var(--ink); }
  .fcount { opacity: .7; margin-left: .2rem; }
  .filters select {
    font: inherit; font-size: .88rem; padding: .28rem .5rem; border: 1px solid var(--line);
    border-radius: 4px; background: var(--surface); color: var(--ink);
  }
  .fclear { appearance: none; background: none; border: 0; padding: 0; color: var(--accent); font: inherit; font-size: .88rem; text-decoration: underline; cursor: pointer; }
  .fclear[hidden] { display: none; }

  .nowrap { white-space: nowrap; }

  .chips { display: flex; flex-wrap: wrap; gap: .5rem; }
  .pill { display: inline-block; padding: .05rem .55rem; border-radius: 99px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
  .pill.ok { background: var(--ok-soft); color: var(--ok); }
  .pill.warn { background: var(--warn-soft); color: var(--warn); }
  .pill.info { background: var(--info-soft); color: var(--info); }
  .pill.muted { background: var(--muted-soft); color: var(--muted); }
  .empty { max-width: 60ch; margin: 4rem auto; text-align: center; }

  @media (max-width: 640px) {
    main { padding: 1rem; }
    header { padding: .8rem 1rem; }
    .wave { grid-template-columns: 1fr; gap: .4rem; }
  }

/* Application shell */
body{background:#f3f5f9;color:#172538}body.dark{background:#111721;color:#eaf0f5}
body.dark .panel,body.dark .topbar,body.dark .sidebar{background:#1e2936;color:#eaf0f5}
.shell{min-height:100vh;display:flex}.sidebar{width:242px;background:#13283f;color:#eaf0f5;padding:26px 18px;flex-shrink:0}.brand{font-weight:750;font-size:1.15rem;margin-bottom:34px}.brand small{display:block;font-weight:400;opacity:.65}.navitem{display:block;padding:12px 14px;border-radius:9px;color:#d8e5f3;text-decoration:none;margin:6px 0}.navitem.active,.navitem:hover{background:#284861;color:#fff}.workspace{flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #dae2eb;padding:16px 30px;gap:12px}.topbar strong{font-size:1.2rem}.topbar .user{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.avatar{display:inline-flex;border-radius:50%;width:34px;height:34px;background:#d7e8f4;color:#1c587b;align-items:center;justify-content:center;font-weight:800}.topbar a{color:#33718f}main{max-width:1450px;padding:28px 30px}.panel{border-radius:12px;box-shadow:0 3px 14px #0c2c4908}.auth{margin:9vh auto;max-width:400px;background:#fff;padding:30px;border-radius:14px;box-shadow:0 6px 25px #091f3320}.auth input{display:block;width:100%;margin:7px 0 18px;padding:12px;border:1px solid #bdcbd6;border-radius:8px}.auth button,.auth .ms{display:block;text-align:center;background:#226c98;color:#fff;border:0;border-radius:8px;padding:12px;width:100%;text-decoration:none;cursor:pointer}.auth .ms{background:#203a56}.auth hr{margin:24px 0;border:0;border-top:1px solid #dce3e9}.notice{padding:12px;background:#ffefdc;border-radius:8px;margin-bottom:12px}@media(max-width:750px){.sidebar{width:65px;padding:20px 6px}.brand small,.sidebar .label{display:none}.topbar{padding:12px}.workspace main{padding:16px}}

/* Account dropdown and administration */
.account-menu {position:relative;min-width:185px;z-index:20}.account-menu summary {cursor:pointer;display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{border-color:var(--accent)}.account-label{display:flex;flex-direction:column;line-height:1.25}.account-label small,.account-heading small{color:var(--muted);font-size:.78rem}.chevron{margin-left:auto}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:245px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 36px #0002;overflow:hidden}.account-heading{padding:14px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.account-dropdown a,.account-dropdown button{width:100%;display:block;border:none;border-radius:0;text-align:left;background:transparent;color:var(--ink);font:inherit;text-decoration:none;padding:11px 15px;cursor:pointer}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--muted-soft)}.account-dropdown form{margin:0;border-top:1px solid var(--line)}.admin-wrap{max-width:1100px;margin:24px auto;padding:0 22px}.admin-card{background:var(--surface);border:1px solid var(--line);padding:22px;border-radius:12px;margin:16px 0}.admin-card input,.admin-card select{padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);max-width:100%}.admin-card label{display:block;margin:10px 0}.admin-card button{cursor:pointer;padding:8px 14px}.admin-card table{font-size:.9rem}.admin-card form.inline{display:inline-flex;gap:5px;align-items:center}.admin-note{color:var(--muted)}.admin-success{color:var(--ok)}.admin-error{color:#c44}.admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:16px}@media(max-width:650px){.account-label{display:none}.account-menu{min-width:auto}.account-dropdown{right:0}.admin-card{overflow-x:auto}}

/* WordPress-style account menu icons + admin back link */
.account-dropdown a,.account-dropdown button{display:flex;align-items:center;gap:12px;font-weight:600;padding:12px 16px}
.menu-icon{width:19px;height:19px;flex:0 0 19px;display:inline-block;vertical-align:middle;color:currentColor}
.account-dropdown .menu-icon{color:#1976d2}
.account-dropdown form .menu-icon{color:var(--muted)}
.back-dashboard{display:inline-flex;align-items:center;gap:10px;border:1px solid #9ca3af;border-radius:9px;background:#fff;color:#1969ad;text-decoration:none;font-weight:650;font-size:1rem;padding:11px 15px;line-height:1.3;margin-bottom:14px;transition:background .15s,border-color .15s}
.back-dashboard:hover{background:#eef6ff;border-color:#1976d2}
.back-dashboard .menu-icon{width:18px;height:18px;flex-basis:18px}
.back-dashboard:focus-visible,.account-menu summary:focus-visible{outline:2px solid #1976d2;outline-offset:3px}

/* Consistent dashboard sidebar on schedule, activity, profile and admin pages */
.navitem{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nav-chevron{font-size:22px;line-height:1}
.workspace .admin-wrap{max-width:1100px;margin:24px auto;padding:0 24px}
.profile-card{max-width:650px}
@media(max-width:750px){.nav-chevron{display:none}}

/* Persistent shared header for every authenticated screen */
.dashboard-global-header{position:sticky;top:0;z-index:15;background:#fff;box-shadow:0 1px 0 #e4e9ef}
.dashboard-global-header .topbar{min-height:78px;padding:14px 26px;background:#fff;color:#14263c}
.dashboard-global-header .topbar strong{font-size:1rem}
.dashboard-global-header .topbar .muted{font-size:.78rem}
.dashboard-global-header .dashboard-source{background:#fff;border-top:1px solid #edf0f5;padding:12px 26px;color:#627188;font-size:.78rem;min-height:40px}
.dashboard-global-header .dashboard-source p{margin:0}
.dashboard-global-header .account-menu{z-index:30}
@media(max-width:650px){.dashboard-global-header .topbar{padding:12px 16px}.dashboard-global-header .dashboard-source{padding:10px 16px}}

/* User administration: shared WordPress-style controls */
.users-page{max-width:1500px!important}.users-page .admin-card{border:1px solid #dfe3e8;border-radius:10px;background:#fff;padding:20px 18px;margin:16px 0}.users-page h1{font-size:1.3rem;margin:0 0 6px}.users-page h2{font-size:1.08rem;margin:0 0 10px}.users-page .admin-note{font-size:.88rem;margin:7px 0 18px}.users-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.users-grid label{font-size:.88rem;font-weight:650;margin:0 0 12px}.users-grid input,.users-grid select{display:block;width:100%;margin-top:8px;min-height:40px;font-weight:400}.users-primary,.users-outline,.users-danger{border-radius:5px!important;padding:9px 12px!important;font-weight:650!important;white-space:nowrap;font-size:.79rem!important}.users-primary{background:#2674b6;color:#fff;border:1px solid #2674b6}.users-outline{background:#fff;color:#1764aa;border:1px solid #3785c4}.users-danger{background:#fff;color:#c3242b;border:1px solid #f04a50}.users-table{border-collapse:collapse;min-width:1120px;width:100%}.users-table th{text-align:left;background:#f4f6f8;font-size:.71rem;color:#536274;letter-spacing:.02em;padding:13px 10px}.users-table td{padding:12px 10px;border-bottom:1px solid #edf0f3;vertical-align:middle;font-size:.82rem}.users-table td:first-child{min-width:130px}.users-table td:first-child small{display:block;color:#798395;font-size:.7rem;margin-top:5px}.users-table td input{width:100%;min-width:105px}.users-table td select{min-width:105px}.users-table td:nth-child(3){min-width:195px}.users-table td:nth-child(6){white-space:nowrap;text-align:center}.users-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.users-actions form{margin:0}.users-status{display:inline-block;border-radius:18px;padding:4px 8px;background:#e5f1fc;color:#19679f;font-weight:650;font-size:.72rem}.users-status.disabled,.users-status.rejected{background:#ffe9ea;color:#ad2732}.users-status.pending{background:#fff1d6;color:#926112}.users-message,.users-link{padding:13px;background:#edf8f0;border:1px solid #c4dfcc;border-radius:9px;margin:14px 0}.users-link input{width:100%;padding:10px;margin-top:8px}.users-section-title{display:flex;gap:12px;align-items:center}.users-pending{font-size:.75rem;background:#fff1d6;border-radius:14px;padding:4px 10px;color:#926112}@media(max-width:800px){.users-grid{grid-template-columns:1fr}.users-page .admin-card{padding:14px}}

/* Manage Users: center headings over their respective controls except Username. */
.users-table thead th:not(:first-child){text-align:center;}
.users-table tbody td:nth-child(5){text-align:center;}
.users-table tbody td:last-child .users-actions{justify-content:center;}

/* Align My Profile and System Tools with the Manage Users page */
.settings-page .settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.settings-page .settings-grid label{font-size:.88rem;font-weight:650;margin:0 0 12px}
.settings-page .settings-grid input,.settings-page .settings-grid select{display:block;width:100%;margin-top:8px;min-height:40px;font-weight:400}
.settings-page .settings-info{padding:12px 14px;border:1px solid #e1e5eb;border-radius:7px;display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.settings-page .settings-info span{color:#536274;font-size:.81rem}
.settings-page .settings-info strong{font-size:.93rem}
.settings-page .settings-footnote{margin-top:20px!important}
@media(max-width:800px){.settings-page .settings-grid{grid-template-columns:1fr}}

/* Footer copied from the WordPress Dashboard reference (footer.css).
   Use its real transparent PNG mark and match its line, sizing and spacing. */
.bdhc-site-footer{max-width:1450px;width:100%;margin:28px auto 18px;padding:16px 24px 0;border-top:1px solid #d9e1e8;color:#646970;font:12px/1.4 Arial,Helvetica,sans-serif}
.bdhc-footer-inner{display:flex;align-items:center;justify-content:center;gap:8px;min-height:28px;text-align:center}
.bdhc-footer-inner a{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:inherit;text-decoration:none}
.bdhc-footer-inner a:hover{color:#2271b1;text-decoration:underline}
.bdhc-footer-mark{display:block;width:24px;height:24px;object-fit:contain;flex:0 0 24px}
.workspace{display:flex;flex-direction:column;min-height:100vh}
.workspace>.bdhc-site-footer{margin-top:auto;margin-bottom:18px}
@media(max-width:700px){.bdhc-site-footer{margin-top:22px;padding:14px 14px 0}.bdhc-footer-inner{gap:7px;font-size:11px}.bdhc-footer-mark{width:22px;height:22px;flex-basis:22px}}

/* ByDesign WordPress-style standalone login */
body.release-login-page{margin:0;min-height:100vh;display:flex;flex-direction:column;background:#f4f5f6;color:#172536;font-family:Arial,Helvetica,sans-serif}
.release-login-page .login-stage{max-width:none;width:100%;flex:1;display:flex;justify-content:center;align-items:center;padding:48px 18px 64px;box-sizing:border-box}
.login-card{box-sizing:border-box;width:min(100%,588px);margin:auto;padding:38px 45px 44px;border:1px solid #d9dde2;border-radius:20px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.09);text-align:center}
.login-brand{display:block;width:343px;max-width:85%;height:auto;margin:0 auto 42px;object-fit:contain}
.login-card h1{font-size:31px;line-height:1.18;letter-spacing:-.45px;margin:0 0 12px;font-weight:750;color:#10263e}
.login-subtitle{color:#637186;font-size:21px;margin:0 0 35px;line-height:1.35}
.login-microsoft{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:65px;box-sizing:border-box;border:1px solid #959ea8;border-radius:9px;background:#fff;color:#142436!important;font-weight:700;font-size:19px;text-decoration:none;cursor:pointer;font-family:inherit}
.login-microsoft:disabled{opacity:.62;cursor:not-allowed}
.login-microsoft:not(:disabled):hover{background:#f5f8fc;border-color:#2674b6}
.ms-windows{display:grid;grid-template-columns:repeat(2,10px);grid-template-rows:repeat(2,10px);gap:3px}.ms-windows i{background:#666;width:10px;height:10px}
.login-divider{display:flex;align-items:center;gap:12px;color:#6c7787;margin:29px 0 26px;font-size:16px;white-space:nowrap}.login-divider:before,.login-divider:after{content:"";height:1px;background:#cbd0d6;flex:1}
.login-form{text-align:left}.login-form label{display:block;font-size:18px;font-weight:700;margin:0 0 9px;color:#111d2b}.login-form input{box-sizing:border-box;display:block;width:100%;height:60px;padding:12px 15px;margin:0 0 22px;border:1px solid #9fa9b7;border-radius:8px;background:#e9f0fc;color:#142235;font-size:19px}
.login-form input:focus{outline:2px solid #2674b6;outline-offset:2px}
.login-submit{width:100%;min-height:58px;border:0;border-radius:7px;background:#2774b3;color:#fff!important;font-size:19px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none}
.login-submit:hover{background:#195e9b}.login-forgot{display:inline-block;margin-top:28px;color:#2476b7;font-size:19px;text-decoration:none}.login-forgot:hover{text-decoration:underline}
.login-error{background:#fff1eb;color:#9e2e22;padding:12px;border-radius:8px;margin-bottom:20px;text-align:left}
.login-footer{box-sizing:border-box;width:100%;min-height:112px;padding:24px 15px;display:flex;justify-content:center;align-items:center;border-top:1px solid #dbe0e5;color:#6a7380;background:#f4f5f6;font-size:16px}.login-footer a{color:inherit;text-decoration:none;display:flex;gap:14px;align-items:center;justify-content:center}.login-footer img{width:30px;height:28px;object-fit:contain}.login-footer a:hover{text-decoration:underline}
.login-help-card .login-subtitle{font-size:19px;margin-bottom:20px}.login-help-text{font-size:16px;line-height:1.6;color:#536376;margin-bottom:28px}.login-back{display:flex;align-items:center;justify-content:center}
@media(max-width:600px){.login-card{padding:27px 22px 32px}.login-card h1{font-size:25px}.login-subtitle{font-size:18px}.login-microsoft{font-size:16px}.login-divider{font-size:12px}.login-footer{font-size:13px;text-align:center}.login-brand{margin-bottom:26px}}

/* Exact WordPress Health Dashboard login dimensions and transparent assets (reference 10.22.26) */
body.release-login-page{background:#f5f6f7;color:#1d2327;font:14px/1.45 Arial,Helvetica,sans-serif}
.release-login-page .login-stage{display:block;flex:1;max-width:none;width:100%;padding:0;margin:0;box-sizing:border-box}
.release-login-page .login-card{width:auto;max-width:392px;margin:calc(7vh + 24px) auto 24px;padding:30px;border:1px solid #dcdcde;border-radius:14px;box-shadow:0 12px 34px rgba(29,35,39,.08);text-align:center}
.release-login-page .login-brand{display:block;width:220px;max-width:100%;height:auto;margin:0 auto 28px;object-fit:contain}
.release-login-page .login-card h1{font-size:22px;line-height:1.45;letter-spacing:normal;margin:0 0 5px;font-weight:700;color:#1d2327}
.release-login-page .login-subtitle{font-size:14px;line-height:1.45;color:#646970;margin:0 0 22px}
.release-login-page .login-microsoft{gap:10px;min-height:0;padding:11px 14px;margin:0 0 18px;border:1px solid #8c8f94;border-radius:6px;font-size:14px;font-weight:700;color:#1d2327!important}
.release-login-page .ms-windows{grid-template-columns:7px 7px;grid-template-rows:7px 7px;gap:2px;width:16px;height:16px}
.release-login-page .ms-windows i{width:7px;height:7px}
.release-login-page .login-divider{gap:10px;margin:4px 0 2px;font-size:12px;letter-spacing:.03em;color:#646970}
.release-login-page .login-form label{font-size:14px;font-weight:700;margin:14px 0 6px;color:#1d2327}
.release-login-page .login-form input{height:auto;min-height:0;padding:10px 11px;margin:0;border:1px solid #8c8f94;border-radius:6px;background:#fff;font-size:14px;color:#1d2327}
.release-login-page .login-submit{min-height:0;margin-top:18px;border:1px solid #2271b1;border-radius:6px;padding:9px 13px;background:#2271b1;font-size:14px;font-weight:700}
.release-login-page .login-forgot{margin-top:18px;font-size:13px;color:#2271b1}
.release-login-page .login-footer{min-height:0;margin:28px auto 18px;padding:16px 24px 0;max-width:1450px;border-top:1px solid #d9e1e8;background:transparent;font-size:12px;color:#646970}
.release-login-page .login-footer a{gap:8px}
.release-login-page .login-footer img{width:24px;height:24px}
@media(max-width:700px){.release-login-page .login-card{max-width:calc(100% - 28px);margin:calc(2vh + 14px) auto 14px;padding:22px}.release-login-page .login-footer{padding:14px 14px 0;margin:22px auto 14px;font-size:11px}}

/* Per-client calendar (same admin-card structure as Manage Users) */
.client-detail-link{color:#2271b1;font-weight:650;text-decoration:none}.client-detail-link:hover{text-decoration:underline}
.client-calendar-page .calendar-scroll{overflow-x:auto;margin-top:18px}
.client-calendar-page .calendar-table{border-collapse:collapse;width:100%;min-width:970px;table-layout:fixed;background:#fff}
.client-calendar-page .calendar-table th{padding:13px 12px;background:#f1f2f4;border:1px solid #d9dfe5;text-align:left;color:#1d2327;font-weight:650;vertical-align:middle}
.client-calendar-page .calendar-table td{padding:12px;border:1px solid #d9dfe5;vertical-align:top;overflow-wrap:anywhere}
.client-calendar-page .calendar-table th:nth-child(1){width:17%}.client-calendar-page .calendar-table th:nth-child(2),.client-calendar-page .calendar-table th:nth-child(3){width:14%}.client-calendar-page .calendar-table th:nth-child(4){width:12%}.client-calendar-page .calendar-table th:nth-child(5){width:14%}.client-calendar-page .calendar-table th:nth-child(6){width:24%}
.client-calendar-page .calendar-table small{display:block;color:#677487;margin-top:6px;font-size:.77rem}
.client-calendar-page .calendar-table input,.client-calendar-page .calendar-table textarea{display:block;width:100%;box-sizing:border-box;min-width:0;padding:9px 8px;border:1px solid #b8c2cc;border-radius:6px;font:inherit;background:#fff}
.client-calendar-page .calendar-table textarea{resize:vertical;min-height:66px}
.client-calendar-page .calendar-table .users-primary{white-space:nowrap;padding:9px 12px}
.client-calendar-page .calendar-table .calendar-missing{color:#667482;font-style:italic}
.client-calendar-page .calendar-sourced{background:#f8fafc}
.client-calendar-page .calendar-tip{margin-top:24px;background:#e8f2ff;padding:16px 20px;border-radius:7px;color:#213953;line-height:1.6}
.client-calendar-page .calendar-success{color:#17653d}.client-calendar-page .calendar-alert{color:#a82a20}

/* Layout correction: maintain one uniform content width on all three admin screens.
   Do not allow the wide client calendar to change their shared geometry. */
.workspace .admin-wrap.users-page:not(.client-calendar-page){
  width:calc(100% - 48px);
  max-width:1500px!important;
  box-sizing:border-box;
  margin:24px auto;
  padding:0;
}
/* Calendar is intentionally wider than the admin forms. Fit seven columns on
   desktop rather than imposing the previous fixed minimum table width. */
.workspace .admin-wrap.client-calendar-page{
  width:calc(100% - 32px);
  max-width:1700px!important;
  box-sizing:border-box;
  margin:24px auto;
  padding:0;
}
.client-calendar-page .calendar-scroll{overflow-x:visible;max-width:100%;}
.client-calendar-page .calendar-table{width:100%;min-width:0;table-layout:fixed;font-size:.84rem;}
.client-calendar-page .calendar-table th,.client-calendar-page .calendar-table td{padding:10px 7px;}
.client-calendar-page .calendar-table th:nth-child(1){width:16%;}
.client-calendar-page .calendar-table th:nth-child(2),.client-calendar-page .calendar-table th:nth-child(3){width:15%;}
.client-calendar-page .calendar-table th:nth-child(4){width:12%;}
.client-calendar-page .calendar-table th:nth-child(5){width:12%;}
.client-calendar-page .calendar-table th:nth-child(6){width:20%;}
.client-calendar-page .calendar-table th:nth-child(7){width:10%;}
.client-calendar-page .calendar-table input,.client-calendar-page .calendar-table textarea{font-size:.83rem;padding:8px 5px;min-width:0;width:100%;}
.client-calendar-page .calendar-table .users-primary{max-width:100%;white-space:normal;padding:8px 6px!important;}
@media(max-width:1100px){
  /* Smaller screens cannot comfortably fit seven editable fields; only the
     calendar table scrolls in that case, never the entire page. */
  .client-calendar-page .calendar-scroll{overflow-x:auto;}
  .client-calendar-page .calendar-table{min-width:900px;}
}
@media(max-width:650px){
  .workspace .admin-wrap.users-page:not(.client-calendar-page),
  .workspace .admin-wrap.client-calendar-page{width:calc(100% - 24px);}
}
