:root{font-family:Inter,Segoe UI,sans-serif;color:#eaf0f8;background:#08111e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#152640 0,transparent 34%),#08111e}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #26364a;background:#0b1522cc;backdrop-filter:blur(14px)}.brand{color:#f5f8fc;text-decoration:none;font-size:21px}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:9px;border-radius:9px;background:linear-gradient(135deg,#5c55e8,#169dd9);font-size:13px;font-weight:800}.account{display:flex;align-items:center;gap:18px}.account form{display:inline}.account button,button{border:0;color:#dbe7f5;background:#172437;border-radius:10px;padding:10px 17px;cursor:pointer}main{max-width:1800px;margin:auto;padding:34px}.auth-shell{min-height:calc(100vh - 136px);display:grid;place-items:center}.card{background:linear-gradient(145deg,#111d2d,#0c1624);border:1px solid #2a3a4e;border-radius:18px;padding:26px;box-shadow:0 20px 60px #0004}.auth-card{width:min(430px,100%)}h1{margin:5px 0 9px;font-size:32px}h2{margin-top:0}.eyebrow{color:#699de0;font-size:12px;font-weight:800;letter-spacing:.15em}p,.action-card span{color:#93a4ba}label{display:grid;gap:7px;margin:18px 0;color:#b9c7d8}input{width:100%;padding:12px 13px;border:1px solid #30445d;border-radius:10px;background:#091321;color:white;font:inherit;outline:none}input:focus{border-color:#5388ed;box-shadow:0 0 0 3px #5388ed22}.primary{width:100%;padding:13px;background:linear-gradient(135deg,#5148db,#2a83de);font-weight:700}.error{color:#ff7f91}.success{padding:13px 17px;margin-bottom:20px;border:1px solid #236f4d;border-radius:12px;background:#123525;color:#72dda6}.page-head{display:flex;justify-content:space-between;align-items:end;margin:12px 0 28px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.action-card{display:grid;gap:10px;color:white;text-decoration:none}.two-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #26364a}.check{display:flex;align-items:center}.check input{width:auto}@media(max-width:850px){main{padding:22px}.two-columns{grid-template-columns:1fr}.topbar{padding:0 18px}}
.offer-toolbar{display:flex;align-items:end;justify-content:space-between;gap:22px}.offer-tabs{display:flex;gap:10px}.tab{padding:13px 20px;border:1px solid #31435a;background:#111c2b}.tab.active{background:linear-gradient(135deg,#303a9c,#6040ca);border-color:#7163ff}.customer-strip{display:grid;grid-template-columns:1.5fr auto 280px;gap:24px;align-items:end;margin:24px 0;padding:16px 22px;border:1px solid #293a4f;border-radius:15px;background:#101a28}.customer-strip label{margin:0}.vat-control span{display:block;margin-bottom:8px;color:#b9c7d8}.segmented{display:flex}.segmented button{border-radius:0;border:1px solid #34465f}.segmented button:first-child{border-radius:9px 0 0 9px}.segmented button:last-child{border-radius:0 9px 9px 0}.segmented .active{background:#3d43a4}.row-actions{margin:14px 0}.outline-action{border:1px solid #4279ba;background:#111c2b}.offer-table-shell{overflow:auto;min-height:330px;border:1px solid #293a4f;border-radius:16px;background:#0d1724}.offer-table{min-width:1180px}.offer-table th{white-space:nowrap;background:#142032;color:#cdd8e7;font-size:13px}.offer-table td{padding:8px}.offer-table input,.offer-table select{min-width:78px;padding:9px;background:#0b1420;border:1px solid transparent;color:#eaf0f8;border-radius:7px}.offer-table td:first-child input{min-width:230px}.offer-table select{min-width:105px}.number{text-align:right;white-space:nowrap}.final{color:#54d889;font-weight:700}.final.loss{color:#ff687d}.delete-row{padding:8px;color:#ff6079;background:#311826}.summary-grid{display:grid;grid-template-columns:1fr 1.55fr 1.15fr;gap:14px;margin-top:16px}.summary-card{padding:20px;border:1px solid #293a4f;border-radius:16px;background:linear-gradient(145deg,#111d2d,#0c1624)}.summary-card h2{font-size:18px}.icon{margin-right:8px;color:#7668ff}.metric-row{display:flex;gap:22px;justify-content:space-between}.metric-row div{display:grid;gap:8px}.metric-row small{color:#9aabc0}.metric-row b{font-size:18px}.metric-row .hero b{font-size:28px;color:#4bd17e}.metric-row em{color:#74d799;font-style:normal;font-size:12px}.offer-buttons{display:flex;gap:10px;margin-top:24px}.offer-buttons button{flex:1}.print-button{border:1px solid #8a6818;color:#d7b85b}.save-button{background:linear-gradient(135deg,#157942,#239b57);font-weight:700}.toast{position:fixed;right:28px;bottom:28px;max-width:460px;padding:16px 20px;border:1px solid #36735a;border-radius:12px;background:#123326;box-shadow:0 16px 50px #0008}@media(max-width:1000px){.offer-toolbar{align-items:start;flex-direction:column}.customer-strip{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.metric-row{flex-wrap:wrap}}
.two-columns{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}.two-columns>*{min-width:0}.table-scroll{overflow-x:auto}.compact-action{white-space:nowrap;border:1px solid #3b6595;background:#13243a}@media(max-width:1050px){.two-columns{grid-template-columns:1fr}}
.workspace-topbar{height:86px;padding:8px 30px;background:#111318;border-color:#343a49}.brand img{display:block;width:255px;height:62px;object-fit:contain}.workspace-topbar+.main{}.workspace-topbar~main{max-width:none;padding:14px 26px 18px}.nav-button{padding:12px 18px;border:1px solid #41495a;border-radius:11px;color:#e6eaf0;background:#252a34;text-decoration:none;white-space:nowrap}.nav-button.active{border-color:#78a4c0;background:#263a48}.account-name{color:#9aa5b5;font-size:14px}.workspace-controls{display:grid;grid-template-columns:auto 190px minmax(190px,1fr) 180px 190px;gap:18px;align-items:end;margin-bottom:14px}.workspace-controls label{margin:0;text-align:center}.workspace-controls .profile-choice{position:absolute;left:-10000px}.workspace-controls .vat-control span{text-align:center}.workspace-controls input,.workspace-controls select{height:40px;margin-top:6px;background:#20242d;border-color:#3b4252}.workspace-controls .outline-action{height:40px;margin-bottom:0}.offer-table-shell{min-height:390px;background:#181b22;border-color:#343a49}.offer-table th{height:46px;background:#292e39;border-bottom:1px solid #496f89}.offer-table tbody tr{background:#20242d}.offer-table tbody tr:nth-child(even){background:#1c2028}.summary-card{background:#1b1f27;border-color:#343a49;min-height:160px}.pricing-card{background:#20242d;border-color:#3d5363}#finalDisplay,#profitDisplay{color:#78a4c0}.save-button{background:#2f8a4c}.print-button{background:#2a271f;border-color:#b48827;color:#e9bd55}@media(max-width:1250px){.workspace-controls{grid-template-columns:auto 190px 1fr 180px}.workspace-controls .offer-markup{grid-column:4}.account-name{display:none}}@media(max-width:900px){.workspace-controls{grid-template-columns:1fr 1fr}.workspace-topbar{height:auto;align-items:flex-start}.workspace-topbar .account{flex-wrap:wrap}.brand img{width:190px}.workspace-topbar~main{padding:18px}.nav-button{padding:9px 11px}}

/* PricePilot parity pass: compact desktop-like working density */
.workspace-topbar~main{max-width:1680px;margin:0 auto;padding:14px 20px 18px}
.workspace-controls{grid-template-columns:auto 190px minmax(280px,430px) 180px 190px;gap:12px;justify-content:start}
.workspace-controls .picker-field{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px}
.workspace-controls input,.workspace-controls select{height:36px;margin-top:5px}
.workspace-controls .outline-action{height:36px}
.offer-table-shell{min-height:315px}
.offer-table{width:100%;min-width:1220px;table-layout:fixed}
.offer-table th{height:40px;padding:7px 8px;font-size:12px}
.offer-table th:nth-child(1){width:24%}.offer-table th:nth-child(2){width:7%}.offer-table th:nth-child(3){width:5%}.offer-table th:nth-child(4){width:9%}.offer-table th:nth-child(5){width:9%}.offer-table th:nth-child(6){width:7%}.offer-table th:nth-child(7){width:9%}.offer-table th:nth-child(8){width:9%}.offer-table th:nth-child(9){width:8%}.offer-table th:nth-child(10){width:9%}.offer-table th:nth-child(11){width:42px}
.offer-table td{padding:5px 7px;height:46px}
.offer-table input,.offer-table select{width:100%;min-width:0;height:34px;padding:6px 8px}
.article-picker-button{width:100%;min-height:30px;padding:2px 4px;text-align:left;background:transparent;border:0;color:#eef2f7;white-space:pre-line;font-weight:600}
.offer-table td:first-child select[data-field="article"]{display:none}
.offer-table td:first-child select[data-field="variant"]{display:none}
.license-summary{min-height:38px}
.signal-red{color:#ca4242!important}.signal-yellow{color:#d6a018!important}.signal-green{color:#2c8e4e!important}
.final-input.signal-red,.final-input.signal-yellow,.final-input.signal-green{font-weight:700}
@media(max-width:1250px){.workspace-controls{grid-template-columns:auto 180px minmax(260px,1fr) 170px}.workspace-controls .offer-markup{grid-column:auto}}

/* PricePilot offer workspace refinement: fit the table in the desktop viewport. */
.offer-table-shell{
    overflow-x:hidden;
    overflow-y:auto;
    min-height:clamp(360px,calc(100vh - 430px),500px);
}
.offer-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
}
.offer-table th:nth-child(1){width:26%}
.offer-table th:nth-child(2){width:6%}
.offer-table th:nth-child(3){width:4%}
.offer-table th:nth-child(4){width:8%}
.offer-table th:nth-child(5){width:9%}
.offer-table th:nth-child(6){width:7%}
.offer-table th:nth-child(7){width:9%}
.offer-table th:nth-child(8){width:9%}
.offer-table th:nth-child(9){width:8%}
.offer-table th:nth-child(10){width:10%}
.offer-table th:nth-child(11){width:38px}
.summary-grid{
    margin-top:18px;
}
@media(max-width:1180px){
    .offer-table-shell{overflow-x:auto}
    .offer-table{min-width:1080px}
}

/* Main screen finishing pass */
.workspace-controls{
    grid-template-columns:auto auto minmax(40px,1fr) minmax(280px,430px) 180px 190px;
    justify-content:stretch;
}
.workspace-controls #addRow{grid-column:1;justify-self:start}
.workspace-controls .vat-control{grid-column:2;justify-self:start}
.workspace-controls label:nth-of-type(1){grid-column:4}
.workspace-controls label:nth-of-type(2){grid-column:5}
.workspace-controls .offer-markup{grid-column:6}
.article-picker-button .article-name,
.article-picker-button .article-variant{display:block}
.article-picker-button .article-name{font-weight:700;color:#eef2f7}
.article-picker-button .article-variant{margin-top:2px;font-weight:500;color:#cbd6e3;line-height:1.15}
.article-recap-card{padding-bottom:14px}
.article-recap{display:grid;gap:0;margin-top:4px}
.recap-row{display:grid;grid-template-columns:minmax(92px,1.15fr) .7fr 1fr 1fr;align-items:center;gap:10px;min-height:27px}
.recap-row small{color:#91a5bf;font-size:11px}
.recap-row strong{font-size:13px}
.recap-row b{font-size:14px;white-space:nowrap}
.recap-head{min-height:22px}
.recap-total{margin-top:4px;padding-top:6px;border-top:1px solid #344154}
.recap-total strong,.recap-total b{font-size:15px}
.recap-license,.recap-distributor{display:grid;grid-template-columns:minmax(92px,1.15fr) .7fr 1fr 1fr;align-items:center;gap:10px;margin-top:6px;padding-top:7px;border-top:1px solid #344154}
.recap-license strong,.recap-distributor strong{grid-column:1}
.recap-license b,.recap-distributor b{grid-column:4;text-align:right;white-space:nowrap}
.recap-license strong{color:#e8a56c;font-size:13px}
.recap-license b{font-size:15px}
.recap-distributor strong{color:#69d18f;font-size:13px}
.recap-distributor b{color:#74dc9a;font-size:15px}
@media(max-width:1300px){
    .workspace-controls{grid-template-columns:auto auto minmax(24px,1fr) minmax(240px,1fr) 170px 180px}
}

/* Main screen remaining refinements */
.workspace-topbar{
    height:68px;
    padding-top:4px;
    padding-bottom:4px;
}
.brand img{
    height:52px;
    width:220px;
}
.workspace-topbar~main{
    padding-top:10px;
}
.workspace-controls{
    margin-top:8px;
    margin-bottom:10px;
}
.workspace-controls label{
    align-self:end;
}
.workspace-controls .picker-field{
    align-items:stretch;
}
.workspace-controls .picker-field input,
.workspace-controls .picker-field button,
.workspace-controls > label > input{
    height:34px;
    min-height:34px;
    box-sizing:border-box;
}

.license-detail > td{
    height:34px;
    padding-top:2px !important;
    padding-bottom:2px !important;
}
.license-detail input{
    height:28px;
    padding-top:2px;
    padding-bottom:2px;
}
.license-detail .license-discount-cell{
    padding-top:2px !important;
    padding-bottom:2px !important;
}

.summary-card{
    min-height:178px;
}
.pricing-card{
    display:flex;
    flex-direction:column;
}
.pricing-card .metric-row{
    flex:1;
    align-items:center;
}
.summary-card:last-child{
    display:flex;
    flex-direction:column;
}
.summary-card:last-child .offer-buttons{
    margin-top:auto;
    padding-top:12px;
}


/* v125 current Main UI package */
.summary-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);
    gap:14px;
}
.offer-table input[data-field="qty"],
.offer-table input[data-field="unitCost"],
.offer-table input[data-field="totalCost"],
.offer-table input[data-field="markup"],
.offer-table input[data-field="adjustment"],
.offer-table input[data-field="finalTotal"],
.license-detail input{
    text-align:center;
}
.offer-table td.number,
.license-detail .license-base-cell,
.license-detail .license-discount-amount{
    text-align:center;
}
.article-picker-button .article-variant{
    margin-top:5px;
    color:#91abc0;
    font-weight:500;
}
.license-detail [data-license="label"]{
    font-size:12px;
    font-weight:500;
}
.license-detail .license-base-cell,
.license-detail .license-discount-amount,
.license-detail .license-discount-cell label{
    font-size:12px;
    font-weight:500;
}
.pricing-card .metric-row{
    display:grid;
    grid-template-columns:1.25fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:12px 16px;
    align-items:center;
}
.pricing-card .metric-row>div{
    min-width:0;
}
.customer-summary-card{
    display:flex;
    flex-direction:column;
}
.customer-summary-empty{
    margin:auto 0;
    color:#8f9bad;
    font-size:14px;
}
.customer-summary{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:auto 0;
    min-width:0;
}
.customer-summary strong{
    font-size:17px;
    color:#eef2f7;
}
.customer-summary span{
    font-size:12px;
    color:#aeb9c8;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.customer-summary .customer-legal{color:#c9d2de}
.customer-summary .customer-phone,
.customer-summary .customer-email{color:#91abc0}
.offer-summary-card{
    display:flex;
    flex-direction:column;
}
.offer-summary-card .offer-buttons{
    margin-top:auto;
    padding-top:12px;
}
@media(max-width:1350px){
    .summary-grid{grid-template-columns:1fr 1fr}
}

/* Compact workspace header actions */
.workspace-topbar .account{gap:10px}
.workspace-topbar .nav-button,
.workspace-topbar .account button{
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border-radius:9px;
    font-size:14px;
    line-height:1;
}

/* Main offer workspace: keep the summary cards visible in the desktop viewport.
   Extra offer rows scroll inside the table instead of pushing the page down. */
@media (min-width:1351px) and (min-height:700px){
    body:has(> main > .workspace-controls){
        height:100vh;
        overflow:hidden;
    }
    body:has(> main > .workspace-controls) > main{
        height:calc(100vh - 68px);
        display:flex;
        flex-direction:column;
        overflow:hidden;
    }
    body:has(> main > .workspace-controls) .workspace-controls,
    body:has(> main > .workspace-controls) .summary-grid{
        flex:0 0 auto;
    }
    body:has(> main > .workspace-controls) .offer-table-shell{
        flex:1 1 auto;
        min-height:220px;
        max-height:none;
    }
}


/* Main offer workspace: compact bottom summary cards to preserve table focus. */
@media (min-width:1351px) and (min-height:700px){
    body:has(> main > .workspace-controls) .summary-grid{
        margin-top:12px;
        gap:12px;
    }
    body:has(> main > .workspace-controls) .summary-card{
        min-height:148px;
        padding:14px 18px;
    }
    body:has(> main > .workspace-controls) .summary-card h2{
        margin-bottom:8px;
        font-size:17px;
    }
    body:has(> main > .workspace-controls) .article-recap{
        margin-top:0;
    }
    body:has(> main > .workspace-controls) .recap-row{
        min-height:23px;
    }
    body:has(> main > .workspace-controls) .recap-head{
        min-height:19px;
    }
    body:has(> main > .workspace-controls) .recap-total{
        margin-top:2px;
        padding-top:4px;
    }
    body:has(> main > .workspace-controls) .recap-license{
        margin-top:4px;
        padding-top:5px;
    }
    body:has(> main > .workspace-controls) .pricing-card .metric-row{
        gap:8px 14px;
    }
    body:has(> main > .workspace-controls) .metric-row div{
        gap:4px;
    }
    body:has(> main > .workspace-controls) .customer-summary{
        gap:3px;
    }
    body:has(> main > .workspace-controls) .offer-summary-card .offer-buttons{
        padding-top:8px;
    }
    body:has(> main > .workspace-controls) .offer-buttons button{
        padding:8px 12px;
    }
}

.article-recap #articleRecapGroups{display:grid;gap:0}
.article-recap [hidden]{display:none!important}
.recap-more-button{width:auto;margin:3px 0 1px;padding:3px 0;border:0;background:transparent;color:#83b9dd;font-size:12px;text-align:left}
.recap-more-button:hover{background:transparent;color:#b5d9ef}
.organization-name{color:#d9e2ee;text-decoration:none}.organization-name:hover{color:#fff}.account-separator{color:#68788d}

.organization-brand{display:flex;align-items:center;gap:12px;min-width:0}
.organization-brand img{display:block;height:52px;object-fit:contain;object-position:left center}
.organization-brand .organization-logo-primary{width:82px}
.organization-brand .organization-logo-alternative{width:180px}
.powered-by{position:fixed;right:18px;bottom:10px;z-index:20;padding:4px 7px;border-radius:7px;background:#0b111acc;color:#66778b;font-size:10px;letter-spacing:.02em;pointer-events:none}
.powered-by strong{color:#8799ad;font-weight:650}
@media(max-width:900px){.organization-brand{gap:8px}.organization-brand .organization-logo-primary{width:64px}.organization-brand .organization-logo-alternative{width:120px}.powered-by{right:10px;bottom:7px}}
.admin-link{display:inline-flex;align-items:center;justify-content:center;color:#dbe7f5;text-decoration:none;padding:9px 13px;border-radius:10px}
.account-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.account-actions form{margin:0}.account-actions .compact-action{padding:8px 10px}
.account-admin-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr)}
.account-dialog{width:min(440px,calc(100vw - 36px));padding:20px;border:1px solid #496f89;border-radius:14px;background:#111b28;color:#eef2f7}.account-dialog::backdrop{background:#05080dcc}.account-dialog h3{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.dialog-actions button{width:auto}.cancel-edit{display:block;margin-top:12px;text-align:center;color:#91b9df;text-decoration:none}
.user-name{color:inherit;text-decoration:none}.user-name:hover{color:#dbe8f7}
.account-page-grid{max-width:980px;margin:0 auto;grid-template-columns:1fr 1fr}.account-page-message{max-width:980px;margin-left:auto;margin-right:auto}.back-link{color:#91b9df;text-decoration:none}
@media(max-width:1050px){.account-admin-grid,.account-page-grid{grid-template-columns:1fr}}


/* Main UI micro-polish: desktop-style VAT switch + clock centered in the free header area. */
.workspace-controls .vat-control .segmented{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:190px;
    padding:2px;
    border:1px solid #46566b;
    border-radius:18px;
    background:#20242d;
    overflow:hidden;
}
.workspace-controls .vat-control .segmented button{
    height:32px;
    padding:0 15px;
    border:0;
    border-radius:15px;
    background:transparent;
    color:#e6eaf0;
    font-weight:700;
    line-height:32px;
}
.workspace-controls .vat-control .segmented button.active{
    background:#587f9b;
    color:#fff;
    box-shadow:inset 0 0 0 1px #8fb2c8;
}
.workspace-topbar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
}
.workspace-clock{
    position:static;
    justify-self:center;
    align-self:center;
    color:#9eabbc;
    font-size:14px;
    font-weight:500;
    letter-spacing:.15px;
    white-space:nowrap;
    pointer-events:none;
}
@media(max-width:1450px){.workspace-clock{display:none}}
@media(max-width:900px){.workspace-topbar{display:flex}}

/* Offer alignment fix: keep License/Distributor on one shared column grid. */
.license-detail .license-base-cell,
.distributor-detail .distributor-base-cell,
.license-detail .license-discount-amount,
.license-detail .license-final-cell,
.distributor-detail .distributor-final-cell{
    text-align:center;
    vertical-align:middle;
}
.license-detail .license-discount-cell,
.distributor-detail .distributor-percent-cell{
    padding-top:2px !important;
    padding-bottom:2px !important;
    vertical-align:middle;
}
.license-detail .license-discount-cell label,
.distributor-detail .distributor-percent-cell label{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:10px;
    width:100%;
    margin:0;
    color:#aebdce;
    font-size:12px;
    font-weight:500;
    white-space:nowrap;
}
.license-detail .license-discount-cell input,
.distributor-detail .distributor-percent-cell input{
    width:100%;
    min-width:0;
    height:28px;
    margin:0;
    padding:2px 8px;
    text-align:center;
}
.distributor-detail > td{
    height:34px;
    padding-top:2px !important;
    padding-bottom:2px !important;
}
.distributor-detail [data-distributor="base"],
.distributor-detail [data-distributor="final"]{
    display:block;
    width:100%;
    text-align:center;
}

/* Articles recap: one fixed four-column grid for header, data, total and special rows. */
.article-recap{
    --recap-columns:minmax(0,1.35fr) minmax(72px,.62fr) minmax(92px,.9fr) minmax(92px,.9fr);
}
.article-recap .recap-row,
.article-recap .recap-license,
.article-recap .recap-distributor{
    grid-template-columns:var(--recap-columns);
    column-gap:12px;
}
.article-recap .recap-row > :nth-child(1){text-align:left}
.article-recap .recap-row > :nth-child(2){text-align:center}
.article-recap .recap-row > :nth-child(3),
.article-recap .recap-row > :nth-child(4){text-align:right}
.article-recap .recap-head > :nth-child(2){text-align:center}
.article-recap .recap-head > :nth-child(3),
.article-recap .recap-head > :nth-child(4){text-align:right}
.article-recap .recap-license strong,
.article-recap .recap-distributor strong{
    grid-column:1 / 4;
    text-align:left;
}
.article-recap .recap-license b,
.article-recap .recap-distributor b{
    grid-column:4;
    justify-self:stretch;
    text-align:right;
}

/* Offer article action column */
.offer-table th:nth-child(1){width:38px}
.offer-table th:nth-child(2){width:26%}
.offer-table th:nth-child(3){width:6%}
.offer-table th:nth-child(4){width:4%}
.offer-table th:nth-child(5){width:8%}
.offer-table th:nth-child(6){width:9%}
.offer-table th:nth-child(7){width:7%}
.offer-table th:nth-child(8){width:9%}
.offer-table th:nth-child(9){width:9%}
.offer-table th:nth-child(10){width:8%}
.offer-table th:nth-child(11){width:10%}
.offer-table th:nth-child(12){width:38px}
.offer-table td:first-child{padding:5px 4px;text-align:center}
.offer-table td:nth-child(2) select[data-field="article"],.offer-table td:nth-child(2) select[data-field="variant"]{display:none}
.add-article-row,.delete-row{width:30px;height:30px;padding:0;border-radius:7px;font-size:19px;line-height:1}
.add-article-row{border:1px solid #4b7998;background:#1e3444;color:#8fd0f2;font-weight:700}
.add-article-row:hover{background:#29495e;border-color:#78a4c0}
.article-editor-host{width:min(920px,calc(100vw - 60px));height:min(760px,calc(100vh - 60px));padding:0;border:1px solid #496f89;border-radius:15px;background:#111318;overflow:hidden}
.article-editor-host::backdrop{background:#05080dcc;backdrop-filter:blur(3px)}
.article-editor-host iframe{display:block;width:100%;height:100%;border:0;background:#111318}

/* Semantic component tokens.
   Organization themes should override these variables, not individual screens. */
:root{
  --pp-page-bg:#08111e;
  --pp-text:#eaf0f8;
  --pp-muted:#93a4ba;
  --pp-surface:#151a22;
  --pp-surface-soft:#111720;
  --pp-surface-raised:#1b2029;
  --pp-border:#344252;
  --pp-border-strong:#496f89;
  --pp-field-bg:#091321;
  --pp-field-text:#eef3f8;
  --pp-field-border:#30445d;
  --pp-focus:#5388ed;
  --pp-accent:#73b5db;
  --pp-accent-text:#85c5e9;
  --pp-modal-shadow:0 30px 90px #000c;
  --pp-backdrop:rgba(5,8,13,.80);
  --pp-success-bg:#123525;
  --pp-success-border:#236f4d;
  --pp-success-text:#72dda6;
}
.pp-dialog{
  width:min(520px,calc(100vw - 36px));padding:0;border:1px solid var(--pp-border-strong);
  border-radius:14px;background:var(--pp-surface);color:var(--pp-text);box-shadow:var(--pp-modal-shadow)
}
.pp-dialog::backdrop{background:var(--pp-backdrop);backdrop-filter:blur(3px)}
.pp-dialog-body{display:grid;gap:14px;padding:22px}
.pp-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pp-dialog-head h2{margin:0 0 5px}.pp-dialog-head p{margin:0;color:var(--pp-muted)}
.pp-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.pp-dialog-actions button{width:auto;min-width:110px}
.pp-busy{display:inline-flex;align-items:center;gap:8px}
.pp-busy::before{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pp-spin .7s linear infinite}
@keyframes pp-spin{to{transform:rotate(360deg)}}
.pp-notice{padding:10px 14px;border:1px solid var(--pp-success-border);border-radius:10px;background:var(--pp-success-bg);color:var(--pp-success-text)}

.article-editor-host{border-color:var(--pp-border-strong);background:var(--pp-surface);box-shadow:var(--pp-modal-shadow)}
.article-editor-host::backdrop{background:var(--pp-backdrop)}
.article-editor-host iframe{background:var(--pp-page-bg)}

/* Offer workspace header/row flow polish */
.workspace-topbar{grid-template-columns:auto minmax(0,1fr) auto}
.workspace-topbar .account{grid-column:3;justify-self:end}
.workspace-topbar .workspace-clock{font-size:16px;font-weight:600;margin-right:4px}
.header-vat-control{display:flex;align-items:center}
.header-vat-control button{height:36px;padding:0 12px;border:1px solid #41495a;border-radius:0;background:#252a34}
.header-vat-control button:first-child{border-radius:9px 0 0 9px}
.header-vat-control button:last-child{border-radius:0 9px 9px 0}
.header-vat-control button.active{background:#587f9b;color:#fff;box-shadow:inset 0 0 0 1px #8fb2c8}
.workspace-controls{grid-template-columns:minmax(300px,430px) minmax(40px,1fr) 180px 190px}
.workspace-controls label:nth-of-type(1){grid-column:1;text-align:left}
.workspace-controls label:nth-of-type(2){grid-column:3}
.workspace-controls .offer-markup{grid-column:4}
.offer-add-row-foot td{padding:8px 4px 10px;background:transparent;border:0}
.offer-row-actions{display:flex;justify-content:flex-start;margin:0}
.offer-row-actions .outline-action{height:38px}

/* Internal organization chat v0.1 */
.pp-chat-trigger{position:relative;border:1px solid rgba(151,119,70,.42);border-radius:9px;background:rgba(255,255,255,.42);padding:8px 12px;color:inherit;cursor:pointer;font:inherit}
.pp-chat-badge{position:absolute;right:-7px;top:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#9d1730;color:#fff;font-size:11px;line-height:19px;font-weight:800;box-shadow:0 2px 8px rgba(80,10,25,.3)}
.pp-chat-panel{position:fixed;z-index:1200;right:18px;top:76px;width:min(720px,calc(100vw - 36px));height:min(610px,calc(100vh - 100px));background:#fff;border:1px solid #c9b89e;border-radius:15px;box-shadow:0 22px 55px rgba(45,34,22,.25);opacity:0;pointer-events:none;transform:translateX(22px) perspective(1200px) rotateY(-1deg);transition:opacity .22s ease,transform .24s cubic-bezier(.22,.61,.36,1);overflow:hidden}
.pp-chat-panel.open{opacity:1;pointer-events:auto;transform:none}.pp-chat-head{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ddd0bd}.pp-chat-head>div{display:flex;flex-direction:column}.pp-chat-head span{font-size:12px;opacity:.65}.pp-chat-head button,.pp-chat-toast-close{border:0;background:transparent;font-size:24px;cursor:pointer;color:inherit}.pp-chat-layout{display:grid;grid-template-columns:220px 1fr;height:calc(100% - 62px)}.pp-chat-contacts{padding:12px;border-right:1px solid #e1d6c6;overflow:auto}.pp-chat-contact{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 10px;margin-bottom:7px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;cursor:pointer;color:inherit}.pp-chat-contact:hover,.pp-chat-contact.active{background:#f6efe5;border-color:#d6c1a0}.pp-chat-contact b{background:#9d1730;color:#fff;border-radius:10px;min-width:19px;padding:2px 6px;text-align:center;font-size:11px}.pp-chat-conversation{min-width:0;display:grid;grid-template-rows:48px 1fr auto}.pp-chat-peer{padding:14px 16px;border-bottom:1px solid #e5dbcc;font-weight:700}.pp-chat-messages{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:9px}.pp-chat-message{max-width:76%;padding:9px 12px;border-radius:13px;background:#f0ebe3;align-self:flex-start;box-shadow:0 2px 6px rgba(45,34,22,.08)}.pp-chat-message.mine{align-self:flex-end;background:#ead8a9}.pp-chat-message span{display:block;margin-top:4px;font-size:10px;opacity:.55;text-align:right}.pp-chat-compose{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px;border-top:1px solid #e5dbcc}.pp-chat-compose textarea{resize:none;min-height:42px;max-height:90px;padding:10px;border:1px solid #cbbda8;border-radius:10px;font:inherit}.pp-chat-compose button{border:1px solid #a98142;border-radius:10px;padding:0 16px;background:#b89150;color:white;font-weight:700;cursor:pointer}.pp-chat-compose button:disabled{opacity:.45;cursor:default}.pp-chat-empty{margin:auto;text-align:center;opacity:.58}.pp-chat-empty.small{margin:12px 4px;font-size:12px}.pp-chat-toast{position:fixed;z-index:1250;right:22px;top:78px;width:min(360px,calc(100vw - 44px));display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid #c9ad79;border-radius:12px;box-shadow:0 14px 38px rgba(45,34,22,.24);opacity:0;transform:translateY(-14px) scale(.985);transition:opacity .2s ease,transform .22s cubic-bezier(.22,.61,.36,1);overflow:hidden}.pp-chat-toast.show{opacity:1;transform:none}.pp-chat-toast-body{border:0;background:transparent;padding:12px 14px;text-align:left;cursor:pointer;color:inherit;min-width:0}.pp-chat-toast-body strong,.pp-chat-toast-body span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-chat-toast-body span{font-size:12px;margin-top:3px;opacity:.72}.pp-chat-toast-close{padding:0 12px}
@media(max-width:720px){.pp-chat-trigger-label{display:none}.pp-chat-panel{right:8px;top:68px;width:calc(100vw - 16px);height:calc(100vh - 82px)}.pp-chat-layout{grid-template-columns:150px 1fr}}

/* Chat v0.1 layout containment: keep composer pinned and only history scrolling. */
.pp-chat-panel{display:flex;flex-direction:column;min-height:0}
.pp-chat-head{flex:0 0 62px}
.pp-chat-layout{flex:1 1 auto;height:auto;min-height:0;overflow:hidden}
.pp-chat-contacts{min-height:0}
.pp-chat-conversation{height:100%;min-height:0;overflow:hidden}
.pp-chat-peer{min-height:0}
.pp-chat-messages{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.pp-chat-message{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}
.pp-chat-compose{min-height:0;background:inherit}
.pp-chat-compose textarea{min-width:0;width:100%;box-sizing:border-box}

/* v30: compact inline add-row action */
.offer-row-actions .outline-action{height:30px;padding:0 10px;border-radius:5px;font-size:12px}
.offer-add-row-foot td{padding:5px 4px 7px}

/* v31 offer terminology: quantity and measurement unit are separate columns. */
.offer-table{min-width:1320px}
.offer-table th:nth-child(1){width:38px}
.offer-table th:nth-child(2){width:24%}
.offer-table th:nth-child(3){width:5.5%}
.offer-table th:nth-child(4){width:4%}
.offer-table th:nth-child(5){width:5%}
.offer-table th:nth-child(6){width:9%}
.offer-table th:nth-child(7){width:8%}
.offer-table th:nth-child(8){width:7%}
.offer-table th:nth-child(9){width:9%}
.offer-table th:nth-child(10){width:8%}
.offer-table th:nth-child(11){width:8%}
.offer-table th:nth-child(12){width:10%}
.offer-table th:nth-child(13){width:38px}
.offer-unit-cell{text-align:center;white-space:nowrap;font-weight:600}
body.theme-laboheme .offer-unit-cell{color:#765a31}


/* 33.7.76 — shared adaptive operational workspace.
   Operational modules may use the full viewport while configuration/dialog surfaces keep their own geometry. */
body.theme-laboheme{
  --pp-operational-workspace-width:min(96vw,2200px);
  --pp-operational-page-gutter:max(22px,2vw);
}
body.theme-laboheme .workspace-topbar~main{
  width:100%;
  max-width:2200px;
  padding-left:var(--pp-operational-page-gutter);
  padding-right:var(--pp-operational-page-gutter);
}

/* 33.7.82 — persistent right-docked internal chat shell. */
.pp-chat-trigger{width:38px;height:36px;padding:0!important;display:inline-grid!important;place-items:center;border-radius:7px!important}
.pp-chat-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.pp-chat-panel{right:0!important;top:58px!important;bottom:0!important;width:400px!important;height:auto!important;border-radius:0!important;border-right:0!important;border-bottom:0!important;transform:translateX(100%)!important;transition:transform .24s cubic-bezier(.22,.61,.36,1),opacity .18s ease!important}
.pp-chat-panel.open{transform:none!important}
.pp-chat-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important;height:auto!important;flex:1 1 auto!important;min-height:0}
.pp-chat-contact-picker{padding:11px 14px;border-bottom:1px solid #e1d6c6}
.pp-chat-contact-picker select{width:100%;height:40px;padding:0 11px;border:1px solid #cbbda8;border-radius:6px;background:#fffdf8;color:inherit;font:inherit;font-weight:700}
.pp-chat-contacts[hidden]{display:none!important}
.pp-chat-conversation{grid-row:2;min-height:0}
body.pp-chat-docked>main{width:auto!important;max-width:none!important;margin-right:400px!important;transition:margin-right .24s cubic-bezier(.22,.61,.36,1)}
body.pp-chat-docked .home-workspace{width:min(1680px,calc(100vw - 452px))!important}
body.pp-chat-docked .home-main-layout .home-dashboard-grid{grid-template-columns:repeat(3,minmax(220px,1fr))!important}
@media(max-width:1250px){body.pp-chat-docked .home-main-layout .home-dashboard-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}
@media(max-width:900px){.pp-chat-panel{width:min(400px,100vw)!important}body.pp-chat-docked>main{margin-right:0!important}.pp-chat-panel.open{box-shadow:-20px 0 50px rgba(45,34,22,.25)}body.pp-chat-docked .home-workspace{width:min(1680px,calc(100vw - 52px))!important}}
