/* Starboard responsive rules.
   Breakpoints are centralized here so feature files can stay focused on structure. */

@media (min-width: 1101px) {
    .portcall-edit-tab-layout__status .portcall-change-grid,
    .portcall-edit-tab-layout__status .portcall-change-block-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .portcall-list-controls { grid-template-columns: minmax(0, 1.5fr) minmax(180px, .55fr); }
    .portcall-list-control-card--actions { grid-column: 1 / -1; }
    .portcall-list-control-card--actions .portcall-toolbar__actions { height: auto; justify-content: flex-start; }
    .portcall-toolbar__actions { grid-column: 1 / -1; justify-content: flex-start; }
    .content-grid--sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    .portcall-edit-tab-layout { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .app-header__inner { flex-wrap: wrap; }
    .main-nav {
        order: 3;
        flex-basis: 100%;
        padding-top: 2px;
        border-top: 1px solid rgba(255,255,255,.08);
    }
    .user-area { margin-left: auto; }
    .vars-workspace { grid-template-columns: 1fr; }

    .mask-editor-form { grid-template-columns: 1fr; }
    .mask-editor-form > .form-errors,
    .mask-editor-form > .actions-bar { grid-column: 1; }

    .portcall-identity-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portcall-operational-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portcall-status-card { grid-column: 1 / -1; }
    .portcall-status-workspace { grid-template-columns: minmax(170px, .75fr) minmax(0, 2fr); }
    .portcall-change-grid,
    .portcall-change-block-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mail-send-action { flex: 1 1 100%; flex-wrap: wrap; }
    .sent-mail-history__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .template-mail-identity-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .template-mail-identity-fields > .field { grid-column: span 1; }
}

@media (max-width: 510px) {
    .status-grid-wrap { height: calc(100dvh - 238px); }
    :root { --sb-control-h: 35px; }

    .app-main { padding: 9px 9px 14px; font-size: 115%; }
    .portcall-imo-panel { width: 100%; }
    .template-content-layout { grid-template-columns: 1fr; }
    .template-editor-sidebar-slot {
        grid-row: 1;
    }
    .template-editor-sidebar-slot.is-viewport-fixed {
        min-height: var(--sb-template-sidebar-height, 140px);
    }
    .template-editor-sidebar {
        max-height: min(46dvh, 420px);
        overflow: auto;
    }
    .template-content-main { grid-row: 2; }
    .page-header { align-items: flex-start; flex-direction: column; }
    .page-actions { width: 100%; }
    .page-header--selector > .page-actions--selector-hub {
        width: auto;
        margin-left: auto;
        align-self: flex-end;
        justify-content: flex-end;
    }
    .page-actions .btn,
    .page-actions button { flex: 1 1 auto; }

    .dashboard-action-grid,
    .portcall-list-controls,
    .portcall-sort-form,
    .portcall-status-workspace,
    .status-controls__form,
    .portcall-operational-status-grid,
    .portcall-operational-pair,
    .portcall-operational-triplet,
    .portcall-change-grid,
    .portcall-change-block-grid,
    .form-grid,
    .row { grid-template-columns: 1fr; }

    .template-mail-identity-fields { grid-template-columns: 1fr; }
    .template-mail-identity-fields > .field { grid-column: 1; }

    .portcall-list-control-card--actions,
    .portcall-status-card { grid-column: auto; }
    .col-12,
    .col-md-6,
    .col-md-4,
    .col-md-3 { grid-column: 1; }

    .toolbar { align-items: stretch; }
    .toolbar .field { flex: 1 1 100%; min-width: 0; }
    .portcall-toolbar__actions { grid-column: 1 / -1; }
    .portcall-toolbar__actions,
    .status-controls__form .actions { justify-content: flex-start; }

    .status-checklist-palette,
    .status-checklist-layout { grid-column: 1; }
    .section-grid--mask-row { grid-template-columns: 1fr; }
    .section-grid--mask-row > .sub-block-card { grid-column: 1 / -1; }
    .section-grid--mask-row > .mask-grid-spacer { display: none; }
    .status-checklist-section .section-layout { grid-template-columns: 1fr; }
    .status-checklist-section .status-checklist-card { grid-column: 1 / -1; }
    .status-checklist-card .form-row-custom > label { flex: 0 0 auto; width: 100%; min-width: 0; }
    .status-checklist-card .form-row-custom > .field-control { flex: 1 1 auto; width: 100%; min-width: 0; }

    .portcall-change-heading { align-items: stretch; flex-direction: column; }
    .portcall-change-ack { align-self: flex-start; }
    .portcall-live-status { width: 100%; justify-content: center; }
    .live-field-message { align-items: flex-start; flex-direction: column; }
    .history-commit__content header { align-items: flex-start; flex-direction: column; gap: 2px; }
    .history-commit__content li { align-items: flex-start; }

    .table-responsive { border-radius: 4px; }
    .data-table th,
    .data-table td,
    table th,
    table td { padding: 5px 6px; }
    .portcall-table__clickable-row > td:not(:last-child) { padding: 0; }
    .portcall-row-link { padding: 5px 6px; }
}

@media (max-width: 620px) {
    .sent-mail-history__grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .app-header__inner { padding: 6px 8px; gap: 7px; }
    .brand { font-size: .9rem; }
    .user-area > span { display: none; }
    .editor-nav .btn { padding-inline: 7px; }
    .main-nav a,
    .main-nav__pin--readonly { padding: 6px 7px; }

    .page-header h1 { font-size: 1.18rem; }
    .panel,
    .sub-block-card { padding: 7px 8px; }

    .portcall-identity-fields { grid-template-columns: 1fr; }

    .form-row-custom { align-items: flex-start; flex-direction: column; gap: 3px; }
    .form-row-custom > label,
    .section-grid--mask-row .form-row-custom > label {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
    }
    .form-row-custom > .field-control { width: 100%; flex: 1 1 auto; }
    .section-grid--mask-row .form-row-custom.form-row-custom--full-width { min-width: 0; }

    .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .actions-bar,
    .secondary-actions { align-items: stretch; }
    .mail-send-action { align-items: stretch; flex-direction: column; width: 100%; }
    .mail-send-action > .btn,
    .mail-send-action__warning { width: 100%; }
    .actions-bar > .btn,
    .actions-bar > button,
    .secondary-actions .btn,
    .secondary-actions button { flex: 1 1 auto; }
    .history-hour > summary > span:first-child { align-items: flex-start; flex-direction: column; gap: 1px; }
    .history-timeline { padding-inline: 16px 8px; }
    .history-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
    .history-dialog__actions .btn { width: 100%; }
}

@media (max-width: 480px) {
    .two-factor-focus {
        width: calc(100% - 20px);
        margin: 18px auto;
    }
}

@media print {
    .app-header,
    .page-actions,
    .actions-bar,
    .secondary-actions,
    .toolbar,
    .status-controls { display: none !important; }
    body,
    .app-main { background: #fff; }
    .app-main { max-width: none; padding: 0; }
    .panel,
    .sub-block-card,
    .table-responsive,
    .status-grid-wrap { box-shadow: none; }
}
