:root{
    --navy-950:#061f32;
    --navy-900:#0b3c5d;
    --navy-800:#155f8b;
    --blue:#1e88e5;
    --blue-2:#59b6e8;
    --page:#e6edf2;
    --surface:#ffffff;
    --surface-2:#f3f7fa;
    --line:#d7e2e9;
    --text:#071823;
    --muted:#526875;
    --success:#2b967e;
    --warning:#d8921f;
    --danger:#d6535d;
    --purple:#7358b8;
    --shadow:0 16px 38px rgba(11,60,93,.10),0 5px 15px rgba(30,136,229,.05);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:radial-gradient(circle at 90% 0,rgba(30,136,229,.10),transparent 27%),linear-gradient(135deg,#e0e9ee,#f3f6f8 50%,#e3ebef);font:15px/1.55 "DM Sans",Arial,sans-serif}
a{color:inherit}
button,input,select,textarea{font:inherit}
input,select,textarea{width:100%;color:#000;background:#fff;border:1px solid #c9d7df;border-radius:13px;outline:none}
input,select{min-height:48px;padding:10px 12px}
textarea{padding:11px 12px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(30,136,229,.11)}
.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:22px 16px;color:#fff;background:radial-gradient(circle at 0 0,rgba(89,182,232,.20),transparent 31%),linear-gradient(180deg,var(--navy-950),var(--navy-900) 60%,var(--navy-800));box-shadow:15px 0 38px rgba(11,60,93,.12)}
.brand{display:flex;align-items:center;gap:12px;padding:3px 5px 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.brand-logo{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:7px;background:#fff;border-radius:15px;box-shadow:0 10px 24px rgba(0,24,41,.21)}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.brand strong{display:block;font:800 18px/1.15 "Manrope",sans-serif}.brand span{display:block;margin-top:3px;color:rgba(255,255,255,.67);font-size:11px}
.nav-label{margin:25px 10px 10px;color:rgba(255,255,255,.48);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.nav{display:grid;gap:7px}
.nav a{display:flex;align-items:center;gap:11px;min-height:48px;padding:11px 13px;color:rgba(255,255,255,.76);border:1px solid transparent;border-radius:13px;text-decoration:none;font-weight:700}
.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.15)}
.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:18px}
.sidebar-card{margin-top:auto;padding:14px;background:rgba(4,27,43,.28);border:1px solid rgba(255,255,255,.12);border-radius:15px}
.sidebar-card small,.sidebar-card span{display:block;color:rgba(255,255,255,.62);font-size:10px}.sidebar-card strong{display:block;margin:4px 0;color:#fff}.sidebar-card span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;background:#65d8b7;border-radius:50%}
.main{min-width:0;padding:24px 28px 45px}.main>*{width:min(1500px,100%);margin-left:auto;margin-right:auto}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}
.page-header small,.panel-head small,.side-card>small,.form-section small{color:var(--navy-800);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.page-header h1{margin:3px 0 0;font:800 31px/1.1 "Manrope",sans-serif}.page-header p{margin:6px 0 0;color:var(--muted)}
.header-actions{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-weight:800;cursor:pointer}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--navy-900),var(--blue));box-shadow:0 10px 23px rgba(11,60,93,.15)}
.btn-dark{color:#fff;background:#183a4e}.btn-light{color:var(--navy-900);background:#fff}.btn-soft{color:var(--navy-900);background:#eef4f7;border-color:#d4e1e8}.btn-ghost{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.17)}.btn-block{width:100%}
.hero-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;margin-bottom:18px;padding:28px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(255,255,255,.12),transparent 25%),linear-gradient(135deg,var(--navy-950),var(--navy-800) 65%,var(--blue));border-radius:25px;box-shadow:0 23px 55px rgba(11,60,93,.16)}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#cce9fa}.hero-card h2{max-width:760px;margin:8px 0 0;font:800 35px/1.08 "Manrope",sans-serif}.hero-card p{max-width:760px;color:#d6eaf5}.hero-actions{display:flex;gap:10px;margin-top:20px}.hero-metric{align-self:stretch;display:flex;justify-content:center;flex-direction:column;padding:20px;background:rgba(4,27,43,.25);border:1px solid rgba(255,255,255,.14);border-radius:18px}.hero-metric span,.hero-metric small{color:#d2e8f4;font-size:11px}.hero-metric strong{margin:7px 0;font:800 29px/1 "Manrope",sans-serif}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpi-card{padding:19px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.kpi-card span,.kpi-card small{display:block;color:var(--muted);font-size:11px}.kpi-card strong{display:block;margin:8px 0;font:800 26px/1 "Manrope",sans-serif;color:var(--navy-900)}.kpi-card.accent{background:linear-gradient(145deg,#dbeaf2,#f5f9fb)}
.panel{margin-bottom:18px;padding:21px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-head h2{margin:3px 0 0;font:800 22px/1.2 "Manrope",sans-serif}.text-link,.icon-link{color:var(--navy-800);text-decoration:none;font-weight:800}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px;color:#506773;background:#f0f5f8;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px}.data-table td{padding:13px 12px;border-bottom:1px solid #e1e9ee;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.right{text-align:right!important}.table-sub{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}.status-draft{color:#705318;background:#fff3d4}.status-prepared{color:#1e5671;background:#e5f2f8}.status-sent{color:#443380;background:#eee9fb}.status-accepted{color:#17634f;background:#e6f6f1}.status-rejected{color:#862a34;background:#ffe9ec}
.empty-state{padding:45px 20px;text-align:center}.empty-state strong{display:block;font-size:18px}.empty-state p{color:var(--muted)}
.filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 200px auto auto;gap:10px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.offer-card{padding:18px;background:linear-gradient(145deg,#fff,#f4f8fa);border:1px solid var(--line);border-radius:19px;box-shadow:0 11px 26px rgba(11,60,93,.06)}.offer-card-top{display:flex;justify-content:space-between}.offer-card h3{margin:15px 0 5px;font:800 18px/1.2 "Manrope",sans-serif;color:var(--navy-900)}.offer-card p{min-height:48px;color:var(--muted)}.offer-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.offer-values div{padding:10px;background:#edf4f7;border-radius:12px}.offer-values span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.offer-values b{display:block;margin-top:3px}.offer-actions{display:flex;gap:13px;margin-top:15px;padding-top:14px;border-top:1px solid #dce5ea}.offer-actions a{color:var(--navy-800);text-decoration:none;font-size:12px;font-weight:800}
.form-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;color:#fff;background:linear-gradient(135deg,var(--navy-950),var(--navy-800) 65%,var(--blue));border-radius:22px;box-shadow:0 18px 42px rgba(11,60,93,.15)}.form-hero span{color:#cce9fa;font-size:10px;font-weight:800;text-transform:uppercase}.form-hero h2{max-width:760px;margin:5px 0 0;font:800 24px/1.2 "Manrope",sans-serif}.live-total{min-width:220px;padding:14px 16px;background:rgba(4,27,43,.26);border:1px solid rgba(255,255,255,.14);border-radius:15px}.live-total small{display:block;color:#cfe6f3}.live-total strong{display:block;margin-top:5px;font:800 24px/1 "Manrope",sans-serif}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.form-main{display:grid;gap:18px}.form-section{padding:20px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;color:#fff;background:linear-gradient(135deg,var(--navy-900),var(--blue));border-radius:13px;font-weight:800}.section-head h2{margin:2px 0 0;font:800 21px/1.15 "Manrope",sans-serif}.field-grid{display:grid;gap:14px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid label,.full-field,.side-card label{display:grid;gap:7px;color:#0b293a;font-size:11px;font-weight:800}.full-field{margin-bottom:14px}.form-side{position:sticky;top:18px;display:grid;gap:14px}.side-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.side-card h3{margin:4px 0 15px;font:800 17px/1.2 "Manrope",sans-serif}.side-card label+label{margin-top:11px}.total-card{background:linear-gradient(145deg,#dbe8ef,#f6f9fb)}.total-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #c8d6de}.total-row.gross{border:0;font-size:17px}.vat-input{display:inline;width:58px;min-height:30px;padding:4px 6px;border-radius:7px}.sticky-actions{display:grid;gap:9px}
.positions-head{justify-content:space-between}.section-head-copy{display:flex;align-items:center;gap:12px}.position-buttons{display:flex;gap:9px}.positions-table-wrap{overflow:auto}.positions-table{width:100%;min-width:1050px;border-collapse:collapse}.positions-table th{padding:11px 8px;color:#fff;background:#173b50;text-align:left;font-size:9px;text-transform:uppercase}.positions-table td{padding:7px;border-bottom:1px solid #d9e3e8;vertical-align:top}.positions-table input,.positions-table select{min-height:42px;padding:8px}.positions-table textarea{min-height:42px;padding:8px}.positions-table .item-quantity{width:80px}.positions-table .item-purchase,.positions-table .item-markup{width:105px}.positions-table .position-number{font-weight:800;color:var(--navy-800)}.fee-row td{background:#eef7f5}.remove-row{width:35px;height:35px;color:#8d2a35;background:#ffe9ec;border:0;border-radius:9px;font-size:18px;cursor:pointer}
.offer-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;margin-bottom:18px;padding:24px;color:#fff;background:linear-gradient(135deg,var(--navy-950),var(--navy-800) 65%,var(--blue));border-radius:22px}.offer-detail-hero h2{margin:13px 0 6px;font:800 25px/1.25 "Manrope",sans-serif}.offer-detail-hero p{color:#d6eaf5}.detail-total{display:flex;justify-content:center;flex-direction:column;padding:16px;background:rgba(4,27,43,.28);border-radius:16px}.detail-total small,.detail-total span{color:#d2e7f2}.detail-total strong{margin:7px 0;font:800 27px/1 "Manrope",sans-serif}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-grid div{padding:12px;background:#f2f7f9;border-radius:13px}.info-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.info-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere}.summary-box{width:min(420px,100%);margin:18px 0 0 auto;padding:14px;background:#edf4f7;border-radius:14px}.summary-box div{display:flex;justify-content:space-between;padding:8px}.summary-box .gross{border-top:2px solid var(--navy-900);font-size:16px}
.master-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.compact-form{display:grid;gap:10px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alert{margin-bottom:15px;padding:13px 14px;border-radius:13px;font-weight:700}.alert.error{color:#7e242d;background:#fff0f2;border:1px solid #efcbd0}.alert.success{color:#17604e;background:#e9f7f2;border:1px solid #c6e7dc}
.login-body{background:#dce6ec}.login-screen{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);min-height:100vh}.login-visual{display:flex;justify-content:space-between;flex-direction:column;padding:37px 42px 32px;color:#fff;background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.13),transparent 27%),linear-gradient(145deg,var(--navy-950),var(--navy-900) 55%,var(--blue))}.login-brand{display:flex;align-items:center;gap:14px}.login-logo{display:flex;width:74px;height:74px;padding:10px;background:#fff;border-radius:22px;box-shadow:0 13px 28px rgba(0,24,41,.22)}.login-logo img{width:100%;height:100%;object-fit:contain}.login-brand strong{display:block;font:800 22px/1.15 "Manrope",sans-serif}.login-brand span{color:#d6eaf5}.login-copy{max-width:730px}.login-copy small{color:#cce9fa;font-weight:800;text-transform:uppercase}.login-copy h1{margin:15px 0 0;font:800 50px/1.03 "Manrope",sans-serif;letter-spacing:-1.5px}.login-copy p{max-width:650px;color:#d5e9f4;font-size:16px}.login-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.login-modules div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:16px}.login-modules b{color:#75c7f2}.login-modules span{font-size:11px}.login-panel{display:flex;align-items:center;justify-content:center;padding:35px;background:linear-gradient(180deg,#f8fafb,#e6eef2)}.login-form-card{width:min(430px,100%)}.login-form-card>small{color:var(--navy-800);font-weight:800;text-transform:uppercase}.login-form-card h2{margin:7px 0 0;font:800 36px/1 "Manrope",sans-serif}.login-form-card p{color:var(--muted)}.login-form-card label{display:grid;gap:7px;margin-top:15px;font-size:11px;font-weight:800}.login-form-card .btn{margin-top:20px}

@media(max-width:900px){
    .customer-picker{
        grid-template-columns:1fr;
    }
    .customer-results{
        position:relative;
        top:auto;
        margin-top:8px;
        max-height:330px;
        box-shadow:0 13px 28px rgba(11,60,93,.12);
    }
    .selected-customer-card{
        min-height:auto;
    }
}

@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.offer-grid{grid-template-columns:repeat(2,1fr)}.form-layout{grid-template-columns:1fr}.form-side{position:static;grid-template-columns:repeat(2,1fr)}.sticky-actions{grid-column:1/-1}.master-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:relative;height:auto}.nav{grid-template-columns:repeat(6,1fr)}.nav a{justify-content:center;font-size:0}.sidebar-card,.nav-label{display:none}.main{padding:16px}.page-header,.form-hero{align-items:flex-start;flex-direction:column}.hero-card,.offer-detail-hero{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.cols-3,.cols-2,.detail-grid,.info-grid{grid-template-columns:1fr}.form-side{grid-template-columns:1fr}.master-grid,.offer-grid{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr}.login-visual{min-height:520px;padding:27px 20px}.login-copy h1{font-size:36px}.login-modules{grid-template-columns:1fr}.login-panel{padding:28px 18px}}
@media(max-width:520px){.kpi-grid{grid-template-columns:1fr}.hero-card h2{font-size:28px}.page-header h1{font-size:27px}.position-buttons{flex-direction:column}}


/* ==========================================================
   EXCEL MASTER DATA IMPORT
   ========================================================== */
.offer-kpis{margin-top:-4px}
.customer-picker{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    gap:14px;
    margin-bottom:16px;
    padding:15px;
    background:linear-gradient(145deg,#eef5f8,#f8fbfc);
    border:1px solid #d7e3e9;
    border-radius:16px;
}
.customer-search-column{
    position:relative;
    min-width:0;
}
.customer-picker label,
.catalog-picker label{
    display:grid;
    gap:7px;
    color:#0b293a;
    font-size:11px;
    font-weight:800;
}
.customer-search-input{
    position:relative;
}
.customer-search-input input{
    padding-right:47px;
}
.customer-search-input button{
    position:absolute;
    top:50%;
    right:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:0;
    color:#365a6f;
    background:#e7f0f4;
    border:0;
    border-radius:9px;
    transform:translateY(-50%);
    cursor:pointer;
    font-size:18px;
}
.customer-search-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
    color:var(--muted);
    font-size:10px;
}
.customer-search-info button{
    padding:0;
    color:var(--navy-800);
    background:transparent;
    border:0;
    cursor:pointer;
    font-size:10px;
    font-weight:800;
}
.customer-results{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:30;
    display:none;
    max-height:370px;
    margin-top:8px;
    overflow:auto;
    background:#fff;
    border:1px solid #cbdbe4;
    border-radius:15px;
    box-shadow:0 22px 48px rgba(11,60,93,.18);
}
.customer-results.open{
    display:block;
}
.customer-result{
    display:block;
    width:100%;
    padding:12px 13px;
    color:#071823;
    background:#fff;
    border:0;
    border-bottom:1px solid #e1e9ee;
    text-align:left;
    cursor:pointer;
}
.customer-result:last-child{
    border-bottom:0;
}
.customer-result:hover,
.customer-result:focus{
    background:#edf6fb;
    outline:none;
}
.customer-result-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.customer-result-top strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.customer-result-top span{
    flex:0 0 auto;
    color:var(--navy-800);
    font-size:10px;
    font-weight:800;
}
.customer-result p{
    margin:4px 0 0;
    color:#3f5866;
    font-size:11px;
}
.customer-result small{
    display:block;
    margin-top:4px;
    color:#718591;
    font-size:9px;
}
.customer-result-empty{
    display:grid;
    gap:4px;
    padding:22px 15px;
    text-align:center;
}
.customer-result-empty strong{
    color:#183a4e;
}
.customer-result-empty span{
    color:var(--muted);
    font-size:11px;
}
.selected-customer-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    min-height:113px;
    padding:15px;
    background:linear-gradient(145deg,#e3edf2,#f7fafb);
    border:1px solid #cfdee6;
    border-radius:14px;
}
.selected-customer-card.has-selection{
    background:linear-gradient(145deg,#dff2ec,#f5fbf8);
    border-color:#bcded2;
}
.selected-customer-card small,
.selected-customer-card span{
    display:block;
}
.selected-customer-card small{
    color:var(--navy-800);
    font-size:9px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.selected-customer-card strong{
    display:block;
    margin-top:5px;
    color:#071823;
    font:800 15px/1.25 "Manrope",sans-serif;
}
.selected-customer-card span{
    margin-top:5px;
    color:var(--muted);
    font-size:10px;
    line-height:1.45;
}
.selected-customer-card button{
    flex:0 0 auto;
    padding:8px 10px;
    color:#7b2c36;
    background:#fff0f2;
    border:1px solid #edcdd2;
    border-radius:9px;
    cursor:pointer;
    font-size:10px;
    font-weight:800;
}
.catalog-picker{
    position:relative;
    margin-bottom:16px;
    padding:15px;
    background:linear-gradient(145deg,#eaf4f8,#f8fbfc);
    border:1px solid #d4e2e9;
    border-radius:16px;
}
.catalog-picker>small{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:10px;
}
.catalog-results{
    display:grid;
    gap:7px;
    max-height:300px;
    margin-top:9px;
    overflow:auto;
}
.catalog-result{
    display:block;
    width:100%;
    padding:11px 12px;
    color:var(--text);
    background:#fff;
    border:1px solid #d6e2e8;
    border-radius:12px;
    text-align:left;
    cursor:pointer;
    transition:.2s ease;
}
.catalog-result:hover{
    transform:translateY(-1px);
    border-color:#74bce5;
    box-shadow:0 8px 18px rgba(11,60,93,.08);
}
.catalog-result-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.catalog-result-top strong{
    color:var(--navy-900);
    font-size:12px;
}
.catalog-result-top span{
    color:var(--muted);
    font-size:9px;
    text-align:right;
}
.catalog-result p{
    margin:5px 0 0;
    font-size:11px;
    line-height:1.45;
}
.catalog-empty,
.catalog-loading{
    padding:12px;
    color:var(--muted);
    background:rgba(255,255,255,.62);
    border:1px dashed #c9d8df;
    border-radius:11px;
    font-size:11px;
    text-align:center;
}
.positions-table{
    min-width:1180px;
}
.positions-table .item-ia{
    width:110px;
}
.catalog-statbar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
    margin-bottom:18px;
}
.catalog-statbar>div{
    padding:16px 18px;
    background:linear-gradient(145deg,#fff,#eef4f7);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
}
.catalog-statbar span{
    display:block;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
}
.catalog-statbar strong{
    display:block;
    margin-top:6px;
    color:var(--navy-900);
    font:800 24px/1 "Manrope",sans-serif;
}
.catalog-filter{
    grid-template-columns:minmax(280px,1fr) minmax(340px,1fr) auto auto;
    margin-bottom:18px;
}
.master-filter{
    grid-template-columns:minmax(300px,1fr) auto auto;
    margin-bottom:16px;
}
.catalog-table td:nth-child(2){
    min-width:320px;
}
.compact-master-table{
    min-width:620px;
}
@media(max-width:1100px){
    .customer-picker{
        grid-template-columns:1fr;
    }
    .catalog-statbar{
        grid-template-columns:repeat(2,1fr);
    }
    .catalog-filter{
        grid-template-columns:1fr;
    }
}
@media(max-width:800px){
    .catalog-statbar{
        grid-template-columns:1fr 1fr;
    }
    .master-filter{
        grid-template-columns:1fr;
    }
}
@media(max-width:520px){
    .catalog-statbar{
        grid-template-columns:1fr;
    }
    .catalog-result-top{
        align-items:flex-start;
        flex-direction:column;
    }
    .catalog-result-top span{
        text-align:left;
    }
}


/* ==========================================================
   EXCEL OFFER INPUT TABLE + PDF WORKFLOW
   ========================================================== */
.excel-form-hero{
    margin-bottom:16px;
}

.excel-offer-layout{
    grid-template-columns:minmax(0,1fr) 320px;
}

.excel-input-section{
    overflow:visible;
}

.excel-input-table{
    overflow:hidden;
    border:1px solid #c9d8e0;
    border-radius:17px;
    background:#ffffff;
}

.excel-row{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border-bottom:1px solid #d7e2e9;
}

.excel-row:last-child{
    border-bottom:0;
}

.excel-row > label{
    display:grid;
    align-content:start;
    min-width:0;
    padding:10px;
    border-right:1px solid #d7e2e9;
    background:#ffffff;
}

.excel-row > label:last-of-type{
    border-right:0;
}

.excel-row > label > span{
    display:block;
    min-height:27px;
    margin-bottom:6px;
    color:#365365;
    font-size:9px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.45px;
    text-transform:uppercase;
}

.excel-row input,
.excel-row select{
    min-height:43px;
    border-radius:9px;
    box-shadow:none;
}

.excel-row .span-2{
    grid-column:span 2;
}

.row-configuration > label,
.row-requester > label,
.row-signatures > label{
    background:linear-gradient(180deg,#f5f9fb,#edf4f7);
}

.row-location > label,
.row-offer > label{
    background:#fbfcfd;
}

.excel-summary-side{
    top:15px;
}

.excel-preview-card{
    color:#ffffff;
    background:
        radial-gradient(circle at 100% 0,rgba(255,255,255,.14),transparent 35%),
        linear-gradient(145deg,#08283f,#155f8b 67%,#1e88e5);
    border-color:rgba(255,255,255,.08);
}

.excel-preview-card > small{
    color:#cce9fa;
}

.excel-preview-card h3{
    margin-bottom:9px;
    color:#ffffff;
    overflow-wrap:anywhere;
}

.excel-preview-card strong{
    display:block;
    color:#ffffff;
    font-size:13px;
}

.excel-preview-card p{
    margin:8px 0 0;
    color:#d6eaf5;
    font-size:11px;
    line-height:1.55;
    white-space:pre-line;
}

.pdf-card{
    background:linear-gradient(145deg,#e5f0f5,#f8fbfc);
}

.pdf-card p{
    margin:8px 0 0;
    color:#516a79;
    font-size:11px;
}

@media(max-width:1250px){
    .excel-offer-layout{
        grid-template-columns:1fr;
    }

    .excel-summary-side{
        position:static;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .excel-summary-side .sticky-actions{
        grid-column:1/-1;
    }
}

@media(max-width:1000px){
    .excel-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .excel-row .span-2{
        grid-column:span 2;
    }

    .excel-row > label:nth-last-child(1){
        border-right:0;
    }

    .excel-summary-side{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .excel-row{
        display:block;
    }

    .excel-row > label{
        border-right:0;
        border-bottom:1px solid #d7e2e9;
    }

    .excel-row > label:last-of-type{
        border-bottom:0;
    }

    .excel-row > label > span{
        min-height:auto;
    }
}


/* ==========================================================
   REAL DOCUMENT PREVIEW + MANAGEMENT FEE + CRUD
   ========================================================== */
.excel-preview-card{
    padding:12px;
    background:linear-gradient(145deg,#d8e4ea,#f5f8fa);
    border-color:#c7d6de;
}

.preview-paper{
    min-height:390px;
    padding:15px 14px 13px;
    color:#111;
    background:#fff;
    border:1px solid #cfd9df;
    border-radius:10px;
    box-shadow:0 14px 32px rgba(11,60,93,.13);
    font-family:Arial,Helvetica,sans-serif;
    font-size:8px;
    line-height:1.35;
}

.preview-logo-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:2px 0 17px;
    color:#11134d;
    font-weight:800;
    letter-spacing:.35px;
}

.preview-logo-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:25px;
    color:#fff;
    background:#11134d;
    border-radius:50%;
    font-size:13px;
    font-style:italic;
}

.preview-logo-row > span{
    font-size:7px;
}

.preview-address-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 76px;
    gap:10px;
    min-height:76px;
}

.preview-address-row small,
.preview-address-row strong,
.preview-address-row span{
    display:block;
}

.preview-address-row small{
    color:#555;
    font-size:6px;
}

.preview-address-row strong{
    margin-top:2px;
    font-size:8px;
}

.preview-address-row span{
    margin-top:2px;
    color:#333;
    font-size:6.5px;
    overflow-wrap:anywhere;
}

.preview-meta{
    padding-left:7px;
    border-left:1px solid #ddd;
}

.preview-project{
    margin:16px 8px 11px 30px;
    min-height:35px;
    font-size:7.7px;
    font-weight:700;
    white-space:pre-line;
}

.preview-number{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:5px;
    margin:0 8px 13px 30px;
    font-size:7.7px;
    font-weight:700;
}

.preview-letter-lines{
    display:grid;
    gap:7px;
    margin:0 8px 12px 30px;
}

.preview-letter-lines span{
    display:block;
    height:3px;
    background:#d6dadd;
    border-radius:3px;
}

.preview-letter-lines .short{
    width:63%;
}

.preview-amount{
    margin:0 8px 12px 30px;
    padding:7px 8px;
    background:#f0f3f5;
    border-radius:5px;
}

.preview-amount small{
    display:block;
    color:#555;
    font-size:6px;
}

.preview-amount strong{
    display:block;
    margin-top:2px;
    font-size:11px;
    text-decoration:underline;
}

.preview-fee-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 8px 18px 30px;
    padding-bottom:5px;
    border-bottom:1px solid #bbb;
    font-size:7px;
}

.preview-signatures{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:0 8px 0 30px;
    color:#333;
    font-size:6.5px;
}

.fee-control-card{
    background:linear-gradient(145deg,#e4f1ed,#f8fbfa);
    border-color:#c5ded6;
}

.fee-control-card p{
    margin:8px 0 0;
    color:#537067;
    font-size:10px;
}

.master-editor.is-editing{
    border-color:#7bb8d8;
    box-shadow:0 0 0 4px rgba(30,136,229,.08),var(--shadow);
}

.catalog-editor-form{
    display:grid;
    grid-template-columns:1.3fr .65fr 1fr auto;
    gap:11px;
    align-items:end;
}

.catalog-editor-form label{
    display:grid;
    gap:7px;
    color:#0b293a;
    font-size:11px;
    font-weight:800;
}

.catalog-editor-form .span-2{
    grid-column:span 2;
}

.checkbox-field{
    display:flex!important;
    align-items:center;
    min-height:48px;
    padding:10px 12px;
    background:#eef5f7;
    border:1px solid #d5e2e8;
    border-radius:12px;
}

.checkbox-field input{
    width:18px;
    min-height:18px;
    margin:0 8px 0 0;
}

.row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}

.row-actions form{
    margin:0;
}

.action-edit,
.action-delete{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:9px;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.action-edit{
    color:#0b4f73;
    background:#e6f2f8;
    border:1px solid #c9e0eb;
}

.action-delete{
    color:#842d37;
    background:#fff0f2;
    border:1px solid #efcdd2;
}

@media(max-width:1250px){
    .catalog-editor-form{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .catalog-editor-form .span-2{
        grid-column:span 2;
    }
}

@media(max-width:700px){
    .catalog-editor-form{
        grid-template-columns:1fr;
    }

    .catalog-editor-form .span-2{
        grid-column:auto;
    }

    .row-actions{
        align-items:stretch;
        flex-direction:column;
    }
}
