:root{
--bg:#f4f6fb;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#e1e5ee;
--navy:#0b1534;--blue:#4353ff;--purple:#7138ff;--orange:#ff7b21;--green:#12a875;
--danger:#c43838;--shadow:0 18px 45px rgba(26,35,58,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}button,input,select,textarea{font:inherit}
.auth-main{min-height:100vh}
.flash-area{position:fixed;z-index:999;top:18px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px))}
.flash{padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);font-weight:700;background:#fff;border:1px solid var(--border)}
.flash.sucesso{color:#0f805b;background:#ecfff8;border-color:#a8efd5}.flash.erro{color:#9b2c2c;background:#fff3f3;border-color:#ffd2d2}
.engage-logo{display:inline-flex;align-items:baseline;font-size:28px;font-weight:900;letter-spacing:-1.4px}.engage-logo.large{font-size:54px;letter-spacing:-2.8px}
.engage{color:#0b1534}.pro{background:linear-gradient(90deg,#5f32ff 0%,#d52cff 48%,#ff7a20 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-product{padding-left:9px;font-size:19px;font-weight:800;color:var(--navy);border-left:1px solid #d9dce6}.brand-link{display:flex;align-items:center;gap:9px;text-decoration:none}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-brand-panel{display:flex;align-items:center;justify-content:center;padding:64px;background:radial-gradient(circle at 20% 20%,rgba(108,74,255,.20),transparent 32%),radial-gradient(circle at 80% 80%,rgba(255,123,33,.14),transparent 30%),linear-gradient(145deg,#f7f5ff 0%,#f3f7ff 55%,#fff8f2 100%)}
.auth-brand-content{width:min(520px,100%)}.agenda-title{margin-top:12px;font-size:60px;font-weight:900;line-height:1;color:var(--navy);letter-spacing:-3px}.brand-subtitle{margin:24px 0 36px;max-width:460px;color:#596274;font-size:19px;line-height:1.6}
.brand-features{display:grid;gap:16px}.feature-item{display:flex;align-items:center;gap:12px;color:#30384a;font-weight:700}.feature-dot{width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));box-shadow:0 0 0 6px rgba(88,71,255,.09)}
.auth-form-panel{display:flex;justify-content:center;align-items:center;padding:48px 36px;background:#fff}.auth-card{width:min(450px,100%)}.mobile-logo{display:none}.eyebrow{display:inline-block;margin-bottom:10px;color:var(--blue);font-weight:900;font-size:12px;letter-spacing:1.3px}
.auth-card h1,.register-card h1,.dashboard-heading h1{margin:0;color:var(--navy);letter-spacing:-1.2px}.auth-card h1{font-size:38px}.auth-description{margin:12px 0 28px;color:var(--muted);line-height:1.55}
.auth-form,.register-form,.professional-form{display:grid}.auth-form label,.register-form label,.professional-form label{margin-bottom:8px;color:#273044;font-size:14px;font-weight:800}
.auth-form input,.register-form input,.register-form select,.professional-form input,.professional-form textarea,.professional-form select{width:100%;margin-bottom:18px;padding:13px 14px;outline:none;border:1px solid #d9deea;border-radius:12px;background:#fff;transition:.2s}
.auth-form input,.register-form input,.register-form select,.professional-form input,.professional-form select{height:50px}.professional-form textarea{resize:vertical}
.auth-form input:focus,.register-form input:focus,.register-form select:focus,.professional-form input:focus,.professional-form textarea:focus{border-color:#6d5cff;box-shadow:0 0 0 4px rgba(91,75,255,.10)}
.primary-btn{min-height:48px;padding:0 20px;border:0;border-radius:12px;color:#fff;background:linear-gradient(90deg,#4154ff 0%,#6c43ff 100%);box-shadow:0 10px 25px rgba(74,73,255,.22);font-weight:900;cursor:pointer}
.primary-btn.full{width:100%}.link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.auth-footer{margin-top:24px;text-align:center;color:var(--muted);font-size:14px}.auth-footer a{color:var(--purple);font-weight:800;text-decoration:none}
.register-page{min-height:100vh;padding:36px 20px 70px;background:radial-gradient(circle at 10% 0%,rgba(103,73,255,.12),transparent 24%),linear-gradient(180deg,#fbfbfe 0%,#f5f7fb 100%)}
.register-header{width:min(900px,100%);margin:0 auto 26px}.register-card{width:min(900px,100%);margin:0 auto;padding:40px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.register-card h1{font-size:34px}
.form-section{padding:24px 0;border-top:1px solid var(--border)}.form-section:first-child{border-top:0}.form-section h2{margin:0 0 20px;color:var(--navy);font-size:18px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.app-topbar{position:sticky;z-index:50;top:0;height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}
.topbar-right{display:flex;align-items:center;gap:20px}.company-info{display:grid;text-align:right}.company-name{color:var(--navy);font-weight:800}.company-info small{color:var(--muted)}.logout-btn{padding:9px 14px;border-radius:10px;color:#4a5263;background:#f3f5f9;text-decoration:none;font-weight:800;font-size:14px}
.app-main{min-height:calc(100vh - 76px)}.dashboard-shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:245px 1fr}
.sidebar{position:sticky;top:76px;align-self:start;min-height:calc(100vh - 76px);padding:24px 16px;background:#111a35;color:#fff}.menu-title{margin:10px 12px 12px;color:#7f8aa7;font-size:11px;font-weight:900;letter-spacing:1.2px}.menu-title.spaced{margin-top:32px}
.menu-item{min-height:46px;display:flex;align-items:center;gap:12px;margin:5px 0;padding:0 13px;border-radius:11px;text-decoration:none;color:#cbd3e7;font-weight:700}.menu-item span{min-width:22px;text-align:center}.menu-item.active{color:#fff;background:linear-gradient(90deg,rgba(83,75,255,.95),rgba(109,65,255,.95))}.menu-item.disabled{opacity:.72;cursor:default}
.sidebar-note{position:absolute;left:16px;right:16px;bottom:18px;padding:14px;display:grid;gap:3px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04)}.sidebar-note strong{font-size:13px}.sidebar-note span{color:#8994b1;font-size:12px}
.dashboard-content{padding:34px;overflow:hidden}.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.dashboard-heading h1{font-size:32px}.dashboard-heading p{margin:8px 0 0;color:var(--muted)}
.disabled-button{opacity:.55;cursor:default}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric-card{min-width:0;padding:22px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 25px rgba(31,41,55,.04)}.metric-label{display:block;margin-bottom:12px;color:var(--muted);font-size:14px}.metric-card strong{display:block;color:var(--navy);font-size:30px;letter-spacing:-1px}.metric-card small{display:block;margin-top:8px;color:#97a0b2}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:18px;margin-top:18px}.panel-card{min-width:0;padding:24px;background:#fff;border:1px solid var(--border);border-radius:18px}.panel-card-header h2,.roadmap-card h2{margin:0;color:var(--navy);font-size:20px}.panel-card-header p,.roadmap-card>p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.empty-state{padding:55px 20px;text-align:center}.empty-icon{margin-bottom:10px;font-size:38px}.empty-state h3{margin:0;color:var(--navy)}.empty-state p{max-width:430px;margin:8px auto 20px;color:var(--muted);line-height:1.5}
.appointment-list{margin-top:18px}.appointment-row{display:grid;grid-template-columns:72px minmax(160px,1fr) 95px 100px;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--border)}.appointment-time{color:var(--blue);font-weight:900}.appointment-main{display:grid;gap:3px}.appointment-main strong{color:var(--navy)}.appointment-main span{color:var(--muted);font-size:13px}.appointment-value{font-weight:800}
.status-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef2ff;color:#4f46e5;justify-content:center;font-size:12px;font-weight:900}.status-badge.success{background:#eafbf5;color:#0f8b63}.status-badge.inactive{background:#f1f2f5;color:#747b89}
.roadmap-list{margin-top:24px;display:grid;gap:14px}.roadmap-list>div{display:flex;align-items:center;gap:12px}.roadmap-number{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--purple));font-weight:900}.roadmap-list strong,.roadmap-list small{display:block}.roadmap-list strong{color:var(--navy)}.roadmap-list small{margin-top:3px;color:var(--muted)}.roadmap-card .link-btn{margin-top:24px}
.summary-strip{display:grid;grid-template-columns:repeat(3,180px);gap:12px;margin-bottom:18px}.summary-strip>div{padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:14px}.summary-strip strong{display:block;color:var(--navy);font-size:24px}.summary-strip span{color:var(--muted);font-size:13px}
.filter-tabs{display:flex;gap:8px;margin-bottom:14px}.filter-tabs a{padding:9px 14px;border-radius:10px;text-decoration:none;color:#626b7b;background:#e9ecf3;font-weight:800;font-size:13px}.filter-tabs a.active{color:#fff;background:var(--blue)}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{padding:12px 14px;text-align:left;color:#7a8394;font-size:12px;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--border)}.data-table td{padding:15px 14px;border-bottom:1px solid #eef0f5;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}
.person-cell{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#e9e7ff,#f4e9ff);color:#5b46db;font-weight:900}.person-cell strong,.person-cell small{display:block}.person-cell small{margin-top:3px;color:var(--muted);font-size:12px}
.actions-col{text-align:right}.action-buttons{display:flex;justify-content:flex-end;gap:7px;align-items:center}.action-buttons form{margin:0}.small-btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:0;border-radius:9px;text-decoration:none;background:#eef1ff;color:#4b47ce;font-weight:800;font-size:12px;cursor:pointer}.small-btn.secondary{background:#f0f2f6;color:#626b79}.small-btn.danger{background:#fff0f0;color:var(--danger)}.back-btn{padding:0 14px}
.form-card{max-width:900px}.professional-form{max-width:820px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr}.auth-brand-panel{display:none}.mobile-logo{display:flex;align-items:center;gap:8px;margin-bottom:42px}.dashboard-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-content{padding:24px 18px}}
@media(max-width:620px){.form-grid.two,.metrics-grid,.summary-strip{grid-template-columns:1fr}.register-card{padding:26px 20px}.register-card h1{font-size:28px}.dashboard-heading{align-items:flex-start;flex-direction:column}.app-topbar{padding:0 16px}.company-info{display:none}.brand-product{display:none}.appointment-row{grid-template-columns:55px 1fr}.appointment-value,.status-badge{grid-column:2}.form-actions{flex-direction:column-reverse}.form-actions>*{width:100%}.action-buttons{justify-content:flex-start}}

/* Fase 3: evita sobreposição do cartão de versão com Configurações */
.sidebar{padding-bottom:24px}
.sidebar-note{position:static;left:auto;right:auto;bottom:auto;margin-top:26px}

/* Serviços e preços */
.service-summary{grid-template-columns:repeat(3,minmax(180px,230px))}
.services-table{min-width:820px}
.service-cell{display:flex;align-items:center;gap:12px;max-width:430px}
.service-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px;background:linear-gradient(135deg,#eef0ff,#f8eaff);color:#6247e7;font-weight:900}
.service-cell strong,.service-cell small{display:block}.service-cell small{margin-top:4px;color:var(--muted);line-height:1.35}
.price-cell{font-weight:900;color:var(--navy);white-space:nowrap}
.field-help{display:block;margin-top:-10px;margin-bottom:18px;color:var(--muted);font-size:12px;line-height:1.4}
.money-input{position:relative}.money-input>span{position:absolute;left:14px;top:14px;z-index:1;color:#6f7788;font-weight:800}.money-input input{padding-left:43px}
.service-preview{display:grid;gap:5px;margin:4px 0 20px;padding:16px 18px;border:1px dashed #cfd5e5;border-radius:13px;background:#fafbff}.service-preview>span{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.service-preview strong{color:var(--navy)}.service-preview small{color:var(--muted)}
@media(max-width:620px){.service-summary{grid-template-columns:1fr}}






/* Fase 4.2 - layout unificado e Horários */
.sidebar{
    position:sticky;
    top:76px;
    align-self:start;
    min-height:calc(100vh - 76px);
    height:calc(100vh - 76px);
    overflow-y:auto;
    padding:24px 16px;
    padding-bottom:20px;
    background:#111a35;
    color:#fff;
}
.sidebar-note{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:26px;
}
.hours-page{
    min-width:0;
}
.hours-heading{
    margin-bottom:22px;
}
.hours-heading h1{
    color:var(--navy);
    font-size:32px;
    line-height:1.15;
}
.advance-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
    padding:22px 24px;
}
.advance-info{
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-width:0;
}
.advance-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    flex:0 0 46px;
    border-radius:13px;
    background:#f0edff;
    font-size:22px;
}
.advance-info h2{
    margin:0 0 5px;
    color:var(--navy);
    font-size:18px;
}
.advance-info p{
    margin:0;
    color:var(--muted);
    line-height:1.45;
}
.advance-control{
    width:190px;
    flex:0 0 190px;
}
.advance-control select{
    width:100%;
    height:46px;
    padding:0 13px;
    border:1px solid #d9deea;
    border-radius:11px;
    background:#fff;
    color:var(--navy);
    font-weight:800;
    outline:none;
}
.advance-control select:focus{
    border-color:#6757ff;
    box-shadow:0 0 0 4px rgba(98,81,255,.10);
}
.advance-control small{
    display:block;
    margin-top:7px;
    color:var(--muted);
    text-align:center;
}
.section-heading{
    margin:0 0 14px;
}
.section-heading h2{
    margin:0;
    color:var(--navy);
    font-size:20px;
}
.section-heading p{
    margin:5px 0 0;
    color:var(--muted);
}
.days-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
}
.day-card{
    min-width:0;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:0 6px 20px rgba(31,41,55,.035);
    transition:.2s ease;
}
.day-card.closed-day{
    background:#f8f9fc;
    opacity:.72;
}
.day-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding-bottom:14px;
    border-bottom:1px solid #edf0f5;
}
.day-card-top strong{
    display:block;
    color:var(--navy);
    font-size:16px;
}
.day-status{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}
.day-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.day-fields label{
    display:block;
    margin:0 0 6px;
    color:#697386;
    font-size:12px;
    font-weight:800;
}
.day-fields input{
    width:100%;
    height:42px;
    margin:0;
    padding:8px 10px;
    border:1px solid #d9deea;
    border-radius:10px;
    background:#fff;
}
.day-fields input:focus{
    border-color:#6757ff;
    box-shadow:0 0 0 3px rgba(98,81,255,.09);
    outline:none;
}
.day-note{
    display:block;
    margin-top:11px;
    color:#9299a8;
    font-size:11px;
}
.toggle{
    position:relative;
    width:46px;
    height:26px;
    flex:0 0 46px;
    margin:0;
}
.toggle input{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
}
.toggle-slider{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:#d8dde8;
    cursor:pointer;
    transition:.2s;
}
.toggle-slider::before{
    content:"";
    position:absolute;
    width:20px;
    height:20px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(0,0,0,.18);
    transition:.2s;
}
.toggle input:checked + .toggle-slider{
    background:linear-gradient(90deg,#4154ff,#7041ff);
}
.toggle input:checked + .toggle-slider::before{
    transform:translateX(20px);
}
.info-card{
    margin-top:16px;
}
.info-card strong{
    color:var(--navy);
}
.info-card p{
    margin:7px 0 0;
    color:var(--muted);
    line-height:1.55;
}
.hours-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:18px;
    padding:16px 0 4px;
}
.hours-actions span{
    color:var(--muted);
    font-size:13px;
}
@media(max-width:1050px){
    .days-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
    .sidebar{display:none}
    .dashboard-shell{grid-template-columns:1fr}
}
@media(max-width:700px){
    .advance-card{align-items:stretch;flex-direction:column}
    .advance-control{width:100%;flex:auto}
    .day-fields{grid-template-columns:1fr}
    .hours-actions{align-items:stretch;flex-direction:column}
    .hours-actions .primary-btn{width:100%}
}

/* Fase 5 - Agenda */
.agenda-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:15px}
.agenda-toolbar>div{min-width:190px}.agenda-toolbar label{display:block;margin-bottom:6px;color:#697386;font-size:12px;font-weight:800}
.agenda-toolbar input,.agenda-toolbar select{height:42px;margin:0;padding:0 11px;border:1px solid #d9deea;border-radius:10px;background:#fff}
.agenda-summary{grid-template-columns:repeat(4,minmax(150px,220px))}
.agenda-day-title{display:flex;justify-content:space-between;margin-bottom:10px}.agenda-day-title strong,.agenda-day-title span{display:block}.agenda-day-title strong{font-size:18px;color:var(--navy)}.agenda-day-title span{margin-top:3px;color:var(--muted);font-size:12px}
.agenda-list .appointment-time{min-width:74px}.agenda-list .appointment-time small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.status-form select{height:38px;border:1px solid #d9deea;border-radius:9px;padding:0 8px;background:#fff;font-weight:700}
.appointment-form{max-width:980px}.form-section{padding:4px 0 22px;margin-bottom:20px;border-bottom:1px solid #edf0f5}.form-section:last-of-type{border-bottom:0}.form-section h2{margin:0 0 16px;color:var(--navy);font-size:18px}
.booking-grid,.new-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-grid>div:last-child{grid-column:1/-1;max-width:50%}.new-client-grid{margin-top:14px}.new-client-grid .full{grid-column:1/-1}
.appointment-form label{display:block;margin-bottom:6px;color:#39435a;font-size:13px;font-weight:800}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:1px solid #d9deea;border-radius:10px;padding:11px 12px;background:#fff}.appointment-form select,.appointment-form input{height:44px}.appointment-form small{display:block;margin-top:5px;color:var(--muted)}
.slots-message{margin-bottom:12px;color:var(--muted);font-size:13px}.time-slots{display:flex;flex-wrap:wrap;gap:9px}.time-slot{min-width:72px;padding:10px 12px;border:1px solid #d9deea;border-radius:10px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.time-slot:hover{border-color:#6654ff;background:#f7f5ff}.time-slot.selected{border-color:#6654ff;background:#6654ff;color:#fff}
@media(max-width:700px){.agenda-summary{grid-template-columns:1fr 1fr}.booking-grid,.new-client-grid{grid-template-columns:1fr}.booking-grid>div:last-child{grid-column:auto;max-width:none}.appointment-row{grid-template-columns:70px 1fr}.appointment-value,.status-form{grid-column:2}}


/* Fase 5.1 - Clientes por WhatsApp */
.client-search-box{padding:16px 18px;border:1px solid #dde2ee;border-radius:14px;background:#fafbff}
.client-search-main label{display:block;margin-bottom:7px;color:#39435a;font-size:13px;font-weight:800}
.client-search-row{display:flex;gap:10px}.client-search-row input{flex:1}
.client-found-card{display:flex;align-items:center;gap:14px;margin-top:14px;padding:16px;border:1px solid #d9e9df;border-radius:14px;background:#f7fcf9}
.client-found-avatar{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:50%;background:#eef0ff;color:#5b4be1;font-weight:900;font-size:18px}
.client-found-main{min-width:0;flex:1}.client-found-main strong,.client-found-main span,.client-found-main small{display:block}.client-found-main strong{margin:2px 0 3px;color:var(--navy);font-size:17px}.client-found-main span{color:#4e596e}.client-found-main small{margin-top:3px;color:var(--muted)}
.new-client-box{margin-top:14px;padding:17px;border:1px dashed #cfd5e5;border-radius:14px;background:#fff}.new-client-title strong,.new-client-title small{display:block}.new-client-title strong{margin:3px 0;color:var(--navy)}.new-client-title small{color:var(--muted)}
.client-upcoming{margin-top:14px;padding:15px 16px;border-radius:13px;background:#f8f9fc}.client-upcoming>strong{display:block;margin-bottom:9px;color:var(--navy)}
.client-upcoming-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e7eaf1}.client-upcoming-item:first-child{border-top:0}.client-upcoming-item strong{color:#313b52;font-size:13px}.client-upcoming-item span{color:var(--muted);font-size:12px;text-align:right}
.client-summary{grid-template-columns:minmax(180px,260px)}
.client-list-search{display:flex;align-items:end;gap:10px;margin-bottom:18px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:15px}.client-list-search>div{flex:1;max-width:520px}.client-list-search label{display:block;margin-bottom:6px;color:#697386;font-size:12px;font-weight:800}.client-list-search input{width:100%;height:42px;margin:0;padding:0 12px;border:1px solid #d9deea;border-radius:10px}
.clients-table{min-width:760px}.client-detail-summary{grid-template-columns:repeat(3,minmax(180px,240px))}.client-detail-grid{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)}
.client-edit-form label{display:block;margin:13px 0 6px;color:#39435a;font-size:12px;font-weight:800}.client-edit-form input,.client-edit-form textarea{width:100%;padding:11px 12px;border:1px solid #d9deea;border-radius:10px;background:#fff}.client-edit-form .primary-btn{margin-top:15px}
.client-history{display:grid}.client-history-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #edf0f5}.client-history-item:first-child{border-top:0}.client-history-item>div:first-child strong,.client-history-item>div:first-child span{display:block}.client-history-item>div:first-child strong{color:var(--navy)}.client-history-item>div:first-child span{margin-top:4px;color:var(--muted);font-size:12px}.client-history-item>div:last-child{text-align:right}.client-history-item>div:last-child small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:850px){.client-detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.client-search-row,.client-list-search{align-items:stretch;flex-direction:column}.client-detail-summary{grid-template-columns:1fr}.client-upcoming-item{flex-direction:column}.client-upcoming-item span{text-align:left}}

/* Fase 5.2 - Recebimentos e resumo financeiro diário */
.payment-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:-2px 0 18px}
.payment-metric{display:flex;align-items:center;gap:13px;padding:17px 19px;background:#fff;border:1px solid var(--border);border-radius:15px}
.payment-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:12px;background:#f0edff;color:#5947e6;font-size:12px;font-weight:900}
.payment-metric span,.payment-metric strong,.payment-metric small{display:block}.payment-metric span{color:var(--muted);font-size:12px}.payment-metric strong{margin:3px 0;color:var(--navy);font-size:20px}.payment-metric small{color:#959cab;font-size:11px}
.finance-total-card{border-color:#d9d3ff;background:linear-gradient(135deg,#fff,#faf9ff)}
.paid-label{display:block;margin-top:4px;color:#21865b;font-size:10px;font-weight:900}.appointment-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.finish-btn{white-space:nowrap}
.payment-modal-backdrop{position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:20px;background:rgba(10,18,42,.55)}
.payment-modal{width:min(540px,100%);padding:24px;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.payment-modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.payment-modal-head h2{margin:4px 0;color:var(--navy)}.payment-modal-head p{margin:0;color:var(--muted)}.modal-close{border:0;background:#f1f3f8;width:36px;height:36px;border-radius:10px;font-size:22px;cursor:pointer}
.payment-modal form>label{display:block;margin:13px 0 7px;color:#39435a;font-size:12px;font-weight:800}.payment-money{position:relative}.payment-money span{position:absolute;left:13px;top:12px;font-weight:800;color:#667085}.payment-money input{width:100%;height:44px;padding:0 12px 0 42px;border:1px solid #d9deea;border-radius:10px}
.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.payment-options label{cursor:pointer}.payment-options input{position:absolute;opacity:0}.payment-options label>span{display:block;padding:13px;border:1px solid #d9deea;border-radius:11px}.payment-options strong,.payment-options small{display:block}.payment-options small{margin-top:3px;color:var(--muted);font-size:10px}.payment-options input:checked+span{border-color:#6654ff;background:#f6f4ff;box-shadow:0 0 0 2px rgba(102,84,255,.08)}
.payment-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:800px){.payment-metrics-grid{grid-template-columns:1fr}.payment-options{grid-template-columns:1fr}}

/* Fase 6 - Portal público de agendamento */
.public-main{min-height:100vh;background:#f5f6fb}.public-booking-page{min-height:100vh;color:#111a35}.public-booking-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1040px)/2));background:#fff;border-bottom:1px solid #e5e8f0}.public-brand{display:flex;align-items:center;gap:11px}.public-logo{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#4c55ff,#8a3cff);color:#fff;font-weight:900;font-size:19px}.public-brand strong,.public-brand span{display:block}.public-brand strong{font-size:16px}.public-brand span{margin-top:2px;color:#7b8498;font-size:12px}.public-secure{padding:8px 12px;border-radius:20px;background:#f3f1ff;color:#5b4ae6;font-size:12px;font-weight:800}
.public-booking-shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:46px 0 36px}.public-intro{text-align:center;margin-bottom:30px}.public-intro h1{margin:7px 0 8px;font-size:36px}.public-intro p{margin:0;color:#687287}
.public-step{display:grid;grid-template-columns:48px 1fr;gap:16px;margin-bottom:16px;padding:22px;background:#fff;border:1px solid #e0e4ed;border-radius:17px}.step-number{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#6654ff;color:#fff;font-weight:900}.step-content h2{margin:3px 0 5px;font-size:19px}.step-content>p{margin:0 0 15px;color:#7a8498;font-size:13px}
.public-phone-row{display:flex;gap:9px}.public-phone-row input,.public-new-client input,.public-date{width:100%;height:46px;padding:0 13px;border:1px solid #d8ddea;border-radius:11px;background:#fff;font-size:14px}.public-phone-row input{max-width:430px}.public-secondary-btn{height:46px;padding:0 17px;border:0;border-radius:11px;background:#eeecff;color:#5848de;font-weight:900;cursor:pointer}.public-help{display:block;margin-top:7px;color:#8991a2}.public-alert,.public-client-found{margin-top:11px;padding:11px 13px;border-radius:10px;background:#f5f6fa;color:#596276;font-size:12px}.public-alert.error{background:#fff0f0;color:#b53d3d}.public-client-found{background:#effaf4;color:#246e4d}.public-client-found strong,.public-client-found span{display:block}.public-client-found span{margin-top:2px}
.public-new-client{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f5}.public-new-client label{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.public-new-client label small{font-weight:500;color:#8b93a3}
.public-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.public-choice{cursor:pointer}.public-choice input{position:absolute;opacity:0}.public-choice>span{display:block;height:100%;padding:15px;border:1px solid #dce1eb;border-radius:12px;background:#fff}.public-choice strong,.public-choice small,.public-choice em{display:block}.public-choice strong{color:#17213d}.public-choice small{margin-top:4px;color:#818a9d;font-size:11px}.public-choice em{margin-top:9px;color:#5c4ce0;font-size:12px;font-style:normal;font-weight:800}.public-choice input:checked+span{border-color:#6654ff;background:#f7f5ff;box-shadow:0 0 0 2px rgba(102,84,255,.08)}.public-avatar{width:38px;height:38px;display:grid;place-items:center;margin-bottom:9px;border-radius:50%;background:#eeeaff;color:#604ee5;font-weight:900}
.public-date{max-width:300px;margin-top:10px}.public-slots-message{margin:12px 0;color:#7c8598;font-size:13px}.public-time-slots{display:flex;flex-wrap:wrap;gap:8px}.public-time{min-width:72px;padding:10px 12px;border:1px solid #dce1eb;border-radius:10px;background:#fff;color:#17213d;font-weight:900;cursor:pointer}.public-time:hover{border-color:#6654ff}.public-time.selected{background:#6654ff;border-color:#6654ff;color:#fff}
.public-confirm-area{text-align:center;padding:18px 0}.public-primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border:0;border-radius:12px;background:linear-gradient(135deg,#4859ff,#783dff);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 25px rgba(91,74,230,.18)}.public-confirm-area small{display:block;margin-top:9px;color:#8c94a4}.public-footer{text-align:center;padding:22px;color:#8a92a3;font-size:12px}
.public-result-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f5f6fb}.public-result-card{width:min(600px,100%);padding:35px;background:#fff;border:1px solid #e1e5ed;border-radius:20px;text-align:center;box-shadow:0 18px 50px rgba(17,26,53,.07)}.result-icon{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;font-size:28px;font-weight:900}.result-icon.success{background:#e9f9f0;color:#238358}.result-icon.error{background:#fff0f0;color:#bd4141}.public-result-card h1{margin:7px 0}.public-result-card>p{color:#737d91}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:24px 0;background:#e8ebf2;border:1px solid #e8ebf2;border-radius:13px;overflow:hidden;text-align:left}.result-details>div{padding:14px;background:#fafbfe}.result-details span,.result-details strong{display:block}.result-details span{color:#8991a1;font-size:10px;text-transform:uppercase;font-weight:800}.result-details strong{margin-top:4px;color:#17213d}.public-link-btn{text-decoration:none}.result-company{margin-top:22px;color:#9aa1af;font-size:11px}
@media(max-width:700px){.public-booking-header{padding:0 16px}.public-secure{display:none}.public-booking-shell{padding-top:28px}.public-intro h1{font-size:29px}.public-step{grid-template-columns:1fr;padding:17px}.step-number{width:32px;height:32px}.public-choice-grid{grid-template-columns:1fr 1fr}.public-new-client{grid-template-columns:1fr}.public-phone-row{flex-direction:column}.public-phone-row input{max-width:none}.result-details{grid-template-columns:1fr}}


/* Fase 6.1 - Acesso seguro do cliente */
.public-header-actions{display:flex;align-items:center;gap:8px}
.public-account-link{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:10px;background:#6654ff;color:#fff;text-decoration:none;font-size:12px;font-weight:900}
.public-account-link.light{background:#f1f2f7;color:#566075}
.verification-step{border-color:#d8ddeb}
.verified-step{border-color:#caead8;background:linear-gradient(135deg,#fff,#fbfffc)}
.verified-step .step-number{background:#25a46b}
.verified-client-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border:1px solid #d8eee1;border-radius:13px;background:#f6fcf8}
.verified-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#e6f8ee;color:#26835b;font-weight:900}
.verified-client-card strong,.verified-client-card span,.verified-client-card small{display:block}
.verified-client-card strong{color:#17213d}.verified-client-card span{margin-top:2px;color:#596477;font-size:13px}.verified-client-card small{margin-top:3px;color:#81908a;font-size:11px}
.code-stage{margin-top:14px;padding:15px;border:1px solid #dedfeb;border-radius:13px;background:#fafaff}
.code-stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.code-stage-head strong,.code-stage-head span{display:block}.code-stage-head span{margin-top:2px;color:#7c8598;font-size:12px}
.text-button{padding:0;border:0;background:transparent;color:#5e4de4;font-size:12px;font-weight:900;cursor:pointer}
.otp-row{display:flex;gap:9px}.otp-row input{width:180px;height:48px;padding:0 16px;border:1px solid #d4d9e5;border-radius:11px;font-size:22px;font-weight:900;letter-spacing:5px;text-align:center}
.code-stage>small{display:block;margin-top:8px;color:#8d95a5}
.public-alert.success{background:#effaf4;color:#246e4d}
.booking-locked{position:relative}.booking-locked>section,.booking-locked>.public-confirm-area{opacity:.42;pointer-events:none;filter:grayscale(.15)}
.booking-lock-message{position:sticky;top:10px;z-index:4;width:max-content;max-width:calc(100% - 20px);margin:0 auto 12px;padding:10px 14px;border-radius:999px;background:#18213c;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(17,26,53,.16)}
.public-primary-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.public-account-shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:42px 0}
.public-account-heading{margin-bottom:24px}.public-account-heading h1{margin:7px 0 6px;color:#111a35;font-size:34px}.public-account-heading p{margin:0;color:#727c90}
.public-account-section{margin-bottom:18px;padding:22px;background:#fff;border:1px solid #e0e4ed;border-radius:17px}
.account-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.account-section-head h2{margin:0;color:#17213d;font-size:20px}.account-section-head p{margin:4px 0 0;color:#7d8698;font-size:12px}
.public-appointments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.public-appointment-card{display:flex;gap:14px;padding:16px;border:1px solid #e1e5ee;border-radius:14px;background:#fcfcfe}
.appointment-date-box{width:62px;height:62px;display:grid;place-items:center;align-content:center;flex:0 0 62px;border-radius:13px;background:#eeeaff;color:#5d4be1}.appointment-date-box strong{font-size:23px;line-height:1}.appointment-date-box span{margin-top:3px;font-size:10px;font-weight:800}
.public-appointment-info{min-width:0}.public-appointment-info h3{margin:5px 0 3px;color:#17213d}.public-appointment-info p{margin:0;color:#747e92;font-size:12px}.public-appointment-info>strong{display:block;margin-top:8px;color:#17213d}
.account-status{display:inline-block;padding:4px 7px;border-radius:999px;background:#f0edff;color:#5c4ce0;font-size:9px;font-weight:900;text-transform:uppercase}
.public-empty-card{text-align:center;padding:28px;color:#7e8799}.public-empty-card>div{font-size:30px}.public-empty-card h3{margin:8px 0 4px;color:#17213d}.public-empty-card p{margin:0}
.public-history-list{display:grid}.public-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #edf0f5}.public-history-row:first-child{border-top:0}.public-history-row strong,.public-history-row span{display:block}.public-history-row>div:first-child strong{color:#17213d}.public-history-row>div:first-child span{margin-top:3px;color:#7c8598;font-size:12px}.public-history-row>div:last-child{text-align:right}.public-history-row>div:last-child strong{margin-top:5px;color:#17213d;font-size:12px}.public-muted{color:#8c94a4}
.result-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.public-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;background:#f1f2f7;color:#566075;text-decoration:none;font-weight:800}
@media(max-width:700px){
  .public-header-actions{gap:5px}.public-account-link{padding:0 9px;font-size:10px}
  .otp-row{flex-direction:column}.otp-row input{width:100%}.code-stage-head{align-items:flex-start}
  .public-appointments-grid{grid-template-columns:1fr}.account-section-head{align-items:flex-start;flex-direction:column}
  .public-account-heading h1{font-size:28px}.public-history-row{align-items:flex-start;flex-direction:column}.public-history-row>div:last-child{text-align:left}
}

/* Fase 6.2 - Cancelamento e exclusão de agendamentos */
.appointment-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.appointment-actions form{margin:0}
.cancel-appointment-btn{background:#fff4e8!important;color:#a65b00!important;border:1px solid #f3d6b1!important}
.delete-appointment-btn{background:#fff0f0!important;color:#c53b3b!important;border:1px solid #f1caca!important}
.public-cancel-form{margin-top:12px}
.public-cancel-btn{padding:8px 11px;border:1px solid #efc8c8;border-radius:9px;background:#fff4f4;color:#bb4141;font-size:11px;font-weight:900;cursor:pointer}
.public-cancel-btn:hover{background:#ffeaea}
.public-cancel-success{margin-bottom:18px;padding:13px 15px;border:1px solid #cdebd9;border-radius:12px;background:#effaf4;color:#25704e;font-size:13px;font-weight:800}
/* Fase 6.3 - remarcacao e historico */
.reschedule-appointment-btn,.public-reschedule-btn{background:#eeebff!important;color:#5945df!important;border:1px solid #d9d1ff!important;text-decoration:none}.movement-badge{display:inline-block!important;width:max-content;margin:4px 0;padding:4px 8px;border-radius:999px;font-size:9px!important;font-weight:900;text-transform:uppercase}.movement-badge.cancelled{background:#fff0f0;color:#bd4141}.movement-badge.rescheduled{background:#fff6df;color:#9b6800}.public-appointment-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.public-appointment-buttons .public-cancel-form{margin:0}.public-reschedule-btn{padding:8px 11px;border-radius:9px;font-size:11px;font-weight:900}.history-origin{display:block;margin-top:3px;color:#8a91a0}.old-schedule{display:grid;gap:4px;margin-bottom:20px;padding:15px;border-radius:12px;background:#f4f2ff;color:#17213d}.old-schedule span,.old-schedule small{color:#6e778a}.reschedule-card{max-width:760px}.reschedule-card form,.public-account-section form#rescheduleForm{display:grid;gap:10px}.reschedule-card select,.reschedule-card input,.public-account-section form#rescheduleForm select{height:46px;padding:0 12px;border:1px solid #d8dce7;border-radius:10px;background:#fff}.form-actions{display:flex;gap:10px;margin-top:12px}

/* Fase 6.3.1 - reversao de pagamento */
.reverse-payment-btn{background:#eef7ff!important;color:#1769aa!important;border:1px solid #c9e2f6!important}

/* Fase 6.4 - Aba Concluidos */
.agenda-view-tabs{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.agenda-view-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#e9ecf4;color:#596378;text-decoration:none;font-size:12px;font-weight:900}
.agenda-view-tab.active{background:#5c4cff;color:#fff}
.agenda-view-tab span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.75);color:#5c4cff;font-size:10px}
.agenda-view-tab.active span{background:rgba(255,255,255,.18);color:#fff}
.completed-date{display:block;margin-bottom:5px;color:#6f7890;font-size:10px;font-weight:800}

/* Fase 7 - Financeiro e Relatorios */
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:16px;padding:16px;background:#fff;border:1px solid #e1e5ee;border-radius:15px}
.report-filters>div{min-width:0}.report-filters label{display:block;margin:0 0 5px;color:#687287;font-size:10px;font-weight:900;text-transform:uppercase}
.report-filters input,.report-filters select{width:100%;height:42px;padding:0 10px;border:1px solid #dce1eb;border-radius:9px;background:#fff;color:#17213d}
.report-filters .primary-btn{align-self:end;height:42px;border:0;cursor:pointer}
.report-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px}.report-metrics-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.report-metric{padding:17px;background:#fff;border:1px solid #e1e5ee;border-radius:14px}.report-metric.featured{background:linear-gradient(135deg,#514eff,#7742ef);border-color:transparent;color:#fff}
.report-metric span,.report-metric strong,.report-metric small{display:block}.report-metric span{font-size:11px;font-weight:800;color:#7d8698}.report-metric strong{margin-top:7px;font-size:21px;color:#17213d}.report-metric small{margin-top:4px;color:#9299a8;font-size:10px}.report-metric.featured span,.report-metric.featured strong,.report-metric.featured small{color:#fff}
.report-table-wrap{overflow:auto;margin-top:8px}.report-table{width:100%;border-collapse:collapse;min-width:850px}.report-table th{padding:10px;text-align:left;border-bottom:1px solid #e6e9f0;color:#81899a;font-size:10px;text-transform:uppercase}.report-table td{padding:12px 10px;border-bottom:1px solid #edf0f5;color:#596377;font-size:12px;vertical-align:middle}.report-table td strong{color:#17213d}.report-table tr:last-child td{border-bottom:0}.muted-row{opacity:.55}.table-empty{text-align:center!important;padding:30px!important;color:#8d95a5!important}.table-sub{display:block;margin-top:3px;color:#9299a8;font-size:10px}
.pay-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eeeaff;color:#5d4be1;font-size:9px;font-weight:900}.report-status{display:inline-block;padding:5px 8px;border-radius:999px;background:#f0f2f7;color:#626c80;font-size:9px;font-weight:900;text-transform:uppercase}.report-status.recebido{background:#eaf8f0;color:#277454}.report-status.revertido{background:#fff1f1;color:#b94a4a}
.report-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.report-payment-list{display:grid;gap:1px}.report-payment-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f5}.report-payment-list>div:last-child{border-bottom:0}.report-payment-list span{color:#697387;font-size:12px}.report-payment-list span small{display:block;margin-top:2px;color:#9aa1ae}.report-payment-list strong{color:#17213d}
@media(max-width:1050px){.report-filters{grid-template-columns:repeat(2,1fr)}.report-metrics,.report-metrics-six{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.report-filters{grid-template-columns:1fr}.report-metrics,.report-metrics-six{grid-template-columns:repeat(2,1fr)}.report-two-cols{grid-template-columns:1fr}}

/* Fase 7.1 - Exportacao PDF Excel */
.export-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.export-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;text-decoration:none;font-size:11px;font-weight:900;border:1px solid #dfe3ec;background:#fff;color:#38435b;box-shadow:0 4px 12px rgba(26,36,67,.05)}
.export-btn.pdf{color:#b33b46;background:#fff5f5;border-color:#f2d8da}
.export-btn.excel{color:#217346;background:#f2fbf6;border-color:#d5eee0}
.export-btn:hover{transform:translateY(-1px)}
@media(max-width:700px){.export-actions{width:100%}.export-btn{flex:1}}

/* Fase 8 - WhatsApp */
.wa-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px}.wa-metrics>div{padding:16px;background:#fff;border:1px solid #e1e5ee;border-radius:14px}.wa-metrics span,.wa-metrics strong{display:block}.wa-metrics span{color:#7b8496;font-size:11px;font-weight:800}.wa-metrics strong{margin-top:6px;color:#17213d;font-size:22px}
.wa-config{display:grid;gap:12px}.wa-config label:not(.wa-switch){display:grid;gap:5px;color:#687287;font-size:11px;font-weight:800}.wa-config input[type=text],.wa-config input[type=password],.wa-config input:not([type]){height:42px;padding:0 11px;border:1px solid #dce1eb;border-radius:9px}.wa-switch{display:flex;align-items:center;gap:8px;color:#33405a;font-size:12px;font-weight:800}.wa-switch input{width:17px;height:17px}.wa-info{display:grid;gap:10px}.wa-info p{margin:0;color:#697387;font-size:12px;line-height:1.55}.wa-warning{padding:11px;border-radius:10px;background:#fff8e8;color:#8a651a!important}.wa-message{min-width:260px;max-width:420px;white-space:normal}.wa-error{display:block;margin-top:6px;color:#b64c54;font-size:9px;word-break:break-word}.report-status.erro{background:#fff0f0;color:#b34851}.report-status.pendente{background:#fff7e7;color:#946c16}.report-status.enviado{background:#eaf8f0;color:#277454}
@media(max-width:700px){.wa-metrics{grid-template-columns:repeat(2,1fr)}}

/* Fase 9.1 - IA WhatsApp em modo controlado */
.ia-conversas{display:flex;flex-direction:column;gap:10px}.ia-conversa{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #e6e8ef;border-radius:10px;text-decoration:none;color:inherit}.ia-conversa:hover,.ia-conversa.active{background:#f5f7fb}.ia-conversa span{font-size:12px;color:#667085}.ia-chat{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto}.ia-msg{max-width:88%;padding:12px 14px;border-radius:12px;background:#f4f6f8}.ia-msg.saida{margin-left:auto;background:#eef2ff}.ia-msg small{display:block;font-size:10px;font-weight:700;color:#667085;margin-bottom:5px}.ia-msg p{margin:0;white-space:pre-wrap}.wa-config textarea{width:100%;box-sizing:border-box;resize:vertical}

/* Fase 9.6.2 - limpeza segura do historico da IA */
.ia-history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ia-history-header form,.ia-conversa-row form{margin:0}
.ia-clear-btn{white-space:nowrap}
.ia-conversa-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.ia-conversa-row .ia-conversa{min-width:0}
.ia-delete-btn{height:100%;min-height:48px;padding:0 11px;border:1px solid #f1caca;border-radius:10px;background:#fff0f0;color:#c53b3b;font-size:10px;font-weight:900;cursor:pointer}
.ia-delete-btn:hover{background:#ffe6e6}
@media(max-width:700px){.ia-history-header{flex-direction:column}.ia-clear-btn{width:100%}.ia-conversa-row{grid-template-columns:1fr}.ia-delete-btn{width:100%;height:38px;min-height:38px}}

/* Horários - feriados, fechamentos e horários especiais */
.exception-heading{margin-top:34px}
.exception-card{margin-top:14px}
.exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exception-grid label,.special-hours label{display:block;margin:0 0 6px;color:#697386;font-size:12px;font-weight:800}
.exception-grid input,.exception-grid select,.special-hours input{width:100%;height:44px;margin:0;padding:0 11px;border:1px solid #d9deea;border-radius:10px;background:#fff;color:var(--navy)}
.exception-grid small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.special-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #edf0f5}
.exception-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.exception-actions span{color:var(--muted);font-size:13px}
.exceptions-list{display:grid;gap:10px;margin-top:14px}
.exception-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:14px}
.exception-date strong{display:block;color:var(--navy)}
.exception-date span,.exception-description small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.exception-description strong{display:inline-block;margin-left:8px;color:var(--navy)}
.exception-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}
.exception-badge.closed{background:#fff0f0;color:#b42318}.exception-badge.special{background:#f0edff;color:#5b43d6}
.exception-delete{min-height:38px;padding:0 13px;border:1px solid #ffc9c5;border-radius:9px;background:#fff5f4;color:#c52d24;font-weight:800;cursor:pointer}
.exception-empty{margin-top:14px;color:var(--muted);text-align:center}
@media(max-width:850px){.special-hours{grid-template-columns:repeat(2,minmax(0,1fr))}.exception-row{grid-template-columns:1fr}.exception-description strong{margin:8px 0 0;display:block}}
@media(max-width:700px){.exception-grid,.special-hours{grid-template-columns:1fr}.exception-actions{align-items:stretch;flex-direction:column}.exception-actions .primary-btn{width:100%}}

/* Fase 9.11 - Agenda por período */
.agenda-period-date{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 4px;padding:11px 14px;border-radius:11px;background:#f5f6ff;border:1px solid #e1e4f2;color:var(--navy)}
.agenda-period-date:first-of-type{margin-top:8px}.agenda-period-date span{font-size:12px;color:var(--muted);font-weight:700}
@media (max-width:760px){.agenda-toolbar>div{min-width:100%;width:100%}.agenda-toolbar input,.agenda-toolbar select{width:100%}}

/* Fase 9.12 - Propostas de alteração e troca */
.proposal-btn{background:#fff7e8!important;color:#956400!important;border:1px solid #f0d9a6!important;text-decoration:none}.proposal-card{max-width:820px}.proposal-current{display:grid;gap:5px;padding:15px;margin-bottom:18px;border-radius:12px;background:#f5f6ff}.proposal-current strong{font-size:17px;color:var(--navy)}.proposal-current span{font-size:12px;color:var(--muted)}.proposal-form{display:grid;gap:15px}.proposal-form label{display:grid;gap:6px;color:#687287;font-size:11px;font-weight:900}.proposal-form input,.proposal-form select,.proposal-form textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #dce1eb;border-radius:10px;background:#fff;color:#17213d}.proposal-form input,.proposal-form select{height:44px}.proposal-form small{font-weight:500;color:var(--muted)}.proposal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proposal-note{padding:13px 15px;border-radius:11px;background:#eef7ff;color:#315f83;font-size:12px;line-height:1.5}.proposal-status-panel{margin-bottom:14px}.proposal-status-list{display:grid;gap:9px}.proposal-status-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px;border:1px solid #e5e8f0;border-radius:11px}.proposal-status-row div{display:grid;gap:4px}.proposal-status-row span,.proposal-status-row small{font-size:11px;color:var(--muted)}.proposal-status-row form{margin:0}@media(max-width:700px){.proposal-grid{grid-template-columns:1fr}.proposal-status-row{align-items:stretch;flex-direction:column}.proposal-status-row form,.proposal-status-row button{width:100%}}
/* Fase 9.13 - Configurações, identidade visual e política de pagamento */
.settings-stack{display:grid;gap:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-stack label{display:block;margin:12px 0 7px;font-weight:800;color:#17213d}.settings-stack input[type=text],.settings-stack input[type=number],.settings-stack select,.settings-stack input[type=file]{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dce1eb;border-radius:10px;background:#fff}.color-field{display:flex;align-items:center;gap:10px}.color-field input{width:62px;height:44px;border:0;background:none}.check-line{font-weight:500!important;font-size:12px}.settings-info{margin-top:16px;padding:13px;border-radius:11px;background:#f5f6fb;color:#626d82;font-size:12px}.brand-preview{margin-top:20px;min-height:180px;padding:28px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #e1e5ee;border-radius:16px;background:#f5f6fb;background-size:cover;background-position:center;text-align:left}.preview-logo{width:66px;height:66px;display:grid;place-items:center;border-radius:16px;color:#fff;font-size:26px;font-weight:900;overflow:hidden}.preview-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.brand-preview p{margin:6px 0 12px;color:#687287}.brand-preview button{border:0;border-radius:10px;padding:10px 15px;color:#fff;font-weight:800}.public-booking-page .public-logo,.public-booking-page .step-number{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))}.public-booking-page .public-primary-btn{background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary))}.public-booking-page .public-secondary-btn,.public-booking-page .public-secure{color:var(--brand-primary)}.public-booking-page .public-choice input:checked+span{border-color:var(--brand-primary)}.public-booking-page .public-choice em{color:var(--brand-primary)}.public-logo img{width:100%;height:100%;object-fit:contain;border-radius:11px;background:#fff}.public-welcome-custom{margin:8px auto 16px;max-width:720px;color:#566075;font-weight:700}.public-payment-notice{margin:16px 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand-primary) 25%,#fff);border-radius:12px;background:#fff;color:#455069;font-size:13px;font-weight:700}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.brand-preview{flex-direction:column;text-align:center}}

/* FASE 9.13.2 - Tema dinamico da pagina publica por estabelecimento */
.public-booking-page .public-logo,
.public-booking-page .step-number{
    background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)) !important;
}
.public-booking-page .public-primary-btn{
    background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)) !important;
}
.public-booking-page .public-secondary-btn{
    background:color-mix(in srgb,var(--brand-primary) 10%,#fff) !important;
    color:var(--brand-primary) !important;
}
.public-booking-page .public-secure{
    background:color-mix(in srgb,var(--brand-primary) 8%,#fff) !important;
    color:var(--brand-primary) !important;
}
.public-booking-page .public-choice input:checked + span{
    border-color:var(--brand-primary) !important;
    background:color-mix(in srgb,var(--brand-primary) 6%,#fff) !important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 14%,transparent) !important;
}
.public-booking-page .public-choice em,
.public-booking-page .public-avatar{
    color:var(--brand-primary) !important;
}
.public-booking-page .public-avatar{
    background:color-mix(in srgb,var(--brand-primary) 10%,#fff) !important;
}
.public-booking-page .public-time:hover{
    border-color:var(--brand-primary) !important;
}
.public-booking-page .public-time.selected{
    background:var(--brand-primary) !important;
    border-color:var(--brand-primary) !important;
    color:#fff !important;
}
.public-booking-page .public-date:focus,
.public-booking-page input:focus,
.public-booking-page select:focus{
    border-color:var(--brand-primary) !important;
    outline:none;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 12%,transparent);
}

/* FASE 9.13.3 - Tema publico completo + logo do estabelecimento maior */
.public-booking-page .public-account-link:not(.light){
    background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)) !important;
    color:#fff !important;
}
.public-booking-page .public-account-link:not(.light):hover,
.public-booking-page .public-primary-btn:hover{
    filter:brightness(.92);
}
.public-booking-page .eyebrow,
.public-booking-page .text-button{
    color:var(--brand-primary) !important;
}
.public-booking-page .public-logo{
    width:64px !important;
    height:64px !important;
    flex:0 0 64px;
    border-radius:15px !important;
    overflow:hidden;
}
.public-booking-page .public-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:3px;
    background:#fff;
    border-radius:14px;
}
.public-booking-page .public-booking-header{
    min-height:88px;
    height:auto;
    padding-top:10px;
    padding-bottom:10px;
}
@media(max-width:700px){
    .public-booking-page .public-logo{
        width:52px !important;
        height:52px !important;
        flex-basis:52px;
    }
    .public-booking-page .public-booking-header{min-height:76px}
}

/* FASE 9.14 - Central WhatsApp e atendimento manual por conversa */
.wa-history-filter{display:flex;gap:10px;align-items:center;margin:0 0 18px}.wa-history-filter input{min-width:280px;max-width:430px;padding:11px 13px;border:1px solid #d9dfec;border-radius:10px;background:#fff}.wa-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:18px 0 2px;color:#65708a;font-size:13px}.wa-conversation-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;min-height:390px}.wa-conversation-list{border:1px solid #e1e6f0;border-radius:14px;overflow:auto;max-height:520px;background:#f8faff;padding:7px}.wa-conversation-item{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:#101936;padding:12px;border-radius:10px;border:1px solid transparent;margin-bottom:5px}.wa-conversation-item:hover,.wa-conversation-item.selected{background:#fff;border-color:#d9def0}.wa-conversation-item small{color:#7a849c}.wa-mode{font-size:11px;font-weight:800;margin-top:5px;width:max-content;padding:4px 7px;border-radius:999px;background:#eef1ff;color:#5145d8}.wa-mode.manual{background:#fff0d8;color:#9a5b00}.wa-chat-panel{border:1px solid #e1e6f0;border-radius:14px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.wa-chat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e7ebf3}.wa-chat-head>div{display:flex;flex-direction:column}.wa-chat-head small{color:#7a849c}.primary-btn.compact{padding:9px 12px;font-size:12px}.wa-chat-messages{padding:16px;background:#f8faff;min-height:250px;max-height:390px;overflow:auto;display:flex;flex-direction:column;gap:9px}.wa-bubble{max-width:78%;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e2e7f0;white-space:pre-wrap}.wa-bubble.out{align-self:flex-end;background:#eef0ff}.wa-bubble small{display:block;font-size:10px;font-weight:800;color:#69738b;margin-bottom:4px;text-transform:uppercase}.wa-chat-send{display:flex;gap:10px;padding:12px;border-top:1px solid #e7ebf3}.wa-chat-send textarea{flex:1;resize:vertical;border:1px solid #d9dfec;border-radius:10px;padding:10px}.wa-ai-note,.wa-chat-empty{padding:20px;text-align:center;color:#68738b}.wa-ai-note{background:#f4f5ff;border-top:1px solid #e7ebf3}.wa-config label small{display:block;margin-top:5px;font-weight:400}
@media(max-width:900px){.wa-conversation-grid{grid-template-columns:1fr}.wa-conversation-list{max-height:260px}.wa-history-filter{flex-wrap:wrap}.wa-history-filter input{min-width:0;width:100%;max-width:none}}

/* Fase 9.14.1 - chat sem recarregar e aviso de envio */
.wa-ajax-notice{position:fixed;top:88px;left:50%;transform:translate(-50%,-14px);z-index:9999;max-width:min(620px,calc(100vw - 32px));padding:13px 17px;border-radius:12px;background:#eef9f1;border:1px solid #bfe6c9;color:#205c31;font-weight:700;font-size:13px;box-shadow:0 12px 32px rgba(16,25,54,.14);opacity:0;pointer-events:none;transition:.2s ease}.wa-ajax-notice.warning{background:#fff7e8;border-color:#f0d39a;color:#7a5100}.wa-ajax-notice.show{opacity:1;transform:translate(-50%,0)}.wa-chat-send button:disabled{opacity:.65;cursor:wait}


/* Fase 9.16 - modos fixo e dinamico da agenda */
.schedule-mode-card{margin-bottom:26px}.schedule-mode-heading{margin:0 0 16px}.schedule-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.schedule-mode-option{display:block;border:1px solid #dce2ee;border-radius:14px;padding:18px;background:#fff;cursor:pointer;transition:.18s ease}.schedule-mode-option:has(input[type=radio]:checked){border-color:#6654ff;box-shadow:0 0 0 3px rgba(102,84,255,.09)}.schedule-mode-option.mode-disabled{opacity:.62;background:#f7f8fb}.schedule-mode-title{display:flex;align-items:center;gap:10px;margin-bottom:9px}.schedule-mode-title input{width:18px;height:18px;accent-color:#6654ff}.schedule-mode-option p{margin:0 0 15px;color:#68738b;line-height:1.5;font-size:13px}.schedule-mode-field>label{display:block;font-weight:800;font-size:12px;margin-bottom:7px}.minute-field{display:flex;align-items:center;gap:9px}.minute-field input{width:120px;padding:10px 12px;border:1px solid #d9dfec;border-radius:10px;background:#fff}.minute-field span{font-size:12px;color:#68738b}.schedule-mode-warning{margin-top:15px;padding:13px 15px;border-radius:11px;background:#f4f5ff;color:#4f5870;font-size:13px;line-height:1.45}@media(max-width:850px){.schedule-mode-grid{grid-template-columns:1fr}}

/* Fase 9.17 - serviços e agenda por profissional */
.service-professionals-box{margin:18px 0;padding:16px;border:1px solid #e0e5ef;border-radius:14px;background:#fafbff}.service-all{display:flex;gap:8px;align-items:center;margin:8px 0}.service-prof-list{display:grid;gap:8px;margin-top:12px}.service-prof-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;background:#fff;border:1px solid #e7eaf2;border-radius:10px}.service-prof-row>label{display:flex;gap:8px;align-items:center;font-weight:700}.service-prof-row>div{display:flex;gap:7px;align-items:center;color:#68738b;font-size:12px}.service-prof-row input[type=number]{width:82px;padding:8px;border:1px solid #d9dfec;border-radius:8px}.professional-schedule-config{grid-column:1/-1;margin-top:16px;padding:16px;border:1px solid #e0e5ef;border-radius:12px;background:#fafbff}.professional-schedule-config h3{margin:0 0 4px}.professional-schedule-config>p{margin:0 0 12px;color:#68738b}.professional-schedule-row{display:grid;grid-template-columns:1fr 180px 180px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #e7eaf2}.professional-schedule-row label{font-size:12px;font-weight:700}.professional-schedule-row label span{display:flex;align-items:center;gap:5px}.professional-schedule-row input{width:90px;padding:8px;border:1px solid #d9dfec;border-radius:8px}@media(max-width:700px){.service-prof-row{align-items:flex-start;flex-direction:column}.professional-schedule-row{grid-template-columns:1fr}}
