:root{
  --ink:#08111C;          /* fundo mais profundo: faz os cards "subirem" da tela */
  --ink-2:#12253700;
  --navy:#1D3956;         /* cor dos cards, mantida (é a identidade Volare) */
  --cream:#E8E2D9;
  --bronze:#B08D57;       /* bronze da marca: botões, valores, destaques */
  --bronze-lbl:#C6A06A;   /* mesma cor, levemente clareada, só para rótulos miúdos */
  --light:#FAF8F4;
  --muted:#9BAABA;        /* cinza levemente clareado para passar em texto pequeno */
  --line:rgba(232,226,217,.16);
  --bad:#D4756B;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  background:
    radial-gradient(900px 500px at 88% -10%, rgba(176,141,87,.10), transparent 62%),
    radial-gradient(800px 460px at -8% 102%, rgba(29,57,86,.38), transparent 58%),
    var(--ink);
  color:var(--light);
  min-height:100vh;
  padding:26px 16px 70px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:100%;max-width:760px;margin:0 auto}

.brandline{
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--bronze);font-weight:500;margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.brandline::before{content:"";width:26px;height:1px;background:var(--bronze);opacity:.75}
h1{
  font-family:'Lexend',sans-serif;font-weight:200;
  font-size:34px;line-height:1.1;letter-spacing:-.015em;margin-bottom:8px;
}
.sub{color:var(--muted);font-size:14px;margin-bottom:26px;max-width:52ch}

/* tabs */
.tabs{display:flex;gap:6px;background:rgba(232,226,217,.06);border:1px solid var(--line);
  border-radius:12px;padding:5px;margin-bottom:26px}
.tab{
  flex:1;text-align:center;padding:11px 10px;border-radius:8px;cursor:pointer;
  font-size:13.5px;font-weight:500;color:var(--muted);transition:.16s;user-select:none;
  font-family:'Lexend',sans-serif;
}
.tab:hover{color:var(--light)}
.tab.on{background:var(--bronze);color:#1a1206;font-weight:500}

.panel{display:none}
.panel.on{display:block}

.card{
  background:linear-gradient(180deg, rgba(29,57,86,.72), rgba(24,47,72,.62));
  border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:14px;
}
.cardlbl{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bronze-lbl);margin-bottom:15px;display:flex;align-items:center;
  justify-content:space-between;gap:10px;
}
.cardlbl .note{font-weight:400;text-transform:none;letter-spacing:.02em;font-size:11px;color:var(--muted)}
.mesnav{display:flex;align-items:center;gap:8px;flex-shrink:0}
.mesnav-label{font-weight:500;text-transform:none;letter-spacing:.02em;font-size:13px;color:var(--light);min-width:11ch;text-align:center}
.mesnav .iconbtn{width:24px;height:24px;font-size:15px;line-height:1}
.mesnav .iconbtn:hover{color:var(--bronze);border-color:var(--bronze)}
.privtag{
  font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  color:#E0B978;background:rgba(176,141,87,.16);border:1px solid rgba(176,141,87,.4);
  padding:3px 8px;border-radius:999px;white-space:nowrap;
}

label{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin:0 0 6px}
input[type=text],input[type=date],input[type=time],input[type=number],select,textarea{
  width:100%;background:rgba(6,13,22,.75);border:1px solid var(--line);
  border-radius:9px;padding:10px 11px;color:var(--light);
  font-family:inherit;font-size:14px;transition:.15s;
}
textarea{resize:vertical;min-height:66px;line-height:1.55}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bronze);background:rgba(6,13,22,.95)}
input::placeholder,textarea::placeholder{color:#5C6D7E}
input:disabled{opacity:.6;cursor:not-allowed;background:rgba(6,13,22,.45)}
/* o navegador (Chrome/Safari) força um fundo claro em campos autopreenchidos;
   isso reescreve esse fundo para o mesmo tom escuro do resto do formulário */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--light);
  -webkit-box-shadow:0 0 0px 1000px rgba(6,13,22,.88) inset;
  transition:background-color 5000s ease-in-out 0s;
  caret-color:var(--light);
}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A9AAB' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px}
.f{margin-bottom:14px}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:620px){
  .r3{grid-template-columns:1fr 1fr}
  .r3>*:nth-child(3):last-child{grid-column:span 2}
  .r2{grid-template-columns:1fr}
}

.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{
  padding:8px 14px;border-radius:8px;border:1px solid var(--line);
  background:rgba(6,13,22,.6);font-size:13px;cursor:pointer;transition:.15s;color:var(--muted);
}
.chip:hover{color:var(--light)}
.chip.on{background:var(--bronze);border-color:var(--bronze);color:#1a1206;font-weight:600}
.chip:focus-visible,.iconbtn:focus-visible,.addHorarioBtn:focus-visible,.daytoggle:focus-visible,.recrow-del:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}

.daytoggle{
  display:inline-block;margin-top:7px;padding:4px 10px;border-radius:6px;
  border:1px solid var(--line);background:rgba(6,13,22,.5);
  font-size:10.5px;font-weight:600;color:var(--muted);cursor:pointer;
  transition:.15s;user-select:none;
}
.daytoggle:hover{color:var(--light);border-color:rgba(176,141,87,.5)}
.daytoggle.on{background:var(--bronze);border-color:var(--bronze);color:#1a1206}
.durline{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:12px;color:var(--muted);margin:2px 0 14px;padding-top:2px;
}
.durline b{color:var(--bronze);font-weight:600;font-family:'Lexend',sans-serif;font-size:13px}

.prefix-wrap{position:relative}
.prefix-wrap .pfx{position:absolute;left:11px;top:50%;transform:translateY(-50%);
  color:var(--bronze);font-size:13px;font-weight:600;pointer-events:none}
.prefix-wrap input{padding-left:32px}
.sfx-wrap{position:relative}
.sfx-wrap .sfx{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--muted);font-size:12px;pointer-events:none}
.sfx-wrap input{padding-right:60px}

.opt{
  border:1px solid rgba(176,141,87,.3);border-radius:14px;padding:18px;margin-bottom:14px;
  background:rgba(10,20,32,.5);
}
.opt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}
.opt-title{font-family:'Lexend',sans-serif;font-weight:300;font-size:19px;letter-spacing:-.01em}
.opt-headtxt{display:flex;align-items:baseline;gap:10px;overflow:hidden;min-width:0}
.opt-summary{display:none;color:var(--muted);font-size:13.5px;font-weight:400;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opt.collapsed .opt-summary{display:inline}
.opt.collapsed .opt-body{display:none}
.iconbtn.collapse svg{transition:transform .15s ease}
.opt.collapsed .iconbtn.collapse svg{transform:rotate(-90deg)}
.seg{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.seg-lbl{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-lbl);
  font-weight:600;margin-bottom:12px}

.horario-extra{
  border:1px solid var(--line);border-radius:11px;padding:14px;margin-bottom:10px;
  background:rgba(6,13,22,.4);
}
.he-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.he-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.addHorarioBtn{
  background:none;border:1px dashed rgba(176,141,87,.5);color:var(--bronze);
  border-radius:10px;padding:9px 14px;font-family:inherit;font-size:12.5px;font-weight:600;
  cursor:pointer;width:100%;transition:.15s;margin-top:4px;text-align:center;
}
.addHorarioBtn:hover{border-style:solid;background:rgba(176,141,87,.09)}

.combo{
  border:1px solid rgba(79,190,168,.3);border-radius:14px;padding:18px;margin-bottom:14px;
  background:rgba(10,20,32,.5);
}
.comboLabel{
  background:none;border:none;color:var(--light);font-family:'Lexend',sans-serif;
  font-weight:300;font-size:17px;letter-spacing:-.01em;padding:0;width:100%;
}
.comboLabel:focus{outline:none}
.combo-checks{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.combo-check-item{
  display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;
  border:1px solid var(--line);background:rgba(6,13,22,.55);font-size:13px;
  color:var(--muted);cursor:pointer;transition:.15s;text-transform:none;letter-spacing:normal;
}
.combo-check-item:hover{color:var(--light);border-color:rgba(79,190,168,.4)}
.combo-check-item input{accent-color:#4FBEA8;width:16px;height:16px;flex-shrink:0;cursor:pointer}
.combo-check-item.marcado{color:var(--light);border-color:rgba(79,190,168,.5);background:rgba(79,190,168,.07)}
.combo-warn{font-size:12px;color:#E39A93;margin-top:8px}

.ghostbtn{
  background:none;border:1px dashed rgba(176,141,87,.5);color:var(--bronze);
  border-radius:10px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:600;
  cursor:pointer;width:100%;transition:.15s;
}
.ghostbtn:hover{border-style:solid;background:rgba(176,141,87,.09)}
.iconbtn{
  width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;background:transparent;border:1px solid var(--line);color:var(--muted);
  cursor:pointer;transition:.15s;
}
.iconbtn:hover{color:var(--bad);border-color:var(--bad)}
.iconbtn.moveup:hover,.iconbtn.movedown:hover{color:var(--bronze);border-color:var(--bronze)}
.iconbtn.disabled{opacity:.28;pointer-events:none}
.iconbtn svg{width:14px;height:14px}

.payrow{
  display:grid;grid-template-columns:1fr 74px 82px 30px;gap:8px;align-items:center;margin-bottom:8px;
}
.payrow input{padding:9px 10px;font-size:13px}
.payrow .mini{position:relative}
.payrow .mini .u{position:absolute;right:9px;top:50%;transform:translateY(-50%);
  font-size:10.5px;color:var(--muted);pointer-events:none}
.payrow .mini input{padding-right:24px;text-align:right}
@media(max-width:560px){.payrow{grid-template-columns:1fr 64px 72px 30px}}

.totalbox{
  border-top:1px solid var(--line);margin-top:16px;padding-top:15px;
}
.ln{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;font-size:13.5px}
.ln .k{color:var(--muted)}
.ln .v{font-weight:600}
.ln.big{padding-top:12px;margin-top:8px;border-top:1px solid var(--line)}
.ln.big .k{color:var(--light);font-family:'Lexend',sans-serif;font-weight:300;font-size:16px}
.ln.big .v{color:var(--bronze);font-family:'Lexend',sans-serif;font-weight:400;font-size:22px}

.gen{
  width:100%;background:var(--bronze);color:#170f04;border:none;border-radius:11px;
  padding:16px;font-family:'Lexend',sans-serif;font-size:15px;font-weight:400;
  cursor:pointer;transition:.15s;margin-top:6px;
}
.gen:hover{filter:brightness(1.07)}
.gen:active{transform:scale(.99)}
.status{font-size:12px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.6}

.warn{
  background:rgba(212,117,107,.1);border:1px solid rgba(212,117,107,.42);
  color:#F0B3AC;border-radius:9px;padding:10px 12px;font-size:12.5px;margin-bottom:12px;
}
.hintbox{
  background:rgba(176,141,87,.08);border-left:2px solid var(--bronze);
  border-radius:0 8px 8px 0;padding:11px 13px;font-size:12.5px;color:#C7BFB4;
  line-height:1.6;margin-bottom:16px;
}
footer{text-align:center;color:#5C6D7E;font-size:11.5px;margin-top:28px;line-height:1.7}

/* ---------- auth ---------- */
.authwrap{max-width:380px;padding-top:14vh}
.authcard{
  background:linear-gradient(180deg, rgba(29,57,86,.72), rgba(24,47,72,.62));
  border:1px solid var(--line);border-radius:16px;padding:28px 24px;
}
.autherr{
  background:rgba(212,117,107,.1);border:1px solid rgba(212,117,107,.42);
  color:#F0B3AC;border-radius:9px;padding:10px 12px;font-size:12.5px;margin-bottom:14px;display:none;
}
.autherr.on{display:block}

/* ---------- shell / nav ---------- */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;
  padding-bottom:14px;border-bottom:1px solid var(--line);flex-wrap:wrap;row-gap:8px}
.topbar-user{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}
.topbar-user b{color:var(--light);font-weight:600}
.topbar-user .sep{opacity:.5}
@media(max-width:480px){.topbar-user{width:100%}}
.linkbtn{background:none;border:none;color:var(--muted);font-family:inherit;font-size:12.5px;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}
.linkbtn:hover{color:var(--light)}
.view{display:none}
.view.on{display:block}

.backbtn{
  background:none;border:1px solid var(--line);color:var(--muted);border-radius:9px;
  padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
  margin-bottom:18px;transition:.15s;
}
.backbtn:hover{color:var(--light);border-color:rgba(176,141,87,.5)}

/* ---------- record rows (clientes, cotações, emissões) ---------- */
.reclist{margin-top:14px}
.recrow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 15px;border:1px solid var(--line);border-radius:10px;
  margin-bottom:8px;cursor:pointer;transition:.15s;background:rgba(10,20,32,.45);
}
.recrow:hover{border-color:rgba(176,141,87,.5);background:rgba(6,13,22,.6)}
.recrow-arquivada{opacity:.55}
.recrow-arquivada:hover{opacity:.85}
.recrow-main{min-width:0}
.recrow-title{font-size:14px;font-weight:600;color:var(--light);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.recrow-sub{font-size:12px;color:var(--muted);margin-top:2px}
.recrow-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.recrow-value{font-family:'Lexend',sans-serif;font-size:13.5px;color:var(--bronze);white-space:nowrap}
.empty-hint{color:var(--muted);font-size:13px;padding:16px 4px}

.badge{
  font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;white-space:nowrap;
}
.badge-aberta{background:rgba(138,154,171,.16);color:#AEB9C4;border:1px solid rgba(138,154,171,.35)}
.badge-enviada{background:rgba(176,141,87,.16);color:#E0B978;border:1px solid rgba(176,141,87,.4)}
.badge-vendida{background:rgba(79,190,168,.14);color:#7FD4BE;border:1px solid rgba(79,190,168,.4)}
.badge-perdida{background:rgba(212,117,107,.1);color:#E39A93;border:1px solid rgba(212,117,107,.4)}
.badge-confirmada{background:rgba(79,190,168,.14);color:#7FD4BE;border:1px solid rgba(79,190,168,.4)}
.badge-pago{background:rgba(79,190,168,.14);color:#7FD4BE;border:1px solid rgba(79,190,168,.4)}
.badge-parcial{background:rgba(176,141,87,.16);color:#E0B978;border:1px solid rgba(176,141,87,.4)}
.badge-pendente{background:rgba(138,154,171,.16);color:#AEB9C4;border:1px solid rgba(138,154,171,.35)}

/* ---------- editor header (cotação / emissão) ---------- */
.editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;margin-bottom:6px}
.editor-head-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.savebtn{
  background:var(--bronze);color:#170f04;border:none;border-radius:9px;
  padding:9px 16px;font-family:'Lexend',sans-serif;font-size:13px;font-weight:500;
  cursor:pointer;transition:.15s;
}
.savebtn:hover{filter:brightness(1.07)}
.savebtn:disabled{opacity:.5;cursor:default;filter:none}
.modal-overlay{
  position:fixed;inset:0;background:rgba(4,9,16,.72);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:20px;z-index:100;
}
.modal-overlay.on{display:flex}
.modal-box{
  background:linear-gradient(180deg,#1D3956,#16273c);
  border:1px solid var(--line);border-radius:16px;padding:22px;
  width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.modal-box h3{
  margin:0 0 4px;font-family:'Lexend',sans-serif;font-weight:300;font-size:21px;color:var(--light);
}
.modal-box .modal-sub{margin:0 0 16px;font-size:13px;color:var(--muted)}
.modal-dup{
  background:rgba(176,141,87,.12);border:1px solid rgba(176,141,87,.4);
  border-radius:11px;padding:13px 14px;margin:4px 0 16px;
}
.modal-dup-lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--bronze-lbl);margin-bottom:9px}
.modal-dup-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 0;border-top:1px solid rgba(176,141,87,.2);
}
.modal-dup-item:first-of-type{border-top:none}
.modal-dup-item .ddname{font-size:14px;color:var(--light);font-weight:500}
.modal-dup-item .ddsub{font-size:12px;color:var(--muted)}
.delbtn{
  background:none;border:1px solid rgba(212,117,107,.4);color:#E39A93;
  border-radius:9px;padding:9px 14px;font-family:'Lexend',sans-serif;font-size:13px;font-weight:500;
  cursor:pointer;transition:.15s;
}
.delbtn:hover{background:rgba(212,117,107,.1);border-color:rgba(212,117,107,.7)}
.recrow-del{
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;
  transition:.15s;flex-shrink:0;
}
.recrow-del:hover{color:#E39A93;border-color:rgba(212,117,107,.4);background:rgba(212,117,107,.08)}
.recrow-del svg{width:13px;height:13px}
.vendabtn{
  width:100%;background:none;border:1px solid rgba(79,190,168,.45);color:#7FD4BE;
  border-radius:11px;padding:13px;font-family:'Lexend',sans-serif;font-size:13.5px;font-weight:500;
  cursor:pointer;margin:6px 0 18px;transition:.15s;
}
.vendabtn:hover{background:rgba(79,190,168,.09)}
.convertbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  background:rgba(79,190,168,.09);border:1px solid rgba(79,190,168,.35);border-radius:10px;
  padding:11px 14px;font-size:12.5px;color:#B8E8DA;margin:4px 0 18px;
}
.savedtag{font-size:11.5px;color:var(--muted)}
.savedtag.warn-tag{color:#E39A93}

.metric-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;
}
@media(max-width:700px){.metric-grid{grid-template-columns:1fr 1fr}}
.metric-card{
  background:linear-gradient(180deg, rgba(29,57,86,.72), rgba(24,47,72,.62));
  border:1px solid var(--line);border-radius:14px;padding:16px;
}
.metric-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.metric-value{font-family:'Lexend',sans-serif;font-weight:300;font-size:24px;color:var(--light)}
.metric-clickable{cursor:pointer;transition:.15s}
.metric-clickable:hover{border-color:rgba(176,141,87,.5)}
.metric-link{font-size:11px;color:var(--bronze);margin-top:6px}
