/* One shared layout for the actual administrator, execution and user order renderer. */
.responsive-order-table .order-card-title { display:flex; flex-direction:column; gap:5px; min-width:0; }
.responsive-order-table .order-card-heading { display:flex; align-items:flex-start; gap:6px; min-width:0; }
.responsive-order-table td[data-label="单号 / 履约"] { position:relative; }
.responsive-order-table .order-caret { position:absolute; top:8px; left:6px; display:inline-flex; align-items:center; justify-content:center; width:12px; height:12px; line-height:1; font-size:.65rem; color:#cbd5e1; transition:transform .2s; }
.responsive-order-table .order-department { font-size:1rem; font-weight:600; line-height:1.5; color:#1e293b; overflow-wrap:anywhere; }
.responsive-order-table .order-card-fulfillment { padding:0; border:0; background:transparent; font-size:.9rem; line-height:1.5; white-space:nowrap; }
.responsive-order-table .order-card-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; min-width:0; color:#64748b; font-size:.75rem; line-height:1.5; }
.responsive-order-table .order-card-meta > .order-reference-line,
.responsive-order-table .order-card-meta > .order-budget-group-badge { font-size:inherit !important; line-height:inherit; }
.responsive-order-table .order-reference-line { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:0 5px; min-width:0; max-width:100%; }
.responsive-order-table .order-reference-separator { color:#94a3b8; }
.responsive-order-table .order-source-tag { font-size:inherit; font-weight:400; font-variant-numeric:tabular-nums; line-height:inherit; overflow-wrap:anywhere; }
.responsive-order-table .order-store-name { color:#64748b; font-weight:400; overflow-wrap:anywhere; }
.responsive-order-table .order-customer-name { font-size:.875rem; font-weight:500; color:#475569; line-height:1.5; overflow-wrap:anywhere; }
.responsive-order-table .order-customer-phone { font-size:.75rem; color:#64748b; font-variant-numeric:tabular-nums; white-space:nowrap; margin-top:3px; }
.responsive-order-table .order-amount-cell { font-variant-numeric:tabular-nums; }
.responsive-order-table .order-company-amount { font-size:1.35rem; }
.responsive-order-table .order-final-label { color:#64748b !important; font-size:.7rem !important; font-weight:400 !important; opacity:1; }
.responsive-order-table .order-amount-cell > div:has(.order-primary-amount) { flex-wrap:wrap; justify-content:flex-end; }
.responsive-order-table .order-primary-amount,
.responsive-order-table .order-company-amount { font-size:1.25rem !important; font-weight:650 !important; }
.responsive-order-table .amt-label-pc { color:#64748b !important; font-weight:400 !important; }
.responsive-order-table .order-card-fulfillment strong { font-size:.8125rem; font-weight:500; }
.responsive-order-table .order-progress-container { width:100%; max-width:320px; padding:0; box-sizing:border-box; align-items:flex-start; }
.responsive-order-table .order-progress-bg-track,
.responsive-order-table .order-progress-active-track { top:5px; height:2px; background:#e2e8f0; }
.responsive-order-table .order-progress-active-track { background:linear-gradient(to right,#bfeff1 0%,#2DCCD3 50%,#078e93 100%); background-size:var(--order-progress-gradient-size,100%) 100%; background-repeat:no-repeat; }
.responsive-order-table .order-progress-step { min-width:0; gap:6px; }
.responsive-order-table .order-progress-dot,
.responsive-order-table .order-progress-dot.active,
.responsive-order-table .order-progress-dot.passed { width:10px; height:10px; border-width:1px; box-shadow:none; transform:none; }
.responsive-order-table .order-progress-dot { background:#e2e8f0; border-color:#e2e8f0; }
.responsive-order-table .order-progress-dot.passed { background:#e2e8f0; border-color:#e2e8f0; }
.responsive-order-table .order-progress-dot.active { background:#2DCCD3; border-color:#2DCCD3; }
.responsive-order-table .order-progress-label,
.responsive-order-table .order-progress-label.active { display:block; margin-top:0; font-size:.75rem !important; line-height:1.5; white-space:normal; text-align:center; }
.responsive-order-table .order-progress-label { color:#64748b; font-weight:400; opacity:1; }
.responsive-order-table .order-progress-label.passed { color:#64748b; font-weight:400; opacity:1; }
.responsive-order-table .order-progress-label.active { color:#526176; font-weight:600; opacity:1; }
.responsive-order-table .order-photo-label { display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 7px; border:1px solid #e2e8f0; border-radius:5px; background:transparent; color:#64748b; font-size:.7rem; font-weight:500; white-space:nowrap; }
.responsive-order-table .order-photo-label.is-upload { border-color:#e2e8f0; background:transparent; color:#94a3b8; }
.responsive-order-table .order-progress-label.passed ~ .order-photo-label { color:#94a3b8; }
.responsive-order-table .company-photo-button { padding:0 6px; height:22px; font-size:.65rem; border-radius:5px; }
.responsive-order-table td[data-label="状态"] > span { font-size:.72rem !important; padding:3px 7px !important; border-radius:6px !important; box-shadow:none !important; }
.responsive-order-table td[data-label="状态"] > span > span:last-child { padding:1px !important; }
.responsive-order-table td[data-label="状态"] > .order-settlement-status { font-size:.68rem !important; padding:2px 5px !important; gap:4px !important; }
.responsive-order-table .order-settlement-status svg { width:10px; height:10px; }
.responsive-order-table .order-action-controls { width:100% !important; min-width:0 !important; max-width:112px !important; }
.responsive-order-table .order-action-controls button,
.responsive-order-table .order-action-controls summary { font-size:.72rem !important; padding:7px 4px !important; min-height:30px; border-radius:6px !important; }
.responsive-order-table .order-detail-meta-footer { padding-top:10px; border-top:1px solid #e1eeee; text-align:right; }

@media (min-width:601px) {
    .responsive-order-table { min-width:900px !important; }
    .responsive-order-table .order-column-order { width:clamp(220px,22vw,280px) !important; }
    .responsive-order-table .order-column-customer { width:136px !important; }
    .responsive-order-table .order-column-amount { width:176px !important; }
    .responsive-order-table .order-column-progress { width:auto !important; }
    .responsive-order-table .order-column-status { width:100px !important; }
    .responsive-order-table .order-column-actions { width:124px !important; }
    .responsive-order-table .order-main-row > td { padding-top:14px !important; padding-bottom:14px !important; }
    .responsive-order-table .order-accounting-confirmed { display:flex !important; max-width:100%; box-sizing:border-box; white-space:normal !important; overflow-wrap:anywhere; text-align:left; }
    .responsive-order-table .order-accounting-confirmed > span:first-child { white-space:nowrap; }
    .responsive-order-table td[data-label="金额"] { padding-right:14px !important; }
    .responsive-order-table td[data-label="单号 / 履约"] { padding-left:24px !important; }
}

@media (min-width:601px) and (max-width:1100px) {
    .responsive-order-table .order-column-customer { width:120px !important; }
    .responsive-order-table .order-column-amount { width:144px !important; }
    .responsive-order-table .order-column-status { width:90px !important; }
    .responsive-order-table .order-column-actions { width:112px !important; }
}

/* The same cells become a card; no duplicate mobile markup or business logic. */
@media (max-width:600px) {
    .responsive-order-table,
    .responsive-order-table tbody { display:block !important; width:100% !important; min-width:0 !important; }
    .responsive-order-table thead { display:none !important; }
    .responsive-order-table tr[style*="display: none"],
    .responsive-order-table tr[style*="display:none"] { display:none !important; }
    .responsive-order-table .order-main-row:not([style*="display: none"]):not([style*="display:none"]) {
        display:grid !important;
        position:relative;
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px 10px;
        width:100%;
        min-width:0;
        max-width:100%;
        padding:13px;
        margin-bottom:12px;
        background:#fff !important;
        border:1px solid #e1eeee !important;
        border-left:3px solid var(--order-border-color, #e1eeee) !important;
        border-radius:12px;
        box-sizing:border-box;
    }
    /* Reserve a quiet footer for verification; never cover text or controls. */
    .responsive-order-table .order-main-row.has-accounting-stamp { padding-bottom:72px !important; }
    .responsive-order-table .order-accounting-confirmed {
        position:absolute; right:16px; bottom:14px; margin:0 !important;
        max-width:calc(100% - 32px); box-sizing:border-box;
        color:#94a3b8 !important; background:transparent !important;
        border:1px solid #cbd5e1 !important; border-radius:4px !important;
        padding:4px 8px !important; transform:rotate(-4deg);
        pointer-events:none; white-space:normal !important; overflow-wrap:anywhere;
        text-align:left; font-weight:500 !important;
    }
    .responsive-order-table td { padding:0 !important; border:0 !important; min-width:0; line-height:1.5; }
    .responsive-order-table td::before { display:none !important; }
    .responsive-order-table td[data-label="单号 / 履约"],
    .responsive-order-table .order-card-title { display:contents; }
    .responsive-order-table .order-card-heading { grid-column:1; grid-row:1; }
    .responsive-order-table .order-card-heading,
    .responsive-order-table td[data-label="客户信息"],
    .responsive-order-table .order-card-meta { padding-left:12px !important; }
    .responsive-order-table .order-department { font-size:.95rem; }
    .responsive-order-table .order-card-fulfillment { grid-column:2; grid-row:1; align-self:start; justify-content:flex-end; text-align:right; font-size:.88rem; padding-top:1px; }
    .responsive-order-table .order-card-meta { grid-column:1; grid-row:3; align-self:start; border-top:1px solid #edf3f3; padding-top:9px; margin-top:2px; }
    .responsive-order-table td[data-label="客户信息"] { grid-column:1; grid-row:2; display:block; text-align:left !important; align-self:start; padding-left:8px !important; }
    .responsive-order-table .order-customer-name { font-size:.875rem; }
    .responsive-order-table .order-customer-phone { font-size:.75rem; }
    .responsive-order-table td[data-label="金额"] { grid-column:2; grid-row:2; display:block; text-align:right !important; align-self:start; padding-right:6px !important; }
    .responsive-order-table .order-amount-cell { max-width:100%; }
    .responsive-order-table td[data-label="状态"] { grid-column:2; grid-row:3; display:flex; flex-direction:column; align-items:flex-end; gap:4px; text-align:right !important; border-top:1px solid #edf3f3 !important; padding-top:9px !important; margin-top:2px; }
    .responsive-order-table td[data-label="签字情况"],
    .responsive-order-table td[data-label="凭证"] { grid-column:1/-1; grid-row:4; display:block; padding-top:5px !important; }
    .responsive-order-table .order-progress-container { max-width:360px !important; }
    .responsive-order-table td[data-label="操作"] { grid-column:1/-1; grid-row:5; display:block; padding-top:3px !important; }
    .responsive-order-table .order-action-controls { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row dense; align-items:start; gap:8px !important; max-width:100% !important; width:100% !important; }
    .responsive-order-table .order-action-primary,
    .responsive-order-table .order-action-secondary { display:contents !important; }
    .responsive-order-table .order-action-notice { grid-column:1/-1; }
    .responsive-order-table .order-action-settle { grid-column:2; }
    .responsive-order-table .order-action-controls button,
    .responsive-order-table .order-action-controls summary { width:100% !important; min-height:36px; height:auto; box-sizing:border-box; font-size:.75rem !important; }
    .responsive-order-table .order-action-controls details { min-width:0; }
    .responsive-order-table tr.month-header-row { display:block; padding:9px 10px; margin-bottom:9px; border-radius:8px; }
    .responsive-order-table tr.month-header-row td { display:block; width:100%; }
    .responsive-order-table tr.order-details-row:not([style*="display: none"]):not([style*="display:none"]) { display:block !important; }
    .responsive-order-table tr.order-details-row { width:100%; margin-top:-12px; margin-bottom:12px; background:#f5fafb !important; border:1px solid #e1eeee; border-top:0; border-radius:0 0 12px 12px; }
    .responsive-order-table tr.order-details-row > td { display:block; width:100%; }
    .responsive-order-table .order-details-grid { grid-template-columns:minmax(0,1fr) !important; gap:10px; }
    .responsive-order-table .order-details-card { padding:10px !important; min-width:0; }
    .responsive-order-table .order-details-card img { max-width:100%; }
    .responsive-order-table .order-detail-meta-footer { font-size:.7rem; }
}
@media (max-width:360px) {
    .responsive-order-table .order-main-row { padding:11px !important; gap:8px; }
    .responsive-order-table .order-card-fulfillment { font-size:.75rem; }
    .responsive-order-table .order-progress-label,
    .responsive-order-table .order-progress-label.active { font-size:.72rem !important; }
}

/* Neutral month controls stay distinct from order-type hover colors. */
.responsive-order-table tr.month-header-row { background:#f6f7f8 !important; transition:background .15s; }
@media (min-width:601px) and (hover:hover) and (pointer:fine) {
    .responsive-order-table tr.month-header-row:hover { background:#eef1f3 !important; }
}
