/* Marca original sem moldura ou texto duplicado. */
.f3-brand{display:flex;align-items:center;justify-content:center;padding:10px 8px!important;gap:0!important;min-height:104px}
.tonsors-sidebar-logo{display:block;width:100%;max-width:205px;height:auto;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;flex-shrink:1}
.tonsors-mobile-logo{display:block;height:48px;width:auto;max-width:180px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.tonsors-login-logo{display:block;width:min(320px,90%);height:auto;margin:0 auto 20px;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;object-fit:contain}
.auth-card{text-align:center}.auth-card form{text-align:left}
.tonsors-booking-logo{display:flex!important;flex-direction:column;align-items:center;gap:8px!important}
.tonsors-booking-logo img{width:min(330px,100%);height:auto;display:block;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.tonsors-booking-logo small{font-size:11px;letter-spacing:2px;font-weight:700;color:#b66b3b}
@media(max-width:700px){.tonsors-booking-logo img{width:min(280px,88vw)}.tonsors-mobile-logo{height:40px}.tonsors-sidebar-logo{max-width:180px}}

/* Menu lateral: altura determinada apenas pela imagem. */
body.f3-app:not(.public-booking) .f3-sidebar > .f3-brand {
    display: flex !important;
    flex: none !important;
    align-self: stretch !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 8px 8px !important;
    margin: 0 0 4px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    border-bottom: 1px solid #293137 !important;
}
body.f3-app:not(.public-booking) .f3-sidebar > .f3-brand > .tonsors-sidebar-logo {
    display: block !important;
    width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}

/* Acoes compactas em tabelas: somente icones. */
.f3-app .table td:has(.f3-icon-action){white-space:nowrap;}
.f3-app .table td form:has(.f3-icon-action),
.f3-app .table td details.person-editor{display:inline-block!important;vertical-align:middle!important;width:auto!important;margin:2px!important;}
.f3-app .table td .f3-icon-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;margin:0!important;border-radius:8px!important;line-height:1!important;font-size:15px!important;cursor:pointer!important;box-sizing:border-box!important;}
.f3-app .table td .f3-icon-action i{font-size:15px!important;line-height:1!important;}
.f3-app .table td .f3-icon-danger{color:#f19a9a!important;}
.f3-app .table td details.person-editor[open]{display:block!important;white-space:normal;margin:8px 0!important;}
.f3-app .table td details.person-editor[open] form{display:block!important;width:100%!important;}
.f3-app .table td details.person-editor[open] form button{width:auto!important;}

/* Login independente do painel administrativo */
body.tonsors-login-page{background:#0b0f12!important;color:#f4f5f6!important;min-height:100dvh;display:grid;place-items:center;margin:0;padding:24px 16px}
.tonsors-login-main{width:100%;max-width:430px;margin:0 auto;padding:0!important;min-height:0!important}
.tonsors-login-panel{background:#192127;border:1px solid #303b43;border-radius:18px;padding:30px 30px 32px;box-shadow:0 16px 50px rgba(0,0,0,.22);margin:0}
.tonsors-login-panel .tonsors-login-logo{width:min(245px,100%);height:auto;margin:0 auto 12px;display:block}
.tonsors-login-panel h1{text-align:center;font-size:23px;margin:0 0 25px;color:#fff;font-family:Outfit,system-ui,sans-serif}
.tonsors-login-panel form{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}
.tonsors-login-panel label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#dce2e7}
.tonsors-login-panel input{background:#10171b;color:#fff;border:1px solid #3b4850;border-radius:9px;width:100%;padding:12px}
.tonsors-login-panel input:focus{outline:2px solid #b77b45;outline-offset:1px}
.tonsors-login-panel button{width:100%;padding:13px;background:#ae7841;color:#fff;border:0;border-radius:9px;font-weight:700;cursor:pointer}
.tonsors-login-panel button:hover{background:#c28b53}
@media(max-width:480px){.tonsors-login-panel{padding:24px 20px}.tonsors-login-panel .tonsors-login-logo{width:min(220px,100%)}}

/* Botao Editar (summary) segue exatamente o mesmo visual das demais acoes. */
body.f3-app .table td details.person-editor > summary.f3-icon-action{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:32px!important;min-width:32px!important;max-width:32px!important;
  height:32px!important;min-height:32px!important;max-height:32px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;
  background:#a8773d!important;color:#fff!important;box-shadow:none!important;
  list-style:none!important;appearance:none!important;-webkit-appearance:none!important;
  cursor:pointer!important;vertical-align:middle!important;line-height:1!important;
}
body.f3-app .table td details.person-editor > summary.f3-icon-action::-webkit-details-marker{display:none!important}
body.f3-app .table td details.person-editor > summary.f3-icon-action::marker{content:''}
body.f3-app .table td details.person-editor > summary.f3-icon-action::before,
body.f3-app .table td details.person-editor > summary.f3-icon-action::after{content:none!important;display:none!important}
body.f3-app .table td details.person-editor > summary.f3-icon-action:hover{background:#c9924a!important}
body.f3-app .table td details.person-editor > summary.f3-icon-action:focus-visible{outline:2px solid #f4ca87!important;outline-offset:2px!important}
body.f3-app .table td details.person-editor > summary.f3-icon-action i{color:#fff!important;font-size:15px!important;line-height:1!important}

/* Agenda e dashboard: ações de concluir/cancelar idênticas e compactas */
body.f3-app .table td a.f3-appointment-action,
body.f3-app .table td button.f3-appointment-action{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:32px!important;min-width:32px!important;max-width:32px!important;
 height:32px!important;min-height:32px!important;max-height:32px!important;
 padding:0!important;margin:2px!important;border-radius:8px!important;
 background:#aa7b3d!important;color:#fff!important;border:1px solid #aa7b3d!important;
 text-decoration:none!important;box-shadow:none!important;vertical-align:middle!important;
 font-size:15px!important;line-height:1!important;box-sizing:border-box!important;
}
body.f3-app .table td a.f3-appointment-action i,
body.f3-app .table td button.f3-appointment-action i{color:#fff!important;font-size:15px!important;line-height:1!important}
body.f3-app .table td a.f3-appointment-action:hover,
body.f3-app .table td button.f3-appointment-action:hover{background:#c39250!important;border-color:#c39250!important}

/* Navegação compacta por grupos */
.f3-side-nav .f3-nav-group{margin:3px 8px;border:1px solid transparent;border-radius:10px;overflow:hidden}
.f3-side-nav .f3-nav-group[open]{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07)}
.f3-side-nav .f3-nav-group-title{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:11px 13px;color:#b6bec5;font-size:11px;font-weight:750;letter-spacing:.095em;user-select:none}
.f3-side-nav .f3-nav-group-title::-webkit-details-marker{display:none}
.f3-side-nav .f3-nav-group-title .bi{font-size:11px;transition:transform .2s}
.f3-side-nav .f3-nav-group[open] .f3-nav-group-title{color:#e5b772}
.f3-side-nav .f3-nav-group[open] .f3-nav-group-title .bi{transform:rotate(180deg)}
.f3-side-nav .f3-nav-group-items{padding:0 4px 6px}
.f3-side-nav .f3-nav-group-items .f3-side-link{margin:1px 0;padding:9px 12px;font-size:13px;min-height:38px}
.f3-side-nav .f3-nav-group-items .f3-side-link i{font-size:16px}
.f3-side-nav{overflow-y:auto;overscroll-behavior:contain}

.ops-manage-links{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.ops-manage-links a{color:#c9d0d5;background:#1c262e;border:1px solid #394650;border-radius:8px;padding:8px 12px;text-decoration:none;font-size:13px}
.ops-manage-links a.active{color:#171b1f;background:#d5a04e}
.ops-manage-actions{white-space:nowrap}
.ops-manage-actions form,.ops-manage-actions details{display:inline-block;vertical-align:middle;margin:0 3px}
.ops-manage-actions details[open]{white-space:normal}

.f3-service-actions{white-space:nowrap;min-width:120px}.f3-service-actions>form,.f3-service-actions>details{display:inline-block;vertical-align:middle;margin:0 2px}.f3-service-actions .f3-icon-action{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0}.f3-service-actions details[open]{white-space:normal}

/* Edição de serviços em modal centralizado */
body.f3-app dialog.f3-service-modal{position:fixed;inset:0;margin:auto;width:min(92vw,490px);max-height:min(88dvh,720px);overflow-y:auto;box-sizing:border-box;padding:24px;border:1px solid #4c5157;border-radius:16px;background:#20272d;color:#f5f2ed;box-shadow:0 24px 90px #000b;white-space:normal;z-index:9999}
body.f3-app dialog.f3-service-modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
body.f3-app .f3-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}
body.f3-app .f3-modal-header h2{margin:5px 0 4px;font-size:23px;color:#fff}
body.f3-app .f3-modal-header p{margin:0;color:#aab3b9;font-size:13px}
body.f3-app .f3-modal-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;color:#d8a45a}
body.f3-app .f3-modal-x{width:32px;height:32px;min-width:32px;padding:0;display:grid;place-items:center;background:#343e45;color:#eee;border:0;border-radius:8px;cursor:pointer}
body.f3-app .f3-service-modal form{display:grid;gap:14px;margin:0}
body.f3-app .f3-service-modal label{display:grid;gap:6px;color:#d5dce0;font-size:13px;font-weight:600}
body.f3-app .f3-service-modal input{width:100%;min-height:43px;box-sizing:border-box;padding:10px 12px;border:1px solid #4b565d;border-radius:8px;background:#141b20;color:#fff;font-size:15px}
body.f3-app .f3-service-modal input:focus{outline:2px solid #d6a052;outline-offset:1px}
body.f3-app .f3-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:9px}
body.f3-app .f3-modal-footer button{min-height:40px;padding:9px 16px;width:auto!important;border-radius:8px}
body.f3-app .f3-modal-footer .f3-modal-cancel{background:#39434a;color:#e4e9ed;border:1px solid #525c63}
@media(max-width:480px){body.f3-app dialog.f3-service-modal{padding:18px;width:calc(100vw - 24px)}}

/* Alinhamento uniforme dos tres icones na tabela de servicos. */
body.f3-app td.f3-service-actions{vertical-align:middle!important;white-space:nowrap!important;padding-top:8px!important;padding-bottom:8px!important;}
body.f3-app .f3-service-action-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:max-content!important;min-height:32px!important;}
body.f3-app .f3-service-action-row>button,body.f3-app .f3-service-action-row>form{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;margin:0!important;padding:0!important;vertical-align:middle!important;}
body.f3-app .f3-service-action-row .f3-icon-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;margin:0!important;padding:0!important;line-height:1!important;box-sizing:border-box!important;}
body.f3-app .f3-service-action-row .f3-icon-action i{display:block!important;line-height:1!important;}

.f3-universal-edit-modal{width:min(480px,calc(100vw - 28px));max-height:min(85vh,760px);overflow-y:auto}.f3-universal-edit-modal form{display:flex;flex-direction:column;gap:12px}.f3-universal-edit-modal form label{display:flex;flex-direction:column;gap:5px}.f3-universal-edit-modal form label.check{flex-direction:row;align-items:center}.f3-universal-edit-modal .f3-modal-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:12px}.f3-modal-edit-trigger{display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;width:32px;height:32px}

/* Modais F3 v2: superfície, hierarquia, campos e rodapé padronizados. */
body.f3-app dialog.f3-universal-edit-modal,
body.f3-app dialog.f3-service-modal{
 width:min(94vw,560px)!important;max-width:560px!important;max-height:min(90dvh,790px)!important;
 padding:0!important;overflow:hidden!important;border:1px solid #414a50!important;
 border-radius:18px!important;background:#20272d!important;color:#f5f5f4!important;
 box-shadow:0 32px 90px rgba(0,0,0,.68),0 2px 8px rgba(0,0,0,.3)!important;
 scrollbar-width:thin;scrollbar-color:#4b555b transparent;
}
body.f3-app dialog.f3-universal-edit-modal::backdrop,
body.f3-app dialog.f3-service-modal::backdrop{background:rgba(7,11,14,.8)!important;backdrop-filter:blur(5px)}
body.f3-app .f3-service-modal .f3-modal-header{
 display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
 padding:25px 28px 20px;margin:0!important;border-bottom:1px solid #343f46;
 background:linear-gradient(145deg,#293239 0%,#20272d 75%);
}
body.f3-app .f3-service-modal .f3-modal-heading{min-width:0}
body.f3-app .f3-service-modal .f3-modal-eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:.15em;color:#d5a65d;margin-bottom:8px}
body.f3-app .f3-service-modal .f3-modal-header h2{margin:0 0 5px!important;font-size:21px!important;line-height:1.25!important;letter-spacing:-.025em;color:#f6f4f0;overflow-wrap:anywhere}
body.f3-app .f3-service-modal .f3-modal-header p{font-size:13px;color:#aeb8bd;margin:0!important;line-height:1.45}
body.f3-app .f3-service-modal .f3-modal-x{width:34px!important;height:34px!important;min-width:34px!important;display:grid!important;place-items:center;border-radius:9px!important;background:#343e45!important;color:#d8dfe2!important;border:1px solid #485158!important;transition:background .15s}
body.f3-app .f3-service-modal .f3-modal-x:hover{background:#4a555d!important;color:white!important}
body.f3-app .f3-service-modal .f3-modal-body{padding:22px 28px 26px;overflow-y:auto;max-height:calc(90dvh - 115px);overscroll-behavior:contain}
body.f3-app .f3-service-modal form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;margin:0!important;padding:0!important;max-width:none!important;background:none!important;box-shadow:none!important;border:0!important}
body.f3-app .f3-service-modal form>label,body.f3-app .f3-service-modal form>div:not(.f3-modal-footer){min-width:0}
body.f3-app .f3-service-modal label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;font-size:12px!important;font-weight:650!important;letter-spacing:.01em;color:#d5dcdf!important;margin:0!important}
body.f3-app .f3-service-modal input:not([type=checkbox]):not([type=hidden]),
body.f3-app .f3-service-modal select,
body.f3-app .f3-service-modal textarea{
 box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;
 min-height:44px!important;margin:0!important;padding:10px 13px!important;
 border:1px solid #48555e!important;border-radius:9px!important;
 background:#151d22!important;color:#f7f7f6!important;font:inherit!important;font-size:14px!important;
 box-shadow:none!important;outline:none!important;transition:border-color .15s,box-shadow .15s;
}
body.f3-app .f3-service-modal textarea{min-height:88px!important;resize:vertical}
body.f3-app .f3-service-modal input:focus,body.f3-app .f3-service-modal select:focus,body.f3-app .f3-service-modal textarea:focus{border-color:#d6a252!important;box-shadow:0 0 0 3px rgba(214,162,82,.16)!important}
body.f3-app .f3-service-modal input[type=checkbox]{width:17px!important;height:17px!important;accent-color:#d6a252}
body.f3-app .f3-service-modal label:has(input[type=checkbox]){flex-direction:row!important;align-items:center!important}
body.f3-app .f3-service-modal .f3-modal-footer{
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-end!important;
 gap:10px!important;padding:18px 0 0!important;margin-top:7px!important;border-top:1px solid #374148!important;
}
body.f3-app .f3-service-modal .f3-modal-footer button,
body.f3-app .f3-service-modal .f3-modal-footer input[type=submit]{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:112px!important;min-height:42px!important;padding:10px 18px!important;border-radius:9px!important;font-size:13px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important}
body.f3-app .f3-service-modal .f3-modal-footer .f3-modal-cancel{background:#313b42!important;color:#e3e9ec!important;border:1px solid #4c5961!important}
body.f3-app .f3-service-modal .f3-modal-footer .f3-modal-save{background:#d5a052!important;color:#1c1a16!important;border:1px solid #e3b36a!important;box-shadow:none!important}
body.f3-app .f3-service-modal .f3-modal-footer .f3-modal-save:hover{background:#e6b56b!important}
@media(max-width:520px){body.f3-app dialog.f3-service-modal{width:calc(100vw - 20px)!important;border-radius:14px!important}body.f3-app .f3-service-modal .f3-modal-header{padding:20px!important}body.f3-app .f3-service-modal .f3-modal-body{padding:20px!important}body.f3-app .f3-service-modal .f3-modal-footer button{flex:1!important;min-width:0!important}}

/* Situações em português, com badges compactas e consistentes. */
.f3-status-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;border:1px solid transparent;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.01em}
.f3-status-success{background:rgba(36,165,111,.13);border-color:rgba(56,190,133,.32);color:#70e3ac}
.f3-status-danger{background:rgba(218,80,80,.12);border-color:rgba(230,99,99,.3);color:#ff9696}
.f3-status-warning{background:rgba(214,159,61,.14);border-color:rgba(226,177,82,.32);color:#f2c777}

/* Gerenciamento de acessos: tabela limpa e ações compactas. */
.f3-access-panel{margin:20px 0}
.f3-access-head{margin-bottom:16px}
.f3-access-head h2{margin:5px 0}
.f3-access-head p,.f3-access-note{color:#9aa7b0;font-size:13px}
.f3-access-create{margin:12px 0 20px}
.f3-access-create-trigger{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border-radius:10px;background:#d6a456;color:#171b1e;font-weight:700;cursor:pointer;list-style:none}
.f3-access-create-trigger::-webkit-details-marker{display:none}
.f3-access-create-body{margin-top:14px;padding:20px;border:1px solid #35424a;border-radius:12px;background:#192229;max-width:560px}
.f3-access-create-body .form{display:grid;gap:12px}
.f3-access-create-body label{display:grid;gap:6px}
.f3-access-email{display:block;color:#9ca9b3;margin-top:4px;word-break:break-all}
.f3-access-table{overflow-x:auto}
.f3-access-table td{vertical-align:middle}
.f3-access-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.f3-access-actions form{display:inline-flex;margin:0!important;padding:0!important}
.f3-access-actions .f3-icon-action{width:32px!important;height:32px!important;min-width:32px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0!important}
.f3-access-note{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0}
@media(max-width:600px){.f3-access-table table{min-width:600px}.f3-access-create-body{padding:14px}}

/* Planos avançados */
.f3-plan-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.f3-plan-form-grid label,.plans-form-card label{display:flex;flex-direction:column;gap:6px}
.f3-plan-checkboxes{display:grid;gap:10px;padding:12px 0}
.f3-plan-checkboxes label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}
.f3-plan-checkboxes input{width:17px;height:17px}
.f3-plan-item{border:1px solid #36434a;border-radius:12px;padding:15px;margin:12px 0;background:#1a242b}
.f3-plan-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.f3-plan-item-head strong,.f3-plan-benefit strong{display:block}
.f3-plan-item-head small,.f3-plan-benefit small{display:block;color:#aab4bc;margin-top:5px}
.f3-plan-item p{color:#aab4bc;font-size:13px;margin:10px 0}
.f3-plan-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.f3-plan-tags span{border:1px solid #3a4850;border-radius:7px;padding:5px 8px;color:#cbd3d7;font-size:11px}
.f3-plan-actions{display:flex;align-items:center;gap:8px;margin-top:12px}
.f3-plan-actions .f3-icon-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}
.f3-plan-benefit{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #37424a}
.f3-plan-benefit form{margin:0}
@media(max-width:620px){.f3-plan-form-grid{grid-template-columns:1fr}}

/* Padronização global de ações compactas e situações. */
body.f3-app .f3-plan-actions,
body.f3-app .f3-access-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap}
body.f3-app .f3-plan-actions>form,
body.f3-app .f3-plan-actions>details,
body.f3-app .f3-access-actions>form,
body.f3-app .f3-access-actions>details{margin:0!important;padding:0!important;display:inline-flex!important;align-items:center!important}
body.f3-app .f3-plan-actions .f3-icon-action,
body.f3-app .f3-access-actions .f3-icon-action,
body.f3-app .f3-plan-actions .f3-modal-edit-trigger,
body.f3-app .f3-access-actions .f3-modal-edit-trigger{
display:inline-flex!important;align-items:center!important;justify-content:center!important;
width:32px!important;min-width:32px!important;max-width:32px!important;
height:32px!important;min-height:32px!important;max-height:32px!important;
margin:0!important;padding:0!important;border:1px solid #4a555b!important;
border-radius:8px!important;background:#293238!important;color:#e6e8e9!important;
box-shadow:none!important;font-size:15px!important;line-height:1!important;text-decoration:none!important;
cursor:pointer!important;appearance:none!important;
}
body.f3-app .f3-plan-actions .f3-icon-action:hover,
body.f3-app .f3-access-actions .f3-icon-action:hover{background:#3b454a!important;border-color:#c59a5a!important;color:#fff!important}
body.f3-app .f3-plan-actions .f3-icon-action i,
body.f3-app .f3-access-actions .f3-icon-action i{font-size:15px!important;line-height:1!important;color:inherit!important}
body.f3-app .f3-status-badge{display:inline-flex;align-items:center;justify-content:center;
font-size:11px;font-weight:700;line-height:1.25;padding:5px 9px;border-radius:999px;
border:1px solid transparent;white-space:nowrap;letter-spacing:.01em}
body.f3-app .f3-status-success{background:rgba(35,158,101,.14);color:#83ddb1;border-color:rgba(35,158,101,.32)}
body.f3-app .f3-status-warning{background:rgba(216,161,59,.13);color:#f3ca79;border-color:rgba(216,161,59,.3)}
body.f3-app .f3-status-danger{background:rgba(216,78,79,.13);color:#f6a4a4;border-color:rgba(216,78,79,.32)}
/* 2026-11: formulários de configuração e integração, sem grade horizontal forçada */
body.f3-app .f3-config-heading{margin:8px 0 22px}
body.f3-app .f3-config-heading h1,body.f3-app .f3-config-heading h2{margin:5px 0 6px}
body.f3-app .f3-config-heading p{margin:0;color:#aeb9c1;font-size:14px}
body.f3-app .f3-config-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
body.f3-app .f3-config-card{min-width:0;margin:0!important;padding:24px!important;border:1px solid #34434d;border-radius:16px;background:#192329}
body.f3-app .f3-config-wide{grid-column:1/-1}
body.f3-app .f3-config-card-title{display:flex;align-items:center;gap:13px;margin-bottom:22px}
body.f3-app .f3-config-card-title>i{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:rgba(198,148,75,.13);color:#dbad67;font-size:19px}
body.f3-app .f3-config-card-title h2{font-size:17px;margin:0 0 4px!important}
body.f3-app .f3-config-card-title p{margin:0;color:#a6b3bc;font-size:12px;line-height:1.5}
body.f3-app .f3-config-card label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:650;color:#e0e5e8}
body.f3-app .f3-config-card label small{color:#94a6b2;font-size:11px;font-weight:400}
body.f3-app .f3-config-card input:not([type=checkbox]),body.f3-app .f3-config-card textarea{width:100%;min-width:0;background:#10191f;border:1px solid #3a4b55;border-radius:9px;color:#f1f4f5;padding:12px 13px;font-size:13px;font-weight:450;line-height:1.5}
body.f3-app .f3-config-card textarea{min-height:145px;resize:vertical}
body.f3-app .f3-config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.f3-app .f3-config-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}
body.f3-app .f3-config-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;padding:14px 16px;border:1px solid #3a4b55;border-radius:11px;margin-bottom:20px;background:#141e24;cursor:pointer}
body.f3-app .f3-config-toggle input{width:18px!important;height:18px!important;flex:0 0 18px;accent-color:#c79a58}
body.f3-app .f3-config-toggle span{display:flex;flex-direction:column;gap:3px}
body.f3-app .f3-config-toggle small{font-size:12px;color:#a7b3ba;font-weight:400}
body.f3-app .f3-config-hint{margin-top:18px;color:#aeb9c1;font-size:12px;line-height:1.65;padding:12px 15px;border-radius:9px;background:#111c22}
body.f3-app .f3-config-footer{display:flex;justify-content:flex-end;margin:18px 0 26px}
body.f3-app .f3-config-footer button.f3-primary-action,body.f3-app .f3-config-test button.f3-secondary-action{width:auto!important;max-width:100%;min-height:42px;padding:10px 18px!important;border-radius:9px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important;align-items:center;gap:8px}
body.f3-app .f3-config-footer button.f3-primary-action{background:#b88a49!important;color:#14191b!important}
body.f3-app .f3-config-test{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 28px!important}
body.f3-app .f3-config-test h2{margin:0 0 5px!important}
body.f3-app .f3-config-test p{margin:0;color:#a7b3ba;font-size:13px}
body.f3-app .f3-config-test form{display:block!important;margin:0!important;flex:0 0 auto}
body.f3-app .f3-config-test button.f3-secondary-action{background:#2a363d!important;border:1px solid #50616c!important;color:#e8eef1!important}
body.f3-app .f3-plan-actions>a.f3-icon-action{color:#e6e8e9!important}
@media(max-width:900px){body.f3-app .f3-config-fields-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body.f3-app .f3-config-layout,body.f3-app .f3-config-fields,body.f3-app .f3-config-fields-three{grid-template-columns:1fr}body.f3-app .f3-config-wide{grid-column:auto}body.f3-app .f3-config-card{padding:18px!important}body.f3-app .f3-config-test{align-items:stretch;flex-direction:column}body.f3-app .f3-config-footer button{width:100%!important}}
body.f3-app form.form:has(>.f3-config-layout){display:block!important;width:100%;max-width:none!important}
body.f3-app .f3-config-test form.form{display:block!important;width:auto!important}

/* Layout fluido: todas as páginas internas usam a largura disponível ao lado do menu. */
@media (min-width: 992px) {
  body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 28px clamp(18px, 2vw, 38px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}
body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main > section,
body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main > article,
body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main > .plans-panel,
body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main > .finance-layout {
  max-width: none;
  min-width: 0;
}
body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main .table {
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 991px) {
  body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 20px 15px !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 600px) {
  body.f3-app:not(.public-booking):not(.tonsors-login-page) .f3-workspace > main {
    padding: 15px 12px !important;
  }
}

.f3-hour-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.f3-hour-actions>form,.f3-hour-actions>details{display:inline-flex;margin:0!important;padding:0!important}.f3-hour-actions .f3-icon-action{width:32px!important;min-width:32px!important;height:32px!important;display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;border-radius:8px!important}.f3-hour-actions .f3-icon-action i{font-size:15px}

/* Consentimento WhatsApp no agendamento */
.booking-optin.f3-whatsapp-consent{display:flex!important;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin:14px 0;border:1px solid #35454d;border-radius:13px;background:#1b262c;color:#f1f3f4;max-width:100%;box-sizing:border-box}
.f3-consent-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.f3-consent-copy strong{font-size:14px;font-weight:700}
.f3-consent-copy span{font-size:12px;line-height:1.5;color:#aebbc3}
.f3-switch{display:inline-flex!important;align-items:center;gap:9px;flex-shrink:0;cursor:pointer;user-select:none;margin:0!important}
.f3-switch input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.f3-switch-track{width:43px;height:25px;border-radius:30px;background:#69747a;position:relative;transition:background .15s ease;display:block;flex:none}
.f3-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 3px #0004}
.f3-switch input:checked+.f3-switch-track{background:#23875a}
.f3-switch input:checked+.f3-switch-track:after{transform:translateX(18px)}
.f3-switch input:focus-visible+.f3-switch-track{outline:3px solid #d9a54f;outline-offset:3px}
.f3-switch-state{font-size:12px;font-weight:700;color:#aebbc3;min-width:65px}
.f3-switch input:checked~.f3-switch-state{color:#8bd9b0}
@media(max-width:520px){.booking-optin.f3-whatsapp-consent{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}.f3-switch{align-self:flex-end}}

/* Avisos sonoros de agendamentos, apenas na área administrativa. */
.f3-appointment-alerts{position:fixed;bottom:18px;right:18px;z-index:700;max-width:min(410px,calc(100vw - 36px));min-width:min(320px,calc(100vw - 36px));background:#192329;color:#f3f5f5;border:1px solid #3a4850;border-radius:13px;box-shadow:0 12px 36px #0008;padding:10px 12px;font-size:13px}
.f3-alert-top,.f3-alert-top>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.f3-alert-top>span{font-weight:700}.f3-alert-top button{width:auto!important;min-height:30px!important;padding:5px 9px!important;border:1px solid #46545d!important;background:#29363d!important;color:#e8e8e8!important;border-radius:8px!important;font-size:12px!important}.f3-alert-top button:hover{border-color:#c49b5c!important}.f3-alert-dot{font-size:9px;color:#e5b35e}.f3-alert-list:empty{display:none}.f3-alert-entry{display:grid;gap:3px;padding:10px 0;border-top:1px solid #36434b;margin-top:9px}.f3-alert-entry span{color:#b6c4cc;font-size:12px;line-height:1.4}.f3-alert-clear{width:30px!important;padding:5px!important}
@media(max-width:650px){.f3-appointment-alerts{bottom:8px;right:8px;max-width:calc(100vw - 16px)}}

.f3-alert-status{font-size:11px;color:#9acbb5;margin-top:7px;line-height:1.35}.f3-alert-status.f3-alert-error{color:#f5b3a4}
