/* Compact workspace, with larger touch controls on phones. */
@media screen {
    /* Shared quiet palette. Keep strong text contrast on soft surfaces. */
    :root, .app-body, .auth-body {
        --lm-bg:#f3f5f3; --lm-surface:#fff; --lm-primary:#28645f; --lm-primary-dark:#204f4b;
        --lm-text:#283c3b; --lm-muted:#586b68; --lm-slate:#586b68; --lm-slate-dark:#394e4b;
        --lm-border:#dbe3df; --lm-field-border:#82948e; --lm-field-bg:#fff; --lm-radius:10px;
        --lm-success:#32674b; --lm-warning:#785716; --lm-brick:#994a42; --lm-brick-dark:#7d3933;
        --lm-accent:#80643e; --lm-accent-soft:#f5eee3; --lm-accent-border:#dccbad;
        --bs-primary-rgb:40,100,95; --bs-success-rgb:50,103,75; --bs-danger-rgb:153,74,66;
        --bs-warning-rgb:120,87,22; --bs-secondary-color:#586b68; --bs-link-color:#28645f;
        --bs-link-hover-color:#204f4b; --lm-shadow-sm:0 2px 8px #283c3b06;
    }
    .app-body, .auth-body { background:var(--lm-bg); color:var(--lm-text); font-size:.9rem; line-height:1.6; }
    .app-main { background:var(--lm-bg); }
    .app-navbar { background:#315853; box-shadow:0 1px 3px #283c3b12; }
    .app-navbar > .app-brand { height:var(--lm-navbar-height); min-height:var(--lm-navbar-height); }
    .app-navbar > .app-brand strong { font-size:.82rem; line-height:1.2; }
    .app-sidebar { background:#fff; border-color:#e1e6ed; }
    .app-sidebar-nav { padding:.65rem .5rem; gap:.2rem; }
    .app-nav-link { border:0; border-radius:6px; padding:.55rem .75rem; color:#526276; }
    .app-nav-link.active { color:#204f4b; background:#e8f0ec; box-shadow:inset 3px 0 #28645f; }
    .app-page-header { margin-bottom:.85rem; padding-bottom:.65rem; }
    .app-page-header h1 { font-weight:650; font-size:1.3rem; color:var(--lm-text); }
    .app-page-header p { font-size:.8rem; }
    .app-panel { padding:1rem; border:1px solid #e1e6ed; border-radius:8px; box-shadow:0 1px 3px #172e4510; }
    .app-panel h2 { font-size:1rem; font-weight:650; }
    .app-panel h3 { font-size:.9rem; }
    .app-body .btn { border-radius:6px; font-weight:600; font-size:.83rem; padding:.45rem .8rem; }
    .app-body .table { font-size:.82rem; --bs-table-bg:#fff; }
    .app-body .table > :not(caption) > * > * { padding:.65rem .75rem; border-color:#e8edf2; }
    .app-body .table thead th { background:#f5f7fa; color:#57697e; font-size:.73rem; font-weight:700; letter-spacing:.025em; }
    .app-body .form-label { font-size:.8rem; font-weight:600; margin-bottom:.3rem; color:#475b70; }
    .detail-list { gap:.7rem 1rem; }
    .detail-list dt { color:#697b8f; font-size:.75rem; }
    .detail-list dd { margin:.2rem 0 0; font-size:.875rem; }
    .platform-hero { padding:1.15rem; border-radius:10px; background:#e8efeb; border:1px solid #d5e1da; box-shadow:none; }
    .platform-hero h2 { color:var(--lm-text); }
    .platform-hero p { color:var(--lm-muted); }
    .platform-hero .eyebrow, .platform-hero .platform-eyebrow { color:#42665a; }
    .app-main > header h1 { font-size:clamp(1.3rem,2.4vw,1.65rem); font-weight:650; color:var(--lm-text); }
    .btn-warning { --bs-btn-color:#674d16; --bs-btn-bg:#f5edda; --bs-btn-border-color:#9f895d; --bs-btn-hover-color:#503d16; --bs-btn-hover-bg:#ede0bf; --bs-btn-hover-border-color:#8d7549; --bs-btn-active-bg:#ede0bf; --bs-btn-active-color:#503d16; }
    .platform-hero h2 { font-size:1.2rem; }
    .platform-hero p { max-width:65ch; font-size:.83rem; }
    .platform-kpi { padding:.8rem; border-radius:8px; box-shadow:none; }
    .platform-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .platform-kpi, .platform-kpi-wide { grid-column:span 1; min-width:0; }
    .platform-kpi > div { min-width:0; }
    .platform-kpi small { white-space:normal; overflow-wrap:anywhere; }
    .platform-command-grid { grid-template-columns:minmax(0,1fr); }
    .platform-kpi strong { font-size:1.35rem; }
    .platform-command { padding:.8rem; border-radius:8px; box-shadow:none; }
    .platform-command h3 { font-size:.9rem; }
    .platform-command p { font-size:.77rem; margin-top:.25rem; }
    .case-context { padding:.75rem 1rem; font-size:.83rem; }
    .case-workspace-nav { background:#fff; border-radius:8px; }
    .case-workspace-nav a { font-size:.8rem; padding:.45rem .75rem; border-radius:6px; }
    .hearing-overview { padding:1.25rem; border-radius:10px; margin-bottom:1rem; }
    .hearing-workspace h1 { font-size:clamp(1.3rem,2.4vw,1.9rem); }
    .hearing-section { border-radius:8px; padding:1rem; }
    .timeline-card details { margin-top:.25rem; }
    .case-unified-timeline .timeline-card { padding:.85rem 1rem; border-radius:8px; }
    .ajax-loading { left:50%; top:50%; right:auto; bottom:auto; transform:translate(-50%,-50%); width:max-content; max-width:calc(100vw - 2rem); border:1px solid #dce6ee; background:#fff; color:#234a65; padding:1rem 1.4rem; border-radius:10px; box-shadow:0 12px 50px #15344b30; }
    .next-hearing-highlight { border-left:4px solid #527d6a; background:#edf4ef; animation:hearing-highlight 6s ease-in-out infinite; }
    .next-hearing-highlight h2 { color:#1e665a; }
    .next-hearing-highlight a { color:#17695d; font-weight:700; }
    @keyframes hearing-highlight { 0%,100% { background-color:#edf4ef; border-left-color:#527d6a; } 50% { background-color:#eef2f5; border-left-color:#607e8c; } }
    /* Secondary actions stay quiet; save/continue remain clearly primary. */
    .btn { transition:background-color .16s ease,border-color .16s ease,color .16s ease; }
    .btn-primary, .btn-success { --bs-btn-color:#fff; --bs-btn-bg:var(--lm-primary); --bs-btn-border-color:var(--lm-primary); --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--lm-primary-dark); --bs-btn-hover-border-color:var(--lm-primary-dark); --bs-btn-active-bg:var(--lm-primary-dark); --bs-btn-active-border-color:var(--lm-primary-dark); --bs-btn-disabled-bg:#637d76; --bs-btn-disabled-border-color:#637d76; }
    .btn-outline-primary, .btn-outline-secondary, .btn-light, .platform-hero .btn-outline-light { --bs-btn-color:#315b54; --bs-btn-bg:#fff; --bs-btn-border-color:#82948e; --bs-btn-hover-color:#204f4b; --bs-btn-hover-bg:#e8f0ec; --bs-btn-hover-border-color:#52766a; --bs-btn-active-color:#204f4b; --bs-btn-active-bg:#dce9e2; --bs-btn-active-border-color:#52766a; }
    .btn-secondary { --bs-btn-bg:#526760; --bs-btn-border-color:#526760; --bs-btn-hover-bg:#40564f; --bs-btn-hover-border-color:#40564f; }
    .btn-outline-danger { --bs-btn-color:#994a42; --bs-btn-border-color:#ad766e; --bs-btn-hover-bg:#994a42; --bs-btn-hover-border-color:#994a42; }
    .btn-link, a:not([class]) { text-underline-offset:3px; }
    :focus-visible, .btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .table-responsive:focus-visible { outline:3px solid #28645f; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
    .form-control, .form-select, .input-group-text, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple { border-color:var(--lm-field-border); border-radius:7px; color:var(--lm-text); }
    .form-control::placeholder { color:#667872; opacity:1; }
    .form-control:focus, .form-select:focus { border-color:var(--lm-primary); box-shadow:0 0 0 3px #28645f18; }
    .form-check-input { border-color:#82948e; accent-color:var(--lm-primary); }
    .form-check-input:checked { background-color:var(--lm-primary); border-color:var(--lm-primary); }
    .select2-container--default .select2-results__option--highlighted[aria-selected] { background:#28645f; color:#fff; }
    .select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--lm-text); }
    .app-body .form-label, .detail-list dt, .hearing-facts dt, .hearing-reference, .hearing-sitting-label { color:var(--lm-muted); }
    .app-panel, .hearing-section, .approval-card, .platform-kpi, .platform-command, .modal-content, .auth-card { border-color:var(--lm-border); box-shadow:var(--lm-shadow-sm); }
    .auth-card { box-shadow:0 8px 32px #283c3b0a; }
    .app-nav-link { color:#526760; }
    .app-nav-link:hover, .dropdown-item:hover, .dropdown-item:focus, .administration-links a:hover { color:#204f4b; background:#eef3ef; }
    .dropdown-item.active, .dropdown-item:active, .page-item.active .page-link { color:#fff; background:var(--lm-primary); border-color:var(--lm-primary); }
    .page-link { color:var(--lm-primary); border-color:var(--lm-border); }
    .platform-command:hover { transform:none; background:#f8faf8; border-color:#82948e; }
    .app-body .table thead th { background:#edf2ee; color:#425b53; letter-spacing:0; }
    .app-body .table { --bs-table-hover-bg:#f0f5f1; --bs-table-striped-bg:#f8faf8; --bs-table-color:var(--lm-text); }
    .app-body .table > :not(caption) > * > * { border-color:#e2e8e3; }
    .status-badge { padding:.2rem .55rem; font-weight:600; color:#465e55; background:#edf2ee; }
    .status-badge.status-inactive, .status-badge.status-stayed { color:#785716; background:#faf2df; }
    .hearing-overview { background:#f8faf8; border-color:var(--lm-border); box-shadow:none; }
    .hearing-workspace h1, .hearing-section h2, .hearing-court-name, .timeline-card strong { color:var(--lm-text); }
    .hearing-section-icon, .timeline-card .timeline-type, .platform-kpi-icon.is-navy { color:#28645f; background:#e8f0ec; }
    .hearing-sitting strong, .hearing-sitting-time, .timeline-card summary { color:#28645f; }
    .hearing-result-empty, [data-official-history]:not(:empty) { background:#f6f8f5; border-color:var(--lm-border); }
    .case-unified-timeline > li::before { background:#527d6a; border-color:#edf4ef; }
    .ajax-loading { color:#28645f; border-color:var(--lm-border); box-shadow:0 8px 32px #283c3b20; }
    /* Warm sand is a decorative accent; status and primary actions keep their meaning. */
    .app-brand-mark { color:#f5eee3; background:#80643e; }
    .platform-hero { background:linear-gradient(110deg,#e8efeb 45%,var(--lm-accent-soft)); }
    .platform-hero .platform-eyebrow { color:var(--lm-accent); }
    .app-nav-link.active { box-shadow:inset 3px 0 var(--lm-accent); }
    .hearing-sitting { background:var(--lm-accent-soft); border:1px solid var(--lm-accent-border); border-radius:8px; padding:1rem; }
    .hearing-sitting-label, .hearing-sitting strong, .hearing-sitting-time { color:var(--lm-accent); }
    .timeline-card .timeline-type { color:var(--lm-accent); background:var(--lm-accent-soft); }
    .auth-card { border-top:3px solid var(--lm-accent-border); }
    @media(prefers-reduced-motion:reduce) { .btn, .form-control, .form-select, .platform-command { transition:none; } }
    @media(min-width:992px) and (pointer:fine) {
        .app-main { padding:1.1rem 1.35rem; }
        .app-body .btn,.app-body .page-link { min-height:34px; }
        .app-body .form-control,.app-body .form-select { min-height:36px; font-size:.875rem; }
        .app-body .select2-selection--single { min-height:36px; }
        .app-body .table > :not(caption) > * > * { padding:.5rem .65rem; }
        .app-nav-link { min-height:38px; }
        .case-workspace-nav a { min-height:36px; }
    }
    @media(min-width:768px) {
        .platform-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
        .platform-command-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .platform-command:last-child:nth-child(odd) { grid-column:1 / -1; }
    }
    @media(min-width:1500px) { .platform-kpi-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
    @media(prefers-reduced-motion:reduce) { .next-hearing-highlight { animation:none; } }
}

.password-toggle { min-width:44px; flex:0 0 auto; }
