/* Shared agency workspace shell and compact component refinements. */
:root { --bg:#f3f6f9; --panel:#fff; --ink:#172e44; --muted:#526b80; --line:#dbe4ed; --accent:#006d68; --accent-dark:#005e59; --sidebar:#14283d; --sidebar-width:234px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Segoe UI",system-ui,-apple-system,sans-serif; font-size:14px; line-height:1.5; }
[hidden] { display:none !important; }
a { color:var(--accent-dark); text-underline-offset:3px; }
button,input,select,textarea { font:inherit; }
button,.button-link { border-radius:6px; min-height:40px; font-weight:600; box-shadow:none; }
button:hover,.button-link:hover { filter:none; }
button.secondary,.button-link.secondary,.button-link.secondary-action { background:#fff; color:var(--ink); border:1px solid var(--control-stroke); }
input:not([type=checkbox]):not([type=radio]),select,textarea { border:1px solid #bdccd9; border-radius:6px; min-height:40px; background:#fff; color:var(--ink); max-width:100%; }
input[type=checkbox],input[type=radio] { accent-color:var(--accent); width:auto; min-height:0; flex:0 0 auto; }
:focus-visible { outline:3px solid #007d77; outline-offset:3px; }
.skip-link { position:fixed; left:250px; top:-70px; z-index:100; padding:12px 18px; background:white; }
.skip-link:focus { top:8px; }
.workspace-sidebar { position:fixed; inset:0 auto 0 0; z-index:40; width:var(--sidebar-width); background:var(--sidebar); color:#d3dfeb; display:flex; flex-direction:column; padding:28px 14px 18px; overflow-y:auto; }
.workspace-brand { display:flex; gap:12px; align-items:center; color:white; text-decoration:none; padding:0 10px 26px; }
.workspace-brand-mark { width:42px; height:48px; display:grid; place-items:center; background:#ffffff0c; border:1px solid #ffffff38; border-radius:10px; color:#d9c88e; flex-shrink:0; }
.workspace-brand-mark svg { width:29px; height:29px; }
.workspace-brand strong { display:block; font-size:17px; line-height:1.35; max-width:145px; }
.workspace-brand small { display:block; color:#afc1d3; font-size:10px; text-transform:uppercase; letter-spacing:1.6px; margin-top:6px; }
.workspace-nav { display:grid; gap:5px; }
.workspace-nav a { display:flex; align-items:center; gap:13px; min-height:45px; padding:10px 12px; color:#c7d6e6; font-size:13px; font-weight:600; text-decoration:none; border-radius:7px; border-left:3px solid transparent; }
.workspace-nav a:hover { background:#ffffff0b; color:white; }
.workspace-nav a.active { color:white; background:#244657; border-left-color:#4bd0bc; }
.workspace-nav .ui-icon { flex-shrink:0; color:#afc2d2; }
.workspace-nav a.active .ui-icon { color:#daeeef; }
.workspace-sidebar :focus-visible { outline-color:#62d8c7; }
.workspace-sidebar-footer { margin-top:auto; padding:28px 12px 0; font-size:12px; color:#a7bbcf; }
.workspace-sidebar-footer a { display:flex; gap:10px; align-items:center; color:#dce6f0; margin-top:12px; text-decoration:none; }
.workspace-main { margin-left:var(--sidebar-width); min-height:100vh; min-width:0; }
.workspace-topbar { min-height:76px; padding:14px 32px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:18px; justify-content:space-between; }
.workspace-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:13px; font-size:13px; color:var(--muted); }
.workspace-breadcrumb strong { color:var(--ink); font-weight:600; }
.workspace-account { display:flex; align-items:center; gap:12px; font-size:12px; text-align:right; }
.workspace-account strong { display:block; font-size:13px; }
.workspace-account small { color:var(--muted); }
.workspace-avatar { width:38px; height:38px; border-radius:50%; background:#e3f3f1; color:#006c65; display:grid; place-items:center; font-weight:700; }
.workspace-menu { display:none; background:#fff; color:var(--ink); border:1px solid var(--line); padding:6px 9px; }
.workspace-overlay { display:none; }
.workspace-main .page { width:100%; max-width:none; margin:0; padding:26px 32px 38px; min-width:0; }
.workspace-main .page-title { margin:0 0 22px; gap:16px; align-items:center; text-align:left; }
.page-title h1 { color:var(--ink); font-size:27px; font-weight:700; letter-spacing:-.6px; margin:0 0 4px; line-height:1.25; }
.page-title p { color:var(--muted); font-size:13px; margin:0; }
.workspace-tabs { display:flex; gap:24px; padding:0 32px; background:#fff; border-bottom:1px solid var(--line); overflow:auto; }
.workspace-tabs a { padding:14px 0 12px; white-space:nowrap; text-decoration:none; color:var(--muted); border-bottom:3px solid transparent; font-weight:600; font-size:13px; }
.workspace-tabs a.active { border-bottom-color:var(--accent); color:var(--accent-dark); }
.workspace-main .environment-banner { margin:0; border:0; border-bottom:1px solid #ecd99a; font-size:11px; padding:5px 16px; text-align:center; }
.workspace-main .environment-badge { font-size:10px; padding:3px 7px; margin:0; background:#fff9e7; color:#765900; border-color:#e4d59f; }
.workspace-main .date-nav { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.workspace-main .date-nav a { background:#fff; border:1px solid var(--line); border-radius:6px; color:var(--ink); font-size:13px; padding:8px 12px; text-decoration:none; }
.workspace-main .date-nav a[href='/dashboard'] { display:none; }
.workspace-main .filter-panel { background:#fff; border:1px solid var(--line); border-radius:9px; padding:16px; margin-bottom:20px; align-items:end; gap:12px; }
.workspace-main .filter-panel label { font-size:12px; font-weight:600; color:var(--muted); }
.workspace-main .filter-panel input,.workspace-main .filter-panel select { font-weight:400; }
.workspace-main .ops-section,.workspace-main .form-section,.workspace-main .history-card,.workspace-main .open-shift-card,.workspace-main .info-card,.workspace-main .management-toolbar,.workspace-main .report-entry-list,.workspace-main .grant-cycle-row { background:#fff; border:1px solid var(--line); border-radius:9px; box-shadow:none; }
.workspace-main .ops-section,.workspace-main .form-section { padding:20px; }
.workspace-main .ops-section h2,.workspace-main .form-section h2 { font-size:17px; color:var(--ink); }
.workspace-main .table-wrap { border:1px solid var(--line); border-radius:9px; background:white; }
.workspace-main table { font-size:13px; }
.workspace-main th { background:#f6f9fb; color:var(--muted); font-size:12px; }
.workspace-main td { padding:12px 14px; }
.workspace-main .schedule-board-shell { border:1px solid var(--line); border-radius:9px; }
.workspace-main .schedule-board-table td { padding:3px; }
.workspace-main .schedule-board-table th { padding:9px; }
.workspace-main .schedule-view-nav,.workspace-main .calendar-view-tabs,.workspace-main .workflow-tabs { box-shadow:none; border-radius:7px; }
.workspace-main .schedule-view-nav a,.workspace-main .calendar-view-tabs a,.workspace-main .workflow-tabs a { font-size:13px; }
.workspace-main .workflow-tabs { background:transparent; }
.workspace-main .hub-grid,.workspace-main .workflow-action-grid,.workspace-main .dashboard-tool-grid { display:flex; flex-direction:column; gap:0; border:1px solid var(--line); border-radius:9px; overflow:hidden; background:white; }
.workspace-main .hub-card,.workspace-main .workflow-action-card,.workspace-main .dashboard-tool-card { display:flex; gap:18px; align-items:center; padding:16px 20px; background:white; border:0; border-bottom:1px solid var(--line); border-radius:0; min-height:0; box-shadow:none; color:var(--ink); }
.workspace-main .hub-card:last-child,.workspace-main .workflow-action-card:last-child { border-bottom:0; }
.workspace-main .hub-card strong,.workspace-main .workflow-action-card strong { flex:0 0 210px; font-size:14px; }
.workspace-main .hub-card span,.workspace-main .workflow-action-card span { font-size:13px; color:var(--muted); }
.workspace-main .hub-card:hover,.workspace-main .workflow-action-card:hover { background:#f5faf9; }
.workspace-main .workflow-group,.workspace-main .tool-group,.workspace-main .admin-tool-group { margin-bottom:24px; }
.workspace-main .section-heading h2 { font-size:17px; }
.workspace-main .section-heading p { font-size:13px; }
.overview-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:4px 0 26px; }
.overview-heading h1 { font-size:28px; letter-spacing:-.6px; margin:0 0 5px; line-height:1.3; }
.overview-heading p { margin:0; font-size:13px; color:var(--muted); }
.overview-actions { display:flex; gap:9px; flex-wrap:wrap; }
.overview-actions .button-link { font-size:13px; padding:10px 15px; white-space:nowrap; text-decoration:none; }
.overview-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:start; gap:22px; }
.overview-panel { background:white; border:1px solid var(--line); border-radius:11px; overflow:hidden; min-width:0; }
.overview-panel-header { padding:19px 22px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.overview-panel-header h2 { font-size:16px; margin:0; }
.overview-panel-header a { font-size:12px; font-weight:600; text-decoration:none; }
.shift-list,.request-list,.attention-list { list-style:none; padding:0; margin:0; }
.shift-row { display:flex; align-items:center; gap:20px; padding:17px 22px; border-bottom:1px solid #e6edf3; }
.shift-row:last-child,.request-row:last-child { border-bottom:0; }
.shift-date { flex:0 0 48px; border-right:1px solid var(--line); text-align:center; padding-right:16px; }
.shift-date small { display:block; font-size:10px; color:var(--muted); text-transform:uppercase; }
.shift-date strong { display:block; font-size:24px; line-height:1.25; }
.shift-info { flex:1; min-width:0; }
.shift-info strong { display:block; font-size:14px; }
.shift-info span { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.shift-row:first-child { background:#fbfdfd; }
.shift-detail-link { padding:7px 11px; border:1px solid var(--line); border-radius:6px; color:var(--ink); font-size:12px; text-decoration:none; white-space:nowrap; }
.request-row { border-bottom:1px solid #e6edf3; padding:20px 22px; }
.request-row-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.request-row strong { font-size:13px; }
.request-row p { color:var(--muted); font-size:12px; margin:7px 0 0; }
.ui-status { display:inline-block; font-size:11px; font-weight:600; padding:3px 8px; border-radius:5px; border:1px solid #dce4eb; background:#f0f4f7; color:#465d70; white-space:nowrap; }
.ui-status-pending { color:#825500; border-color:#efd6a2; background:#fff6e3; }
.ui-status-approved { color:#006e57; border-color:#b9e4d6; background:#e7f5ee; }
.ui-status-denied { color:#a52e3b; border-color:#f0c8cd; background:#fff0f1; }
.overview-attention { margin-top:22px; }
.attention-row { display:flex; align-items:center; gap:13px; padding:16px 22px; border-bottom:1px solid #e6edf3; color:var(--ink); text-decoration:none; }
.attention-row:last-child { border-bottom:0; }
.attention-row:hover { background:#f5faf9; }
.attention-row strong { font-size:13px; }
.attention-row small { display:block; color:var(--muted); font-size:12px; }
.attention-row .ui-icon:last-child { margin-left:auto; color:var(--accent); flex-shrink:0; }
.attention-count { width:29px; height:29px; border-radius:7px; display:grid; place-items:center; background:#e6f4f1; color:#006e63; font-weight:700; flex-shrink:0; }
.overview-empty { padding:27px 22px; color:var(--muted); font-size:13px; }
.overview-empty strong { display:block; color:var(--ink); margin-bottom:5px; }
.overview-caught-up { display:flex; gap:15px; align-items:center; }
.overview-caught-up .ui-icon { color:var(--accent); width:28px; height:28px; }
.workspace-main .review-list > details { background:white; border:1px solid var(--line); border-radius:9px; margin-bottom:12px; padding:0; }
.review-summary { padding:17px 20px; cursor:pointer; display:flex; align-items:center; gap:15px; }
.review-summary::before { content:'›'; color:var(--accent); font-size:22px; line-height:1; }
details[open] > .review-summary::before { transform:rotate(90deg); }
.review-summary span { flex:1; }
.review-summary strong { display:block; font-size:14px; }
.review-summary small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.review-summary-label { flex:0 0 auto !important; color:var(--accent-dark); font-size:12px; }
.review-details { padding:0 20px 20px; border-top:1px solid var(--line); }
.review-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin:18px 0; }
.review-meta dt { font-size:12px; color:var(--muted); }
.review-meta dd { margin:3px 0 0; font-size:13px; font-weight:600; }
.workspace-main .review-filter { display:flex; flex-wrap:wrap; align-items:end; }
.workspace-main .review-filter > label:not(.check-row) { flex:1 1 140px; min-width:130px; }
.workspace-main .review-filter > .check-row { flex:0 1 auto; padding-bottom:9px; }
.workspace-main .review-filter > button,.workspace-main .review-filter > a { flex:0 0 auto; min-width:75px; }
.request-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); align-items:start; gap:22px; }
.request-layout .form-grid { margin:0; width:100%; max-width:none; }
.request-layout .operational-form { background:transparent; border:0; padding:0; box-shadow:none; gap:16px; }
.request-layout > aside > .request-preview { margin-top:0; margin-bottom:18px; }
.shift-help { font-size:12px; color:var(--muted); }
.shift-help summary { cursor:pointer; }
.request-layout .form-section-grid { gap:16px; }
.request-type-toggle { display:flex; flex-wrap:wrap; gap:18px; padding:0 0 15px; }
.request-type-toggle label { display:flex; gap:7px; align-items:center; font-size:13px; }
.request-shift-picker { max-height:420px; overflow:auto; }
.request-shift-picker .shift-row { gap:12px; padding:13px 16px; }
.request-shift-picker .shift-info strong { font-size:12px; }
.request-shift-picker .shift-detail-link { background:white; color:var(--ink); min-height:34px; padding:5px 9px; }
.request-preview { padding:18px 20px; margin-top:18px; border:1px solid var(--line); border-radius:9px; background:white; }
.request-preview h2 { font-size:16px; margin:0 0 5px; }
.request-preview p { font-size:12px; color:var(--muted); margin:5px 0 10px; }
.request-preview ul { margin:0; padding-left:18px; font-size:13px; }
.request-preview-error { color:#9b2838 !important; }
.request-preview[aria-busy=true] { opacity:1; border-color:var(--accent); }
.onboarding-guide { margin:0 0 20px; background:#eaf4f2; border:1px solid #c7e3dd; border-radius:8px; padding:15px 18px; font-size:13px; }
.onboarding-guide strong { display:block; margin-bottom:4px; }
.auth-workspace { min-height:100vh; display:grid; place-items:center; padding:28px; background:linear-gradient(130deg,#14283d 0%,#203f53 48%,#f3f6f9 48%); }
.auth-workspace .page { width:100%; max-width:440px; padding:0; margin:0; }
.auth-workspace .login-panel { width:100%; max-width:none; margin:0; padding:34px; border-radius:14px; background:white; border:1px solid var(--line); box-shadow:0 18px 70px #10273c20; }
.auth-workspace .login-panel h1 { font-size:25px; }
.auth-workspace .login-panel .button-link { display:block; text-align:center; padding:12px; text-decoration:none; }
.auth-brand { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--ink); font-weight:700; }
@media (min-width:1600px) { .overview-grid { grid-template-columns:minmax(0,1.5fr) minmax(350px,1fr); } }
@media (max-width:1100px) { .workspace-main .page { padding:24px; } .workspace-topbar { padding:14px 24px; } .overview-grid { gap:16px; } .shift-row { gap:12px; padding:16px; } .request-row { padding:18px 16px; } .overview-heading { align-items:flex-start; } .request-layout { grid-template-columns:minmax(0,1fr); } .request-shift-picker { max-height:240px; } }
@media (max-width:960px) {
 .workspace-sidebar { transform:translateX(-100%); transition:transform .18s ease; }
 .workspace-main { margin-left:0; }
 .workspace-menu { display:inline-flex; align-items:center; }
 .workspace-topbar { min-height:66px; }
 .workspace-breadcrumb { margin-right:auto; }
 .workspace-menu-open .workspace-sidebar { transform:translateX(0); }
 .workspace-menu-open .workspace-overlay { display:block; position:fixed; inset:0; background:#10273c70; border:0; border-radius:0; z-index:35; }
 .workspace-menu-open { overflow:hidden; }
 .skip-link { left:16px; }
}
@media (max-width:700px) {
 .workspace-main .page { padding:20px 16px 30px; }
 .workspace-topbar { padding:12px 16px; gap:12px; }
 .workspace-breadcrumb > span:first-child,.workspace-breadcrumb > span:nth-child(2) { display:none; }
 .workspace-account > div:first-child { display:none; }
 .workspace-tabs { padding:0 16px; gap:22px; }
 .overview-heading { display:block; margin:0 0 20px; }
 .overview-heading h1 { font-size:25px; }
 .overview-actions { margin-top:16px; }
 .overview-grid { grid-template-columns:minmax(0,1fr); }
 .overview-panel-header { padding:17px 18px; }
 .overview-attention { margin-top:16px; }
 .workspace-main .page-title { flex-wrap:wrap; align-items:flex-start; }
 .workspace-main .page-title h1 { font-size:25px; }
 .workspace-main .hub-card,.workspace-main .workflow-action-card { display:block; padding:15px 18px; }
 .workspace-main .hub-card strong,.workspace-main .workflow-action-card strong { display:block; margin-bottom:4px; }
 .workspace-main .filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .workspace-main .filter-panel > * { min-width:0; }
 .workspace-main .form-section-grid { grid-template-columns:minmax(0,1fr); }
 .review-summary { padding:15px; gap:10px; }
 .review-summary-label { font-size:11px; }
 .review-details { padding:0 15px 15px; }
 .workspace-main .ops-section { padding:16px; }
 .workspace-main .schedule-board-table td { padding:2px; }
 .auth-workspace { background:var(--sidebar); padding:18px; }
 .auth-workspace .login-panel { padding:26px; }
}
@media (prefers-reduced-motion:reduce) { .workspace-sidebar { transition:none; } }
@media print {
 .workspace-sidebar,.workspace-topbar,.workspace-tabs,.workspace-overlay,.workspace-menu,.skip-link,.workspace-main .environment-banner { display:none !important; }
 .workspace-main { margin:0; }
 .workspace-main .page { padding:0; max-width:none; width:100%; }
 body { background:white; }
 .review-list > details:not([open]) > .review-details { display:block; }
}

/* Stretch a short week across the workspace; longer ranges retain their own scroll area. */
.workspace-main .schedule-board-table { width:100%; min-width:804px; }

/* Destructive actions use one readable treatment everywhere, including grant release. */
.workspace-main .danger-button,
.workspace-main .decision-dock .danger-button { background:#fff; color:#962b3b; border:1px solid #d9a7b0; }
.workspace-main .danger-button:hover,
.workspace-main .decision-dock .danger-button:hover { background:#fff2f4; color:#7b2030; }

/* Operational views share the same neutral surfaces and restrained status colors. */
.workspace-main .staffing-calendar-wide { position:static; left:auto; transform:none; width:100%; min-width:0; }
.workspace-main .month-calendar { width:100%; overflow:auto; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:9px; }
.workspace-main .month-weekday { background:#edf3f7; color:var(--muted); padding:10px 12px; font-size:12px; font-weight:600; }
.workspace-main button.month-day { display:grid; justify-content:stretch; align-content:start; text-align:left; font-size:11px; font-weight:400; color:var(--ink); background:white; border:0; border-radius:0; padding:12px; gap:12px; }
.workspace-main .month-day.outside-month { background:#f7f9fb; color:#536b7e; }
.workspace-main .month-date { font-size:20px; font-weight:700; color:var(--ink); }
.workspace-main .month-date small { font-size:10px; color:var(--muted); }
.workspace-main .calendar-tile-division { padding-top:10px; border-top:1px solid var(--line); }
.workspace-main .calendar-tile-division h3 { font-size:12px; margin:0 0 5px; }
.workspace-main .calendar-tile-shift { font-size:11px; padding-bottom:7px; }
.workspace-main .calendar-exception,.workspace-main .calendar-alert { display:block; font-size:10px; line-height:1.4; color:var(--muted); }
.workspace-main .calendar-alert,.workspace-main .staffing-short { color:#875d0d; }
.workspace-main .month-counts { display:flex; flex-wrap:wrap; gap:5px; }
.workspace-main .month-counts span { padding:2px 5px; background:#f0f5f8; border:1px solid var(--line); border-radius:4px; font-size:10px; }
.workspace-main .calendar-agenda-day { background:white; border:1px solid var(--line); border-radius:9px; }
.workspace-main button.calendar-agenda-heading { background:#f1f7f7; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); padding:16px; text-align:left; }
.calendar-agenda-division,.calendar-detail-shift { padding:16px; }
.calendar-detail-shift { border-top:1px solid var(--line); }
.calendar-detail-shift h4 { margin:0 0 4px; }
.calendar-detail-shift header p { font-size:12px; margin:0 0 5px; color:var(--muted); }
.workspace-main .shift-summary-card { background:white; border:1px solid var(--line); border-radius:8px; padding:18px; }
.shift-summary-card h3 { margin:0 0 8px; font-size:15px; }
.mini-heading { font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); margin:12px 0 6px; font-weight:600; }
.compact-list { list-style:none; padding:0; margin:0; }
.compact-list li { padding:8px 0; border-bottom:1px solid #e8edf2; font-size:12px; }
.compact-list li:last-child { border:0; }
.compact-list li > span { color:var(--muted); font-size:11px; }
.mini-badge { display:inline-block; border:1px solid var(--line); border-radius:4px; padding:2px 5px; background:#f4f7fa; font-size:10px; }
.workspace-main .staffing-page { width:100%; max-width:none; }
.workspace-main .crew-summary-row,.workspace-main .staffing-pool,.workspace-main .staffing-settings { background:white; border:1px solid var(--line); border-radius:8px; margin:12px 0; }
.crew-summary-row > summary,.staffing-pool > summary,.staffing-settings > summary { padding:16px 18px; color:var(--ink); font-size:13px; }
.crew-summary-row[open] > summary,.staffing-settings[open] > summary { border-bottom:1px solid var(--line); background:#f5f9fb; }
.crew-summary-row > .form-actions,.crew-summary-row > .crew-member-list,.staffing-settings > form,.staffing-settings > .table-wrap,.staffing-pool > .crew-member-list { padding:18px; margin:0; }
.crew-member-list { list-style:none; }
.crew-member-list li { border-bottom:1px solid #e6edf2; padding:10px 0; font-size:13px; }
.crew-member-list li:last-child { border:0; }
.crew-member-list li span { color:var(--muted); font-size:12px; }
.staffing-tabs a[aria-current=page] { border-color:#b9dcd5; color:var(--accent-dark); background:#e8f5f2; }
.roster-print-header { margin:24px 0 18px; }
.roster-print-header h1 { font-size:23px; margin-bottom:5px; }
.roster-print-header p { color:var(--muted); font-size:12px; }
.roster-screen-preview .roster-group { background:white; border:1px solid var(--line); border-radius:9px; padding:20px; }
.roster-area-label { color:var(--accent-dark); font-size:10px; text-transform:uppercase; letter-spacing:1px; }
.roster-group h2 { margin:5px 0 12px; }
.roster-person { padding:11px 0; border-top:1px solid var(--line); font-size:13px; }
.roster-contact { text-align:right; color:var(--muted); font-size:12px; }
@media(max-width:700px) { .roster-section-grid { grid-template-columns:minmax(0,1fr); } .roster-person { display:block; } .roster-contact { text-align:left; margin-top:4px; } .calendar-agenda-heading { flex-wrap:wrap; } .calendar-detail-groups { grid-template-columns:minmax(0,1fr); } }

@media print {
 @page { size:letter portrait; margin:.35in; }
 .roster-print { width:7.8in; max-width:100%; font-size:9pt; line-height:1.2; }
 .roster-print-header { border-bottom:1px solid #667785; margin-bottom:10px; padding-bottom:6px; }
 .roster-print-header h1 { font-size:16pt; margin:0 0 3px; }
 .roster-print-header p { font-size:8pt; margin:0; }
 .compact-roster-area > h2 { font-size:11pt; margin:0 0 5px; padding:4px; background:#edf3f7; }
 .compact-roster-section h3 { font-size:9pt; margin:0; padding:4px; background:#f4f7f9; }
 .workspace-main .compact-roster-table { font-size:8pt; min-width:0; width:100%; }
 .workspace-main .compact-roster-table th,.workspace-main .compact-roster-table td { padding:3px 4px; font-size:8pt; line-height:1.2; border:1px solid #c0cbd4; white-space:normal; overflow-wrap:anywhere; }
 .workspace-main .compact-roster-table .compact-name-column { width:40%; }
 .workspace-main .compact-roster-table .compact-dsn-column { width:10%; }
 .workspace-main .compact-roster-table .compact-call-sign-column { width:15%; }
 .workspace-main .compact-roster-table .compact-phone-column { width:35%; }
 .workspace-main .roster-has-email .compact-name-column { width:25%; }
 .workspace-main .roster-has-email .compact-dsn-column { width:8%; }
 .workspace-main .roster-has-email .compact-call-sign-column { width:12%; }
 .workspace-main .roster-has-email .compact-phone-column { width:20%; }
 .workspace-main .roster-has-email .compact-email-column { width:35%; }
 .sort-indicator,.sortable-header::after { display:none; }
}
