*{box-sizing:border-box}body{margin:0;background:#f1f3f7;color:#0a1b35;font:14px 'Segoe UI',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #d4dfeb;border-radius:9px;color:#10213b;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{filter:brightness(.97)}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#ee2148;border-color:#ee2148;color:white;font-weight:700}.small{padding:7px 10px}.top{height:75px;background:#0c111b;color:#fff;display:flex;align-items:center;padding:0 26px;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:205px}.brand img{height:42px;width:61px;object-fit:contain;background:white;border-radius:9px}.brand strong{display:block;font-size:18px;white-space:nowrap;font-weight:900}.brand em,.hero em{color:#f3244f;font-style:normal}.brand small{display:block;font-size:7px;letter-spacing:2px;margin-top:5px}.top nav{display:flex;align-self:stretch;gap:10px}.top nav button{background:transparent;color:#ccd3e1;border:0;border-bottom:2px solid transparent;border-radius:0;font-weight:650;padding:0 14px}.top nav button.active{border-bottom:2px solid #ee2148;color:#ee2148}.account{display:flex;align-items:center;gap:15px;font-size:12px}.account button{background:#1d2432;color:#fff;border-color:#394359}.shell{max-width:1530px;margin:0 auto;padding:15px 22px 90px}.environment{padding:18px;background:white;border:1px solid #dbe3ee;border-left:4px solid #ed2148;border-radius:12px;font-size:12px;font-weight:800;margin-bottom:20px;box-shadow:0 6px 18px #1c263209}.environment .right{float:right;color:#7786a3;font-weight:500}.signal{display:inline-block;width:7px;height:7px;background:#00a66d;border-radius:50%;margin-right:7px}.hero{background:linear-gradient(110deg,#071324 0%,#10283d 65%,#253343 100%);color:#fff;padding:40px;border-radius:18px;min-height:258px}.hero h1{font-size:38px;line-height:1.07;margin:16px 0}.hero p{font-size:13px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#f3244f;font-weight:900}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.stat{background:white;border:1px solid #dae5f0;border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:8px;min-height:117px}.stat svg{color:#ed2148}.stat small{color:#7b8ba5}.stat strong{font-size:25px}.panel{background:#fff;border:1px solid #dae3ef;border-radius:15px;padding:20px;margin:18px 0;box-shadow:0 10px 25px #1b35500b}.panel h3{margin:0 0 16px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.heading h1,.heading h2{margin:0;font-size:27px}.heading p{font-size:12px;color:#8390a5}.heading>div:last-child{display:flex;gap:8px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{padding:14px 12px;background:#eaf0f4;color:#536983;font-size:10px;letter-spacing:.4px}td{padding:13px 12px;border-bottom:1px solid #edf0f3;vertical-align:middle}td small{color:#78889f}.status{border-radius:20px;background:#e4f5eb;color:#00783d;font-size:11px;font-weight:700;padding:5px 9px}.empty{text-align:center;padding:32px;color:#8896aa}.notice{background:#e8f7f0;color:#075b41;border:1px solid #b4e6cb;padding:13px;border-radius:10px;display:flex;justify-content:space-between}.notice button{padding:0 5px;background:transparent;border:0}.filter{display:flex;align-items:center;gap:8px;border:1px solid #d6e0ec;border-radius:8px;margin:0 0 18px;padding:0 10px}.filter input{border:0;outline:none;width:100%;padding:12px}.progress{display:flex;gap:10px;align-items:center;border:1px solid #ff9bab;background:#fff3f5;padding:14px;border-radius:10px;color:#bd1839;font-weight:700}.progress b{border-radius:50%;background:#ed2148;color:white;padding:5px 10px}.progress span{color:#adb8c8}.fieldset{background:#f7f9fc;border:1px solid #dce5ee;border-radius:12px;padding:18px;margin:14px 0}.fieldset.blue{background:#edf5ff}.fieldset.green{background:#eaf9f2}.fieldset.orange{background:#fff7e9}.fields{display:grid;gap:12px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formfield{display:flex;flex-direction:column;gap:7px;min-width:0}.formfield span{font-size:12px;font-weight:750}.formfield input,.formfield select,.formfield textarea,td select{width:100%;border:1px solid #cad7e5;border-radius:7px;padding:10px;background:white;outline-color:#ed2148}.formfield textarea{min-height:76px}.hint{font-size:11px;color:#7b8aa3;line-height:1.5}.foot-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #e3eaf3;padding-top:14px;margin-top:15px}.overlay{position:fixed;inset:0;background:#0b1526b9;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{background:#fff;border-radius:15px;width:min(900px,100%);max-height:91vh;display:flex;flex-direction:column;overflow:hidden}.modalhead{padding:20px;border-bottom:1px solid #e6edf5;display:flex;justify-content:space-between}.modalhead h2{margin:8px 0 0}.modalbody{overflow:auto;padding:20px}.modalbody h3{margin:10px 0 20px;border-bottom:1px solid #e8edf5;padding-bottom:10px}.modal .foot-actions{padding:15px 20px;margin:0}.login-bg{min-height:100vh;background:#0b1321;display:grid;place-items:center}.login{background:white;padding:40px;border-radius:20px;width:min(440px,92%);display:flex;flex-direction:column;gap:18px}.login .brand strong{color:#07152c}.login .primary{width:100%}.muted{font-size:11px;color:#8898ac}.error{color:#c52344}.setup{max-width:750px;margin:100px auto;padding:35px;background:white;border-radius:16px}.setup h1{font-weight:900}.setup b{color:#ed2148}@media(max-width:950px){.top{height:auto;flex-wrap:wrap;padding:12px}.top nav{overflow:auto;width:100%;order:3}.top nav button{padding:15px 9px}.cards{grid-template-columns:repeat(2,1fr)}.fields.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:610px){.fields.two,.fields.three{grid-template-columns:1fr}.hero{padding:25px}.hero h1{font-size:30px}.environment .right{display:none}.account span{display:none}}
.full-form-overlay{position:fixed;inset:0;z-index:25;overflow-y:auto;background:#f1f3f7}.prime-page{max-width:1470px;margin:auto;padding:26px 25px 65px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.page-top h1{font-size:28px;margin:7px 0}.page-top p{color:#7c8aa2;font-size:12px}.progress-panel{background:white;border:1px solid #dbe3ee;border-radius:14px;padding:20px;display:flex;align-items:center;gap:22px;margin:20px 0 12px}.circle-progress{--pct:0%;width:95px;height:95px;flex:none;display:grid;place-items:center;border-radius:50%;background:radial-gradient(closest-side,#fff 78%,transparent 80%),conic-gradient(#1164e8 var(--pct),#e8eef6 0);font-size:25px;font-weight:900}.progress-copy{flex:1}.progress-copy strong{font-size:20px}.progress-copy p{color:#8b97aa;font-size:12px}.track{height:10px;border-radius:20px;background:#e8edf4;overflow:hidden}.track>div{height:100%;background:#1665e8;transition:width .2s}.progress-copy small{display:block;text-align:right;color:#7889a4;margin-top:9px}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}.steps button{display:flex;justify-content:flex-start;gap:8px;background:white;padding:13px 10px;font-size:12px;font-weight:700}.steps b{width:23px;height:23px;border-radius:50%;background:#e6edf7;display:grid;place-items:center}.steps small{margin-left:auto;color:#6d8cb7}.warning{background:#fff5e5;border:1px solid #ffd18a;border-radius:9px;color:#905513;padding:15px;margin-bottom:15px;font-size:12px}.prime-form{background:white;border-radius:15px;border:1px solid #dce5ef;padding:18px}.fiscal-box{background:#eaf2ff;border:1px dashed #90b7ff;border-radius:11px;padding:18px;margin-bottom:15px}.fiscal-box h3{margin:0 0 5px}.fiscal-box p{font-size:12px;color:#53719d}.fiscal-actions{display:flex;gap:8px}.fiscal-actions input{flex:1;min-width:0;border:1px solid #ccd9ec;border-radius:8px;padding:12px}.file-btn{cursor:pointer;display:flex;align-items:center;padding:10px;background:white;border:1px solid #d4dfeb;border-radius:8px}.fiscal-box .hint{margin-top:12px}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.section-card{border:1px solid #d7e4f0;border-radius:12px;margin:12px 0;padding:17px}.section-card h3{margin:0 0 16px;font-size:16px}.section-blue{background:#edf5ff}.section-orange{background:#fff7eb;border-color:#ffdfab}.section-green{background:#eafaf3;border-color:#bee7d3}.section-red{background:#fff0f3;border-color:#ffc2cf}.section-neutral{background:#f5f7fa}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.person-col{background:#ffffff8c;padding:12px;border-radius:10px;border:1px solid #e4eaf2;min-width:0}.person-head{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:12px}.person-head>div{display:flex;gap:5px}.tiny-btn{font-size:11px;padding:8px}.plus-btn{background:#f3f7fd}.person-col>.formfield{margin-bottom:10px}.person-summary{padding:10px;border:1px solid #cedbe9;background:#fff;border-radius:9px;display:flex;flex-direction:column;gap:6px;min-height:70px}.person-summary span{color:#647792;font-size:11px}.person-edit{display:none;border-top:1px solid #d7e2f0;margin-top:10px;padding-top:12px}.person-edit.editing{display:block}.page-actions{position:sticky;bottom:0;background:#fff;padding:15px;border-top:1px solid #dce5ee;display:flex;align-items:center;justify-content:flex-end;gap:10px;z-index:2}.page-actions span{color:#a62b3c;font-size:12px}.page-actions .primary{min-width:185px}@media(max-width:950px){.steps{grid-template-columns:repeat(2,1fr)}.fields.four{grid-template-columns:repeat(2,1fr)}.people-grid{grid-template-columns:1fr}}@media(max-width:610px){.prime-page{padding:12px}.page-top{align-items:flex-start}.page-top h1{font-size:22px}.circle-progress{width:70px;height:70px;font-size:19px}.progress-panel{gap:12px}.fiscal-actions{flex-wrap:wrap}.fiscal-actions input{flex-basis:100%}.steps{grid-template-columns:1fr}.person-head{flex-wrap:wrap}.page-actions{flex-wrap:wrap}.fields.four{grid-template-columns:1fr}}


/* V2.2 — A Nova Minuta abre em subtela sobre o sistema. */
.full-form-overlay{
 position:fixed;inset:0;z-index:50;
 display:flex;justify-content:center;align-items:center;
 overflow:hidden;padding:clamp(10px,2.3vh,24px) clamp(9px,2.5vw,34px);
 background:rgba(8,17,33,.68);
 backdrop-filter:blur(2px);
}
.full-form-overlay>.prime-page{
 background:#f1f3f7;
 width:min(1320px,100%);
 max-width:1320px;
 max-height:100%;
 overflow-y:auto;
 overscroll-behavior:contain;
 border-radius:17px;
 box-shadow:0 25px 80px rgba(4,11,26,.36);
 padding:20px 25px 0;
 scrollbar-gutter:stable;
}
.full-form-overlay .page-top{position:sticky;top:-20px;z-index:5;background:#f1f3f7;padding:9px 0 13px;border-bottom:1px solid #dce4ef}
.full-form-overlay .page-top h1{margin:4px 0;font-size:24px}
.full-form-overlay .progress-panel{margin-top:16px}
.full-form-overlay .page-actions{bottom:0;margin:15px -25px 0;padding:12px 25px;background:white;border-radius:0 0 16px 16px;box-shadow:0 -8px 22px rgba(12,24,47,.07)}
/* O cadastro comercial aberto pelo botão + deve ficar sobre a subtela. */
body:has(.full-form-overlay)>.overlay{z-index:70}
@media(max-width:750px){
 .full-form-overlay{padding:7px;align-items:stretch}
 .full-form-overlay>.prime-page{max-height:100%;padding:12px 12px 0;border-radius:11px}
 .full-form-overlay .page-top{top:-12px}
 .full-form-overlay .page-actions{margin:12px -12px 0;padding:12px}
}

/* V2.7 — detalhes dos participantes conforme formulário original */
.person-summary{padding:0;min-height:108px;overflow:hidden;background:#f7f9fc}
.person-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.person-summary-field{min-width:0;padding:8px 9px;border-right:1px solid #d9e1eb;border-bottom:1px solid #d9e1eb;min-height:49px;display:flex;flex-direction:column;gap:4px}
.person-summary-field:nth-child(4n){border-right:0}
.person-summary-field small{font-size:9px;color:#627b9f;font-weight:750;letter-spacing:.2px}
.person-summary-field strong{font-size:11px;color:#12385d;font-weight:750;overflow-wrap:anywhere}
.person-summary-field:first-child{grid-column:span 2}
.person-summary-field:nth-child(6){grid-column:span 2}
.person-col{background:#f7faff}
.person-head>b{color:#0e2850}
@media(max-width:610px){.person-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-summary-field:nth-child(4n){border-right:1px solid #d9e1eb}.person-summary-field:nth-child(2n){border-right:0}}
/* V2.8 — Tela de entrada inspirada no Berlezi Prime original. Apenas layout; autenticação Supabase intacta. */
.login-bg.prime-landing{position:relative;display:block;min-height:100vh;overflow:hidden;background:#f0f6fc;color:#0b1c36}
.landing-sky{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#f8fbff 0%,#eaf5ff 43%,#dcebf7 75%,#f6f9fd 100%)}
.landing-fleet{position:absolute;z-index:0;left:0;right:0;bottom:0;height:77vh;min-height:450px;background-image:url('/frota-original.webp');background-size:cover;background-position:center 64%;opacity:.94}
.landing-fade{position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,rgba(247,251,255,.99) 0%,rgba(247,251,255,.98) 18%,rgba(245,250,255,.76) 38%,rgba(240,248,255,.15) 68%,rgba(247,251,255,.84) 100%)}
.landing-wrap{position:relative;z-index:1;max-width:1170px;margin:auto;padding:20px 24px 30px}
.landing-header{display:flex;justify-content:flex-start;margin-bottom:38px}
.landing-brand{gap:9px;min-width:0}.landing-brand img{width:62px;height:40px;background:transparent;object-fit:contain}.landing-brand strong{font-size:20px;color:#071b34}.landing-brand small{color:#70819b;letter-spacing:1.5px;font-size:8px}
.landing-main{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:55px;align-items:start;max-width:735px;margin:0 auto 22px}
.landing-pitch{padding-top:22px}.landing-kicker{font-size:10px;color:#687c96;letter-spacing:2.2px;font-weight:900;margin-bottom:12px}.landing-pitch h1{max-width:425px;font-size:clamp(33px,3.4vw,48px);line-height:1.04;letter-spacing:-1.9px;margin:0 0 12px;font-weight:900}.landing-pitch h1 em{color:#ef214b;font-style:normal}.landing-pitch p{max-width:360px;font-size:12px;line-height:1.55;color:#43556f}
.landing-auth{background:linear-gradient(145deg,#1a2b44,#0c1829);border:1px solid #2b405e;box-shadow:0 12px 30px #07132248;color:white;padding:16px;border-radius:15px}
.landing-auth-tabs{background:#f0204b;border:1px solid #ff5070;border-radius:7px;color:white;font-weight:800;text-align:center;font-size:12px;padding:10px 8px;box-shadow:0 0 0 3px #020713}
.landing-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.landing-shortcuts a{border:1px solid #455770;color:#dce5ef;background:#142137;text-align:center;text-decoration:none;border-radius:6px;font-weight:700;font-size:10px;padding:9px 5px}.landing-shortcuts a:hover{background:#2a3b53}
.landing-auth-form{display:flex;flex-direction:column;gap:6px}.landing-auth-form h2{font-size:15px;margin:0}.landing-auth-form p{color:#b6c3d5;font-size:10px;margin:0 0 5px}.landing-auth-form label{font-weight:700;font-size:10px;margin-top:7px}.landing-auth-form input{width:100%;padding:10px;border-radius:6px;background:#e9f1ff;color:#122137;border:1px solid #b9c7df;outline-color:#f1234d}.landing-auth-form .primary{width:100%;margin-top:10px;border-radius:6px;font-size:12px;padding:11px 6px}.landing-auth-form small{color:#a9bdd0;font-size:9px;line-height:1.5;margin-top:5px}.landing-auth-form .error{color:#ffd3df;font-size:11px}
.landing-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:760px;margin:15px auto 10px}.landing-tiles>div{background:#fffffff0;border-radius:9px;padding:12px 10px;display:flex;flex-direction:column;gap:4px;min-height:80px;box-shadow:0 4px 14px #1c293f18}.landing-tiles b{font-size:15px;color:#f0254d}.landing-tiles strong{font-size:11px}.landing-tiles small{font-size:9px;color:#718097;line-height:1.3}
.landing-footer{display:flex;justify-content:space-around;gap:12px;max-width:760px;margin:auto;background:#0d1c32ed;border:1px solid #2c3f59;color:#a8b9ce;border-radius:8px;padding:13px;font-size:9px;font-weight:600}.landing-footer span{flex:1;border-right:1px solid #3b4d63;padding-right:7px}.landing-footer span:last-child{border:0}
@media (min-width:1350px){.landing-wrap{padding-top:36px}.landing-header{margin-bottom:48px}.landing-main{max-width:820px;grid-template-columns:minmax(0,1fr) 295px}.landing-tiles,.landing-footer{max-width:850px}}
@media (max-width:720px){.landing-wrap{padding:17px 15px 25px}.landing-header{margin-bottom:25px}.landing-main{max-width:520px;grid-template-columns:1fr;gap:18px}.landing-pitch{padding-top:0}.landing-pitch h1{font-size:34px}.landing-auth{max-width:380px;width:100%;margin:auto}.landing-tiles{grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px}.landing-footer{display:grid;grid-template-columns:repeat(2,1fr)}.landing-footer span{border:0}.landing-fleet{height:62vh;min-height:450px;background-position:50% 100%}}
@media (prefers-reduced-motion:reduce){.landing-auth button{transition:none}}

/* V3.0 - Cadastro comercial detalhado */
.client-full{max-width:940px;width:min(96vw,940px)}
.client-full .fields.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.client-full .modalbody h3{margin:24px 0 12px;padding-top:13px;border-top:1px solid #dbe3ef}
.client-preview{background:#f4f7fc;border:1px solid #dbe3ef;border-radius:10px;padding:12px;margin:16px 0}
.client-preview input{display:block;max-width:240px;margin:8px 0}
.client-preview #freight-preview{color:#e91b4e;font-weight:800;padding-top:6px}
@media(max-width:700px){.client-full .fields.three,.client-full .fields.two{grid-template-columns:1fr}}

/* V3.1 — Consulta pública de CNPJ no formulário comercial */
.cnpj-lookup-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 0 14px;margin-top:6px}
.cnpj-lookup-actions button{background:white;color:#10213a;border:1px solid #cbd6e3;border-radius:7px;padding:10px 14px;font-weight:650;cursor:pointer}
.cnpj-lookup-actions button:disabled{opacity:.55;cursor:wait}
.cnpj-lookup-actions small{font-size:11px;color:#64748b}

/* V3.3 */
.minuta-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:245px}.minuta-actions button{font-size:11px;padding:7px 8px}.minuta-actions .danger-action{color:#b32642;border-color:#f1b9c4}.history-list{line-height:2}.modalbody form .fields{margin-bottom:14px}

/* V3.7 - pré-visualização interna da minuta */
.bp-print-overlay{position:fixed;inset:0;z-index:99999;background:rgba(6,17,34,.68);display:flex;align-items:center;justify-content:center;padding:16px}
.bp-print-dialog{display:flex;flex-direction:column;background:#eef1f6;border-radius:14px;overflow:hidden;width:min(1100px,100%);height:min(94vh,100%);box-shadow:0 25px 80px #0005}
.bp-print-toolbar{display:flex;gap:10px;align-items:center;padding:12px 16px;background:white;border-bottom:1px solid #cbd3df;flex-wrap:wrap}
.bp-print-toolbar strong{margin-right:auto;color:#102238}.bp-print-toolbar span{font-size:12px;color:#55647b}
.bp-print-toolbar button{padding:9px 12px;border:1px solid #cbd3df;border-radius:7px;background:white;color:#102238;cursor:pointer}
.bp-print-toolbar .bp-print-primary{background:#ef1949;color:white;border-color:#ef1949}
.bp-print-frame{border:0;flex:1;width:100%;min-height:0;background:#eef1f6}
@media(max-width:680px){.bp-print-overlay{padding:4px}.bp-print-dialog{height:100%;border-radius:8px}}

/* Central de Expedição V3.12 */
.exp-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.exp-controls input{flex:2;min-width:190px;padding:12px;border:1px solid #ccd5e4;border-radius:8px}.exp-controls select{flex:1;min-width:190px;padding:12px;border:1px solid #ccd5e4;border-radius:8px}.exp-current{border:1px solid #dbe4ed;border-radius:12px;padding:16px;margin-top:12px}.exp-current table td{vertical-align:middle}
