/* Shared visual hierarchy for company workspaces, platform admin and dialogs. */
.shell .main { --workspace-title:#172b46; --workspace-label:#304666; --workspace-copy:#475569; background:#f4f5f8; }
.shell .main .content { color:var(--workspace-copy); }
.shell .main .page-head h1 { color:var(--workspace-title); line-height:1.25; letter-spacing:-.025em; }
.shell .main .page-head p { color:#526174; line-height:1.65; }
.shell .main .panel { border-color:#d6dde7; border-radius:16px; padding:24px; box-shadow:0 3px 12px #182b4610; }
.shell .main .panel h2,.shell .main .panel-title h2 { color:var(--workspace-title); font-size:21px; font-weight:750; line-height:1.4; letter-spacing:-.015em; padding:0 0 14px 13px; border-bottom:1px solid #dae1eb; border-left:4px solid #5263a9; margin-bottom:20px; }
.shell .main .panel h3,.shell .main .content h3,.shell .main .content h4 { color:#263858; font-weight:750; line-height:1.4; }
.shell .main .panel-title { gap:14px; flex-wrap:wrap; align-items:baseline; }
.shell .main .panel-title h2 { flex:1; }
.shell .main .table-wrap { border:1px solid #d4dce8; border-radius:10px; }
.shell .main table { color:#334155; font-size:14px; }
.shell .main th { background:#e7edf7; color:#233c62; font-size:13px; font-weight:750; text-transform:none; letter-spacing:0; line-height:1.5; padding:15px 14px; border-bottom:2px solid #bac8dd; white-space:normal; }
.shell .main td { padding:17px 14px; line-height:1.6; border-bottom-color:#e1e6ee; }
.shell .main tbody tr:nth-child(even) { background:#f7f9fc; }
.shell .main tbody tr:hover { background:#eef3fa; }
.shell .main td p,.shell .main td .help { color:#526174; }
.shell .main tfoot th,.shell .main tfoot td,.shell .main .cash-total th,.shell .main .cash-total td { background:#e2eaf6; color:#172b46; font-weight:750; border-top:2px solid #aebfd8; }
.shell .main .stat { border:1px solid #d7deea; border-top:4px solid #6576a8; padding:21px; box-shadow:0 2px 8px #182b4608; }
.shell .main .stat p { color:#304666; font-size:14px; font-weight:750; line-height:1.5; margin-bottom:13px; }
.shell .main .stat strong { color:#172b46; font-variant-numeric:tabular-nums; }
.shell .main .stat small { color:#566477; line-height:1.6; }
.shell .main .stat.accent { background:#eff3fb; border-color:#c8d4eb; border-top-color:#3765b2; }
.shell .main .stat.accent p,.shell .main .stat.accent strong { color:#1f4276; }
.shell .main .stat.accent small { color:#486183; }
.shell .main .record-facts dt { color:#304666; font-size:13px; font-weight:750; }
.shell .main .record-facts dd { color:#334155; line-height:1.65; }
.shell .main label,#modal label { color:#263858; font-weight:700; font-size:14px; line-height:1.5; margin-bottom:8px; }
.shell .main input,.shell .main select,.shell .main textarea,#modal input,#modal select,#modal textarea { border-color:#aebacb; color:#263445; border-radius:9px; min-height:48px; padding:12px; }
.shell .main .help,#modal .help { color:#566477; line-height:1.7; }
.shell .main .banner,#modal .banner { background:#edf4fc; color:#304666; border:1px solid #cbdced; border-left:4px solid #4283b8; line-height:1.7; }
.shell .main .banner.warning { background:#fff7e8; color:#78501b; border-color:#e6c994; border-left-color:#b27c27; }
.shell .main .btn.secondary,#modal .btn.secondary,.shell .main button.secondary,#modal button.secondary { background:#edf0fb; color:#364d88; border:1px solid #d4dbef; }
.shell .main .btn.ghost,#modal .btn.ghost { border-color:#c2ccd9; background:#fff; color:#304666; }
.shell .main .tabs button { background:#e8edf4; color:#304666; border:1px solid #d0d9e6; }
.shell .main .tabs button.selected { background:#284f86; border-color:#284f86; color:#fff; }
.shell .main fieldset,#modal fieldset { min-width:0; border:1px solid #cdd7e3; border-radius:12px; padding:20px; margin:20px 0; background:#fafbfd; }
.shell .main legend,#modal legend { color:#344574; font-size:16px; font-weight:750; padding:0 8px; line-height:1.5; }
#modal { color:#334155; padding:28px; border:1px solid #cbd5e1; max-height:calc(100dvh - 32px); }
#modal .#modal-head { padding-bottom:18px; border-bottom:1px solid #d9e1eb; margin-bottom:24px; }
#modal .#modal-head h2 { color:#172b46; font-size:25px; line-height:1.3; }
#modal form>h2,#modal form>h3,#modal form>h4 { color:#344574; font-size:18px; font-weight:750; line-height:1.5; padding:13px 16px; border-left:4px solid #6576a8; background:#f0f3fa; border-radius:0 8px 8px 0; margin:25px 0 20px; }
#modal .form-grid { gap:22px 20px; }
#modal .form-footer { padding-top:20px; border-top:1px solid #d9e1eb; }
.shell .main .admin-shortcuts { gap:12px; }
.shell .main .admin-plan-grid fieldset { background:#f8f9fc; border-top:4px solid #6576a8; }
.shell .main .admin-plan-grid fieldset:nth-child(2) { border-top-color:#3c7a75; }
.shell .main .admin-plan-grid fieldset:nth-child(3) { border-top-color:#967041; }
.shell .main .readiness-content>strong { color:#263858; font-weight:750; }
.shell .main .tag { line-height:1.5; }
@media(max-width:760px) {
 .shell .main .content { padding:22px 16px; }
 .shell .main .page-head h1 { font-size:28px; }
 .shell .main .panel { padding:18px; margin-bottom:20px; }
 .shell .main .panel h2 { font-size:19px; padding-left:10px; }
 .shell .main .table-wrap { border:0; border-radius:0; overflow:visible; }
 .shell .main .content tbody tr { background:#fff; border:1px solid #cbd5e1; border-top:3px solid #6576a8; padding:8px 14px; box-shadow:0 2px 7px #182b4608; }
 .shell .main .content td { grid-template-columns:112px minmax(0,1fr); gap:12px; font-size:14px; padding:13px 0; overflow-wrap:anywhere; }
 .shell .main .content td::before { font-size:13px; font-weight:750; color:#304666; line-height:1.6; padding-top:0; }
 .shell .main .content tfoot tr { background:#e2eaf6; border:1px solid #bac8dd; border-radius:12px; padding:8px 14px; }
 .shell .main .content tfoot td { background:transparent; }
 .shell .main .stat { padding:18px; }
 .shell .main .stat strong { font-size:27px; }
 .shell .main .page-head>.actions { gap:10px; }
 .shell .main .page-head>.actions>* { min-height:48px; white-space:normal; }
 #modal { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:20px 16px; }
 #modal .#modal-head h2 { font-size:23px; }
 #modal input,#modal select,#modal textarea,.shell .main input,.shell .main select,.shell .main textarea { font-size:16px; }
 #modal .form-grid { grid-template-columns:1fr; gap:20px; }
 #modal fieldset,.shell .main fieldset { padding:16px; }
 #modal .form-footer { flex-wrap:wrap; }
 #modal .form-footer>* { flex:1 1 180px; min-height:48px; white-space:normal; }
 #modal .#modal-head button { min-height:44px; }
 .shell .main .admin-grid,.shell .main .admin-settings-grid { grid-template-columns:minmax(0,1fr); }
 .shell .main .admin-settings-grid>.panel { grid-column:auto; }
}
@media(max-width:380px) { .shell .main .content td { grid-template-columns:95px minmax(0,1fr); gap:10px; } }
@media print { .shell .main .panel { box-shadow:none; } .shell .main .content tbody tr { display:table-row; padding:0; border:0; box-shadow:none; } .shell .main .content td { display:table-cell; } }

#modal .record-facts dt { color:#304666; font-size:13px; font-weight:750; }
#modal .record-facts dd { line-height:1.6; color:#334155; }
