/* ================================================================
   PERSONAL ERP D9 — DESKTOP READABILITY / LAYOUT POLISH
   Desktop-only correction layer. Mobile rules intentionally remain
   untouched for the next dedicated iteration.
   ================================================================ */

@media (min-width: 1040px) {
    /* ------------------------------------------------------------
       Shared desktop canvas and type scale
       ------------------------------------------------------------ */

    html[data-theme] .erp-main .page {
        width: 100%;
        max-width: 1480px;
        margin-inline: auto;
        padding: 32px clamp(28px, 2.2vw, 40px) 64px;
    }

    html[data-theme] .eyebrow {
        font-size: .76rem !important;
        line-height: 1.3;
        letter-spacing: .075em;
    }

    html[data-theme] .d31-page-hero,
    html[data-theme] .d32-page-hero,
    html[data-theme] .d33-page-hero {
        align-items: center;
        gap: 24px;
        margin-bottom: 18px;
    }

    html[data-theme] .d31-page-hero h1,
    html[data-theme] .d32-page-hero h1,
    html[data-theme] .d33-page-hero h1 {
        margin: 5px 0 6px;
        font-size: clamp(2.65rem, 3vw, 3.15rem);
        line-height: 1;
    }

    html[data-theme] .d31-page-hero > div > p:last-child,
    html[data-theme] .d32-page-hero > div > p:last-child,
    html[data-theme] .d33-page-hero > div > p:last-child {
        max-width: 820px;
        margin: 0;
        font-size: .96rem !important;
        line-height: 1.52;
    }

    html[data-theme] .primary-button,
    html[data-theme] .secondary-button,
    html[data-theme] .action-link-button {
        min-height: 44px;
        font-size: .88rem;
    }

    html[data-theme] .content-card {
        border-radius: 16px;
    }

    /* ------------------------------------------------------------
       Today dashboard
       ------------------------------------------------------------ */

    html[data-theme] .workspace-home-hero {
        padding: 26px 28px;
    }

    html[data-theme] .workspace-home-intro {
        max-width: 760px;
        font-size: .98rem;
        line-height: 1.5;
    }

    html[data-theme] .workspace-pulse-item {
        min-height: 72px;
        padding: 12px 15px;
    }

    html[data-theme] .workspace-pulse-item small {
        font-size: .78rem !important;
        line-height: 1.25;
    }

    html[data-theme] .workspace-pulse-item strong {
        margin-top: 2px;
        font-size: 1.3rem;
    }

    html[data-theme] .d7-focus-header h2,
    html[data-theme] .workspace-widget-heading-copy h2 {
        font-size: 1.08rem;
    }

    html[data-theme] .d7-focus-header > a,
    html[data-theme] .workspace-widget-open,
    html[data-theme] .workspace-widget-settings {
        font-size: .8rem;
    }

    html[data-theme] .d7-focus-row,
    html[data-theme] .workspace-task-row,
    html[data-theme] .workspace-schedule-row {
        min-height: 68px;
    }

    html[data-theme] .d7-focus-kicker {
        font-size: .73rem;
    }

    html[data-theme] .d7-focus-main strong,
    html[data-theme] .workspace-task-main strong,
    html[data-theme] .workspace-schedule-copy strong {
        font-size: .94rem;
        line-height: 1.35;
    }

    html[data-theme] .d7-focus-main small,
    html[data-theme] .workspace-task-main small,
    html[data-theme] .workspace-schedule-copy small,
    html[data-theme] .workspace-project-progress-meta small {
        font-size: .76rem !important;
        line-height: 1.35;
    }

    html[data-theme] .workspace-attention-item span {
        font-size: .84rem;
    }

    /* ------------------------------------------------------------
       Metrics, tabs and filters
       ------------------------------------------------------------ */

    html[data-theme] .d31-task-summary,
    html[data-theme] .d32-project-metrics,
    html[data-theme] .d32-document-metrics {
        gap: 10px;
        margin-bottom: 14px;
    }

    html[data-theme] .d31-metric,
    html[data-theme] .d32-project-metrics > a,
    html[data-theme] .d32-document-metrics > a {
        min-height: 94px;
        padding: 15px 16px;
    }

    html[data-theme] .d31-metric > span,
    html[data-theme] .d31-metric > small,
    html[data-theme] .d32-project-metrics small,
    html[data-theme] .d32-document-metrics small,
    html[data-theme] .d32-project-metrics span,
    html[data-theme] .d32-document-metrics span {
        font-size: .78rem !important;
        line-height: 1.3;
    }

    html[data-theme] .d31-metric strong,
    html[data-theme] .d32-project-metrics strong,
    html[data-theme] .d32-document-metrics strong {
        margin: 5px 0;
        font-size: 1.7rem;
    }

    html[data-theme] .d43-list-toolbar {
        min-height: 62px;
        padding: 8px 10px;
    }

    html[data-theme] .d43-primary-tabs a {
        min-height: 44px;
        padding: 10px 20px;
        font-size: .82rem;
    }

    html[data-theme] .d43-filter-details > summary {
        min-height: 44px;
        font-size: .82rem;
    }

    html[data-theme] .d43-filter-form label > span {
        font-size: .76rem !important;
    }

    html[data-theme] .d43-filter-form input,
    html[data-theme] .d43-filter-form select,
    html[data-theme] .d43-filter-form button {
        min-height: 44px;
        font-size: .88rem;
    }

    html[data-theme] .d43-filter-reset {
        min-height: 40px;
        font-size: .78rem;
    }

    /* ------------------------------------------------------------
       Task list and the conflicting quick-create form
       ------------------------------------------------------------ */

    html[data-theme] .d31-section-heading h2 {
        font-size: 1.28rem;
    }

    html[data-theme] .d31-task-card {
        min-height: 70px;
    }

    html[data-theme] .d31-task-card-body {
        min-height: 68px;
        padding: 10px 14px 10px 10px;
    }

    html[data-theme] .d31-task-title-row h3 {
        font-size: .96rem;
        line-height: 1.32;
    }

    html[data-theme] .d31-chip,
    html[data-theme] .d31-priority {
        min-height: 24px;
        padding: 4px 8px;
        font-size: .7rem;
    }

    html[data-theme] .d31-create-panel[open]
    .d7-task-create-form {
        display: block !important;
        width: 100%;
        max-width: none;
        padding: 16px;
    }

    html[data-theme] .d7-task-create-core {
        grid-template-columns:
            minmax(320px, 2fr)
            minmax(190px, .9fr)
            minmax(210px, 1fr)
            auto;
        align-items: end;
        gap: 14px;
    }

    html[data-theme] .d7-task-create-core label > span,
    html[data-theme] .d7-task-create-more-grid label > span {
        font-size: .78rem;
    }

    html[data-theme] .d7-task-create-core input,
    html[data-theme] .d7-task-create-core select,
    html[data-theme] .d7-task-create-core > button {
        min-height: 46px;
        font-size: .92rem;
    }

    html[data-theme] .d7-task-create-core > button {
        position: static;
        min-width: 116px;
        transform: none;
    }

    html[data-theme] .d7-task-create-more {
        display: block;
        width: 100%;
        margin-top: 14px;
        clear: both;
    }

    html[data-theme] .d7-task-create-more > summary {
        width: 100%;
        min-height: 54px;
        padding: 11px 2px;
    }

    html[data-theme] .d7-task-create-more > summary strong {
        font-size: .9rem;
    }

    html[data-theme] .d7-task-create-more > summary small {
        font-size: .76rem;
    }

    html[data-theme] .d7-task-create-more-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        padding-top: 14px;
    }

    /* ------------------------------------------------------------
       Shared desktop forms
       ------------------------------------------------------------ */

    html[data-theme] .d31-form:not(.d7-task-create-form),
    html[data-theme] .d32-form,
    html[data-theme] .d32-document-form,
    html[data-theme] .d33-note-form {
        width: 100%;
        max-width: 1180px;
        align-items: start;
        gap: 14px !important;
    }

    html[data-theme] .d31-form-section,
    html[data-theme] .d32-form-block,
    html[data-theme] .d32-doc-form-section,
    html[data-theme] .d33-form-block {
        gap: 13px;
        padding: 16px !important;
        border-radius: 14px;
    }

    html[data-theme] .d31-form-section-title,
    html[data-theme] .d32-form-block-title,
    html[data-theme] .d33-form-title {
        padding-bottom: 11px;
    }

    html[data-theme] .d31-form-section-title strong,
    html[data-theme] .d32-form-block-title strong,
    html[data-theme] .d33-form-title strong {
        font-size: .94rem !important;
    }

    html[data-theme] .d31-form-section-title small,
    html[data-theme] .d32-form-block-title small,
    html[data-theme] .d33-form-title small {
        font-size: .74rem !important;
    }

    html[data-theme] .d31-form label > span,
    html[data-theme] .d32-form label > span,
    html[data-theme] .d32-document-form label > span,
    html[data-theme] .d33-note-form label > span {
        font-size: .78rem !important;
    }

    html[data-theme] .d31-form input:not([type="checkbox"]):not([type="radio"]),
    html[data-theme] .d31-form select,
    html[data-theme] .d31-form textarea,
    html[data-theme] .d32-form input:not([type="checkbox"]):not([type="radio"]),
    html[data-theme] .d32-form select,
    html[data-theme] .d32-form textarea,
    html[data-theme] .d32-document-form input:not([type="checkbox"]):not([type="radio"]),
    html[data-theme] .d32-document-form select,
    html[data-theme] .d32-document-form textarea,
    html[data-theme] .d33-note-form input:not([type="checkbox"]):not([type="radio"]),
    html[data-theme] .d33-note-form select,
    html[data-theme] .d33-note-form textarea {
        min-height: 46px;
        font-size: .92rem;
    }

    html[data-theme] .d31-form-grid,
    html[data-theme] .d32-form-grid,
    html[data-theme] .d33-form-grid {
        gap: 12px !important;
    }

    html[data-theme] .d31-form-actions button,
    html[data-theme] .d32-form-actions button,
    html[data-theme] .d33-form-actions button {
        min-height: 46px;
        font-size: .9rem;
    }

    html[data-theme] .d32-create-panel:not([open]) {
        display: none;
    }

    html[data-theme] .d31-create-panel[open] > summary strong,
    html[data-theme] .d32-create-panel[open] > summary strong {
        font-size: .98rem;
    }

    html[data-theme] .d31-create-panel[open] > summary small,
    html[data-theme] .d32-create-panel[open] > summary small {
        font-size: .78rem;
    }

    /* ------------------------------------------------------------
       Inbox capture
       ------------------------------------------------------------ */

    html[data-theme] .d45-capture-card {
        padding: 16px;
    }

    html[data-theme] .d45-capture-heading h2 {
        font-size: 1.12rem;
    }

    html[data-theme] .d45-capture-heading > small {
        font-size: .76rem !important;
    }

    html[data-theme] .d45-capture-form {
        grid-template-columns: minmax(0, 2fr) minmax(330px, .95fr);
        gap: 12px;
    }

    html[data-theme] .d45-capture-text textarea {
        min-height: 176px;
        padding: 14px;
        font-size: .94rem;
        line-height: 1.5;
    }

    html[data-theme] .d45-capture-options label > span {
        font-size: .78rem !important;
    }

    html[data-theme] .d45-capture-options select,
    html[data-theme] .d45-capture-options input {
        min-height: 46px;
        font-size: .92rem;
    }

    html[data-theme] .d45-capture-submit {
        min-height: 48px;
        font-size: .9rem;
    }

    html[data-theme] .d45-processed-details > summary strong {
        font-size: .94rem;
    }

    html[data-theme] .d45-processed-details > summary small {
        font-size: .76rem !important;
    }

    /* ------------------------------------------------------------
       Project and document cards
       ------------------------------------------------------------ */

    html[data-theme] .d32-project-grid,
    html[data-theme] .d32-document-grid {
        gap: 12px;
    }

    html[data-theme] .d32-project-card,
    html[data-theme] .d32-document-card {
        gap: 14px;
        padding: 17px;
    }

    html[data-theme] .d32-project-kind,
    html[data-theme] .d32-document-type,
    html[data-theme] .d32-visibility-badge,
    html[data-theme] .d32-status-badge {
        min-height: 26px;
        padding-inline: 9px;
        font-size: .7rem;
    }

    html[data-theme] .d32-project-card-main h2,
    html[data-theme] .d32-document-main h2 {
        font-size: 1.05rem;
        line-height: 1.3;
    }

    html[data-theme] .d32-project-card-main p {
        font-size: .84rem;
        line-height: 1.5;
    }

    html[data-theme] .d43-project-progress-head,
    html[data-theme] .d43-project-progress small {
        font-size: .74rem !important;
    }

    html[data-theme] .d32-project-stats > span {
        padding: 10px;
    }

    html[data-theme] .d32-project-stats strong {
        font-size: 1rem;
    }

    html[data-theme] .d32-project-stats small,
    html[data-theme] .d32-project-card > footer {
        font-size: .74rem;
    }

    html[data-theme] .d32-document-meta span,
    html[data-theme] .d32-document-hero-meta span,
    html[data-theme] .d32-document-hero-meta a {
        padding: 5px 8px;
        font-size: .7rem;
    }

    html[data-theme] .d32-document-amount {
        padding: 11px;
    }

    html[data-theme] .d32-document-amount small {
        font-size: .76rem;
    }

    html[data-theme] .d32-document-amount strong {
        font-size: 1rem;
    }

    html[data-theme] .d32-document-card > footer {
        font-size: .74rem;
    }

    html[data-theme] .d32-secondary-nav {
        gap: 8px;
        margin-top: 14px;
    }

    html[data-theme] .d32-secondary-nav a {
        display: inline-flex;
        min-height: 40px;
        align-items: center;
        padding: 9px 12px;
        font-size: .76rem;
    }

    /* ------------------------------------------------------------
       Desktop calendar: remove the duplicated day strip
       ------------------------------------------------------------ */

    html[data-theme] .d31-week-strip {
        display: none !important;
    }

    html[data-theme] .d31-calendar-toolbar {
        min-height: 62px;
        margin-bottom: 12px;
        padding: 8px 10px;
    }

    html[data-theme] .d31-calendar-toolbar > div strong {
        font-size: .88rem !important;
    }

    html[data-theme] .d31-calendar-today,
    html[data-theme] .d31-calendar-nav {
        min-height: 42px;
        min-width: 42px;
        font-size: .78rem;
    }

    html[data-theme] .d44-calendar-desktop {
        gap: 9px;
    }

    html[data-theme] .d44-calendar-day > header {
        min-height: 68px;
        padding: 11px;
    }

    html[data-theme] .d44-calendar-day > header h2 {
        font-size: .94rem;
        line-height: 1.3;
    }

    html[data-theme] .d44-calendar-day > header > span {
        min-width: 30px;
        height: 30px;
        font-size: .74rem;
    }

    html[data-theme] .d44-day-timeline {
        min-height: 320px;
        padding: 9px 7px;
    }

    html[data-theme] .d44-schedule-time strong {
        font-size: .76rem;
    }

    html[data-theme] .d44-schedule-time small,
    html[data-theme] .d44-schedule-copy small {
        font-size: .68rem !important;
    }

    html[data-theme] .d44-schedule-copy strong {
        font-size: .8rem;
    }

    html[data-theme] .d44-day-empty > small {
        font-size: .74rem !important;
    }

    /* ------------------------------------------------------------
       Attention center
       ------------------------------------------------------------ */

    html[data-theme] .d31-attention-total {
        min-width: 126px;
        padding: 15px 18px;
    }

    html[data-theme] .d31-attention-total small {
        font-size: .76rem !important;
    }

    html[data-theme] .d31-attention-total strong {
        font-size: 1.7rem;
    }

    html[data-theme] .d31-attention-summary {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 9px;
        margin-bottom: 22px;
    }

    html[data-theme] .d31-attention-stat {
        min-height: 72px;
        padding: 11px 12px;
    }

    html[data-theme] .d31-attention-stat small {
        font-size: .74rem !important;
        line-height: 1.3;
    }

    html[data-theme] .d31-attention-stat strong {
        margin-top: 3px;
        font-size: 1rem;
    }

    html[data-theme] .d31-attention-copy strong {
        font-size: .92rem;
    }

    html[data-theme] .d31-attention-copy small,
    html[data-theme] .d31-heading-link {
        font-size: .76rem;
    }

    /* ------------------------------------------------------------
       Document detail and file management
       ------------------------------------------------------------ */

    html[data-theme] .d32-document-detail-hero {
        gap: 18px;
        padding: 24px;
    }

    html[data-theme] .d32-document-detail-hero > h1 {
        font-size: clamp(2.3rem, 3vw, 2.8rem);
        line-height: 1.08;
    }

    html[data-theme] .d32-document-hero-amount {
        min-width: 118px;
        padding: 12px;
    }

    html[data-theme] .d32-document-hero-amount small {
        font-size: .74rem;
    }

    html[data-theme] .d32-document-hero-amount strong {
        font-size: .92rem;
    }

    html[data-theme] .d32-document-facts {
        gap: 10px;
        margin: 12px 0;
    }

    html[data-theme] .d32-document-facts article {
        min-height: 72px;
        padding: 12px;
    }

    html[data-theme] .d32-document-facts small {
        font-size: .74rem;
    }

    html[data-theme] .d32-document-facts strong {
        margin-top: 6px;
        font-size: .86rem;
    }

    html[data-theme] .d32-files-section,
    html[data-theme] .d32-action-panel {
        padding: 18px;
    }

    html[data-theme] .d32-section-heading h2,
    html[data-theme] .d32-action-panel h2 {
        font-size: 1.05rem;
    }

    html[data-theme] .d32-count-badge {
        min-width: 34px;
        height: 34px;
        font-size: .76rem;
    }

    html[data-theme] .d32-file-upload {
        gap: 10px;
        padding: 12px;
    }

    html[data-theme] .d32-file-upload label > span,
    html[data-theme] .d32-upload-note {
        font-size: .74rem;
    }

    html[data-theme] .d32-file-upload input[type="file"] {
        min-height: 44px;
        font-size: .84rem;
    }

    html[data-theme]
    .d32-file-upload input[type="file"]::file-selector-button {
        min-height: 40px;
        margin-right: 10px;
        padding: 8px 12px;
        border: 1px solid var(--ui-border);
        border-radius: 9px;
        background: var(--ui-surface);
        color: var(--ui-text);
        font: inherit;
        font-weight: 750;
        cursor: pointer;
    }

    html[data-theme] .d32-file-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    html[data-theme] .d32-file-grid > article {
        gap: 12px;
        padding: 12px;
    }

    html[data-theme] .d32-file-preview,
    html[data-theme] .d32-file-icon {
        width: 62px;
        height: 62px;
        font-size: .72rem;
    }

    html[data-theme] .d32-file-copy strong {
        font-size: .82rem;
        line-height: 1.35;
    }

    html[data-theme] .d32-file-copy small,
    html[data-theme] .d32-file-copy em {
        font-size: .7rem;
    }

    html[data-theme] .d32-file-grid footer a,
    html[data-theme] .d32-file-grid footer button {
        min-height: 36px;
        padding: 7px 8px;
        border-radius: 8px;
        font-size: .74rem;
    }

    html[data-theme] .d32-action-buttons a,
    html[data-theme] .d32-action-buttons button {
        min-height: 44px;
        font-size: .84rem;
    }
}

@media (min-width: 1040px) and (max-width: 1399px) {
    html[data-theme] .d7-task-create-core {
        grid-template-columns: minmax(280px, 1.7fr) 180px 190px auto;
    }

    html[data-theme] .d31-attention-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    html[data-theme] .d32-project-grid,
    html[data-theme] .d32-document-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1040px) and (max-width: 1199px) {
    html[data-theme] .d7-task-create-core {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html[data-theme] .d7-task-title-field {
        grid-column: 1 / -1;
    }

    html[data-theme] .d7-task-create-core > button {
        grid-column: 1 / -1;
        justify-self: end;
    }
}
