/* =========================================================
   ComprasApp V3.5 density refinement
   Purpose: neutralize old oversized V3 recovery rules with scoped,
   operational sizing for purchase workflows. No business logic here.
   ========================================================= */

:root{
    --density-title:clamp(24px,6.4vw,34px);
    --density-section:18px;
    --density-body:14px;
    --density-muted:12px;
    --density-label:10.5px;
    --density-button-h:38px;
    --density-field-h:38px;
    --density-card-pad:12px;
    --density-card-radius:18px;
}

/* Shared purchase pages */
.purchase-order-form,
.purchase-order-show,
.purchase-orders-index-page{
    --app-radius:var(--density-card-radius);
}

.purchase-create-header,
.purchase-order-show .v3-hero,
.purchase-orders-index-page .v3-hero{
    margin:0 0 10px !important;
}

.purchase-create-header h1,
.purchase-order-show .v3-hero h1,
.purchase-orders-index-page .v3-hero h1{
    font-size:var(--density-title) !important;
    line-height:1.03 !important;
    letter-spacing:-.028em !important;
}

.purchase-create-header p,
.purchase-order-show .v3-hero p,
.purchase-orders-index-page .v3-hero p{
    margin-top:6px !important;
    font-size:13px !important;
    line-height:1.3 !important;
    color:var(--app-muted,#68665f) !important;
}

.purchase-create-header .button,
.purchase-order-form .button,
.purchase-order-form .v3-btn,
.purchase-order-show .v3-btn,
.purchase-orders-index-page .v3-btn{
    min-height:var(--density-button-h) !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:850 !important;
}

/* Purchase create */
.purchase-order-form{
    gap:12px !important;
    padding:var(--density-card-pad) !important;
    border-radius:var(--density-card-radius) !important;
}

.purchase-order-form .grid,
.purchase-order-form .grid.two,
.purchase-order-form .grid.three,
.purchase-order-form .line-card .grid,
.purchase-order-form .line-card .grid.two,
.purchase-order-form .line-card .grid.three{
    gap:10px !important;
}

.purchase-order-form label,
.purchase-order-form .line-card label{
    gap:4px !important;
    margin:0 !important;
    color:rgba(17,17,17,.54) !important;
    font-size:var(--density-label) !important;
    line-height:1.12 !important;
    font-weight:850 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
}

.purchase-order-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.purchase-order-form select,
.purchase-order-form textarea,
.purchase-order-form .line-card input,
.purchase-order-form .line-card select{
    min-height:var(--density-field-h) !important;
    border-radius:12px !important;
    padding:7px 10px !important;
    font-size:13.5px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
}

.purchase-order-form textarea{
    min-height:68px !important;
}

.purchase-order-form .purchase-quick-helper{
    margin:0 !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    font-size:12px !important;
    line-height:1.3 !important;
}

.purchase-order-form .v3-section-header{
    margin:0 !important;
    padding-top:2px !important;
    border-top:0 !important;
    gap:10px !important;
}

.purchase-order-form .v3-section-header h2{
    margin:0 !important;
    font-size:var(--density-section) !important;
    line-height:1.08 !important;
    letter-spacing:-.015em !important;
}

.purchase-order-form .v3-section-header p,
.purchase-order-form small.muted{
    margin-top:4px !important;
    color:var(--app-muted,#68665f) !important;
    font-size:11px !important;
    line-height:1.28 !important;
}

.purchase-order-form #lines-wrapper{
    gap:10px !important;
}

.purchase-order-form .line-card{
    padding:12px !important;
    border-radius:16px !important;
}

.purchase-order-form .line-card-header{
    justify-content:space-between !important;
    margin:0 0 8px !important;
}

.purchase-order-form .line-card-header strong{
    display:block !important;
    color:#777 !important;
    font-size:10px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.purchase-order-form .remove-line-button{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
}

.purchase-order-form .remove-line-button::after{
    font-size:22px !important;
}

.purchase-order-form details{
    padding-top:8px !important;
}

.purchase-order-form summary{
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
}

.purchase-create-actions{
    padding:8px !important;
    border-radius:18px !important;
}

/* Purchase index */
.po-agenda-card.is-compact{
    margin:8px 0 10px !important;
    padding:10px !important;
    border-radius:18px !important;
}

.po-agenda-card.is-compact .po-agenda-header h2{
    font-size:20px !important;
}

.po-agenda-card.is-compact .po-agenda-kpi{
    min-height:48px !important;
    border-radius:14px !important;
    padding:7px !important;
}

.po-agenda-card.is-compact .po-agenda-kpi strong{
    font-size:18px !important;
}

.purchase-orders-index-page{
    gap:10px !important;
}

.purchase-orders-index-page .v3-order-card{
    padding:12px !important;
    border-radius:16px !important;
}

.purchase-orders-index-page .v3-order-main{
    gap:10px !important;
}

.purchase-orders-index-page .v3-kicker,
.purchase-order-show .v3-kicker{
    font-size:10px !important;
    margin-bottom:3px !important;
    letter-spacing:.08em !important;
}

.purchase-orders-index-page .v3-value,
.purchase-order-show .purchase-detail-grid strong{
    font-size:14px !important;
    line-height:1.22 !important;
}

.purchase-orders-index-page .badge,
.purchase-order-show .badge{
    min-height:24px !important;
    padding:4px 8px !important;
    font-size:12px !important;
}

/* Purchase detail */
.purchase-order-show{
    gap:12px !important;
}

.purchase-order-show .v3-card,
.purchase-order-show .v3-order-card{
    padding:12px !important;
    border-radius:16px !important;
}

.purchase-order-show .purchase-detail-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
}

.purchase-order-show .purchase-detail-grid > div{
    padding:8px 0 !important;
}

.purchase-order-show .purchase-detail-wide{
    grid-column:1 / -1 !important;
}

.purchase-order-show .v3-section-header{
    margin:4px 0 0 !important;
}

.purchase-order-show .v3-section-header h2,
.purchase-order-show .purchase-show-totals h3{
    margin:0 0 8px !important;
    font-size:var(--density-section) !important;
    line-height:1.08 !important;
}

.purchase-order-show .v3-section-header p{
    margin-top:4px !important;
    font-size:12px !important;
    line-height:1.25 !important;
}

.purchase-order-show .purchase-line-summary h3{
    margin:0 0 8px !important;
    font-size:16px !important;
    line-height:1.15 !important;
}

.purchase-order-show .purchase-show-totals .totals p{
    margin:6px 0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
}

@media(max-width:760px){
    :root{
        --density-title:clamp(24px,6.8vw,32px);
        --density-card-pad:12px;
        --density-card-radius:16px;
    }

    .purchase-create-header .actions,
    .purchase-create-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
    }

    .purchase-order-form .v3-section-header{
        align-items:stretch !important;
        flex-direction:column !important;
    }

    .purchase-order-form #add-line-button{
        width:100% !important;
    }

    .purchase-orders-index-page .v3-order-main{
        grid-template-columns:1fr 1fr !important;
    }

    .purchase-orders-index-page .v3-order-main > div:first-child{
        grid-column:1 / -1 !important;
    }
}
