/* FormaCerta - interface executiva, sidebar compacta e menu móvel */
.brand{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px 5px 25px;min-height:75px}
.v3-logo-frame{background:#fff;border-radius:10px;padding:7px 9px;display:block;flex:1;overflow:hidden;height:53px;min-width:0}
.v3-logo{display:block;height:100%;width:100%;max-width:100%;object-fit:contain}
.v3-side-toggle{border:1px solid #435668;background:#213448;color:white;border-radius:11px;min-width:39px;height:40px;display:grid;place-items:center;font-size:21px;cursor:pointer}
.v3-side-toggle:hover{background:#324a62}
.v3-burger{display:none;border:1px solid #d9e3ee;background:#fff;border-radius:10px;width:42px;height:42px;font-size:23px;flex-shrink:0}
.sidebar{transition:width .2s ease}
.sidebar.v3-collapsed{width:79px;padding-inline:11px}
.sidebar.v3-collapsed .brand{display:grid;justify-content:center;gap:8px;padding:6px 0 20px}
.sidebar.v3-collapsed .v3-logo-frame{width:48px;max-width:48px;height:46px;padding:4px;flex:auto;display:flex;justify-content:flex-start}
.sidebar.v3-collapsed .v3-logo{width:190px;max-width:none;min-width:190px;object-fit:contain;object-position:left;height:38px}
.sidebar.v3-collapsed .v3-side-toggle{height:36px;min-width:38px}
.sidebar.v3-collapsed .nav button{font-size:0;justify-content:center;padding:13px 6px;gap:0;min-height:48px}
.sidebar.v3-collapsed .nav button span{font-size:23px!important}
.sidebar.v3-collapsed .sidebar-bottom{padding:0;border:0;font-size:0;text-align:center}
.sidebar.v3-collapsed .sidebar-bottom strong,.sidebar.v3-collapsed .sidebar-bottom br{display:none}
.sidebar.v3-collapsed .sidebar-bottom button{font-size:11px;overflow:hidden;max-width:54px;margin-inline:auto;padding:7px 2px}
.v3-filter{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 14px;padding:16px 18px;border:1px solid #dfe8f1;background:#fff;border-radius:14px}
.v3-filter strong{font-size:14px}
.v3-filter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.v3-filter input{border:1px solid #dbe4ed;min-height:39px;border-radius:9px;padding:8px 12px;font:inherit;color:#233447}
.v3-forecasts .card{background:linear-gradient(160deg,#f8ffeb,#fff);border-color:#e5eed6}
.v3-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.v3-weekday{text-align:center;font-size:12px;font-weight:760;color:#637489;padding:7px 3px}
.v3-day{border:1px solid #dfe5ed;background:#fff;border-radius:11px;padding:11px 9px;min-height:83px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;transition:background .15s}
.v3-day strong{font-size:17px;color:#283c50}
.v3-day small{font-size:10px;color:#728399}
.v3-day:not(.empty-day):hover{border-color:#77b6ad;background:#f0fcf8}
.v3-day.selected{border-color:#1baf86;background:#e6fff5;box-shadow:inset 0 0 0 1px #1baf86}
.v3-day.empty-day{border:none;pointer-events:none;background:transparent}
.v3-period{border:1px solid #dee8ee;background:#f7fafc;border-radius:11px;padding:13px;margin:11px 0}
.v3-period h4{font-size:14px;margin:0 0 10px;color:#192c40}
.v3-period-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v3-period-fields label{font-size:12px;font-weight:700;color:#526579}
.v3-period input{border:1px solid #dbe3ed;border-radius:8px;background:white;min-height:42px;padding:8px;width:100%;max-width:100%;display:block;margin-top:6px}
.v3-period .field{margin-top:10px;margin-bottom:0}
.v3-photo-fields{display:grid;gap:9px;margin:10px 0}
.v3-photo-fields label{font-size:12px;color:#4b5d71;font-weight:700}
.v3-photo-fields input{display:block;border:1px solid #e1e6ec;background:white;border-radius:8px;padding:7px;width:100%;margin-top:5px}
.v3-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.v3-photo-grid a{border-radius:9px;overflow:hidden;aspect-ratio:4/3;background:#f0f2f4}
.v3-photo-grid img{width:100%;height:100%;object-fit:cover}
.v3-review[hidden]{display:none!important}
.v3-review label{color:#244353}
.v3-backdrop{display:none}
.sidebar .nav button{overflow:hidden}
@media(max-width:1160px) and (min-width:741px){
  .sidebar:not(.v3-collapsed){width:227px}
  .sidebar .v3-logo-frame{height:49px;padding:5px}
}
@media(max-width:740px){
 .app{display:block}
 .sidebar,.sidebar.v3-collapsed{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(288px,86vw);height:100dvh;z-index:70;transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 18px 60px #0d203055;padding:20px 13px}
 .sidebar.v3-open{transform:translateX(0)}
 .sidebar .brand,.sidebar.v3-collapsed .brand{display:flex;align-items:center;padding:5px 0 24px;gap:8px}
 .sidebar .nav,.sidebar.v3-collapsed .nav{display:flex;flex-direction:column;gap:5px;overflow:visible;flex:1;padding:0}
 .sidebar .nav button,.sidebar.v3-collapsed .nav button{width:100%;font-size:14px;text-align:left;display:flex;justify-content:flex-start;gap:13px;padding:13px 12px;min-height:46px}
 .sidebar.v3-collapsed .nav button span{font-size:19px!important}
 .sidebar .sidebar-bottom,.sidebar.v3-collapsed .sidebar-bottom{display:block;font-size:12px;padding:15px 7px 0;border-top:1px solid #2d4255}
 .sidebar.v3-collapsed .sidebar-bottom strong,.sidebar.v3-collapsed .sidebar-bottom br{display:inline}
 .sidebar .sidebar-bottom button,.sidebar.v3-collapsed .sidebar-bottom button{font-size:12px;max-width:100%;width:100%}
 .sidebar.v3-collapsed .v3-logo-frame{flex:1;width:auto;max-width:none}
 .sidebar.v3-collapsed .v3-logo{width:100%;min-width:0}
 .v3-backdrop{display:block;position:fixed;inset:0;z-index:60;border:0;border-radius:0;background:#07152699;width:100%;height:100dvh}
 .v3-side-toggle{display:none}
 .v3-burger{display:grid;place-items:center}
 .main{width:100%;padding:18px 13px 50px;max-width:none}
 .topline{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
 .topline>div:first-of-type{flex:1;min-width:180px}
 .top-actions{width:100%;justify-content:flex-start}
 .v3-filter-controls{width:100%}
 .v3-filter input{flex:1}
 .v3-calendar-grid{gap:4px}
 .v3-day{min-height:67px;padding:7px 5px;border-radius:8px}
 .v3-day strong{font-size:14px}
 .v3-day small{font-size:9px}
 .v3-period-fields{grid-template-columns:1fr}
 .v3-photo-grid{grid-template-columns:repeat(3,1fr)}
 .v3-forecasts .card{padding:13px}
 .v3-forecasts .card .value{font-size:19px}
}

.v3-login-logo{display:block;width:min(250px,100%);max-height:55px;object-fit:contain;object-position:left;margin:0 0 24px}

/* Usar os PNGs oficiais sem fundo nem cartão, em suas cores originais. */
.sidebar .v3-logo-frame{background:transparent;border-radius:0;padding:0;display:flex;align-items:center;justify-content:flex-start;width:100%;height:48px;flex:1;overflow:hidden;}
.sidebar .v3-logo{display:block;width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center;flex-shrink:0}
.sidebar.v3-collapsed .v3-logo-frame{width:44px;max-width:44px;height:44px;padding:0;flex:auto;display:block;overflow:hidden;border-radius:0;background:transparent}
.sidebar.v3-collapsed .v3-logo{width:333px;min-width:333px;max-width:none;height:44px;max-height:44px;object-fit:fill;object-position:left top}
.v3-login-logo{width:min(265px,100%);max-height:62px;object-fit:contain;object-position:left center}
.v3-new-customer[hidden],.v3-quick-schedule[hidden]{display:none!important}
@media(max-width:740px){
 .sidebar.v3-collapsed .v3-logo-frame{width:100%;max-width:none;display:flex;align-items:center;justify-content:flex-start}
 .sidebar.v3-collapsed .v3-logo{width:100%;min-width:0;max-width:100%;height:auto;max-height:44px;object-fit:contain}
}

/* Ocultar controles do cronômetro ao escolher apontamento manual. */
.v3-only-digital[hidden]{display:none!important}


/* V3.1 - Barra compacta harmonizada: sem sobreposições em desktop. */
@media (min-width:741px) {
 .sidebar {
   min-width:0;
   overflow:hidden;
 }
 .sidebar .nav {
   flex:1 1 auto;
   min-height:0;
   overflow-y:auto;
   overflow-x:hidden;
   scrollbar-width:none;
 }
 .sidebar .nav::-webkit-scrollbar {display:none}
 .sidebar .brand {flex:0 0 auto}
 .sidebar .sidebar-bottom {flex:0 0 auto}
 .sidebar.v3-collapsed {
   width:76px;
   min-width:76px;
   padding:18px 10px 14px;
   align-items:stretch;
   overflow:hidden;
 }
 .sidebar.v3-collapsed .brand {
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:flex-start;
   gap:8px;
   margin:0;
   padding:0 0 15px;
   min-height:0;
   width:100%;
   overflow:visible;
 }
 .sidebar.v3-collapsed .v3-logo-frame {
   width:40px;
   min-width:40px;
   max-width:40px;
   height:40px;
   min-height:40px;
   flex:0 0 40px;
   display:block;
   border-radius:10px;
   overflow:hidden;
 }
 .sidebar.v3-collapsed .v3-logo {
   display:block;
   width:303px;
   min-width:303px;
   max-width:none;
   height:40px;
   min-height:40px;
   max-height:40px;
   object-fit:fill;
   object-position:left center;
 }
 .sidebar.v3-collapsed .v3-side-toggle {
   display:grid;
   place-items:center;
   width:34px;
   min-width:34px;
   max-width:34px;
   height:32px;
   min-height:32px;
   padding:0;
   flex:0 0 32px;
   border-radius:9px;
   font-size:22px;
   line-height:1;
 }
 .sidebar.v3-collapsed .nav {
   display:flex;
   flex-direction:column;
   align-items:stretch;
   gap:5px;
   padding:0;
   margin:0;
 }
 .sidebar.v3-collapsed .nav button {
   position:relative;
   display:flex;
   flex:0 0 auto;
   align-items:center;
   justify-content:center;
   width:100%;
   min-width:0;
   min-height:46px;
   height:46px;
   padding:0;
   gap:0;
   border-radius:12px;
   white-space:nowrap;
   overflow:hidden;
   font-size:0;
 }
 .sidebar.v3-collapsed .nav button span {
   font-size:21px!important;
   line-height:1;
   flex:0 0 auto;
 }
 .sidebar.v3-collapsed .nav button.active::before {
   position:absolute;
   top:50%;
   left:3px;
   transform:translateY(-50%);
   margin:0;
   width:3px;
   height:20px;
 }
 .sidebar.v3-collapsed .sidebar-bottom {
   margin-top:auto;
   padding:10px 0 0;
   border-top:1px solid #2a3c4e;
   text-align:center;
   font-size:0;
   line-height:0;
   overflow:hidden;
 }
 .sidebar.v3-collapsed .sidebar-bottom > strong,
 .sidebar.v3-collapsed .sidebar-bottom > br {display:none}
 .sidebar.v3-collapsed .sidebar-bottom button {
   display:grid;
   place-items:center;
   width:42px;
   min-width:42px;
   max-width:42px;
   height:42px;
   min-height:42px;
   margin:0 auto;
   padding:0;
   border-radius:11px;
   font-size:0;
   line-height:1;
   overflow:hidden;
   white-space:nowrap;
 }
 .sidebar.v3-collapsed .sidebar-bottom button::before {
   content:"⇥";
   color:#e8f1fa;
   font-size:23px;
   line-height:1;
 }
}

/* Conta e recuperação de senha */
.v3-forgot {
 display:block;
 width:100%;
 margin-top:14px;
 padding:9px;
 background:transparent;
 border:0;
 color:#1b8068;
 font-size:13px;
 font-weight:750;
 text-decoration:underline;
 text-underline-offset:3px;
 cursor:pointer;
}
.v3-forgot:hover{color:#0b5848}
#v3-recovery-form .field input{width:100%}
#v3-recovery-form .auth-error{min-height:20px;margin:7px 0}
