
:root{--ink:#f7f8fc;--paper:#0c0d10;--white:#16181e;--line:#2a2e38;--gold:#ffb428;--muted:#a3a9b8;--ok:#45cb8b;--bad:#ff637e;--cyan:#44a8ff;--magenta:#e71991;--yellow:#ffbf22}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Montserrat,Arial,sans-serif;background:#090a0c;color:var(--ink)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 92% 9%,rgba(61,142,235,.13),transparent 29%),radial-gradient(circle at 76% 17%,rgba(231,25,145,.10),transparent 25%);z-index:-1}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.side{background:rgba(14,15,18,.98);border-right:1px solid #242733;padding:24px 18px;display:flex;flex-direction:column;gap:17px}
.brand{border-bottom:1px solid #292d37;padding-bottom:18px}.brand small{color:#9aa6ba;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:9px}.brand b{font-size:24px;display:block;margin-top:5px;letter-spacing:-.06em;background:linear-gradient(90deg,#fff 0 50%,#7ab8ff 63%,#e71991 79%,#ffbd26 100%);background-clip:text;color:transparent}.user{background:#161922;border:1px solid #2c3240;border-radius:11px;padding:12px;font-size:12px}.user strong{display:block;margin-bottom:4px}
.nav{display:flex;flex-direction:column;gap:6px}.nav button{background:transparent;color:#9ea7b8;border:0;border-radius:8px;font-size:12px;font-weight:700;padding:12px;text-align:left;cursor:pointer}.nav button.active,.nav button:hover{color:#fff;background:linear-gradient(90deg,rgba(68,168,255,.19),rgba(231,25,145,.14));box-shadow:inset 0 0 0 1px rgba(117,167,255,.19)}
.side label,.field label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#9ea8bb;margin-bottom:5px}.side select,.field input,.field select,.field textarea{width:100%;border:1px solid #353b47;background:#0d0f14;color:#f3f6fc;border-radius:8px;padding:10px}.api-state{margin-top:auto;border-top:1px solid #292d37;padding-top:15px;font-size:11px;color:#9ca5b5;line-height:1.45}.api-state b{color:#62b2ff}
.main{padding:31px 38px}.view{display:none}.view.active{display:block}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px;border-bottom:1px solid #2a2d36;padding-bottom:15px}.kicker{color:#7dbaff;position:relative;padding-left:30px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.kicker:before{content:"";position:absolute;left:0;top:4px;width:21px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--cyan) 0 31%,var(--magenta) 31% 68%,var(--yellow) 68%)}h1{font-size:38px;letter-spacing:-.06em;margin:6px 0 0}h2{letter-spacing:-.04em}
.btn{border:1px solid #414755;color:#eef2fb;border-radius:999px;font-size:10px;padding:10px 15px;background:#151820;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.btn:hover{border-color:#7d879a;transform:translateY(-1px)}.btn.primary{border:0;color:#fff;background:linear-gradient(100deg,#4aabf5,#6d75e6 34%,#d423a4 70%,#ffb528);box-shadow:0 7px 23px rgba(215,45,146,.17)}.btn.small{padding:7px 10px;border-radius:8px;font-size:9px}.btn.danger{border-color:#69404a;color:#ff9aad}
.catalog{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:22px}.visual{min-height:540px;border:1px solid #2a303b;border-radius:16px;background:#101319;overflow:hidden;position:relative}.visual img{width:100%;height:100%;object-fit:cover}.visual .tag{position:absolute;left:16px;bottom:16px;background:rgba(9,10,13,.83);border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:10px 12px;font-size:11px;font-weight:700}
.panel,.card,.mockups,.tablewrap,.lane,.box{background:#14171e;border:1px solid #2b313d;box-shadow:0 14px 38px rgba(0,0,0,.15);border-radius:16px}.panel{padding:23px;display:flex;flex-direction:column}.panel h2{font-size:34px;font-weight:850;margin:12px 0}.panel p{color:#aeb6c5;font-size:13px;line-height:1.55}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{grid-column:1/-1}.price{margin-top:16px;border-top:1px solid #2d3340;padding-top:14px}.price strong{font-size:30px;font-weight:800}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.mockups{margin-top:22px;padding:18px}.section-title{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#9ea8bb;margin-bottom:10px}.uploads,.mockgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload{border:1px dashed #475063;background:#10131a;border-radius:10px;padding:10px}.upload input{width:100%;font-size:11px;color:#b5c0d4}.mockbox{background:#0d0f14;border:1px solid #2c3340;border-radius:10px;padding:10px}.mockbox b{display:block;font-size:10px;text-transform:uppercase;color:#aeb8c9;margin-bottom:8px}.mockbox canvas{width:100%;height:auto;background:#fff}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px}.metric{background:#14171e;border:1px solid #2b313d;border-radius:12px;padding:15px}.metric b{display:block;color:#a3aec0;font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.metric strong{font-size:27px}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid #292e3a;text-align:left;font-size:11px}th{background:#1a1e27;color:#aeb9ca;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.badge{display:inline-block;border:1px solid #464e5d;border-radius:999px;padding:5px 7px;font-size:9px;text-transform:uppercase}.enviada{background:#18314d}.negociacao{background:#433619}.aprovada{background:#133b2a;color:#86efb8}.perdida{background:#48202c;color:#ff9aad}.expirada{background:#292d35;color:#b0b8c5}.rascunho{background:#272c36}.cancelada{background:#2c2d31;color:#aaa}
.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.lane{padding:10px;min-height:380px}.lane h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#aeb9ca}.deal{background:#1a1e27;border:1px solid #303746;border-radius:9px;padding:10px;margin-bottom:8px}.deal strong{display:block;font-size:12px}.deal small{display:block;color:#a8b1c0;margin-top:4px}.deal .amount{font-size:16px;font-weight:800;margin-top:8px}
.login{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 66% 28%,rgba(68,168,255,.18),transparent 25%),radial-gradient(circle at 43% 73%,rgba(231,25,145,.16),transparent 29%),#090a0c;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(440px,95vw);background:#14171e;border:1px solid #343b48;border-radius:18px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.4)}.login-card .field{margin-bottom:10px}.login-card h1{margin:6px 0 20px}
.modal{position:fixed;inset:0;z-index:80;background:rgba(1,2,5,.78);display:none;align-items:center;justify-content:center;padding:18px}.modal.open{display:flex}.modal-card{background:#11141b;border:1px solid #353d4c;border-radius:16px;width:min(1120px,98vw);max-height:94vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid #2d3340}.modal-body{padding:20px 22px}.close{background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.costbox{background:#171b23;border:1px solid #303746;border-radius:11px;padding:14px;margin:14px 0}.costrows{display:grid;grid-template-columns:1fr 150px 110px auto;gap:8px;align-items:end;margin-bottom:8px}.totals{margin-left:auto;width:min(430px,100%);border:1px solid #2b313d;background:#14171e}.totals .r{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #2d3340;font-size:12px}.totals .r.final{font-size:19px;font-weight:850;background:linear-gradient(90deg,rgba(73,169,245,.15),rgba(221,35,164,.13),rgba(255,183,37,.13))}
.proposal-a4{background:#f7f8fc;border:1px solid #dce0e8;border-radius:8px;color:#161923;padding:24px;margin-top:18px}.proposal-a4 .head{display:flex;justify-content:space-between;border-bottom:2px solid #1b2230;padding-bottom:14px}.proposal-a4 .clientline{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:16px 0}.proposal-a4 .item{display:grid;grid-template-columns:180px 1fr;gap:15px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:15px 0}.proposal-a4 .item img{width:180px;height:130px;object-fit:contain;border:1px solid #eee}.proposal-a4 .mockpdf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.proposal-a4 .mockpdf img{width:100%;height:220px;object-fit:contain;border:1px solid #eee}.proposal-a4 .commercial{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.proposal-a4 .commercial>div{background:#f0f2f7;border:1px solid #e0e4ed;padding:12px;font-size:11px;line-height:1.5}.proposal-a4 .totals{background:#fff;border-color:#d9dee7;color:#293040}.proposal-a4 .totals .r{border-bottom-color:#e4e7ee}.proposal-a4 .totals .r.final{background:linear-gradient(90deg,#e5f1ff,#f9e4f3,#fff1cf);color:#141820}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.box{padding:18px}.seller-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #2a303b;padding:10px 0}
.notice{border:1px solid #3a4353;background:#11151d;padding:12px;border-radius:10px;font-size:11px;color:#bdc7d7;line-height:1.5}
@media(max-width:1050px){.app{grid-template-columns:1fr}.catalog,.admin-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.funnel{grid-template-columns:1fr 1fr}.api-state{margin-top:0}}
@media(max-width:650px){.main{padding:22px 14px}.topbar h1{font-size:31px}.visual{min-height:360px}.formgrid,.uploads,.mockgrid,.proposal-a4 .clientline,.proposal-a4 .item,.proposal-a4 .mockpdf,.proposal-a4 .commercial{grid-template-columns:1fr}.cards,.funnel{grid-template-columns:1fr}.costrows{grid-template-columns:1fr}.proposal-a4 .item img{width:100%;height:190px}}
@media print{body *{visibility:hidden!important}.proposal-a4,.proposal-a4 *{visibility:visible!important}.proposal-a4{position:absolute;left:0;top:0;width:100%;border:0;margin:0;padding:12mm}}

/* =========================================================
   Layout compacto do catálogo — v1.0.4
   Objetivo: produto + configuração + preço + mockups visíveis
   com o mínimo de rolagem em desktop.
   ========================================================= */
@media (min-width:1051px){
  .app{grid-template-columns:210px minmax(0,1fr)}
  .side{padding:14px 12px;gap:10px}
  .brand{padding-bottom:10px}
  .brand small{font-size:7px;letter-spacing:.10em;line-height:1.35}
  .brand b{font-size:19px;margin-top:3px}
  .user{padding:8px 9px;border-radius:8px;font-size:10px}
  .user strong{margin-bottom:2px}
  .nav{gap:3px}
  .nav button{padding:8px 9px;font-size:10px;border-radius:7px}
  .side label{font-size:7px;margin-bottom:3px}
  .side select{padding:7px 8px;font-size:10px;border-radius:7px}
  .side>.btn{padding:7px 10px;font-size:8px}
  .api-state{padding-top:9px;font-size:9px;line-height:1.35}

  .main{padding:14px 18px 18px}
  #view-catalogo .topbar{margin-bottom:10px;padding-bottom:8px;min-height:44px;align-items:center}
  #view-catalogo .topbar h1{font-size:25px;margin-top:2px}
  #view-catalogo .topbar .kicker{font-size:7px;padding-left:25px}
  #view-catalogo .topbar .kicker:before{width:17px;top:3px}
  #view-catalogo .topbar .btn{padding:7px 11px;font-size:8px}

  #view-catalogo .catalog{
    grid-template-columns:minmax(0,1.55fr) minmax(420px,.95fr);
    gap:12px;
    height:500px;
    min-height:0;
  }
  #view-catalogo .visual{
    min-height:0;
    height:500px;
    border-radius:11px;
  }
  #view-catalogo .visual img{object-fit:contain;background:#0e1117}
  #view-catalogo .visual .tag{left:10px;bottom:10px;padding:6px 9px;font-size:9px;border-radius:7px}

  #view-catalogo .panel{
    height:500px;
    min-height:0;
    padding:13px 14px;
    border-radius:11px;
    overflow:hidden;
  }
  #view-catalogo .panel>.field:first-child label{margin-bottom:3px}
  #view-catalogo .panel .kicker{margin-top:9px!important;font-size:7px;padding-left:24px}
  #view-catalogo .panel .kicker:before{width:16px;top:3px}
  #view-catalogo .panel h2{font-size:26px;margin:7px 0 5px;line-height:1.02}
  #view-catalogo .panel p{font-size:10px;line-height:1.35;margin:4px 0 9px;max-height:42px;overflow:hidden}
  #view-catalogo .formgrid{gap:6px 7px}
  #view-catalogo .field label{font-size:7px;margin-bottom:3px}
  #view-catalogo .field input,
  #view-catalogo .field select{padding:7px 8px;font-size:10px;border-radius:6px;min-height:31px}
  #view-catalogo .price{margin-top:9px;padding-top:8px}
  #view-catalogo .price>span{font-size:9px}
  #view-catalogo .price strong{font-size:24px;line-height:1}
  #view-catalogo #subtotalText{font-size:9px!important;margin-top:3px!important;line-height:1.3}
  #view-catalogo .panel .actions{margin-top:9px;gap:6px}
  #view-catalogo .panel .btn{padding:7px 10px;font-size:8px}

  #view-catalogo .mockups{
    margin-top:10px;
    padding:10px 11px;
    border-radius:11px;
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    grid-template-rows:auto auto 1fr auto;
    column-gap:11px;
    row-gap:6px;
    min-height:0;
  }
  #view-catalogo .mockups>.section-title{
    grid-column:1/-1;
    margin:0;
    font-size:8px;
  }
  #view-catalogo .mockups>div:nth-child(2){
    grid-column:1/-1;
    margin:0!important;
    font-size:8px!important;
    line-height:1.25;
  }
  #view-catalogo .mockups>.uploads{
    grid-column:1;
    grid-row:3;
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    align-content:start;
  }
  #view-catalogo .upload{padding:6px 7px;border-radius:7px;min-width:0}
  #view-catalogo .upload b{font-size:8px}
  #view-catalogo .upload input{font-size:8px;margin-top:3px;max-width:100%}
  #view-catalogo .mockups>.mockgrid{
    grid-column:2;
    grid-row:3/5;
    gap:7px;
    min-width:0;
  }
  #view-catalogo .mockbox{padding:6px;border-radius:7px;min-width:0}
  #view-catalogo .mockbox b{font-size:8px;margin-bottom:4px}
  #view-catalogo .mockbox canvas{
    width:100%;
    height:145px;
    object-fit:contain;
    display:block;
  }
  #view-catalogo .mockups>.actions{
    grid-column:1;
    grid-row:4;
    margin:0;
    gap:5px;
    align-self:end;
  }
  #view-catalogo .mockups>.actions .btn{padding:6px 8px;font-size:7px;border-radius:7px;flex:1 1 auto}
}

/* Intermediário: notebooks menores mantêm o catálogo compacto sem apertar demais */
@media (min-width:1051px) and (max-width:1450px){
  .app{grid-template-columns:190px minmax(0,1fr)}
  .main{padding:12px 14px 16px}
  #view-catalogo .catalog{grid-template-columns:minmax(0,1.35fr) minmax(390px,.95fr);height:470px}
  #view-catalogo .visual,#view-catalogo .panel{height:470px}
  #view-catalogo .panel h2{font-size:23px}
  #view-catalogo .mockups{grid-template-columns:220px minmax(0,1fr)}
  #view-catalogo .mockbox canvas{height:125px}
}

/* Mobile/tablet continuam empilhados e legíveis */
@media (max-width:1050px){
  #view-catalogo .catalog{height:auto}
  #view-catalogo .visual{height:auto;min-height:360px}
  #view-catalogo .panel{height:auto;overflow:visible}
  #view-catalogo .mockups{display:block}
  #view-catalogo .mockbox canvas{height:auto}
}



/* =========================================================
   Ajuste proporcional / legibilidade — v1.0.5
   Objetivo: fontes maiores, proporção mais equilibrada
   e blocos do catálogo com aparência mais natural.
   ========================================================= */
@media (min-width:1051px){
  .app{grid-template-columns:225px minmax(0,1fr)}
  .side{padding:16px 14px;gap:12px}
  .brand small{font-size:8px;letter-spacing:.11em}
  .brand b{font-size:21px}
  .user{padding:10px 11px;font-size:11px}
  .nav button{padding:9px 10px;font-size:11px}
  .side label{font-size:8px}
  .side select{padding:8px 9px;font-size:11px}
  .side>.btn{padding:8px 10px;font-size:9px}
  .api-state{font-size:10px}

  .main{padding:16px 20px 18px}
  #view-catalogo .topbar{margin-bottom:12px;padding-bottom:9px}
  #view-catalogo .topbar h1{font-size:29px;line-height:1.05}
  #view-catalogo .topbar .kicker{font-size:8px}
  #view-catalogo .topbar .btn{padding:8px 12px;font-size:9px}

  #view-catalogo .catalog{
    grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);
    gap:14px;
    height:440px;
    align-items:stretch;
  }
  #view-catalogo .visual,
  #view-catalogo .panel{
    height:440px;
    min-height:0;
    border-radius:12px;
  }
  #view-catalogo .visual{padding:0;overflow:hidden}
  #view-catalogo .visual img{object-fit:contain;background:#0d1016}
  #view-catalogo .visual .tag{
    left:12px;bottom:12px;
    padding:8px 10px;
    font-size:10px;
    border-radius:8px;
  }

  #view-catalogo .panel{
    padding:16px 16px 14px;
    overflow:hidden;
  }
  #view-catalogo .panel .field:first-child label{font-size:8px;margin-bottom:4px}
  #view-catalogo .panel .field:first-child select{
    padding:9px 10px;font-size:12px;min-height:36px;
  }
  #view-catalogo .panel .kicker{
    margin-top:10px!important;
    font-size:8px;
    padding-left:26px;
  }
  #view-catalogo .panel h2{
    font-size:30px;
    line-height:1.02;
    margin:8px 0 8px;
  }
  #view-catalogo .panel p{
    font-size:12px;
    line-height:1.45;
    margin:0 0 12px;
    max-height:54px;
    overflow:hidden;
  }
  #view-catalogo .formgrid{gap:8px 9px}
  #view-catalogo .field label{font-size:8px;margin-bottom:4px}
  #view-catalogo .field input,
  #view-catalogo .field select{
    padding:9px 10px;
    font-size:12px;
    min-height:36px;
    border-radius:7px;
  }
  #view-catalogo .price{
    margin-top:11px;
    padding-top:10px;
  }
  #view-catalogo .price>span{font-size:11px}
  #view-catalogo .price strong{
    font-size:40px;
    line-height:1;
    display:block;
    margin-top:2px;
  }
  #view-catalogo #subtotalText{
    font-size:10px!important;
    margin-top:4px!important;
    line-height:1.35;
  }
  #view-catalogo .panel .actions{
    margin-top:12px;
    gap:8px;
  }
  #view-catalogo .panel .btn{
    padding:9px 13px;
    font-size:9px;
  }

  #view-catalogo .mockups{
    margin-top:12px;
    padding:12px;
    border-radius:12px;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    grid-template-rows:auto auto 1fr auto;
    column-gap:12px;
    row-gap:8px;
  }
  #view-catalogo .mockups>.section-title{
    grid-column:1/-1;
    font-size:9px;
    margin:0;
  }
  #view-catalogo .mockups>div:nth-child(2){
    grid-column:1/-1;
    font-size:9px!important;
    line-height:1.35;
    color:#9ea8bb;
  }
  #view-catalogo .mockups>.uploads{
    grid-column:1;
    grid-row:3;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-content:start;
  }
  #view-catalogo .upload{
    padding:9px 10px;
    border-radius:9px;
  }
  #view-catalogo .upload b{
    font-size:9px;
    display:block;
    margin-bottom:4px;
  }
  #view-catalogo .upload input{
    font-size:10px;
  }
  #view-catalogo .mockups>.mockgrid{
    grid-column:2;
    grid-row:3/5;
    gap:10px;
  }
  #view-catalogo .mockbox{
    padding:8px;
    border-radius:9px;
  }
  #view-catalogo .mockbox b{
    font-size:9px;
    margin-bottom:6px;
  }
  #view-catalogo .mockbox canvas{
    width:100%;
    height:170px;
    display:block;
    background:#fff;
  }
  #view-catalogo .mockups>.actions{
    grid-column:1;
    grid-row:4;
    margin:0;
    gap:6px;
    align-self:end;
  }
  #view-catalogo .mockups>.actions .btn{
    padding:8px 9px;
    font-size:8px;
    border-radius:8px;
    flex:1 1 calc(50% - 6px);
  }
}

@media (min-width:1051px) and (max-width:1450px){
  .app{grid-template-columns:210px minmax(0,1fr)}
  .main{padding:14px 16px 18px}
  #view-catalogo .catalog{
    grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);
    height:420px;
  }
  #view-catalogo .visual,
  #view-catalogo .panel{height:420px}
  #view-catalogo .panel h2{font-size:27px}
  #view-catalogo .price strong{font-size:34px}
  #view-catalogo .mockups{grid-template-columns:250px minmax(0,1fr)}
  #view-catalogo .mockbox canvas{height:150px}
}

@media (max-width:1050px){
  #view-catalogo .panel h2{font-size:28px}
  #view-catalogo .panel p{font-size:13px}
  #view-catalogo .field input,
  #view-catalogo .field select{font-size:13px}
  #view-catalogo .price strong{font-size:34px}
  #view-catalogo .mockbox b{font-size:10px}
}


/* =========================================================
   Galeria de fotos + tipografia ampliada — v1.0.6
   ========================================================= */
.product-gallery{min-width:0;display:flex;flex-direction:column;gap:10px;height:100%}
.gallery-strip{display:flex;gap:9px;min-height:78px;overflow-x:auto;padding:4px 1px 2px;scrollbar-width:thin}
.gallery-thumb{width:88px;height:72px;flex:0 0 88px;border:1px solid #343b48;background:#0d1016;border-radius:9px;padding:3px;cursor:pointer;overflow:hidden}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}
.gallery-thumb.active{border-color:#6eb3ff;box-shadow:0 0 0 2px rgba(110,179,255,.2)}
.photo-count{position:absolute;right:12px;bottom:12px;background:rgba(9,10,13,.83);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;color:#e8eef9}
.gallery-empty{width:100%;border:1px dashed #414856;border-radius:9px;padding:18px;text-align:center;color:#9ca7ba;font-size:13px}
.field-help{font-size:12px;line-height:1.45;color:#9da8b9;margin-top:7px}
.photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-top:8px}
.photo-admin-item{border:1px solid #303746;background:#0d1016;border-radius:10px;padding:7px;min-width:0}
.photo-admin-item.primary{border-color:#6eb3ff;box-shadow:0 0 0 2px rgba(110,179,255,.14)}
.photo-admin-item img{width:100%;height:95px;object-fit:cover;border-radius:7px;display:block;background:#090b10}
.photo-admin-actions{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.photo-admin-actions .btn{font-size:9px;padding:6px 8px}
.photo-admin-label{font-size:10px;color:#aeb9ca;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (min-width:1051px){
  body{font-size:14px}
  .app{grid-template-columns:230px minmax(0,1fr)}
  .side{padding:17px 15px;gap:12px}
  .brand small{font-size:10px}.brand b{font-size:23px}.user{font-size:13px;padding:11px 12px}
  .nav button{font-size:13px;padding:10px 11px}.side label{font-size:10px}.side select{font-size:13px;padding:9px 10px}.side>.btn{font-size:10px;padding:9px 11px}.api-state{font-size:11px}
  .main{padding:18px 22px 20px}
  #view-catalogo .topbar{margin-bottom:13px;padding-bottom:10px}
  #view-catalogo .topbar .kicker{font-size:10px}#view-catalogo .topbar h1{font-size:32px}#view-catalogo .topbar .btn{font-size:10px;padding:9px 13px}
  #view-catalogo .catalog{grid-template-columns:minmax(0,1.18fr) minmax(500px,.82fr);gap:15px;height:555px;min-height:0}
  #view-catalogo .product-gallery{height:555px}
  #view-catalogo .visual{flex:1 1 auto;min-height:0;height:auto;border-radius:13px}
  #view-catalogo .visual img{object-fit:contain;background:#0d1016}
  #view-catalogo .visual .tag{font-size:12px;padding:8px 11px}
  #view-catalogo .panel{height:555px;padding:19px 19px 17px;border-radius:13px;overflow:hidden}
  #view-catalogo .panel>.field:first-child label,#view-catalogo .field label{font-size:11px;margin-bottom:5px}
  #view-catalogo .panel>.field:first-child select,#view-catalogo .field input,#view-catalogo .field select{font-size:14px;min-height:40px;padding:10px 11px}
  #view-catalogo .panel .kicker{font-size:10px;margin-top:13px!important}
  #view-catalogo .panel h2{font-size:34px;line-height:1.04;margin:9px 0 9px}
  #view-catalogo .panel p{font-size:14px;line-height:1.48;margin:0 0 14px;max-height:64px}
  #view-catalogo .formgrid{gap:10px}
  #view-catalogo .price{margin-top:13px;padding-top:12px}#view-catalogo .price>span{font-size:13px}#view-catalogo .price strong{font-size:42px}
  #view-catalogo #subtotalText{font-size:12px!important;line-height:1.45}
  #view-catalogo .panel .actions{margin-top:14px}#view-catalogo .panel .btn{font-size:11px;padding:10px 15px}
}
@media (min-width:1051px) and (max-width:1450px){
  .app{grid-template-columns:215px minmax(0,1fr)}.main{padding:15px 17px 18px}
  #view-catalogo .catalog{grid-template-columns:minmax(0,1.05fr) minmax(455px,.95fr);height:515px}
  #view-catalogo .product-gallery,#view-catalogo .panel{height:515px}
  #view-catalogo .panel h2{font-size:31px}#view-catalogo .panel p{font-size:13px}#view-catalogo .field input,#view-catalogo .field select{font-size:13px}#view-catalogo .price strong{font-size:38px}
}
@media (max-width:1050px){
  .product-gallery{height:auto}.gallery-strip{min-height:74px}#view-catalogo .catalog{height:auto}#view-catalogo .panel{height:auto}
  #view-catalogo .panel h2{font-size:31px}#view-catalogo .panel p{font-size:15px}#view-catalogo .field label{font-size:11px}#view-catalogo .field input,#view-catalogo .field select{font-size:15px}
}


/* Hotfix upload de fotos — v1.0.6.1 */
.upload-status{display:none;margin-top:9px;padding:9px 11px;border:1px solid #354052;border-radius:8px;background:#10151e;color:#c5d0e0;font-size:12px;line-height:1.4}
.upload-status.show{display:block}
.upload-status.ok{border-color:#265d43;color:#8de6b8;background:#10261c}
.upload-status.error{border-color:#6c3540;color:#ff9caf;background:#29141a}
.upload-status.busy{border-color:#345d80;color:#9ed2ff;background:#101d2a}
#saveProductBtn:disabled{opacity:.55;cursor:wait;transform:none}

/* Acesso de vendedores sem senha — v1.0.6.2 */
.login-help{font-size:12px;line-height:1.45;color:#9da8b9;margin:-2px 0 12px}
.field input:disabled{opacity:.62;cursor:not-allowed;background:#11141a}


/* =========================================================
   Proposta em duas colunas — v1.0.6.3
   Formulário à esquerda + pré-visualização lateral.
   ========================================================= */
#proposalModal{padding:12px}
#proposalModal .proposal-modal-card{
  width:min(1740px,98vw);
  max-height:96vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#proposalModal .modal-head{
  flex:0 0 auto;
  padding:15px 20px;
  align-items:center;
}
#proposalModal .modal-head h2{
  margin:0;
  font-size:25px;
  line-height:1.1;
}
.proposal-modal-subtitle{
  font-size:12px;
  color:#a5afbf;
  margin-top:5px;
}
#proposalModal .proposal-layout{
  flex:1 1 auto;
  min-height:0;
  padding:14px 16px 16px;
  display:grid;
  grid-template-columns:minmax(720px,1.18fr) minmax(500px,.82fr);
  gap:16px;
  overflow:hidden;
}
.proposal-form-pane{
  min-width:0;
  min-height:0;
  overflow-y:auto;
  padding:2px 8px 8px 2px;
  scrollbar-width:thin;
}
.proposal-preview-pane{
  min-width:0;
  min-height:0;
  overflow-y:auto;
  border-left:1px solid #2d3340;
  padding-left:16px;
  scrollbar-width:thin;
}
.proposal-preview-heading{
  position:sticky;
  top:0;
  z-index:2;
  background:#11141b;
  padding:2px 0 9px;
  border-bottom:1px solid #292f3a;
  margin-bottom:10px;
}
.proposal-preview-heading span{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#dfe7f5;
  font-weight:800;
}
.proposal-preview-heading small{
  display:block;
  color:#8893a6;
  font-size:10px;
  margin-top:3px;
}
.proposal-section{
  background:#151922;
  border:1px solid #303746;
  border-radius:11px;
  padding:13px;
  margin-bottom:12px;
}
.proposal-client-grid,
.proposal-shipping-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
  align-items:end;
}
.span-2{grid-column:span 2}
.span-3{grid-column:span 3}
.span-4{grid-column:span 4}
.span-6{grid-column:span 6}
.span-9{grid-column:span 9}
.span-12{grid-column:1/-1}

#proposalModal .field label{
  font-size:10px;
  margin-bottom:5px;
}
#proposalModal .field input,
#proposalModal .field select,
#proposalModal .field textarea{
  font-size:13px;
  padding:9px 10px;
  min-height:38px;
}
#proposalModal .field textarea{
  min-height:70px;
  resize:vertical;
}
#proposalModal .costbox{
  margin:0 0 12px;
  padding:13px;
}
#proposalModal .section-title{
  font-size:10px;
  margin-bottom:9px;
}
#proposalModal .costrows{
  grid-template-columns:minmax(240px,1fr) 120px 110px auto;
  gap:8px;
}
#proposalModal .costrows .field input,
#proposalModal .costrows .field select{
  min-height:36px;
  font-size:12px;
}
.proposal-form-totals{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-radius:10px;
  overflow:hidden;
}
.proposal-form-totals .r{
  display:block;
  border-bottom:0;
  border-right:1px solid #2d3340;
  padding:10px 12px;
}
.proposal-form-totals .r:last-child{border-right:0}
.proposal-form-totals .r span{
  display:block;
  color:#929daf;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.proposal-form-totals .r b{
  display:block;
  font-size:15px;
}
.proposal-form-totals .r.final{
  font-size:inherit;
}
.proposal-form-totals .r.final b{
  font-size:19px;
}
.proposal-form-actions{
  justify-content:flex-end;
  margin-top:12px;
  padding-bottom:4px;
}
.proposal-form-actions .btn{
  font-size:10px;
  padding:9px 13px;
}

/* Prévia mais compacta e proporcional no painel lateral */
#proposalModal .proposal-a4{
  margin-top:0;
  padding:18px;
  border-radius:10px;
  min-height:auto;
}
#proposalModal .proposal-a4 .head{
  padding-bottom:10px;
}
#proposalModal .proposal-a4 .head b{
  font-size:18px;
}
#proposalModal .proposal-a4 .clientline{
  gap:10px;
  margin:11px 0;
}
#proposalModal .proposal-a4 .item{
  grid-template-columns:135px minmax(0,1fr);
  gap:12px;
  padding:11px 0;
}
#proposalModal .proposal-a4 .item img{
  width:135px;
  height:105px;
  object-fit:contain;
}
#proposalModal .proposal-a4 .item h3{
  font-size:16px;
  margin:0 0 6px;
}
#proposalModal .proposal-a4 .commercial{
  gap:9px;
  margin-top:11px;
}
#proposalModal .proposal-a4 .commercial>div{
  padding:9px;
  font-size:10px;
}
#proposalModal .proposal-a4 .totals{
  width:100%;
}
#proposalModal .proposal-a4 .totals .r{
  padding:7px 9px;
  font-size:10px;
}
#proposalModal .proposal-a4 .totals .r.final{
  font-size:15px;
}

/* Notebook: mantém duas colunas enquanto houver espaço útil */
@media (min-width:1251px) and (max-width:1500px){
  #proposalModal .proposal-layout{
    grid-template-columns:minmax(650px,1.15fr) minmax(430px,.85fr);
    gap:12px;
  }
  #proposalModal .proposal-preview-pane{padding-left:12px}
  #proposalModal .field input,
  #proposalModal .field select,
  #proposalModal .field textarea{font-size:12px}
}

/* Tablet / telas estreitas: prévia volta para baixo do formulário */
@media (max-width:1250px){
  #proposalModal .proposal-modal-card{
    width:min(1040px,98vw);
    overflow:auto;
  }
  #proposalModal .proposal-layout{
    display:block;
    overflow:visible;
    padding:14px;
  }
  .proposal-form-pane,
  .proposal-preview-pane{
    overflow:visible;
    padding:0;
  }
  .proposal-preview-pane{
    border-left:0;
    border-top:1px solid #2d3340;
    margin-top:16px;
    padding-top:14px;
  }
  .proposal-preview-heading{position:static}
}

@media (max-width:760px){
  .proposal-client-grid,
  .proposal-shipping-grid{
    grid-template-columns:1fr;
  }
  .proposal-client-grid>[class*="span-"],
  .proposal-shipping-grid>[class*="span-"]{
    grid-column:auto;
  }
  .proposal-form-totals{
    grid-template-columns:1fr 1fr;
  }
  #proposalModal .costrows{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   Proposta premium — v1.0.6.4
   Refinamento visual da folha comercial
   ========================================================= */
.proposal-premium{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 62%,#f7f8fc 100%);
  border:1px solid #d8deea;
  border-radius:16px;
  color:#182031;
  box-shadow:0 18px 44px rgba(18,28,45,.10);
  overflow:hidden;
}
.proposal-premium .premium-topline{
  height:7px;
  margin:-18px -18px 18px;
  background:linear-gradient(90deg,#4c9fff 0%,#7868ff 28%,#d51d98 58%,#ffb742 100%);
}
.proposal-premium .head{
  align-items:flex-start;
  gap:18px;
  border-bottom:1px solid #d9e0ec;
  padding-bottom:14px;
  position:relative;
}
.proposal-premium .brand-col{
  min-width:0;
  flex:1 1 auto;
}
.proposal-premium .eyebrow{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  color:#73809a;
  margin-bottom:7px;
}
.proposal-premium .head b#pdfCompany{
  display:block;
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.02em;
  color:#182031;
}
.proposal-premium .company-info{
  font-size:11px !important;
  line-height:1.55;
  color:#667287 !important;
  margin-top:8px !important;
  max-width:95%;
}
.proposal-premium .doc-meta{
  flex:0 0 275px;
  background:linear-gradient(180deg,#151c2c 0%,#111824 100%);
  border:1px solid #202b40;
  color:#e9eef8;
  border-radius:14px;
  padding:12px 13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.proposal-premium .doc-badge{
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.proposal-premium .doc-meta-grid{
  display:grid;
  gap:8px;
}
.proposal-premium .doc-meta-grid span{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#97a4bb;
  margin-bottom:2px;
}
.proposal-premium .doc-meta-grid b{
  display:block;
  font-size:13px;
  color:#fff;
  line-height:1.2;
  word-break:break-word;
}

.proposal-premium .premium-clientline{
  gap:14px;
  margin:16px 0 14px;
}
.proposal-premium .info-card{
  background:linear-gradient(180deg,#f9fbff 0%,#f1f4fa 100%);
  border:1px solid #dde3ef;
  border-radius:12px;
  padding:12px 13px;
  min-height:74px;
}
.proposal-premium .card-label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#8a96ab;
  margin-bottom:7px;
  font-weight:800;
}
.proposal-premium .info-card strong,
.proposal-premium .info-card span{
  display:block;
  font-size:14px;
  line-height:1.45;
  color:#1b2433;
  font-weight:700;
}
.proposal-premium .info-card span{font-weight:500}

.proposal-premium .premium-item{
  border-top:1px solid #e0e5ef;
  border-bottom:1px solid #e0e5ef;
  padding:16px 0;
  gap:16px;
}
.proposal-premium .product-image-card{
  background:#fff;
  border:1px solid #dfe4ee;
  border-radius:14px;
  padding:10px;
  box-shadow:0 8px 20px rgba(21,28,43,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.proposal-premium .product-image-card img{
  background:#fff;
  border:0 !important;
}
.proposal-premium .product-copy{
  min-width:0;
  align-self:center;
}
.proposal-premium .product-kicker{
  display:inline-block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#7b8799;
  font-weight:900;
  margin-bottom:6px;
}
.proposal-premium .item h3{
  font-size:24px !important;
  line-height:1.08;
  letter-spacing:-.02em;
  color:#162032;
  margin:0 0 9px !important;
}
.proposal-premium .product-specs{
  font-size:12px !important;
  line-height:1.75 !important;
  color:#344055;
}
.proposal-premium .product-specs b{color:#172131}

.proposal-premium .premium-commercial{
  gap:14px;
  margin-top:16px !important;
}
.proposal-premium .soft-card{
  background:linear-gradient(180deg,#f8faff 0%,#f2f5fb 100%);
  border:1px solid #dfe5ef;
  border-radius:12px;
  padding:13px 14px;
  font-size:11px;
  line-height:1.65;
  color:#425068;
  min-height:92px;
}
.proposal-premium .soft-card-title{
  font-size:12px;
  font-weight:900;
  color:#182336;
  margin-bottom:6px;
}
.proposal-premium .soft-card b{color:#182336}

.proposal-premium .premium-totals{
  background:#fff;
  border:1px solid #dbe1eb;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(21,28,43,.05);
}
.proposal-premium .premium-totals .r{
  padding:10px 13px !important;
  border-bottom:1px solid #e7ebf2 !important;
}
.proposal-premium .premium-totals .r:last-child{
  border-bottom:0 !important;
}
.proposal-premium .premium-totals .r span{
  color:#7b8799;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.proposal-premium .premium-totals .r b{
  font-size:15px;
  color:#162032;
}
.proposal-premium .premium-totals .r.final{
  background:linear-gradient(90deg,#edf5ff 0%,#f8eef7 52%,#fff3d8 100%) !important;
}
.proposal-premium .premium-totals .r.final span{
  color:#3f4a5c;
}
.proposal-premium .premium-totals .r.final b{
  font-size:18px !important;
  color:#111827;
  letter-spacing:-.02em;
}

.proposal-premium .premium-notes{
  margin-top:15px !important;
  padding:10px 12px;
  border-radius:10px;
  background:#fafbfd;
  border:1px dashed #d9dfeb;
  font-size:11px !important;
  line-height:1.55;
  color:#69758a !important;
}

/* Ajustes no painel lateral do modal */
#proposalModal .proposal-a4.proposal-premium{
  padding:18px;
}
#proposalModal .proposal-a4.proposal-premium .head b#pdfCompany{
  font-size:23px;
}
#proposalModal .proposal-a4.proposal-premium .doc-meta{
  flex-basis:250px;
}
#proposalModal .proposal-a4.proposal-premium .item{
  grid-template-columns:150px minmax(0,1fr);
}
#proposalModal .proposal-a4.proposal-premium .product-image-card img{
  width:130px;
  height:102px;
  object-fit:contain;
}
#proposalModal .proposal-a4.proposal-premium .item h3{
  font-size:20px !important;
}
#proposalModal .proposal-a4.proposal-premium .product-specs{
  font-size:11px !important;
}
#proposalModal .proposal-a4.proposal-premium .soft-card{
  font-size:10px;
  min-height:88px;
}
#proposalModal .proposal-a4.proposal-premium .premium-totals .r.final b{
  font-size:16px !important;
}

/* impressão */
@media print{
  .proposal-premium{
    box-shadow:none;
    border:1px solid #cfd6e2;
    border-radius:0;
  }
  .proposal-premium .doc-meta{
    color:#fff !important;
    background:#182133 !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .proposal-premium .premium-totals .r.final,
  .proposal-premium .premium-topline{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}

@media (max-width:760px){
  .proposal-premium .head{
    flex-direction:column;
  }
  .proposal-premium .doc-meta{
    width:100%;
    flex:1 1 auto;
  }
  .proposal-premium .item h3{
    font-size:19px !important;
  }
}


/* =========================================================
   Proposta Premium V2 — v1.0.6.5
   Mudança visual forte e claramente identificável.
   ========================================================= */
.preview-version{color:#7fc0ff;font-weight:800}

.proposal-premium-v2{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  background:#f7f9fc !important;
  border:1px solid #d7deea !important;
  border-radius:16px !important;
  box-shadow:0 18px 50px rgba(18,28,45,.13) !important;
  color:#182133 !important;
}
.proposal-premium-v2 .premium-accent-bar{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  height:7px;
}
.proposal-premium-v2 .accent-c{background:#41a8ff}
.proposal-premium-v2 .accent-m{background:#e71991}
.proposal-premium-v2 .accent-y{background:#ffbf22}

.proposal-premium-v2 .premium-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:24px;
  padding:24px 25px 22px;
  background:linear-gradient(135deg,#101827 0%,#18243a 62%,#20283a 100%);
  color:#fff;
}
.proposal-premium-v2 .premium-brand{min-width:0}
.proposal-premium-v2 .premium-eyebrow{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8ba0c1;
  font-weight:800;
  margin-bottom:8px;
}
.proposal-premium-v2 .premium-company-name{
  font-size:28px;
  font-weight:900;
  line-height:1.03;
  letter-spacing:-.035em;
  color:#fff;
}
.proposal-premium-v2 .premium-company-info{
  margin-top:9px;
  font-size:10px;
  line-height:1.55;
  color:#c3ccdc;
  max-width:95%;
}
.proposal-premium-v2 .premium-docbox{
  border-left:1px solid rgba(255,255,255,.14);
  padding-left:18px;
}
.proposal-premium-v2 .premium-doc-title{
  font-size:17px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}
.proposal-premium-v2 .premium-doc-subtitle{
  font-size:10px;
  letter-spacing:.18em;
  color:#9fb0ca;
  margin-top:3px;
  margin-bottom:12px;
}
.proposal-premium-v2 .premium-doc-row{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:8px;
  align-items:baseline;
  padding:4px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.proposal-premium-v2 .premium-doc-row span{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#91a1ba;
}
.proposal-premium-v2 .premium-doc-row b{
  font-size:11px;
  color:#fff;
  text-align:right;
}

.proposal-premium-v2 .premium-client-band{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#dfe5ee;
  border-bottom:1px solid #dce2ec;
}
.proposal-premium-v2 .premium-client-band>div{
  background:#fff;
  padding:15px 20px;
  min-height:70px;
}
.proposal-premium-v2 .premium-label{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#8a96a9;
  font-weight:900;
  margin-bottom:6px;
}
.proposal-premium-v2 .premium-client-band strong{
  display:block;
  font-size:14px;
  line-height:1.35;
  color:#182133;
}

.proposal-premium-v2 .premium-product-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:18px;
  padding:20px;
  background:#fff;
}
.proposal-premium-v2 .premium-product-image{
  border:1px solid #dce2eb;
  background:#fafbfd;
  border-radius:12px;
  height:125px;
  padding:9px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.proposal-premium-v2 .premium-product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  border:0 !important;
  background:transparent !important;
}
.proposal-premium-v2 .premium-product-content{
  align-self:center;
  min-width:0;
}
.proposal-premium-v2 .premium-product-content h3{
  margin:0 0 9px !important;
  font-size:22px !important;
  line-height:1.08;
  color:#152033;
  letter-spacing:-.025em;
}
.proposal-premium-v2 .premium-product-specs{
  font-size:11px !important;
  line-height:1.7 !important;
  color:#435069;
}
.proposal-premium-v2 .premium-product-specs b{color:#172238}

.proposal-premium-v2 .premium-conditions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:0 20px 16px;
  background:#fff;
}
.proposal-premium-v2 .premium-condition-card{
  background:#f4f7fb;
  border:1px solid #dde4ee;
  border-radius:11px;
  padding:12px 13px;
  min-height:85px;
  font-size:10px;
  line-height:1.6;
  color:#526078;
}
.proposal-premium-v2 .premium-condition-title{
  font-size:11px;
  font-weight:900;
  color:#172238;
  margin-bottom:5px;
}

.proposal-premium-v2 .premium-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:0 20px;
  background:#dfe5ee;
  border:1px solid #dfe5ee;
  border-radius:10px 10px 0 0;
  overflow:hidden;
}
.proposal-premium-v2 .premium-summary>div{
  background:#fff;
  padding:10px 12px;
}
.proposal-premium-v2 .premium-summary span{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#8d98a9;
  margin-bottom:3px;
}
.proposal-premium-v2 .premium-summary b{
  font-size:13px;
  color:#182133;
}

.proposal-premium-v2 .premium-grand-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 20px;
  padding:15px 16px;
  background:linear-gradient(100deg,#141d2d 0%,#1f2940 70%,#252d3d 100%);
  color:#fff;
  border-radius:0 0 12px 12px;
  border-top:4px solid transparent;
  border-image:linear-gradient(90deg,#45aaff,#e71991,#ffbf22) 1;
}
.proposal-premium-v2 .premium-grand-total span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#b7c3d7;
  font-weight:800;
}
.proposal-premium-v2 .premium-grand-total small{
  display:block;
  font-size:8px;
  color:#8899b4;
  margin-top:3px;
}
.proposal-premium-v2 .premium-grand-total>b{
  font-size:26px;
  color:#fff;
  letter-spacing:-.03em;
  white-space:nowrap;
}

.proposal-premium-v2 .premium-footer-note{
  margin:14px 20px 18px;
  padding-top:10px;
  border-top:1px solid #dfe4ed;
  font-size:9px !important;
  line-height:1.5;
  color:#737f92 !important;
}

/* reduz levemente dentro da prévia lateral para preservar proporção */
#proposalModal .proposal-premium-v2 .premium-hero{
  grid-template-columns:minmax(0,1fr) 190px;
  gap:16px;
  padding:19px 20px 18px;
}
#proposalModal .proposal-premium-v2 .premium-company-name{font-size:23px}
#proposalModal .proposal-premium-v2 .premium-product-card{
  grid-template-columns:128px minmax(0,1fr);
  gap:14px;
  padding:16px;
}
#proposalModal .proposal-premium-v2 .premium-product-image{height:108px}
#proposalModal .proposal-premium-v2 .premium-product-content h3{font-size:18px !important}
#proposalModal .proposal-premium-v2 .premium-conditions{padding:0 16px 13px}
#proposalModal .proposal-premium-v2 .premium-summary,
#proposalModal .proposal-premium-v2 .premium-grand-total{margin-left:16px;margin-right:16px}
#proposalModal .proposal-premium-v2 .premium-grand-total>b{font-size:21px}
#proposalModal .proposal-premium-v2 .premium-footer-note{margin-left:16px;margin-right:16px}

@media print{
  .proposal-premium-v2{
    box-shadow:none !important;
    border-radius:0 !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .proposal-premium-v2 .premium-hero,
  .proposal-premium-v2 .premium-grand-total,
  .proposal-premium-v2 .premium-accent-bar span{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}

@media(max-width:760px){
  .proposal-premium-v2 .premium-hero{grid-template-columns:1fr}
  .proposal-premium-v2 .premium-docbox{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:12px 0 0}
  .proposal-premium-v2 .premium-client-band,
  .proposal-premium-v2 .premium-conditions,
  .proposal-premium-v2 .premium-summary{grid-template-columns:1fr}
  .proposal-premium-v2 .premium-product-card{grid-template-columns:1fr}
  .proposal-premium-v2 .premium-product-image{height:170px}
}
