/* Queridinhas — identidade visual 2.0. Somente apresentação. */
:root {
  --navy: #06367f;
  --navy2: #092a64;
  --ink: #082c6f;
  --text: #173454;
  --muted: #778ba6;
  --line: #dce8f7;
  --bg: #f3f7fd;
  --orange: #ff7415;
  --blue: #075bbd;
  --shadow: 0 10px 28px rgba(4,48,111,.055);
  --gold: #f8b83a;
}
html{scroll-behavior:smooth}
body { background:var(--bg); color:var(--text); }
body.app-body {background: radial-gradient(circle at 100% 4%, #fff0d7 0, transparent 28%), #f3f7fd;}
/* Sidebar and visual identity */
.sidebar {background:#fff; border-right:1px solid #dfe9f6; box-shadow:3px 0 28px rgba(3,51,122,.025); padding:22px 17px 20px;}
.side-brand { display:flex;justify-content:center;align-items:center;padding:0 0 19px;margin:0 0 24px;border-bottom:1px solid #e7eff8;}
.brand-logo-side {display:block;width:100%;max-width:190px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(18,73,138,.065));}
.side-caption {color:#9bacc1;}
.side-nav{gap:7px}
.nav-link {color:#496584;border-radius:12px;transition:.18s ease;}
.nav-link:hover {background:#eaf2ff;color:#063f8d;}
.nav-link.active{background:linear-gradient(115deg,#03449d,#052f79);color:#fff;box-shadow:0 10px 20px rgba(5,63,142,.15);position:relative;}
.nav-link.active:before{content:"";position:absolute;left:0;top:24%;height:52%;width:3px;border-radius:0 5px 5px 0;background:var(--gold)}
.nav-icon{color:inherit}
.sidebar-user{border-color:#e6edf7}
.avatar,.top-avatar{color:#06459b;background:#e8f2ff;border-color:#d5e5f8}
.sidebar-foot{color:#9aacc0}
/* Top of each page */
.topbar{background:rgba(255,255,255,.96);border-bottom:1px solid #e1eaf6}
.breadcrumb{color:#748ba7}.breadcrumb strong{color:#063d90}
.content {padding-top:41px}
.eyebrow{color:#dd5e00;font-weight:900;letter-spacing:.16em}
.page-heading h1{color:#06357d;font-size:clamp(27px,2.4vw,35px)}
.page-heading h1:after{content:"";display:block;width:44px;height:4px;border-radius:3px;background:linear-gradient(90deg,#ff770f,#f7b935);margin-top:11px}
.soft-dot{color:var(--orange)}
.page-heading p{color:#7489a3}
/* Action buttons */
.btn-primary,.btn-dark{background:linear-gradient(105deg,#053e95,#072b69);color:#fff;border-color:#073b8e;box-shadow:0 9px 20px rgba(4,53,132,.13)}
.btn-primary:hover,.btn-dark:hover{background:linear-gradient(110deg,#0757b4,#06408e)}
.btn-primary:focus-visible,.btn-dark:focus-visible,.nav-link:focus-visible,.mobile-bottom a:focus-visible{outline:3px solid #f8b83a;outline-offset:3px}
.btn-outline{border-color:#cfe0f5;color:#063e89}
.btn-outline:hover{background:#edf5ff}
/* Stats and cards */
.stat-card{border:1px solid #e0eaf7;border-radius:17px;box-shadow:var(--shadow)}
.stat-card.featured{background:radial-gradient(circle at 105% 95%,rgba(255,140,29,.27),transparent 49%),linear-gradient(135deg,#0958b7,#062b70 78%);border-color:#074e9f}
.stat-card.featured:before{content:"";position:absolute;left:20px;top:0;right:20px;height:3px;border-radius:0 0 9px 9px;background:linear-gradient(90deg,#ff7812,#f7b93f)}
.stat-card>strong{color:#0d3875}.featured.stat-card>strong{color:#fff}
.stat-icon{background:#0f62ba}.stat-icon.blue{background:#e7f1ff;color:#065ab4}
.stat-icon.purple{background:#fff0e1;color:#df6a14}
.stat-icon.amber{background:#fff5d9;color:#ba7308}
.period-switch{border-color:#dce8f7}
.period-switch a:hover{color:#f36d10}
.panel{border:1px solid #dfeaf7;border-radius:17px;box-shadow:var(--shadow)}
.panel-header h2,.step-title h2{color:#0b3677}
.text-link,.action-edit{color:#0359b0}
.meter::-webkit-progress-value{background:linear-gradient(90deg,#ff7115,#f8bf4a)}
.meter.blue::-webkit-progress-value{background:#0757b9}
.meter.gold::-webkit-progress-value{background:#f8b83a}
.meter.navy::-webkit-progress-value{background:#073c95}
.meter::-moz-progress-bar{background:#ff791d}
.meter.blue::-moz-progress-bar{background:#0757b9}
.meter.gold::-moz-progress-bar{background:#f8b83a}
.meter.navy::-moz-progress-bar{background:#073c95}
.sales-table th{background:#f7faff;color:#8195af}
.cell-customer,.amount-cell{color:#073575!important}
.pill{background:#ecf3ff;color:#2b60a4}
/* Form controls and choices */
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(248,184,58,.42);outline-offset:1px;border-color:#0a66bb!important}
.step-num{color:#0756ad;background:#e8f2ff;border-radius:12px}
.product-choice-body,.payment-choice-body{border-color:#dfe9f7;border-radius:13px}
.product-choice:hover .product-choice-body,.payment-choice:hover .payment-choice-body{border-color:#ff9d3e}
.product-choice input:checked+.product-choice-body,.payment-choice input:checked+.payment-choice-body{border-color:#f47c1e;box-shadow:0 0 0 3px rgba(255,133,36,.13)}
.product-choice input:focus-visible+.product-choice-body,.payment-choice input:focus-visible+.payment-choice-body{outline:3px solid #f9b941;outline-offset:3px}
.payment-symbol{background:#e8f2ff;color:#0959b2}
.receipt-hero{background:linear-gradient(115deg,#063a87,#0757b3)!important}
/* Mobile navigation */
.mobile-bottom{border-top:1px solid #d9e6f6;box-shadow:0 -10px 25px rgba(8,55,112,.09);background:#fff}
.mobile-bottom a.active{color:#054fa7}
.mobile-bottom .mobile-add>span{background:linear-gradient(135deg,#ff7115,#f6ac32);color:#072960;box-shadow:0 5px 13px rgba(242,121,20,.2)}
.mobile-bottom .mobile-add.active>span{background:#0756b0;color:#fff}
/* Authentication: logo, new panel, warm glow */
body.guest-body{background:radial-gradient(circle at 10% 8%,#d9e9ff 0, transparent 32%),radial-gradient(circle at 96% 98%,#ffecd0 0,transparent 39%),#f5f8ff}
.guest-wrap{box-shadow:0 28px 85px rgba(5,49,117,.12);border:1px solid #e9eff8}
.guest-illustration{background:radial-gradient(circle at 90% 96%,rgba(247,147,48,.34),transparent 39%),linear-gradient(145deg,#074ca5,#052a70 70%);padding:37px 46px}
.guest-illustration:after{border-color:#ffffff20}
.guest-brand{display:block;width:min(100%,250px)}
.brand-logo-guest{display:block;width:100%;max-width:235px;aspect-ratio:1;object-fit:contain;border-radius:20px;background:#fff;box-shadow:0 15px 33px rgba(0,21,65,.2)}
.guest-illustration .eyebrow.light{color:#ffd48b}
.guest-illustration h1{color:white;text-shadow:0 3px 10px #062e622f}
.guest-illustration h1:after{content:"";display:block;width:65px;height:5px;border-radius:5px;background:linear-gradient(90deg,#ff7214,#f8c248);margin-top:18px}
.guest-illustration p{color:#d5e6fa}
.guest-form h2{color:#063579}
.guest-form .form-intro{color:#7489a4}
.login-form label{color:#19416e}
.login-form input{border-color:#d6e5f4;background:#fbfdff}
.login-form input:focus{border-color:#0b5eb1}
.login-form .btn-primary{border-radius:11px}
.mobile-brand{display:none}
.brand-logo-mobile{width:148px;height:148px;object-fit:contain;border-radius:12px}
.login-note{color:#7890a8}
@media(max-width:1250px){
  .sidebar{padding:18px 13px}
  .brand-logo-side{max-width:162px}
  .side-brand{padding-bottom:12px;margin-bottom:12px}
}
@media(max-width:920px){
  .sidebar{padding:15px 8px}
  .brand-logo-side{max-width:61px}
  .side-brand{padding:0 0 16px;margin:0 0 14px}
  .guest-illustration{padding:27px}
  .brand-logo-guest{max-width:190px}
}
@media(max-width:600px){
  body.app-body{background:radial-gradient(circle at 100% 0%,#ffe8c7,transparent 28%),#f3f7fd}
  .topbar{border-bottom:2px solid #e1ebf8}
  .breadcrumb span:first-child{color:#064c9f;font-weight:800}
  .content{padding-top:23px}
  .page-heading h1{font-size:29px}
  .page-heading h1:after{height:3px;margin-top:8px}
  .stat-card{border-radius:14px}
  .mobile-bottom{padding-left:4px;padding-right:4px}
  .mobile-bottom a{min-width:56px}
  .guest-wrap{margin:0;min-height:100dvh;border:none;border-radius:0}
  .guest-form{padding:24px 25px 46px;background:radial-gradient(circle at 98% 0%,#fff1dc,transparent 36%),#fff}
  .mobile-brand{display:flex;justify-content:center;margin:0 0 26px}
  .brand-logo-mobile{width:200px;height:200px;max-width:100%}
  .guest-form h2{font-size:29px}
  .login-form .btn-primary{min-height:53px}
}
@media(max-width:370px){
  .mobile-brand{margin-bottom:16px}
  .brand-logo-mobile{height:156px;width:156px}
}

/* QUERIDINHAS — LOGIN MINIMALISTA V3 — INICIO */
/* Somente a identidade da marca + campos de acesso. Nenhuma regra de painel alterada. */
body.guest-body {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  padding:22px;
  background:radial-gradient(circle at 0% 0%,#e4efff 0,transparent 42%),
             radial-gradient(circle at 100% 100%,#fff0db 0,transparent 42%),
             #f5f8fd;
}
body.guest-body .guest-wrap {
  display:block!important;
  flex:none!important;
  width:min(100%,470px);
  max-width:470px;
  min-height:0!important;
  margin:0 auto!important;
  overflow:hidden;
  border:1px solid #dfebf9;
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 70px rgba(4,44,103,.12);
}
body.guest-body .guest-illustration {display:none!important;}
body.guest-body .guest-form {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:36px 44px 42px!important;
  background:#fff!important;
}
body.guest-body .mobile-brand {
  display:flex!important;
  justify-content:center;
  align-items:center;
  margin:0 auto 12px!important;
  width:100%;
}
body.guest-body .brand-logo-mobile {
  display:block;
  width:min(100%,268px)!important;
  height:auto!important;
  aspect-ratio:1;
  max-width:100%;
  object-fit:contain;
  border:0;
  border-radius:0!important;
}
body.guest-body .guest-form > .eyebrow,
body.guest-body .guest-form > h2,
body.guest-body .guest-form > .form-intro,
body.guest-body .guest-form > .login-note {display:none!important;}
body.guest-body .login-form {gap:17px;}
body.guest-body .login-form input {min-height:50px;font-size:15px;}
body.guest-body .login-form .btn-primary {min-height:54px;margin-top:10px;}
body.guest-body .guest-form > .alert {margin:0 0 22px;}
@media(max-width:600px){
  body.guest-body {padding:14px;}
  body.guest-body .guest-wrap {max-width:460px;min-height:0!important;margin:auto!important;border-radius:20px;}
  body.guest-body .guest-form {padding:25px 24px 31px!important;min-height:0;flex:0 1 auto;}
  body.guest-body .brand-logo-mobile {width:min(100%,238px)!important;}
  body.guest-body .mobile-brand {margin-bottom:8px!important;}
}
@media(max-width:370px){
  body.guest-body .guest-form {padding:19px 19px 25px!important;}
  body.guest-body .brand-logo-mobile {width:min(100%,210px)!important;}
}
/* QUERIDINHAS — LOGIN MINIMALISTA V3 — FIM */
