/* Fildi application design system. Landing and PDF documents own their styles.
   The explicit shell IDs outrank legacy page rules without !important overrides. */
@media screen {
    #fildi-app, #fildi-auth {
        --fildi-font: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        --fildi-ink: #202327;
        --fildi-muted: #646d75;
        --fildi-line: #e1e5e9;
        --fildi-border: #cbd2d8;
        --fildi-paper: #ffffff;
        --fildi-soft: #f7f8fa;
        --fildi-focus: #1765ba;
        --fildi-focus-soft: #edf5ff;
        --fildi-success: #14685d;
        --fildi-success-soft: #edf7f4;
        --fildi-danger: #b42318;
        --fildi-danger-soft: #fff1f0;
        --fildi-draft: #c24b0b;
        --fildi-new: #e8590c;
        --fildi-control-radius: 4px;
        --fildi-item-radius: 6px;
        --fildi-menu-shadow: 0 8px 28px rgb(32 35 39 / 10%);
        --fildi-page-width: 880px;
        --fildi-page-title: 28px;
        --fildi-body: 14px;
        --fildi-caption: 12px;
        --fildi-space-1: 4px;
        --fildi-space-2: 8px;
        --fildi-space-3: 12px;
        --fildi-space-4: 16px;
        --fildi-space-6: 24px;
        --fildi-space-8: 32px;
        color: var(--fildi-ink);
        background: var(--fildi-paper);
        font-family: var(--fildi-font);
        font-size: var(--fildi-body);
        line-height: 1.5;
        letter-spacing: 0;
        color-scheme: light;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /* Bridge existing component tokens; do not rename behavior-bearing classes. */
    #fildi-app :is(.home-page, .reports-page, .pm-page, .admin-page, .report-form,
        .geo-form, .lab-entry, .pmr-page, .pml-page, .settings-page, .sp-page, .companies-page) {
        --ink: var(--fildi-ink); --ink-2: var(--fildi-muted); --ink-3: var(--fildi-muted);
        --line: var(--fildi-line); --line-2: var(--fildi-border);
        --border: var(--fildi-border); --border-strong: #aab4be;
        --bg: var(--fildi-paper); --bg-subtle: var(--fildi-soft);
        --accent: var(--fildi-ink); --accent-hover: #3d444b; --accent-soft: var(--fildi-soft);
        --ok: var(--fildi-success); --ok-soft: var(--fildi-success-soft); --bad: var(--fildi-danger);
        --count: var(--fildi-muted); --arrow: var(--fildi-muted);
        --font: var(--fildi-font); --radius: var(--fildi-item-radius);
        --home-ink: var(--fildi-ink); --home-muted: var(--fildi-muted); --home-line: var(--fildi-line);
        font-family: var(--fildi-font);
        color: var(--fildi-ink);
        letter-spacing: 0;
        -webkit-font-smoothing: antialiased;
    }
    #fildi-app > main > .content > :is(.home-page, .reports-page, .pm-page, .admin-page,
        .report-form, .lab-entry, .pmr-page, .pml-page, .settings-page, .sp-page, .companies-page) {
        box-sizing: border-box;
        width: 100%; max-width: var(--fildi-page-width);
        margin: 0 auto; padding: var(--fildi-space-6) 0 72px;
    }
    #fildi-app .sp-inner { max-width: none; margin: 0; }
    #fildi-app .sidebar-desktop { border-color: var(--fildi-line); }
    #fildi-app :is(.nav, .mobile-topbar, .nv-acct) { font-family: var(--fildi-font); background: var(--fildi-paper); }
    #fildi-app .nav-link { color: var(--fildi-muted); }
    #fildi-app .nav-link:is(:hover, .active) { color: var(--fildi-ink); background: none; font-weight: 700; }
    #fildi-app .nav-new .plus, #fildi-app .mobile-new svg { color: var(--fildi-new); stroke: var(--fildi-new); }
    #fildi-app .nav-draft-badge { color: var(--fildi-new); }
    #fildi-app .mobile-brand { display: inline-flex; align-items: center; gap: 7px; font-size: 20px; font-weight: 600; letter-spacing: 0; }
    #fildi-app .fildi-brand-mark, #fildi-auth .fildi-brand-mark { width: 4px; height: 20px; display: inline-block; flex: none; background: var(--fildi-ink); transform: skew(-13deg); }
    #fildi-app .nav-brand-mobile { font-size: 25px; font-weight: 600; letter-spacing: 0; }
    #fildi-app .nav-brand-mobile .fildi-brand-mark { margin-right: 8px; }

    /* Title rhythm is shared, including page titles that are currently divs. */
    #fildi-app :is(.home-header h1, .reports-page > h1, .qm-hero, .rp-head h1,
        .page-head-row .page-title, .le-title, .settings-title, .sp-title, .cp-title,
        .pmr-hero h1, .pml-hero h1) {
        color: var(--fildi-ink); font-family: var(--fildi-font);
        font-size: var(--fildi-page-title); line-height: 1.3; font-weight: 400;
        letter-spacing: 0; white-space: normal; overflow-wrap: anywhere; margin-top: 0;
    }
    #fildi-app :is(.qm-sub, .rp-note, .page-sub, .le-sub, .sp-sub, .cp-sub) {
        font-size: 13px; font-weight: 400; line-height: 1.6; color: var(--fildi-muted); letter-spacing: 0;
    }
    #fildi-app :is(.section-head h2, .rep-head h2, .s-title, .qm-day-d, .home-recent-heading h2) {
        color: var(--fildi-ink); font-size: 16px; font-weight: 500;
        line-height: 1.4; letter-spacing: 0; white-space: normal;
    }
    #fildi-app :is(.qm-cproj, .qm-cname) { letter-spacing: 0; font-weight: 400; }
    #fildi-app .qm-cproj { font-size: 17px; white-space: normal; overflow-wrap: anywhere; }
    #fildi-app :is(.qm-cmeta, .qm-cwhen, .qm-day-c, .qm-metaline, .qm-elw,
        .qm-ttag, .rp-tabct, .qm-tab .n, .ctx-k, .hist-who, .sp-lbl, .s-note, .soon) {
        font-size: var(--fildi-caption); letter-spacing: 0;
    }
    #fildi-app :is(.sp-sub, .sp-lbl, .ctx-k, .hist-who, .rp-tabct, .s-note, .soon) { color: var(--fildi-muted); }
    #fildi-app :is(.rp-note .note-bad, .rp-tabct-bad) { color: var(--fildi-danger); }

    /* Text-only navigation; existing selection and warning states still carry meaning. */
    #fildi-app :is(.qm-tabs, .report-type-tabs, .cp-tabs) { gap: var(--fildi-space-6); border-bottom: 0; flex-wrap: wrap; overflow: visible; }
    #fildi-app :is(.qm-tab, .rp-utabs button, .rt-tab, .cp-tab, .sp-cat) {
        min-height: 40px; padding-top: 8px; padding-bottom: 8px;
        background: none; border: 0; box-shadow: none;
        color: var(--fildi-muted); font-size: 14px; font-weight: 400; letter-spacing: 0;
    }
    #fildi-app :is(.qm-tab.active, .qm-tab:hover, .rp-utabs button.on, .rp-utabs button:hover,
        .rt-tab.rt-active, .rt-tab:hover, .cp-tab.on, .cp-tab:hover, .sp-cat.on, .sp-cat:hover) {
        color: var(--fildi-ink); font-weight: 700; background: none; border-color: transparent;
    }
    #fildi-app :is(.qm-tab, .rp-utabs button, .cp-tab)::after { content: none; }
    #fildi-app .rp-utabs { flex-wrap: wrap; gap: 16px; }
    #fildi-app .sp-cats { gap: 20px; flex-wrap: wrap; }
    #fildi-app .sp-cat { padding-inline: 0; }

    /* Existing underlined search remains a search, not another form field. */
    #fildi-app :is(.qm-search, .rp-search) { border-color: var(--fildi-line); font-size: 14px; font-weight: 400; color: var(--fildi-muted); }
    #fildi-app :is(.qm-search, .rp-search input)::placeholder { color: var(--fildi-muted); font-weight: 400; }
    #fildi-app :is(.qm-sort, .rp-sort, .sort-select) { font-family: var(--fildi-font); color: var(--fildi-muted); font-size: 13px; min-height: 40px; }

    /* Apply geometry only to known data-entry controls, not camera/sketch/print tools. */
    #fildi-app :is(.field, .field-sm, .edit-grid) :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
    #fildi-app :is(.remarks-area, .sp-in, .sp-ta, .sp-rin, .cp-input, .cp-rin, .setref-row input) {
        border-color: var(--fildi-border); border-radius: var(--fildi-control-radius);
        color: var(--fildi-ink); background-color: var(--fildi-paper);
        font-family: var(--fildi-font); font-size: 14px; font-weight: 400; letter-spacing: 0;
        min-height: 42px; box-sizing: border-box;
    }
    #fildi-app :is(.field, .field-sm) label { font-size: 13px; font-weight: 500; color: var(--fildi-ink); letter-spacing: 0; }
    #fildi-app :is(.field, .field-sm) :is(input, textarea)::placeholder { color: var(--fildi-muted); }
    #fildi-app :is(.field, .field-sm) :is(input, textarea, select):focus,
    #fildi-app :is(.remarks-area, .sp-in, .sp-ta, .sp-rin, .cp-input, .cp-rin):focus {
        border-color: var(--fildi-focus); box-shadow: 0 0 0 3px var(--fildi-focus-soft);
    }
    #fildi-app :is(.field, .field-sm) :is(input, textarea, select):is([readonly], :disabled, .readonly) {
        background-color: var(--fildi-soft); color: var(--fildi-muted);
    }
    #fildi-app :is(.field, .field-sm) :is(input, textarea, select):is(.invalid, [aria-invalid=true]) { border-color: var(--fildi-danger); }

    /* Sections stay open. Borders belong to repeated records and bounded tools. */
    #fildi-app :is(.settings-card, .cp-create, .ctx-card) {
        background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0;
    }
    #fildi-app .rep-card { border: 0; border-radius: 0; box-shadow: none; }
    #fildi-app .rep-head { padding-inline: 0; }
    #fildi-app :is(.qm-card, .rcard, .cp-card, .cyl-card, .cp-g) {
        border-color: var(--fildi-line); border-radius: var(--fildi-item-radius); box-shadow: none;
    }
    #fildi-app .qm-card.qm-clickable:hover { border-color: var(--fildi-border); box-shadow: none; }
    #fildi-app .rcard:hover { border-color: var(--fildi-border); box-shadow: none; }
    #fildi-app .rcard:hover .rc-num { color: var(--fildi-ink); }
    #fildi-app .rc-num { font-size: 17px; font-weight: 400; letter-spacing: 0; }
    #fildi-app :is(.rc-meta, .rc-note, .due-meta) { font-size: var(--fildi-caption); color: var(--fildi-muted); letter-spacing: 0; }
    #fildi-app :is(.kebab-menu, .nav-new-menu, .nv-account-popover) { border-color: var(--fildi-line); border-radius: var(--fildi-item-radius); box-shadow: var(--fildi-menu-shadow); }
    #fildi-app :is(.kebab-item:hover, .qm-open:hover, .qm-vopen:hover, .qm-owner:hover) { color: var(--fildi-ink); font-weight: 700; background: none; }
    #fildi-app :is(.qm-dl, .rp-pdf svg) { color: var(--fildi-muted); }
    #fildi-app :is(.qm-pdf, .rp-pdf) { color: var(--fildi-muted); font-size: 12px; }
    #fildi-app :is(.qm-ttag, .ro-tag, .ed-tag, .cp-badge) { border-radius: var(--fildi-control-radius); letter-spacing: 0; }

    /* Primary commands share the landing page's dark, compact button treatment. */
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn.accent,
    #fildi-app :is(.cp-btn-create, .sp-send, .sp-rsend) {
        background: var(--fildi-ink); color: var(--fildi-paper); border: 1px solid var(--fildi-ink);
        border-radius: var(--fildi-control-radius); min-height: 42px;
        padding: 10px 16px; font-family: var(--fildi-font); font-size: 13px; font-weight: 500;
    }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn.accent:hover:not(:disabled),
    #fildi-app :is(.cp-btn-create, .sp-send, .sp-rsend):hover:not(:disabled) { background: #3d444b; border-color: #3d444b; color: var(--fildi-paper); }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn:not(.accent) { color: var(--fildi-muted); font-size: 13px; font-weight: 500; }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn:not(.accent):hover { color: var(--fildi-ink); font-weight: 700; }
    #fildi-app :is(.mini-btn, .cp-btn-ghost, .setref-go, .draft-btn, .report-form .pill) { border-radius: var(--fildi-control-radius); }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn.accent.done { background: var(--fildi-success-soft); border-color: var(--fildi-success); color: var(--fildi-success); }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn.accent.busy { background: var(--fildi-soft); color: var(--fildi-muted); border-color: var(--fildi-border); }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn.accent:disabled { opacity: .5; cursor: not-allowed; }
    #fildi-app :is(.report-form, .geo-form, .lab-entry) .form-actions .btn:not(.accent).done { color: var(--fildi-success); }
    #fildi-app :is(.sp-send, .sp-rsend, .cp-btn-create):disabled { opacity: .5; cursor: not-allowed; }
    #fildi-app :is(.qm-draft, .rp-st) { color: var(--fildi-draft); }
    #fildi-app .rp-row.tl.draft { border-left-color: var(--fildi-draft); }
    #fildi-app .home-drafts { color: var(--fildi-ink); }
    #fildi-app .home-drafts .home-value { color: var(--fildi-danger); }
    #fildi-app :is(.report-form, .geo-form) .draft-link.discard,
    #fildi-app :is(.report-form, .geo-form) .draft-link.discard:hover { color: var(--fildi-danger); }

    #fildi-app :is(.remarks-live-voice, .vf-transcript) { margin: 12px 0; padding: 12px 0; border-block: 1px solid var(--fildi-line); color: var(--fildi-ink); }
    #fildi-app :is(.remarks-live-label, .vf-transcript-label) { display: flex; gap: 12px; font-size: 12px; color: var(--fildi-muted); margin-bottom: 6px; }
    #fildi-app .remarks-live-label > span { color: var(--fildi-success); }
    #fildi-app :is(.remarks-live-text, .vf-transcript) { font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
    #fildi-app .remarks-live-text { min-height: 44px; max-height: 180px; overflow-y: auto; }
    #fildi-app .remarks-live-error { color: var(--fildi-danger); font-size: 12px; margin-top: 6px; }

    /* Settings retain their ledger layout; editing surfaces use the same quiet controls. */
    #fildi-app .settings-page :is(.s-block, .l-row, .toggle-row, .sig-actions) { border-color: var(--fildi-line); }
    #fildi-app .settings-page :is(.l-k, .t-lab) { font-size: 14px; font-weight: 500; }
    #fildi-app .settings-page :is(.l-v, .l-k small, .l-lock, .sig-opt, .sig-hint) { color: var(--fildi-muted); }
    #fildi-app .settings-page .l-v.set { color: var(--fildi-ink); }
    #fildi-app .settings-page .l-act { color: var(--fildi-ink); min-height: 44px; font-weight: 500; text-decoration: none; }
    #fildi-app .settings-page .l-act:hover:not(:disabled) { font-weight: 700; text-decoration: none; }
    #fildi-app .settings-page .back-link { color: var(--fildi-muted); font-size: 13px; font-weight: 500; }
    #fildi-app .settings-page .back-link:hover { color: var(--fildi-ink); font-weight: 700; }
    #fildi-app .settings-page .l-act.sig-remove { color: var(--fildi-danger); }
    #fildi-app .settings-page .l-msg.ok { color: var(--fildi-success); }
    #fildi-app .settings-page .l-msg.bad { color: var(--fildi-danger); }
    #fildi-app .settings-page .l-draw { padding: 16px 0; background: none; border-radius: 0; }
    #fildi-app .settings-page .field .ta { border-radius: var(--fildi-control-radius); border-color: var(--fildi-border); }
    #fildi-app .settings-page .sig-modes { display: inline-flex; gap: 4px; padding: 4px; border-radius: 6px; background: var(--fildi-soft); }
    #fildi-app .settings-page .sig-modes .mode { font: 400 14px var(--fildi-font); min-height: 44px; min-width: 72px; padding: 8px 16px; border: 0; border-radius: 4px; background: none; color: var(--fildi-muted); }
    #fildi-app .settings-page .sig-modes .mode.on { background: var(--fildi-paper); color: var(--fildi-ink); font-weight: 700; }
    #fildi-app .settings-page .sig-stage { aspect-ratio: 3 / 1; height: auto; min-height: 0; border: 1px solid var(--fildi-line); border-radius: 6px; background: var(--fildi-paper); }
    #fildi-app .settings-page .sig-stage:not([data-mode=draw]) canvas { pointer-events: none; cursor: default; }
    #fildi-app .settings-page .sig-base { bottom: 26%; border-color: var(--fildi-line); }
    #fildi-app .settings-page .sig-base::before { content: none; }
    #fildi-app .settings-page .sig-hint { bottom: 6%; font-size: 12px; }
    #fildi-app .settings-page .sig-tools { gap: 16px; }
    #fildi-app .settings-page .sig-face { width: 60px; height: 44px; padding: 4px; border-radius: 4px; border-color: var(--fildi-line); color: var(--fildi-ink); box-shadow: none; }
    #fildi-app .settings-page .sig-face.on { border-color: var(--fildi-muted); background: var(--fildi-soft); }
    #fildi-app .settings-page .sig-inks { gap: 4px; }
    #fildi-app .settings-page .sig-ink { width: 44px; height: 44px; border: 10px solid var(--fildi-paper); background: var(--sig-ink); box-shadow: none; }
    #fildi-app .settings-page .sig-ink.on { outline: 1px solid var(--fildi-muted); outline-offset: -5px; }
    #fildi-app .settings-page .sig-adjustments { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 180px); gap: 24px; margin-top: 20px; }
    #fildi-app .settings-page .sig-adjustments label { font-size: 13px; font-weight: 500; min-width: 0; }
    #fildi-app .settings-page .sig-size > span { display: flex; justify-content: space-between; gap: 12px; }
    #fildi-app .settings-page .sig-size output { color: var(--fildi-muted); font-variant-numeric: tabular-nums; }
    #fildi-app .settings-page .sig-size input { width: 100%; height: 44px; accent-color: var(--fildi-ink); margin: 8px 0 0; }
    #fildi-app .settings-page .sig-weight select { width: 100%; height: 44px; margin-top: 8px; padding: 8px 12px; font: 400 14px var(--fildi-font); border: 1px solid var(--fildi-border); border-radius: 4px; color: var(--fildi-ink); background: var(--fildi-paper); }
    #fildi-app .settings-page .sig-opt input { accent-color: var(--fildi-ink); }

    /* Keyboard state is visible even where a legacy component removed outline. */
    #fildi-app :is(a, button, input, select, textarea, summary):focus-visible,
    #fildi-auth :is(a, button, input, select, textarea, summary):focus-visible {
        outline: 2px solid var(--fildi-focus); outline-offset: 3px;
    }
    #fildi-app :is(.qm-search, .rp-search input):focus-visible { outline-offset: 1px; }

    /* The first signed-out screen uses the same brand and control language. */
    #fildi-auth .auth-brand { display: inline-flex; align-items: center; gap: 8px; font-family: var(--fildi-font); font-size: 25px; font-weight: 600; color: var(--fildi-ink); text-decoration: none; letter-spacing: 0; }
    #fildi-auth .auth-top { border-color: var(--fildi-line); }
    #fildi-auth .auth-box h1 { font-size: 28px; line-height: 1.3; font-weight: 400; color: var(--fildi-ink); letter-spacing: 0; }
    #fildi-auth .auth-field label { color: var(--fildi-muted); font-size: 13px; font-weight: 500; text-transform: none; letter-spacing: 0; }
    #fildi-auth .auth-field input { font-family: var(--fildi-font); color: var(--fildi-ink); border: 1px solid var(--fildi-border); border-radius: var(--fildi-control-radius); padding: 11px 12px; font-size: 16px; min-height: 44px; box-sizing: border-box; }
    #fildi-auth .auth-field input::placeholder { color: var(--fildi-muted); }
    #fildi-auth .auth-field input:focus { border: 1px solid var(--fildi-focus); margin-bottom: 0; box-shadow: 0 0 0 3px var(--fildi-focus-soft); }
    #fildi-auth .auth-submit { border: 1px solid var(--fildi-ink); border-radius: var(--fildi-control-radius); padding: 10px 16px; background: var(--fildi-ink); color: var(--fildi-paper); min-height: 44px; font-size: 14px; font-weight: 500; }
    #fildi-auth .auth-submit:hover { background: #3d444b; color: var(--fildi-paper); }
    #fildi-auth .auth-submit .auth-arrow { color: inherit; }
    #fildi-auth :is(.auth-back, .auth-support, .auth-forgot) { color: var(--fildi-muted); }
    #fildi-auth :is(.auth-error, .auth-error-inline) { color: var(--fildi-danger); }

    /* Approved plain command: a label and arrow, with no fill or underline. */
    #fildi-auth .auth-submit.fildi-plain-action,
    #fildi-app .companies-page .fildi-plain-action,
    #fildi-app .sp-send.fildi-plain-action,
    #fildi-app :is(.report-form, .geo-form) .form-actions .btn.accent.fildi-plain-action {
        display: inline-flex; align-items: center; justify-content: center; gap: 14px;
        background: transparent; border: 1px solid transparent; border-radius: 0;
        color: var(--fildi-ink); box-shadow: none; padding: 10px 0;
        min-height: 44px; min-width: 112px; font-size: 14px; font-weight: 500;
        transition: color .15s;
    }
    #fildi-app .sp-send.fildi-plain-action { min-width: 152px; }
    #fildi-auth .auth-submit.fildi-plain-action { min-width: 96px; }
    #fildi-auth .auth-submit.fildi-plain-action::after { content: none; }
    #fildi-auth .auth-submit.fildi-plain-action:hover:not(:disabled),
    #fildi-app .companies-page .fildi-plain-action:hover:not(:disabled),
    #fildi-app .sp-send.fildi-plain-action:hover:not(:disabled),
    #fildi-app :is(.report-form, .geo-form) .form-actions .btn.accent.fildi-plain-action:hover:not(:disabled) {
        background: transparent; border-color: transparent; color: var(--fildi-ink); font-weight: 700;
    }
    #fildi-app :is(.report-form, .geo-form) .form-actions .btn.accent.fildi-plain-action.done,
    #fildi-app .sp-send.fildi-plain-action.copied { color: var(--fildi-success); }
    #fildi-app :is(.report-form, .geo-form) .form-actions .btn.accent.fildi-plain-action.busy { color: var(--fildi-muted); }
    #fildi-app .sp-send.fildi-plain-action.copied .fildi-action-arrow { visibility: hidden; }
}

@media screen and (max-width: 1024px) {
    #fildi-app > main > .content > :is(.home-page, .reports-page, .pm-page, .admin-page,
        .report-form, .lab-entry, .pmr-page, .pml-page, .settings-page, .sp-page, .companies-page) { padding: 18px 0 64px; }
}
@media screen and (max-width: 640px) {
    #fildi-app { --fildi-page-title: 24px; }
    #fildi-app > main > .content > :is(.home-page, .reports-page, .pm-page, .admin-page,
        .report-form, .lab-entry, .pmr-page, .pml-page, .settings-page, .sp-page, .companies-page) { padding: 16px 4px 64px; }
    #fildi-app :is(.field, .field-sm, .edit-grid) :is(input, textarea, select):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),
    #fildi-app :is(.remarks-area, .sp-in, .sp-ta, .sp-rin, .cp-input, .cp-rin, .qm-search, .rp-search input) { font-size: 16px; min-height: 44px; }
    #fildi-app :is(.qm-tabs, .report-type-tabs, .cp-tabs) { gap: 8px 18px; }
    #fildi-app :is(.qm-tab, .rp-utabs button, .rt-tab, .cp-tab, .sp-cat, .mobile-new, .hamburger) { min-height: 44px; }
    #fildi-app :is(.mobile-new, .hamburger) { min-width: 44px; }
    #fildi-app .qm-ctop { min-width: 0; flex-wrap: wrap; }
    #fildi-app .qm-cproj { font-size: 16px; }
    #fildi-app .cp-input { min-width: 0; width: 100%; }
    #fildi-app .settings-page .sig-adjustments { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    #fildi-app .settings-page .sig-weight select { font-size: 16px; }
}
@media screen and (prefers-reduced-motion: reduce) {
    #fildi-app :is(.qm-card, .nav-link, .drawer-panel, .drawer-backdrop),
    #fildi-auth :is(.auth-submit, .auth-field input) { transition: none; }
}
