:root{--bg:#061827;--panel:#0b2940;--line:#1d4b69;--text:#f4fbff;--muted:#9fc5db;--blue:#159ee9;--green:#19d487;--yellow:#d7a900}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,system-ui,Segoe UI,Arial;background:linear-gradient(135deg,#041521,#06253b);color:var(--text);min-height:100vh}
.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.side{background:#041827;border-right:1px solid #143c56;padding:18px 14px;display:flex;flex-direction:column}
.brand{font-size:26px;font-weight:900}.brand span{color:var(--green)}.sub{font-size:12px;letter-spacing:3px;color:#d7eefb;margin-bottom:22px}
.user{border:1px solid var(--line);background:#082337;border-radius:12px;padding:12px;margin-bottom:14px}.user b{font-size:12px}.user div{font-size:12px;color:var(--muted);margin-top:4px}
.nav{display:flex;flex-direction:column;gap:6px}.nav button{border:0;background:transparent;color:#dceffa;padding:12px;border-radius:10px;text-align:left;cursor:pointer}.nav button.active,.nav button:hover{background:#0d4d7a}
.client-support-nav{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:5px;align-items:stretch}.client-support-nav>button{width:100%}.client-support-nav .support-star{display:grid;place-items:center;padding:0!important;text-align:center!important;font-size:17px;color:#ffd76a}.client-support-nav .support-star.active{background:#164e70;color:#ffd76a}.client-support-shortcut{display:none}.client-support-shortcut.show{display:inline-flex;align-items:center;gap:6px}.support-frame{width:100%;height:calc(100vh - 120px);min-height:680px;border:1px solid #d7e4ea;border-radius:16px;background:#fff}
.logout{margin-top:auto;border:1px solid #2c6b92;background:#0c3552;color:#fff;border-radius:10px;padding:12px;font-weight:800}
main{padding:24px;min-width:0}.view.hidden{display:none}.head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.head h1{margin:0;font-size:32px}.head p{margin:7px 0 0;color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #266287;background:#0c4266;color:#fff;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.green{background:#0ea96c;border-color:#25d893}.btn.blue{background:#0b5fa0}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.card{background:linear-gradient(180deg,#0b2c45,#0a2840);border:1px solid var(--line);border-radius:15px;padding:15px}.card .k{font-size:12px;color:#9fd4f1}.card .v{font-size:25px;font-weight:900;margin-top:7px}
.panel{background:linear-gradient(180deg,#0b2a42,#0a2539);border:1px solid var(--line);border-radius:15px;padding:16px;margin-bottom:16px}.panel h2{margin:0 0 12px}
table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:11px;border-bottom:1px solid #173f5a;text-align:left;font-size:13px}th{color:#a8d9f3;background:#09243a}.tablewrap{overflow:auto;border:1px solid #1a4663;border-radius:12px}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900}.yellow{background:#655213;color:#ffe77a}.greenb{background:#0b553c;color:#7ff7bf}.blueb{background:#0c456d;color:#90d8ff}.badge.red{background:#ffe8e8;color:#9b2531}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:#bfe3f6;font-weight:800}.field input,.field select{background:#08243a;border:1px solid #245271;color:#fff;border-radius:8px;padding:10px}
.info{border:1px solid #22628b;background:#092f4b;color:#bfe9ff;padding:10px 12px;border-radius:10px;font-size:12px}.empty{padding:28px;text-align:center;color:#8bbbd4}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:700px){.app{grid-template-columns:1fr}.side{position:relative}.nav{display:grid;grid-template-columns:1fr 1fr}.logout{margin-top:14px}.cards{grid-template-columns:1fr}}

/* V2 additions */
.member-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:10px}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.profile-type{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;z-index:20}
.modal-bg.open{display:grid;place-items:center}
.modal{width:min(620px,92vw);background:#071c2d;border:1px solid #2a5873;border-radius:14px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.modal h2{margin:0 0 6px}.modal p{color:var(--muted);font-size:12px}
.perm{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900}
.perm.ok{background:#0b553c;color:#7ff7bf}.perm.no{background:#5b2831;color:#ff9ba6}
@media(max-width:900px){.member-grid,.report-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.member-grid,.report-grid{grid-template-columns:1fr}}

/* V3 additions */
.periodbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.periodbar button{border:1px solid #2b6385;background:#092a42;color:#d9f2ff;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.periodbar button.active{background:#0d5e90;border-color:#3cb2ef;color:#fff}
.custom-period{display:none;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
.custom-period.open{display:flex}
.ongoing-list{display:grid;gap:10px}
.delivery-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;border:1px solid #1c4d69;background:#08243a;border-radius:12px;padding:12px}
.delivery-row .small{font-size:12px;color:#8fbcd4}
.delivery-row .big{font-size:14px;font-weight:800;margin-top:3px}
.track-step{display:flex;gap:6px;align-items:center;font-size:12px;color:#bfe8fa}.track-dot{width:8px;height:8px;border-radius:50%;background:#19d487}
.action-link{border:1px solid #2b6a91;background:#0b4368;color:#fff;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}
.action-link.green{background:#0c6b49;border-color:#1c9a6a}
.tracking-modal .timeline{display:grid;gap:10px;margin-top:12px}
.track-event{display:grid;grid-template-columns:14px 1fr;gap:9px}
.track-event .dot{width:10px;height:10px;border-radius:50%;background:#19d487;margin-top:4px}
.track-event small{color:#8ebbd3}
.sharebox{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
@media(max-width:900px){.delivery-row{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.delivery-row{grid-template-columns:1fr}}

/* V3.2 additions */
.ns-route{display:grid;gap:10px}
.ns-point{border:1px solid #1f5472;background:#08243a;border-radius:12px;padding:12px}
.ns-point-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.ns-point-title{display:flex;gap:9px;align-items:center;font-weight:900}
.ns-point-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#0b5f94}
.ns-point-actions{display:flex;gap:6px;flex-wrap:wrap}
.ns-extra{display:none;margin-top:10px;border-top:1px solid #17465f;padding-top:10px}
.ns-extra.open{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ns-address-row{display:grid;grid-template-columns:1fr;gap:8px}
.ns-location-ok{display:none;color:#7ff7bf;font-size:12px;font-weight:800}
.ns-location-ok.show{display:block}
.ns-controls{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.ns-control{border:1px solid #2c678a;background:#0a314d;color:#fff;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}
.ns-control.active{background:#0b6848;border-color:#21c983}
.ns-quote{display:none}
.ns-quote.show{display:block}
.ns-quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ns-quote-card{border:1px solid #1f5675;background:#09253b;border-radius:12px;padding:13px}
.ns-quote-card .k{font-size:12px;color:#8fbdd6}.ns-quote-card .v{font-size:22px;font-weight:900;margin-top:5px}
.ns-route-summary{font-size:12px;color:#9fc8dc;margin-top:10px}
.ns-small{font-size:12px;color:#8db8cf}
@media(max-width:800px){.ns-extra.open,.ns-quote-grid{grid-template-columns:1fr}}

/* V3.3 additions */
.fin-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fin-filter button{border:1px solid #2a6386;background:#092b44;color:#dff4ff;border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer}
.fin-filter button.active{background:#0d5e90;border-color:#39afe9}
.invoice-grid{display:grid;gap:10px}
.invoice-card{border:1px solid #1d4f6d;background:#08243a;border-radius:12px;padding:14px}
.invoice-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.invoice-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.invoice-meta .box{background:#071f33;border:1px solid #1d4b66;border-radius:9px;padding:10px}
.invoice-meta .k{font-size:12px;color:#8ebbd3}.invoice-meta .v{font-weight:900;margin-top:4px}
.invoice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.doc-list{display:grid;gap:8px;margin-top:10px}
.doc-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #1a4964;background:#071e31;border-radius:9px;padding:10px}
.doc-item small{color:#8fb9cf}
.status-paid{background:#0b553c;color:#7ff7bf}.status-open{background:#665212;color:#ffe77a}.status-overdue{background:#612a32;color:#ff9ea7}
.payment-modal .pay-box{border:1px solid #256285;background:#082740;border-radius:10px;padding:12px;margin:10px 0}
@media(max-width:850px){.invoice-meta{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.invoice-meta{grid-template-columns:1fr}}

/* V3.5 additions */
.wait-time-box{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  border:1px solid #b24b55;background:#321921;color:#fff;
  border-radius:12px;padding:12px 14px;margin-bottom:14px
}
.wait-time-box .label{font-size:12px;color:#ffb8bf}
.wait-time-box .time{font-size:20px;font-weight:900}
.wait-time-box .note{font-size:12px;color:#e9bcc1;margin-top:2px}
@media(max-width:650px){.wait-time-box{align-items:flex-start;flex-direction:column}}

/* V3.8 — endereços e cotação real */
.ns-address-row .field{position:relative}
.ns-suggestions{
  display:none;position:absolute;left:0;right:0;top:100%;z-index:80;
  margin-top:5px;background:#071f33;border:1px solid #245570;border-radius:10px;
  box-shadow:0 16px 34px rgba(0,0,0,.32);max-height:240px;overflow:auto
}
.ns-suggestions.open{display:block}
.ns-suggestion{
  width:100%;border:0;border-bottom:1px solid #173f58;background:#071f33;
  color:#e9f7ff;text-align:left;padding:10px 11px;cursor:pointer
}
.ns-suggestion:hover{background:#0b314c}
.ns-suggestion:last-child{border-bottom:0}
.ns-suggestion b{display:block;font-size:12px}
.ns-suggestion small{display:block;color:#8ebbd3;margin-top:3px}
.ns-searching{font-size:12px;color:#8ebbd3;margin-top:5px}
.ns-location-ok{color:#7ff7bf}
.ns-location-warn{display:block;color:#ffbf73;font-size:12px;font-weight:700;margin-top:5px}
.ns-quote-status{font-size:12px;color:#8ebbd3;margin-top:10px}
.ns-quote-status.error{color:#ff9ea7}
.ns-quote-status.ok{color:#7ff7bf}

.brand-lockup{display:flex;align-items:center;gap:10px;margin-bottom:18px}.brand-logo{width:46px;height:46px;border-radius:11px;object-fit:cover;flex:0 0 46px}.brand-lockup .sub{margin-bottom:0}

.client-report-route-cell{min-width:320px;max-width:520px}.client-report-route{display:grid;gap:5px;line-height:1.35}.client-report-route span{display:block;font-size:12px;color:#496575}.client-report-route b{color:#183047}
.client-order-list{display:grid;gap:10px}.client-order-card{border:1px solid #d7e4ec;background:#fff;border-radius:14px;padding:14px;box-shadow:0 6px 18px rgba(10,45,68,.05)}
.client-order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-order-id{font-size:16px;font-weight:900;color:#123d59}.client-order-date{font-size:12px;color:#6d8798;margin-top:3px}.client-order-route{margin-top:11px;font-size:13px;color:#294a5e;line-height:1.45}.client-order-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#607b8c}.client-order-meta b{color:#213f51}.client-order-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid #e1ebf1}.client-order-value{font-size:13px;font-weight:800;color:#173b50}.client-order-value small{display:block;color:#7891a0;font-weight:600;font-size:12px}.client-order-prediction{font-size:12px;color:#397056;font-weight:700}.client-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.client-detail-meta>div{border:1px solid #d7e4ec;background:#f8fbfd;border-radius:10px;padding:10px}.client-detail-meta small{display:block;color:#718b9b;font-size:12px;margin-bottom:3px}.client-detail-meta b{color:#193d52;font-size:12px}
@media(max-width:700px){.client-order-actions{align-items:flex-start;flex-direction:column}.client-detail-meta{grid-template-columns:1fr}}

#nsClientPayment.payment-locked{background:#eef8f4;border-color:#85cdb6;color:#076b52;font-weight:900;cursor:not-allowed}
#nsPaymentInfo.payment-fixed{background:#eef8f4;border-color:#b9e2d5;color:#0b6d55;font-weight:700}
/* 28/09 — dinheiro: pagar na retirada ou na entrega */
.ct-cashwhen{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:8px 0 12px;padding:10px 12px;border:1px solid #f1dca7;background:#fff6e0;border-radius:12px;font-size:13px;color:#7a5600}
.ct-cashwhen label{display:inline-flex;align-items:center;gap:6px;font-weight:700;cursor:pointer}
.ct-cashwhen input{width:18px;height:18px;margin:0}

/* 03/10/2026 — módulos do Site do Cliente controlados pelo ADM */
.ct-module-disabled{display:none!important}
