/* Responsive layer — Minha Compra EUA
   Mobile-first overrides for the legacy purchase dashboard and /painel.
   Keep this file loaded AFTER each page's inline styles. */

:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  overflow-x:hidden;
  overscroll-behavior-y:none;
}

img,svg,video,canvas{max-width:100%;height:auto}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.btn,.nav button,[role="button"]{touch-action:manipulation}
input,select,textarea{max-width:100%}

/* Avoid iOS zoom on focus and make touch controls reliable. */
@media (pointer:coarse){
  input,select,textarea{font-size:16px!important}
  button,.btn,.nav button,[role="button"]{min-height:44px}
}

/* ---------- Legacy/current purchase dashboard ---------- */
.wrap{
  width:min(100%,1380px);
  padding-left:max(24px,var(--safe-left));
  padding-right:max(24px,var(--safe-right));
}

.table-wrap{
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.modal{
  padding:
    max(20px,var(--safe-top))
    max(20px,var(--safe-right))
    max(20px,var(--safe-bottom))
    max(20px,var(--safe-left));
}

@media (max-width:1180px){
  .wrap{padding-top:28px}
  .grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
  .controls{grid-template-columns:repeat(4,minmax(0,1fr))}
  .control,.control:nth-child(-n+2){grid-column:span 2}
  .donut-wrap{grid-template-columns:145px 1fr;gap:14px}
  .donut{width:145px;height:145px}
}

@media (max-width:900px){
  .wrap{padding:24px 18px 44px}
  .topbar{align-items:stretch}
  .badge{align-self:flex-start;white-space:normal}
  .grid{grid-template-columns:1fr}
  .grid > aside.card{order:-1}
  .summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kpi.hero{grid-column:span 2}
  .donut-wrap{grid-template-columns:160px 1fr}
  .controls{grid-template-columns:repeat(6,minmax(0,1fr))}
  .control{grid-column:span 2}
  .control:nth-child(-n+2){grid-column:span 3}
}

@media (max-width:700px){
  .wrap{
    padding:
      max(18px,var(--safe-top))
      max(12px,var(--safe-right))
      max(30px,var(--safe-bottom))
      max(12px,var(--safe-left));
  }
  .topbar{margin-bottom:18px;gap:12px}
  h1{font-size:clamp(31px,11vw,45px);line-height:.98}
  .sub{font-size:13px}
  .badge{font-size:10px;padding:9px 11px;border-radius:12px}
  .card{border-radius:18px}
  .card-pad{padding:14px}
  .section-title{font-size:13px}
  .section-sub{font-size:10px;line-height:1.45}
  .controls{grid-template-columns:1fr 1fr;gap:8px}
  .control,.control:nth-child(-n+2){grid-column:auto;padding:10px}
  .control label{font-size:9px}
  .control input{font-size:17px}
  .switchrow{align-items:flex-start;padding:11px}
  .switchrow span{font-size:10px}
  .summary{grid-template-columns:1fr 1fr;gap:8px}
  .kpi{padding:12px;border-radius:14px}
  .kpi small{font-size:8px}
  .kpi strong{font-size:18px}
  .kpi.hero{grid-column:1/-1}
  .kpi.hero strong{font-size:28px}
  .donut-wrap{grid-template-columns:125px 1fr;gap:10px}
  .donut{width:120px;height:120px}
  .donut:after{inset:22px}
  .donut-center b{font-size:14px}
  .leg{font-size:9px}
  .breakdown{gap:8px}
  .row{font-size:10px}
  .row.total{font-size:12px}
  .note{font-size:10px}
  .sources{font-size:9px}
  .actions{
    position:sticky;
    bottom:max(8px,var(--safe-bottom));
    z-index:5;
    margin:0 8px 8px;
    padding:8px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:15px;
    background:rgba(7,10,15,.86);
    backdrop-filter:blur(18px);
  }
  .actions .btn{flex:1}

  /* Mobile table becomes readable stacked product cards. */
  .table-wrap{
    overflow:visible;
    padding:0 10px 4px;
  }
  table{min-width:0;table-layout:auto}
  thead{display:none}
  tbody{display:grid;gap:10px}
  tbody tr{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    padding:12px;
    background:rgba(255,255,255,.025);
  }
  tbody tr:hover{background:rgba(255,255,255,.025)}
  tbody td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:8px 3px;
    border-bottom:1px solid rgba(255,255,255,.055);
    text-align:right!important;
    overflow:visible;
    white-space:normal!important;
  }
  tbody td::before{
    color:#8f99aa;
    font-size:8px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-align:left;
    font-weight:800;
  }
  tbody td:nth-child(1){
    grid-column:1/-1;
    display:block;
    padding-top:0;
  }
  tbody td:nth-child(1)::before{content:none}
  tbody td:nth-child(2)::before{content:"Qtd."}
  tbody td:nth-child(3)::before{content:"Unit. US$"}
  tbody td:nth-child(4)::before{content:"Total R$"}
  tbody td:nth-child(5)::before{content:"Total US$"}
  tbody td:nth-child(6)::before{content:"Subtotal US$"}
  tbody td:nth-child(7)::before{content:"Imposto US$"}
  tbody td:nth-child(8)::before{content:"Status"}
  tbody td:nth-child(7),tbody td:nth-child(8){border-bottom:0}
  .prod{gap:9px}
  .prod b{font-size:12px}
  .prod small{font-size:9px;white-space:normal}
  .ico{width:34px;height:34px}
  .drag-handle{width:22px;height:34px}
  .qty button{width:30px;height:32px}
  .qty input{width:34px;height:32px}
  .price-input{max-width:100px;min-height:36px;padding:7px}
  .pill{font-size:8px}
  .modal{place-items:end center;padding:0}
  .modal-box{
    width:100%;
    max-height:min(88dvh,760px);
    overflow:auto;
    border-radius:22px 22px 0 0;
    padding:
      18px
      max(16px,var(--safe-right))
      max(18px,var(--safe-bottom))
      max(16px,var(--safe-left));
  }
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .modal-actions{
    position:sticky;
    bottom:0;
    margin:16px -4px -4px;
    padding:10px 4px 4px;
    background:linear-gradient(180deg,transparent,#0f141d 25%);
  }
}

@media (max-width:430px){
  .controls{grid-template-columns:1fr}
  .summary{grid-template-columns:1fr 1fr}
  .donut-wrap{grid-template-columns:1fr;justify-items:center}
  .legend{width:100%}
  tbody tr{grid-template-columns:1fr}
  tbody td:nth-child(n){grid-column:auto}
  tbody td:nth-child(1){grid-column:1/-1}
  tbody td:nth-child(7),tbody td:nth-child(8){border-bottom:1px solid rgba(255,255,255,.055)}
  tbody td:last-child{border-bottom:0}
}

/* ---------- Expanded /painel ---------- */
@media (min-width:901px) and (max-width:1180px){
  .shell{grid-template-columns:195px minmax(0,1fr)}
  .side{padding:20px 12px}
  .brand{font-size:16px;padding-left:6px;padding-right:6px}
  .content{padding:28px 22px}
  .top{padding:0 22px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2,.layout{grid-template-columns:1fr}
  .scenario{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  .shell{display:block;min-height:100dvh}
  .side{
    position:sticky;
    top:0;
    z-index:40;
    width:100%;
    height:auto;
    padding:
      max(8px,var(--safe-top))
      max(10px,var(--safe-right))
      8px
      max(10px,var(--safe-left));
    border-right:0;
    border-bottom:1px solid var(--line);
    background:rgba(8,11,16,.94);
    backdrop-filter:blur(18px);
    flex-direction:row;
    align-items:center;
    gap:8px;
  }
  .brand{padding:0 8px 0 0;flex:0 0 auto;font-size:15px}
  .brand i{width:31px;height:31px}
  .brand span{display:none}
  .side > .nav{
    display:flex;
    gap:5px;
    min-width:0;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding-bottom:1px;
  }
  .side > .nav::-webkit-scrollbar{display:none}
  .side > .nav button{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 11px;
    white-space:nowrap;
  }
  .sidefoot{margin:0 0 0 auto;flex:0 0 auto}
  .sidefoot .nav button{
    width:40px;
    min-width:40px;
    min-height:38px;
    padding:8px;
    overflow:hidden;
    white-space:nowrap;
    font-size:0;
  }
  .sidefoot .nav button::first-letter{font-size:15px}
  .main{min-width:0}
  .top{
    position:sticky;
    top:55px;
    height:60px;
    padding:0 max(15px,var(--safe-right)) 0 max(15px,var(--safe-left));
    z-index:30;
  }
  .tripselect{min-width:0}
  .tripselect select{max-width:min(50vw,310px);font-size:12px}
  .content{
    padding:
      24px
      max(16px,var(--safe-right))
      max(34px,var(--safe-bottom))
      max(16px,var(--safe-left));
  }
  .head{align-items:flex-start}
  .head h1{font-size:clamp(29px,7vw,42px)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2,.layout{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scenario{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tripfacts{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:640px){
  .side{gap:4px}
  .brand{padding-right:4px}
  .side > .nav button{
    min-height:36px;
    padding:7px 10px;
    font-size:10px;
  }
  .top{top:53px}
  .user div:not(.avatar){display:none}
  .user b,.user small{display:none}
  .content{
    padding:
      20px
      max(12px,var(--safe-right))
      max(28px,var(--safe-bottom))
      max(12px,var(--safe-left));
  }
  .head{gap:14px;margin-bottom:18px}
  .head h1{font-size:clamp(27px,9vw,37px)}
  .head p{font-size:11px;line-height:1.5}
  .actions{
    position:static;
    margin:0;
    padding:0;
    background:none;
    border:0;
    backdrop-filter:none;
  }
  .actions .btn{min-width:0}
  .stats{gap:8px}
  .stat{padding:13px;border-radius:15px}
  .stat strong{font-size:20px}
  .panel{padding:15px;border-radius:16px}
  .panel h2{font-size:17px}
  .big{font-size:31px;margin-top:18px}
  .cards{grid-template-columns:1fr}
  .product,.trip,.store,.doc{border-radius:16px;padding:14px}
  .tripfacts{grid-template-columns:1fr 1fr}
  .scenario{grid-template-columns:1fr 1fr}
  .toolbar{gap:7px}
  .toolbar input,.toolbar select{width:100%}
  .form{grid-template-columns:1fr}
  .form .full{grid-column:auto}
  .modal{place-items:end center;padding:0}
  .box{
    width:100%;
    max-height:min(90dvh,800px);
    border-radius:22px 22px 0 0;
    padding:
      18px
      max(15px,var(--safe-right))
      max(18px,var(--safe-bottom))
      max(15px,var(--safe-left));
  }
  .modalactions{
    position:sticky;
    bottom:0;
    padding-top:12px;
    background:linear-gradient(180deg,transparent,#0d1219 30%);
  }
  .chat{height:min(48dvh,380px)}
  .chatbar{
    position:sticky;
    bottom:0;
    padding-top:8px;
    background:#10151d;
  }
}

@media (max-width:420px){
  .tripselect select{max-width:58vw}
  .stats{grid-template-columns:1fr}
  .scenario{grid-template-columns:1fr}
  .head .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .rate{align-items:stretch;flex-wrap:wrap}
  .rate input{width:100%}
  .jumbo strong{font-size:38px}
  .meta{grid-template-columns:1fr}
  .cardactions{flex-direction:column}
}

/* Short landscape phones: preserve usable vertical space. */
@media (max-height:500px) and (orientation:landscape) and (max-width:950px){
  .side{position:relative}
  .top{top:0;position:relative}
  .modal,.box,.modal-box{max-height:100dvh}
}

.mobile-order{display:none}
@media (max-width:700px){
  .drag-handle{display:none!important}
  .mobile-order{
    display:inline-flex;
    gap:5px;
    margin-right:2px;
    vertical-align:middle;
  }
  .mobile-order button{
    width:34px;
    height:34px;
    min-height:34px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:9px;
    background:rgba(255,255,255,.05);
    color:#fff;
    font-weight:900;
    cursor:pointer;
  }
}


/* ---------- Production landing + authentication ---------- */
@media (max-width:1100px){
  .landing-container{padding-left:24px!important;padding-right:24px!important}
  .landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;gap:40px!important}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:820px){
  .landing-header{gap:14px!important;flex-wrap:wrap!important}
  .landing-nav{order:3;width:100%;justify-content:center!important}
  .landing-header-actions{margin-left:auto}
  .landing-hero{
    grid-template-columns:1fr!important;
    padding-top:56px!important;
    padding-bottom:64px!important;
    gap:44px!important;
  }
  .landing-hero-copy{max-width:680px!important}
  .landing-hero-visual{width:min(100%,620px)!important;margin-inline:auto!important}
  .landing-strip .landing-container{overflow-x:auto;justify-content:flex-start!important;gap:28px!important;scrollbar-width:none}
  .landing-strip .landing-container::-webkit-scrollbar{display:none}
  .landing-strip span{white-space:nowrap}
  .feature-grid{grid-template-columns:1fr 1fr!important}
  .landing-section-intro{max-width:680px!important}
}

@media (max-width:640px){
  .landing-container{
    padding-left:max(16px,var(--safe-left))!important;
    padding-right:max(16px,var(--safe-right))!important;
  }
  .landing-header{
    padding-top:max(14px,var(--safe-top))!important;
    align-items:center!important;
  }
  .landing-header .brand{font-size:15px!important}
  .landing-header .brand-mark{width:30px!important;height:30px!important}
  .landing-nav{display:none!important}
  .landing-header-actions{gap:8px!important}
  .landing-login{padding:10px 8px!important;font-size:12px!important}
  .landing-button.small{padding:10px 12px!important;font-size:11px!important}
  .landing-hero{
    padding-top:38px!important;
    padding-bottom:48px!important;
    min-height:0!important;
  }
  .landing-kicker{font-size:10px!important}
  .landing-hero h1{
    font-size:clamp(38px,11.8vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
  }
  .landing-hero-copy>p{font-size:14px!important;line-height:1.55!important}
  .landing-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .landing-hero-actions .landing-button,
  .landing-hero-actions .landing-secondary{
    min-height:48px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .landing-trust{gap:8px 14px!important;font-size:10px!important}
  .preview-window{border-radius:20px!important}
  .preview-inner{padding:16px!important}
  .preview-head{gap:8px!important;align-items:flex-start!important}
  .preview-head strong{font-size:17px!important}
  .preview-rate{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .preview-item{grid-template-columns:auto 1fr!important}
  .preview-item>strong{grid-column:2!important;text-align:left!important}
  .preview-total{align-items:flex-end!important}
  .preview-float{left:10px!important;right:10px!important;bottom:-25px!important;width:auto!important}
  .landing-strip{margin-top:24px!important}
  .landing-features,.landing-how{padding-top:68px!important;padding-bottom:68px!important}
  .landing-section-intro h2{
    font-size:clamp(31px,9vw,43px)!important;
    line-height:1.02!important;
  }
  .feature-grid{grid-template-columns:1fr!important}
  .feature-card{min-height:0!important}
  .landing-how-grid{grid-template-columns:1fr!important}
  .landing-cta-inner{padding:34px 20px!important;border-radius:22px!important}
  .landing-footer .landing-container{flex-direction:column!important;align-items:flex-start!important;gap:18px!important}

  .auth-shell{
    width:100%;
    max-width:520px;
    margin:0 auto;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:
      max(30px,var(--safe-top))
      max(18px,var(--safe-right))
      max(30px,var(--safe-bottom))
      max(18px,var(--safe-left));
  }
  .auth-shell h1{font-size:clamp(30px,9vw,40px);margin-bottom:8px}
  .auth-shell p{font-size:13px}
  .auth-form{gap:12px;margin:18px 0}
  .auth-form input{min-height:48px;border-radius:12px}
  .google-button{min-height:48px}
  .auth-links{gap:8px}
  .account-bar{
    align-items:stretch;
    gap:8px;
    padding:10px;
    margin:0 0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.025);
  }
  .account-bar select{width:100%;max-width:none}
  .save-state{width:100%;margin-left:0!important}
  .share-result{align-items:stretch;flex-direction:column}
  .share-result .btn{width:100%}
  .share-entry{align-items:flex-start;flex-direction:column}
}

@media (max-width:390px){
  .landing-header-actions .landing-login{display:none!important}
  .landing-button.small{font-size:10px!important}
  .landing-hero h1{font-size:clamp(35px,12vw,48px)!important}
  .preview-rate{grid-template-columns:1fr!important}
}


/* Unified panel account controls */
#sharedScopeWrap{display:flex;align-items:center;gap:8px}
#sharedScopeWrap[hidden]{display:none!important}
.tripselect>div{display:flex;align-items:center;gap:8px}
.user .link{padding:8px}
body[data-readonly="1"] .btn.primary{opacity:.55}
@media(max-width:900px){
  .top{gap:10px}
  .tripselect{min-width:0;overflow:hidden}
  .tripselect>div{min-width:0}
  #sharedScopeWrap{max-width:44vw}
  #listScopeSelect{max-width:32vw}
  #sharePanel{padding:8px 10px}
}
@media(max-width:640px){
  .top{height:auto;min-height:60px;padding-top:8px;padding-bottom:8px;align-items:center}
  .tripselect{display:grid;gap:3px;flex:1}
  .tripselect>div{justify-content:flex-start}
  #sharedScopeWrap{max-width:100%}
  #listScopeSelect,.tripselect select{max-width:46vw;font-size:11px}
  #sharePanel{font-size:0;width:38px;min-width:38px;padding:7px}
  #sharePanel:before{content:"↗";font-size:15px}
  #signOutPanel{font-size:10px;padding:6px}
}
@media(max-width:420px){
  #listScopeSelect,.tripselect select{max-width:42vw}
  #signOutPanel{display:inline-flex;font-size:0!important;padding:7px 8px!important}
  #signOutPanel:after{content:"Trocar";font-size:10px}
}


/* Complete merged /painel modules */
.calc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}
.calc-layout{align-items:stretch}
.calc-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.calc-controls label,.exchange-target label,.travel-editor label{display:grid;gap:6px;color:var(--muted);font-size:9px}
.calc-controls input,.exchange-target input,.exchange-target select,.travel-editor input,.travel-editor textarea,.calc-table input,.calc-table select,.travel-editor select{
  width:100%;min-width:0;border:1px solid var(--line);background:#0b1016;color:white;border-radius:10px;padding:9px 10px;outline:none
}
.calc-controls small{font-size:8px;color:var(--muted)}
.toggle-line{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px}
.toggle-line span{display:grid;gap:4px}.toggle-line b{color:white;font-size:10px}.toggle-line small{font-size:8px}.toggle-line input{width:20px!important;height:20px}
.credit-actions{display:flex;gap:8px;margin-top:15px}.credit-actions .btn{flex:1}
.credit-list{display:grid;gap:8px;margin-top:12px}.credit-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px}
.credit-row b,.credit-row small{display:block}.credit-row b{font-size:10px}.credit-row small{font-size:8px;color:var(--muted);margin-top:3px}
.credit-row button{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}
.calc-table-panel{margin-bottom:15px}.calc-table-wrap{overflow:auto;margin-top:14px;-webkit-overflow-scrolling:touch}
.calc-table{width:100%;min-width:960px;border-collapse:collapse}.calc-table th{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.calc-table td{font-size:9px;padding:8px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}.calc-table td b,.calc-table td small{display:block}.calc-table td small{color:var(--muted);margin-top:3px}
.calc-table input{width:76px;padding:7px}.calc-table select{width:120px;padding:7px}
.travel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.travel-form-grid fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:14px;padding:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.travel-editor input[type=number],.travel-editor input[type=date],.travel-editor input[type=datetime-local]{max-width:110px}
.travel-form-grid legend{padding:0 7px;color:white;font-size:11px;font-weight:850}.travel-form-grid .wide{grid-column:1/-1}.travel-form-grid .check{display:flex;align-items:center;gap:8px;color:white}.travel-form-grid .check input{width:17px;height:17px}
.travel-notes{margin-top:12px}.trip-cost-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.trip-cost-summary span{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:9px;color:var(--muted)}.trip-cost-summary b{color:white}
.exchange-target{display:flex;gap:8px;align-items:flex-end}.exchange-target label{min-width:145px}
.exchange-table{margin-top:14px;overflow:auto}.exchange-row{display:grid;grid-template-columns:minmax(160px,1.3fr) .55fr .55fr .9fr .9fr .8fr;gap:8px;align-items:center;padding:9px;border-bottom:1px solid rgba(255,255,255,.06);font-size:9px;min-width:760px}
.exchange-row.exchange-head{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.025)}
.exchange-row input{width:64px;border:1px solid var(--line);background:#0b1016;color:white;border-radius:8px;padding:6px}.exchange-provider b,.exchange-provider small{display:block}.exchange-provider small{color:var(--muted);margin-top:3px}
.exchange-selected{margin-top:12px;padding:11px;border:1px solid rgba(201,255,74,.18);background:rgba(201,255,74,.06);border-radius:11px;color:var(--accent);font-size:10px;font-weight:800}

@media(max-width:1050px){
  .calc-kpis{grid-template-columns:1fr 1fr}
  .travel-form-grid{grid-template-columns:1fr}
  .trip-cost-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .calc-kpis{grid-template-columns:1fr 1fr;gap:8px}
  .calc-controls{grid-template-columns:1fr}
  .credit-actions{flex-direction:column}
  .travel-form-grid fieldset{grid-template-columns:1fr}
  .travel-form-grid .wide{grid-column:auto}
  .travel-editor input[type=number],.travel-editor input[type=date],.travel-editor input[type=datetime-local]{max-width:none}
  .trip-cost-summary{grid-template-columns:1fr}
  .exchange-target{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .exchange-target label{min-width:0}
  .calc-table{min-width:0}
  .calc-table thead{display:none}
  .calc-table tbody{display:grid;gap:10px}
  .calc-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;padding:10px}
  .calc-table td{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(255,255,255,.05)}
  .calc-table td:first-child{grid-column:1/-1;display:block}.calc-table td:last-child{border-bottom:0}
  .calc-table td:nth-child(2)::before{content:"Qtd."}.calc-table td:nth-child(3)::before{content:"Unit. US$"}.calc-table td:nth-child(4)::before{content:"Subtotal"}.calc-table td:nth-child(5)::before{content:"Imposto"}.calc-table td:nth-child(6)::before{content:"Troca"}.calc-table td:nth-child(7)::before{content:"Total US$"}.calc-table td:nth-child(8)::before{content:"Total R$"}.calc-table td:nth-child(9)::before{content:"Status"}
  .calc-table td::before{font-size:7px;color:var(--muted);text-transform:uppercase;font-weight:800}
  .calc-table input,.calc-table select{width:110px}
}
@media(max-width:420px){
  .calc-kpis{grid-template-columns:1fr}
  .exchange-target{grid-template-columns:1fr}
  .calc-table tr{grid-template-columns:1fr}
  .calc-table td:first-child{grid-column:auto}
}

.exchange-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.exchange-links a{color:#cbd5e1;text-decoration:none;border:1px solid var(--line);padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.025);font-size:9px}

/* Account identity visibility */
#accountEmail{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){
  .user{gap:6px}
  .user div{display:grid!important}
  .user b{display:none!important}
  .user small{display:block!important;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}
}
