/* Radra 2026-09: shared appearance layer; functional layout remains in style.css. */
:root {
    --app-navbar-height: 3.75rem;
    --app-primary: #3176ad;
    --app-primary-dark: #245f91;
    --app-primary-soft: #edf5fb;
    --app-text: #263747;
    --app-muted: #68798a;
    --app-border: #e3e9ef;
    --app-surface: #fff;
    --app-radius: 0.75rem;
    --app-shadow: 0 2px 5px rgb(30 54 80 / 3%);
    --app-sidebar-width: 13.5rem;
    --bs-primary-rgb: 49,118,173;
}
body.app-shell { background:#f5f7fa; color:var(--app-text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; font-size:.875rem; line-height:1.6; -webkit-font-smoothing:antialiased; }
.app-skip-link { position:fixed; top:-5rem; left:1rem; z-index:2000; padding:.6rem 1rem; background:#fff; color:var(--app-primary); border-radius:.5rem; }
.app-skip-link:focus { top:.5rem; }
.app-shell a { text-underline-offset:.2em; }
.app-shell :focus-visible { outline:3px solid #78abd0; outline-offset:3px; }
/* Frame and navigation */
.app-navbar { height:var(--app-navbar-height); padding:0; background:#fff !important; border-bottom:1px solid var(--app-border); box-shadow:none; }
.app-navbar > .container-fluid { padding-inline:1.25rem; gap:.75rem; }
.app-navbar .app-navbar-brand { gap:.65rem; max-width:none; color:var(--app-text); font-size:.95rem; font-weight:650; }
.app-navbar .app-navbar-brand:hover { color:var(--app-primary); }
.app-brand-mark { flex:0 0 auto; display:inline-grid; place-items:center; width:2rem; height:2rem; border-radius:.6rem; background:var(--app-primary); color:white; font-size:1rem; }
.app-brand-name { overflow:hidden; text-overflow:ellipsis; }
.app-navbar .app-user-menu { display:flex; align-items:center; gap:.4rem; padding:.4rem .65rem; border-radius:.5rem; color:#526578; font-size:.8rem; }
.app-navbar .app-user-menu:hover, .app-navbar .app-user-menu.show, .app-navbar .app-user-menu:focus { background:#f1f5f9; color:var(--app-text) !important; }
.app-user-menu > .bi { color:#7a93ab; font-size:1.2rem; }
.app-user-name { max-width:9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-role-badge { padding:.25rem .4rem; background:#edf2f7; color:#526578; font-size:.65rem; font-weight:500; }
.app-navbar .dropdown { position:relative; }
.app-navbar .dropdown-menu { position:absolute; top:100%; right:0; left:auto; min-width:11rem; margin-top:.55rem; padding:.4rem; border:1px solid var(--app-border); border-radius:.7rem; box-shadow:0 12px 32px rgb(30 54 80 / 13%); }
.dropdown-item { display:flex; align-items:center; gap:.6rem; padding:.55rem .7rem; border-radius:.4rem; color:#526578; font-size:.84rem; }
.dropdown-item:hover, .dropdown-item:focus { background:var(--app-primary-soft); color:var(--app-primary); }
.dropdown-divider { margin:.3rem 0; border-color:var(--app-border); }
.app-navbar .navbar-toggler { padding:.35rem; border:0; border-radius:.45rem; }
.app-navbar .navbar-toggler-icon { width:1.25rem; height:1.25rem; }
.sidebar { padding:.9rem .4rem; border-right:1px solid var(--app-border); box-shadow:none; }
.sidebar .nav-link { display:flex; align-items:center; gap:.6rem; margin:.1rem .25rem; padding:.65rem .75rem; border-radius:.5rem; color:#5c6d7f; font-size:.84rem; font-weight:500; }
.sidebar .nav-link i { width:1.2rem; margin:0; color:#8192a3; font-size:1rem; }
.sidebar .nav-link.active { background:var(--app-primary-soft); color:var(--app-primary); font-weight:650; }
.sidebar .nav-link.active i { color:var(--app-primary); }
.sidebar .nav-link:hover { background:#f4f7fa; }
.sidebar-nav-heading { margin:1.1rem 1rem .35rem; color:#81909f; font-size:.68rem; font-weight:500; letter-spacing:.04em; }
.main-content { padding-top:1.35rem !important; padding-bottom:2rem !important; }
.main-content > div:not(.alert) { max-width:96rem; margin-inline:auto; }
.page-heading, .issue-detail-heading { align-items:center; margin-bottom:1.15rem; }
.page-heading h1, .workbench-page .workbench-heading h1, .issue-detail-heading h1 { font-size:clamp(1.2rem,1.5vw,1.5rem); font-weight:650; letter-spacing:-.025em; line-height:1.4; }
.page-heading p { font-size:.81rem; color:var(--app-muted); }
.detail-eyebrow { margin-bottom:.3rem; color:#73879a; font-size:.72rem; font-weight:500; }
/* Shared controls */
.card { border-color:var(--app-border); border-radius:var(--app-radius); box-shadow:var(--app-shadow); }
.card:hover { border-color:var(--app-border); box-shadow:var(--app-shadow); transform:none; }
.card-header, .settings-table-card .card-header, .admin-issues-table-card .card-header, .issue-timeline-card .card-header, .settings-import-card .card-header, .profile-settings-card .card-header, .profile-side-card .card-header { padding:.85rem 1rem; background:#fff; }
.card-header :is(h2,h3,h4,h5), .settings-table-card .card-header h5, .admin-issues-table-card .card-header h2 { margin:0; font-size:.9rem; font-weight:650; }
.card-header p { font-size:.75rem; }
.card-footer { background:#fcfdfe; border-color:var(--app-border); }
.card > .card-header:first-child { border-radius:calc(var(--app-radius) - 1px) calc(var(--app-radius) - 1px) 0 0; }
.btn { min-height:2.25rem; padding:.4rem .8rem; gap:.35rem; font-size:.82rem; font-weight:500; line-height:1.35; border-radius:.5rem; box-shadow:none; transition:background-color 150ms,border-color 150ms,color 150ms; }
.btn:hover, .btn:active { transform:none; box-shadow:none; }
.btn-sm, .btn-group-sm > .btn { min-height:2rem; padding:.3rem .6rem; font-size:.77rem; }
.btn-primary, .btn-primary:focus { background:var(--app-primary); border-color:var(--app-primary); color:white; }
.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible { background:var(--app-primary-dark); border-color:var(--app-primary-dark); color:white; }
.btn-outline-primary { color:var(--app-primary); border-color:#d2e0ec; background:white; }
.btn-outline-primary:hover, .btn-outline-primary:focus-visible { color:var(--app-primary-dark); background:#edf5fb; border-color:#adc9df; }
.btn-secondary, .btn-outline-secondary, .btn-light { color:#596b7c; background:#fff; border-color:#dce4eb; }
.btn-success, .btn-outline-success { color:#28765a; border-color:#cce6db; background:#f3faf6; }
.btn-info, .btn-outline-info { color:#34728b; border-color:#d4e6ec; background:#f5fafc; }
.btn-warning, .btn-outline-warning { color:#8c6328; border-color:#eadfc8; background:#fffaf1; }
.btn-danger, .btn-outline-danger { color:#a54d4d; border-color:#efdada; background:#fff7f7; }
.form-control, .form-select { min-height:2.4rem; padding:.48rem .7rem; border-color:#dce4eb; border-radius:.5rem; color:#34485b; background-color:#fff; font-size:.84rem; line-height:1.5; }
.form-select { padding-right:2.25rem; }
.form-control::placeholder { color:#8996a4; }
.form-control:focus, .form-select:focus { border-color:#83afd0; box-shadow:0 0 0 3px rgb(49 118 173 / 10%); }
.form-control:focus-visible, .form-select:focus-visible { outline:none; }
.form-label, .form-check-label { margin-bottom:.35rem; color:#53677a; font-size:.79rem; font-weight:500; }
.form-text, .text-muted { color:var(--app-muted) !important; }
.form-text { font-size:.74rem; }
.input-group-text { border-color:#dce4eb; background:#f7f9fb; color:#7c8ea0; }
.table { --bs-table-striped-bg:#fafcfd; --bs-table-hover-bg:#f1f7fb; border-color:#edf1f5; color:#43566a; }
.table > thead > tr > th { background:#f8fafc; color:#738396; font-size:.75rem; font-weight:500; white-space:nowrap; }
.table > :not(caption) > * > * { padding:.7rem .75rem; border-color:#edf1f5; vertical-align:middle; }
.table > :not(:first-child) { border-top:1px solid var(--app-border); }
.settings-table-card .table td, .admin-issues-table td { font-size:.81rem; }
.settings-table-card .table td:nth-child(4), .settings-table-card .table td.user-desktop-optional { white-space:nowrap; }
.settings-table-card .card-body > .row { margin:0; padding:1rem .6rem; border-bottom:1px solid #edf1f5; }
.table .btn-group > .btn { min-width:2rem; }
.status-badge { padding:.3rem .55rem; border-radius:.35rem; font-size:.71rem; font-weight:500; line-height:1.3; }
.status-pending, .status-pending_confirmation { color:#8a6528; background:#fff5e2; }
.status-reviewing, .status-processing { color:#3176ad; background:#edf5fb; }
.status-assigned { color:#4f728b; background:#eef5f8; }
.status-resolved { color:#28765a; background:#eaf6ef; }
.status-rejected { color:#a54d4d; background:#fceeee; }
.status-discarded, .status-reopened { color:#667789; background:#f0f3f6; }
.badge.bg-success { color:#28765a !important; background:#eaf6ef !important; }
.badge.bg-info, .badge.bg-primary { color:#3176ad !important; background:#edf5fb !important; }
.badge.bg-warning { color:#8a6528 !important; background:#fff5e2 !important; }
.badge.bg-danger { color:#a54d4d !important; background:#fceeee !important; }
.badge.bg-secondary { color:#667789 !important; background:#f0f3f6 !important; }
.page-link { color:var(--app-primary); font-size:.8rem; border-color:var(--app-border); }
.page-item.active .page-link { background:var(--app-primary); border-color:var(--app-primary); }
/* Workbench: actionable counts and compact secondary information */
.dashboard-page .dashboard-hero { gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--app-border); }
.dashboard-page .dashboard-hero h1 { font-size:1.25rem; font-weight:650; line-height:1.4; }
.dashboard-page .dashboard-hero p { margin-top:.35rem; font-size:.81rem; color:var(--app-muted); }
.dashboard-section { margin-top:1.25rem; }
.dashboard-section-heading { margin-bottom:.65rem; flex-wrap:wrap; }
.dashboard-section-heading h2 { font-size:.9rem; font-weight:650; }
.dashboard-section-heading p { font-size:.75rem; }
.dashboard-metrics-action { gap:.75rem; }
.dashboard-metric { min-height:5.15rem; padding:.85rem 1rem; column-gap:.7rem; border-radius:.7rem; background:#fff; }
.dashboard-metric.metric-primary, .dashboard-metric.metric-attention, .dashboard-metric.metric-danger { background:#fff; border-color:var(--app-border); }
.dashboard-metric > i { background:#edf5fb; color:#3176ad; }
.dashboard-metric > span { font-size:.81rem; font-weight:500; }
.dashboard-metric strong { font-size:1.55rem; font-weight:650; letter-spacing:-.04em; }
.dashboard-metric small { font-size:.72rem; color:#718398; font-weight:400; }
.dashboard-metric small i { margin-left:.2rem; }
.dashboard-metric:hover, .dashboard-metric:focus-visible { transform:none; border-color:#aac8df; box-shadow:0 3px 10px rgb(30 54 80 / 5%); }
.dashboard-metrics-secondary { gap:.65rem; }
.dashboard-metrics-secondary .dashboard-metric.metric-soft { flex-direction:row; justify-content:space-between; gap:.5rem; min-height:3rem; padding:.65rem .9rem; background:#f0f4f8; border-color:transparent; border-radius:.5rem; }
.dashboard-metrics-secondary .dashboard-metric.metric-soft > span { font-size:.77rem; color:#6d7f91; }
.dashboard-metrics-secondary .dashboard-metric.metric-soft strong { margin:0; font-size:1.05rem; }
.dashboard-quick-links { gap:.65rem; }
.dashboard-quick-links > a { padding:.75rem .85rem; border-radius:.6rem; box-shadow:none; }
.dashboard-quick-links span { font-size:.8rem; font-weight:500; }
.dashboard-quick-links i { background:#f0f5f9; color:#728fa8; border-radius:.5rem; }
.dashboard-quick-links small { font-size:.72rem; }
.dashboard-analysis-card { padding:1rem; border-radius:.7rem; box-shadow:none; }
.dashboard-analysis-grid { grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)); }
.dashboard-analysis-card header h3 { font-size:.82rem; font-weight:600; }
.dashboard-status-row, .dashboard-rank-list li a { font-size:.75rem; }
.dashboard-range-switch { padding:.2rem; border:1px solid #e4eaf0; background:#edf2f7; border-radius:.5rem; }
.dashboard-range-switch a { padding:.3rem .65rem; border-radius:.35rem; color:#6d7d8e; font-size:.73rem; }
.dashboard-range-switch a.is-active { background:#fff; color:var(--app-primary); box-shadow:0 1px 3px rgb(30 54 80 / 7%); }
.user-summary-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:.75rem 0; border:1px solid var(--app-border); border-radius:.7rem; background:#fff; }
.user-summary-item { display:flex; align-items:center; gap:.65rem; min-height:2rem; padding:.3rem 1rem; border:0; border-right:1px solid var(--app-border); border-radius:0; }
.user-summary-item:last-child { border-right:0; }
.user-summary-item span { align-self:auto; white-space:nowrap; font-size:.75rem; }
.user-summary-item strong { align-self:auto; margin-left:auto; font-size:1.1rem; font-weight:650; }
.settings-stat-card { padding:.7rem .8rem; min-height:4rem; box-shadow:none; }
.settings-card-heading { padding:.85rem 1rem !important; }
/* Issue content and supporting detail */
.issue-card .issue-card-title { font-size:.94rem; font-weight:600; line-height:1.55; }
.issue-card .card-body { padding:.9rem 1rem; }
.issue-card .card-footer { padding:.6rem 1rem; }
.issue-card-description { color:#526578; line-height:1.65; font-size:.84rem; }
.issue-summary-card .card-body, .workbench-overview-card .card-body { padding:1.1rem; }
.detail-section-icon, .detail-action-icon { width:2rem; height:2rem; border-radius:.5rem; font-size:1rem; background:#edf5fb; }
.detail-section-heading h2, .detail-contact-card h2, .detail-action-card h2 { font-size:.9rem; font-weight:600; }
.detail-section-heading p, .detail-heading-meta { font-size:.76rem; }
.detail-problem-context { padding:.5rem 0; background:transparent; border:0; border-bottom:1px solid #edf1f5; border-radius:0; }
.detail-category { color:#647d93; background:#f0f5f8; font-size:.73rem; font-weight:500; }
.detail-description, .workbench-description-section > div { color:#34485b; background:#f8fafc; border:1px solid #edf1f5; border-radius:.6rem; font-size:.93rem; line-height:1.85; }
.detail-action-card { background:#fff; border-color:var(--app-border); }
.detail-action-card p { color:#718296; font-size:.79rem; }
.issue-timeline-card .card-body { padding:1rem; }
.timeline-scroll-panel { max-height:20rem; scrollbar-width:thin; scrollbar-color:#c7d4df transparent; }
.timeline-actor-role { display:inline-flex; align-items:center; gap:.3rem; margin-top:.35rem; padding:.18rem .45rem; border-radius:.35rem; background:#f0f4f8; color:#66798b; font-size:.7rem; font-weight:500; }
.timeline-actor-role i { color:#7c93a7; }
.organization-row { border-color:#e6edf3; border-radius:.6rem; }
.organization-row:hover { background:#f7fafc; }
.organization-empty-state { padding:2rem 1rem; }
.organization-empty-state > i { width:2.4rem; height:2.4rem; border-radius:.7rem; font-size:1.1rem; }
.organization-empty-state h2 { font-size:.95rem; }
.modal-content { border:1px solid var(--app-border); border-radius:.85rem; box-shadow:0 20px 70px rgb(30 54 80 / 16%); }
.modal-header { padding:1rem 1.2rem; background:#fff; border-bottom:1px solid var(--app-border); color:var(--app-text); }
.modal-title { font-size:1rem; font-weight:600; }
.modal-footer { padding:.75rem 1.2rem; border-color:var(--app-border); background:#fafcfd; }
.alert-auto-dismiss { min-width:min(300px,calc(100vw - 2rem)); max-width:min(500px,calc(100vw - 2rem)); }
/* Login */
.app-guest { background:radial-gradient(ellipse at 15% 35%,#eaf2f9,transparent 60%),#f7f9fc !important; }
.app-guest .main-content { padding:0 1.25rem !important; }
.login-shell { min-height:calc(100dvh - var(--app-navbar-height) - 1rem); padding:3rem 1rem; }
.login-layout { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:5rem; width:100%; max-width:62rem; margin:auto; }
.login-eyebrow { display:flex; align-items:center; gap:.5rem; color:#67839b; font-size:.8rem; letter-spacing:.04em; }
.login-eyebrow > span { width:.45rem; height:.45rem; border-radius:50%; background:#76a7ca; }
.login-intro h1 { margin:1.15rem 0; color:#2a4358; font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.45; font-weight:650; letter-spacing:-.04em; }
.login-intro > p { color:#73869a; font-size:.93rem; line-height:1.95; }
.login-steps { display:grid; gap:1.1rem; margin:1.8rem 0; padding:0; list-style:none; }
.login-steps li { display:flex; align-items:center; gap:.85rem; color:#435f77; font-size:.85rem; }
.login-steps li > i { display:grid; place-items:center; width:2.4rem; height:2.4rem; border:1px solid #dce7f0; border-radius:.7rem; background:#f8fbfe; color:#6a95b5; font-size:1.1rem; }
.login-steps small { display:block; margin-top:.05rem; color:#7b8d9f; font-size:.73rem; }
.login-device-note { color:#7a8d9f; font-size:.75rem; }
.login-device-note i { margin-right:.35rem; }
.login-card, .login-card:hover { border:1px solid #e0e8ef; border-radius:1rem; background:#fff; box-shadow:0 16px 50px rgb(37 68 99 / 7%); }
.login-card-header { padding:2rem 2rem .4rem; background:#fff; color:var(--app-text); text-align:left; }
.login-form-icon { display:inline-grid; place-items:center; width:2.6rem; height:2.6rem; margin-bottom:1rem; border-radius:.8rem; background:#edf5fb; color:var(--app-primary); font-size:1.35rem; }
.login-card-header h2 { margin:0; font-size:1.4rem; font-weight:650; }
.login-card-header p { margin-top:.55rem; color:#7b8d9d; font-size:.8rem; }
.login-card .card-body { padding:.85rem 2rem 1.75rem; }
.login-card .form-label { color:#52677a; font-size:.8rem; }
.login-card .form-control { min-height:2.85rem; }
.login-card .input-group-text { background:#fff; padding-left:.85rem; border-right:0; color:#8a9aab; }
.login-card .input-group > .form-control { border-left:0; padding-left:.25rem; }
.login-card .input-group:focus-within { border-radius:.5rem; box-shadow:0 0 0 3px rgb(49 118 173 / 10%); }
.login-card .input-group:focus-within > * { border-color:#83afd0; box-shadow:none; }
.login-submit { justify-content:center; min-height:2.75rem; font-size:.88rem; }
.login-card .card-footer { display:flex; align-items:center; justify-content:center; gap:.4rem; padding:.9rem; background:#fafcfe; color:#8191a0; font-size:.71rem; }
@media (min-width:768px) {
    .app-authenticated .sidebar { width:var(--app-sidebar-width); }
    .app-authenticated .main-content { width:calc(100% - var(--app-sidebar-width)); margin-left:var(--app-sidebar-width) !important; padding-inline:1.5rem !important; }
}
@media (max-width:1099.98px) and (min-width:768px) {
    :root { --app-sidebar-width:12rem; }
    .app-authenticated .main-content { padding-inline:1rem !important; }
    .user-summary-item { gap:.4rem; padding-inline:.65rem; }
    .user-summary-item i { display:none; }
    .login-layout { gap:2.5rem; }
}
/* Only user management has a replacement mobile list. Keep other tables visible. */
@media (max-width:1099.98px) {
    .settings-page:not(.user-settings-page) .settings-table-card .table-responsive { display:block; }
    .dashboard-analysis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-status-analysis { grid-column:1 / -1; }
}
@media (max-width:767.98px) {
    :root { --app-navbar-height:3.5rem; }
    .app-navbar > .container-fluid { padding-inline:.8rem; gap:.35rem; }
    .app-navbar .app-navbar-brand { gap:.45rem; flex:1; min-width:0; margin-right:.2rem; font-size:.84rem; }
    .app-brand-mark { width:1.75rem; height:1.75rem; border-radius:.5rem; font-size:.86rem; }
    .app-navbar .app-user-menu { gap:.3rem; padding-inline:.3rem; }
    .app-role-badge { display:none; }
    .app-user-name { max-width:4.5rem; font-size:.75rem; }
    .sidebar { width:min(18rem,88vw); box-shadow:6px 10px 30px rgb(30 54 80 / 10%); z-index:1020; }
    .sidebar .nav-link { min-height:2.75rem; }
    .main-content { padding:1rem .85rem 2rem !important; }
    .page-heading h1, .workbench-page .workbench-heading h1, .issue-detail-heading h1 { font-size:1.18rem; }
    .page-heading p { font-size:.78rem; }
    .page-heading, .issue-detail-heading { align-items:stretch; }
    .page-heading > .d-flex { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:.45rem !important; }
    .btn, .btn-sm, .btn-group-sm > .btn { min-height:2.5rem; }
    .form-control, .form-select { min-height:2.75rem; font-size:1rem; }
    .form-label { font-size:.79rem; }
    .dashboard-page .dashboard-hero h1 { font-size:1.15rem; }
    .dashboard-primary-action { width:100%; }
    .dashboard-metrics-action { grid-template-columns:1fr; gap:.5rem; }
    .dashboard-metric { min-height:4.4rem; padding:.65rem .85rem; column-gap:.7rem; }
    .dashboard-metric strong { font-size:1.4rem; }
    .dashboard-metrics-secondary { grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr)); gap:.4rem; }
    .dashboard-metrics-secondary .dashboard-metric.metric-soft { min-height:3rem; padding:.55rem; }
    .dashboard-metrics-secondary .dashboard-metric.metric-soft > span { font-size:.72rem; }
    .dashboard-metrics-secondary .dashboard-metric.metric-soft strong { font-size:.95rem; }
    .dashboard-section { margin-top:1.1rem; }
    .dashboard-section-heading p { font-size:.73rem; }
    .dashboard-analysis-card { padding:.9rem; }
    .dashboard-analysis-grid { grid-template-columns:minmax(0,1fr); }
    .user-summary-strip { grid-template-columns:repeat(2,minmax(0,1fr)); padding:.3rem; gap:0; }
    .user-summary-item { min-height:3rem; padding:.55rem; }
    .user-summary-item:nth-child(2) { border-right:0; }
    .user-summary-item:nth-child(-n+2) { border-bottom:1px solid var(--app-border); }
    .user-summary-item span { font-size:.72rem; }
    .user-summary-item strong { font-size:1rem; }
    .category-settings-page .settings-table-card .table { width:100%; min-width:0; }
    .category-settings-page .table :is(th,td):nth-child(1), .category-settings-page .table :is(th,td):nth-child(3), .category-settings-page .table :is(th,td):nth-child(6) { display:none; }
    .category-settings-page .table :is(th,td) { padding:.6rem .4rem; font-size:.73rem; }
    .category-settings-page .table .btn-group > .btn { min-width:1.8rem; padding:.25rem .35rem; }
    .category-settings-page .table td:nth-child(2) { min-width:4.2rem; }
    .category-settings-page .table td:nth-child(7) { white-space:nowrap; }
    .detail-description { font-size:.91rem; }
    .issue-summary-card .card-body, .workbench-overview-card .card-body { padding:.9rem; }
    .timeline-header-actions { flex-wrap:wrap; }
    .login-shell { align-items:flex-start; padding:1.65rem 0 2rem; }
    .login-layout { grid-template-columns:minmax(0,1fr); gap:1.3rem; max-width:26rem; }
    .login-intro h1 { margin:.6rem 0; font-size:1.45rem; }
    .login-intro h1 br { display:none; }
    .login-intro > p, .login-steps, .login-device-note { display:none; }
    .login-eyebrow { font-size:.72rem; }
    .login-card-header { padding:1.35rem 1.35rem .3rem; }
    .login-form-icon { width:2rem; height:2rem; margin-bottom:.65rem; font-size:1.1rem; }
    .login-card-header h2 { font-size:1.15rem; }
    .login-card .card-body { padding:.65rem 1.35rem 1.4rem; }
    .login-card .card-footer { font-size:.68rem; }
}
@media (prefers-reduced-motion:reduce) {
    .app-shell *, .app-shell *::before, .app-shell *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
@media print {
    .app-skip-link { display:none; }
    .app-authenticated .main-content { width:100%; margin-left:0 !important; }
}
