    :root {
      --rose:       #C97A74;
      --rose-dark:  #A05850;
      --rose-light: #F5E6E4;
      --gold:       #C4A25A;
      --dark:       #1E1414;
      --sidebar:    #2D1A18;
      --text:       #4A3330;
      --muted:      #8A6A67;
      --bg:         #F7F2F1;
      --white:      #FFFFFF;
      --border:     #EDD5D0;
      --green:      #4CA87A;
      --green-bg:   #EAF5EE;
      --red:        #C94040;
      --red-bg:     #FAEAEA;
      --blue:       #4A7BC9;
      --blue-bg:    #EAF0FB;
      --radius:     10px;
      --shadow:     0 2px 16px rgba(45,26,24,.10);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;}
    a{text-decoration:none;color:inherit;}
    button{font-family:'Poppins',sans-serif;cursor:pointer;}

    /* ===== LOGIN ===== */
    #loginScreen{
      display:flex;align-items:center;justify-content:center;
      min-height:100vh;width:100%;
      background:linear-gradient(145deg,#2D1A18 0%,#4A3330 100%);
    }
    .login-card{
      background:var(--white);border-radius:20px;padding:2.5rem 2rem;
      width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.3);
      text-align:center;
    }
    .login-logo{
      width:60px;height:60px;border-radius:50%;
      background:linear-gradient(135deg,var(--rose),var(--rose-dark));
      display:flex;align-items:center;justify-content:center;
      margin:0 auto 1rem;font-size:1.4rem;color:#fff;
    }
    .login-card h2{font-size:1.4rem;color:var(--dark);margin-bottom:.3rem;}
    .login-card p{font-size:.82rem;color:var(--muted);margin-bottom:1.8rem;}
    .login-input{
      width:100%;padding:12px 14px;border:1.5px solid var(--border);
      border-radius:var(--radius);font-size:.9rem;color:var(--dark);
      font-family:'Poppins',sans-serif;outline:none;margin-bottom:1rem;
      transition:border-color .2s;
    }
    .login-input:focus{border-color:var(--rose);}
    .login-btn{
      width:100%;padding:13px;background:var(--rose);color:#fff;
      border:none;border-radius:var(--radius);font-size:.95rem;
      font-weight:600;transition:background .2s;
    }
    .login-btn:hover{background:var(--rose-dark);}
    .login-error{
      color:var(--red);font-size:.82rem;margin-top:.6rem;display:none;
    }
    .login-hint{font-size:.75rem;color:var(--muted);margin-top:1rem;}

    /* ===== APP SHELL ===== */
    #appShell{display:none;width:100%;min-height:100vh;flex-direction:column;}
    #appShell.visible{display:flex;}

    /* ===== SIDEBAR ===== */
    .sidebar{
      width:230px;min-height:100vh;background:var(--sidebar);
      display:flex;flex-direction:column;flex-shrink:0;
      position:fixed;top:0;left:0;bottom:0;z-index:100;
      transition:transform .3s;
    }
    .sidebar-header{
      padding:1.4rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08);
      display:flex;align-items:center;gap:10px;
    }
    .sidebar-logo-icon{
      width:36px;height:36px;border-radius:50%;
      background:linear-gradient(135deg,var(--rose),var(--rose-dark));
      display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;
    }
    .sidebar-logo-text h3{font-size:.95rem;color:#fff;line-height:1.1;}
    .sidebar-logo-text span{font-size:.68rem;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;}
    .sidebar-nav{flex:1;padding:1rem 0;}
    .nav-label{font-size:.65rem;color:rgba(255,255,255,.35);letter-spacing:2px;text-transform:uppercase;padding:.6rem 1.2rem .3rem;}
    .nav-item{
      display:flex;align-items:center;gap:10px;
      padding:.7rem 1.2rem;color:rgba(255,255,255,.6);
      font-size:.85rem;font-weight:500;cursor:pointer;
      transition:all .2s;border-left:3px solid transparent;
    }
    .nav-item:hover{background:rgba(255,255,255,.06);color:#fff;}
    .nav-item.active{background:rgba(201,122,116,.18);color:var(--rose);border-left-color:var(--rose);}
    .nav-item i{width:16px;text-align:center;}
    .sidebar-footer{padding:1rem 1.2rem;border-top:1px solid rgba(255,255,255,.08);}
    .sidebar-user{display:flex;align-items:center;gap:8px;}
    .sidebar-user-avatar{
      width:34px;height:34px;border-radius:50%;
      background:var(--rose);display:flex;align-items:center;justify-content:center;
      font-size:.85rem;color:#fff;font-weight:600;
    }
    .sidebar-user-info h4{font-size:.8rem;color:#fff;font-weight:500;}
    .sidebar-user-info span{font-size:.7rem;color:rgba(255,255,255,.45);}
    .btn-logout{
      background:none;border:none;color:rgba(255,255,255,.4);
      font-size:.8rem;margin-top:.6rem;padding:0;transition:color .2s;
      display:flex;align-items:center;gap:5px;
    }
    .btn-logout:hover{color:var(--rose);}

    /* ===== MAIN ===== */
    .main{margin-left:230px;flex:1;display:flex;flex-direction:column;min-height:100vh;}
    .topbar{
      background:var(--white);border-bottom:1px solid var(--border);
      padding:14px 28px;display:flex;align-items:center;justify-content:space-between;
      position:sticky;top:0;z-index:50;
    }
    .topbar-title{font-size:1.05rem;font-weight:600;color:var(--dark);}
    .topbar-right{display:flex;align-items:center;gap:1rem;}
    .topbar-date{font-size:.8rem;color:var(--muted);}
    .btn-site{
      background:var(--rose-light);color:var(--rose);
      border:none;border-radius:8px;padding:7px 14px;
      font-size:.78rem;font-weight:600;display:flex;align-items:center;gap:5px;
      transition:background .2s;
    }
    .btn-site:hover{background:var(--border);}
    .hamburger{display:none;background:none;border:none;font-size:1.2rem;color:var(--dark);}

    .content{padding:28px;flex:1;}

    /* ===== VIEWS ===== */
    .view{display:none;}
    .view.active{display:block;}

    /* ===== STATS ===== */
    .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;}
    .stat-card{
      background:var(--white);border-radius:var(--radius);padding:1.3rem;
      border:1px solid var(--border);box-shadow:var(--shadow);
    }
    .stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem;}
    .stat-label{font-size:.78rem;color:var(--muted);font-weight:500;}
    .stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.95rem;}
    .stat-icon.rose{background:var(--rose-light);color:var(--rose);}
    .stat-icon.green{background:var(--green-bg);color:var(--green);}
    .stat-icon.gold{background:#F5EDDA;color:var(--gold);}
    .stat-icon.blue{background:var(--blue-bg);color:var(--blue);}
    .stat-value{font-size:1.8rem;font-weight:700;color:var(--dark);line-height:1;}
    .stat-sub{font-size:.73rem;color:var(--muted);margin-top:.3rem;}

    /* ===== SECTION CARD ===== */
    .section-card{
      background:var(--white);border-radius:var(--radius);border:1px solid var(--border);
      box-shadow:var(--shadow);margin-bottom:1.5rem;
    }
    .section-card-header{
      padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);
      display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
    }
    .section-card-title{font-size:.92rem;font-weight:600;color:var(--dark);display:flex;align-items:center;gap:7px;}
    .section-card-title i{color:var(--rose);}
    .section-card-body{padding:1.2rem 1.4rem;}

    /* ===== TODAY TIMELINE ===== */
    .timeline{display:grid;gap:.6rem;}
    .timeline-item{
      display:flex;gap:12px;align-items:flex-start;
      padding:.8rem 1rem;border-radius:var(--radius);
      background:var(--bg);border-left:3px solid var(--rose);
      transition:background .2s;
    }
    .timeline-item:hover{background:var(--rose-light);}
    .timeline-time{font-size:.85rem;font-weight:700;color:var(--rose);white-space:nowrap;min-width:46px;}
    .timeline-info{flex:1;}
    .timeline-client{font-size:.88rem;font-weight:600;color:var(--dark);}
    .timeline-service{font-size:.78rem;color:var(--muted);}
    .timeline-phone{font-size:.75rem;color:var(--blue);display:flex;align-items:center;gap:4px;}
    .timeline-dur{font-size:.72rem;color:var(--muted);margin-left:auto;white-space:nowrap;}
    .timeline-empty{text-align:center;color:var(--muted);padding:1.5rem;font-size:.88rem;}

    /* ===== TABLE ===== */
    .table-filters{
      padding:1rem 1.4rem;border-bottom:1px solid var(--border);
      display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;
    }
    .filter-input{
      padding:7px 12px;border:1.5px solid var(--border);border-radius:8px;
      font-size:.83rem;font-family:'Poppins',sans-serif;color:var(--dark);outline:none;
      transition:border-color .2s;background:var(--white);
    }
    .filter-input:focus{border-color:var(--rose);}
    .filter-count{font-size:.78rem;color:var(--muted);margin-left:auto;}

    table{width:100%;border-collapse:collapse;}
    thead th{
      text-align:left;padding:.7rem 1rem;font-size:.75rem;font-weight:600;
      color:var(--muted);text-transform:uppercase;letter-spacing:.5px;
      border-bottom:1px solid var(--border);background:var(--bg);
    }
    tbody tr{border-bottom:1px solid var(--border);transition:background .15s;}
    tbody tr:last-child{border-bottom:none;}
    tbody tr:hover{background:var(--bg);}
    td{padding:.75rem 1rem;font-size:.84rem;color:var(--text);vertical-align:middle;}
    .td-name{font-weight:600;color:var(--dark);}
    .td-phone a{color:var(--blue);display:flex;align-items:center;gap:4px;}
    .badge{
      display:inline-flex;align-items:center;gap:4px;
      padding:3px 9px;border-radius:50px;font-size:.72rem;font-weight:600;
    }
    .badge.upcoming{background:var(--blue-bg);color:var(--blue);}
    .badge.today{background:var(--rose-light);color:var(--rose);}
    .badge.done{background:var(--green-bg);color:var(--green);}
    .badge.cancelled{background:var(--red-bg);color:var(--red);}
    .btn-icon{
      background:none;border:none;padding:5px;border-radius:6px;
      font-size:.9rem;color:var(--muted);transition:all .15s;
    }
    .btn-icon:hover.del{color:var(--red);background:var(--red-bg);}
    .btn-icon:hover.done-btn{color:var(--green);background:var(--green-bg);}
    .btn-icon:hover.wa{color:var(--green);background:var(--green-bg);}
    .table-empty{text-align:center;color:var(--muted);padding:2rem;font-size:.88rem;}
    .table-wrap{overflow-x:auto;}

    /* ===== CLIENTS ===== */
    .client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;}
    .client-card{
      background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);
      padding:1.1rem 1.2rem;display:flex;gap:12px;align-items:flex-start;
      transition:all .2s;
    }
    .client-card:hover{border-color:var(--rose);box-shadow:var(--shadow);}
    .client-avatar{
      width:42px;height:42px;border-radius:50%;background:var(--rose);
      display:flex;align-items:center;justify-content:center;
      color:#fff;font-weight:700;font-size:1rem;flex-shrink:0;
    }
    .client-info h4{font-size:.9rem;font-weight:600;color:var(--dark);}
    .client-info p{font-size:.78rem;color:var(--muted);}
    .client-info .client-phone a{color:var(--blue);}
    .client-stats{margin-top:.5rem;display:flex;gap:.8rem;}
    .client-stat{font-size:.72rem;color:var(--muted);}
    .client-stat strong{color:var(--dark);}

    /* ===== ADD BOOKING MODAL ===== */
    .modal-overlay{
      display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);
      z-index:200;align-items:center;justify-content:center;padding:1rem;
    }
    .modal-overlay.open{display:flex;}
    .modal{
      background:var(--white);border-radius:16px;width:100%;max-width:500px;
      box-shadow:0 20px 60px rgba(0,0,0,.25);max-height:90vh;overflow-y:auto;
    }
    .modal-header{
      padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);
      display:flex;align-items:center;justify-content:space-between;
    }
    .modal-header h3{font-size:1rem;font-weight:600;color:var(--dark);}
    .btn-close{background:none;border:none;font-size:1.1rem;color:var(--muted);cursor:pointer;}
    .modal-body{padding:1.4rem 1.5rem;}
    .form-group{margin-bottom:1rem;}
    .form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:.3rem;}
    .form-input{
      width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;
      font-size:.88rem;color:var(--dark);font-family:'Poppins',sans-serif;outline:none;
      transition:border-color .2s;
    }
    .form-input:focus{border-color:var(--rose);}
    .modal-footer{
      padding:1rem 1.5rem;border-top:1px solid var(--border);
      display:flex;gap:.6rem;justify-content:flex-end;
    }
    .btn-cancel-modal{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 16px;font-size:.85rem;}
    .btn-save{background:var(--rose);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:background .2s;}
    .btn-save:hover{background:var(--rose-dark);}
    .msvc-list{max-height:200px;overflow-y:auto;border:1.5px solid var(--border);border-radius:8px;padding:.4rem;}
    .msvc-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:6px;cursor:pointer;user-select:none;transition:background .15s;}
    .msvc-item:hover{background:var(--bg);}
    .msvc-item.selected{background:var(--rose-light);}
    .msvc-item input[type=checkbox]{accent-color:var(--rose);width:15px;height:15px;flex-shrink:0;}
    .msvc-name{font-size:.85rem;color:var(--dark);flex:1;}
    .msvc-meta{font-size:.75rem;color:var(--muted);}

    /* ===== SETTINGS ===== */
    .settings-section{margin-bottom:1.8rem;}
    .settings-section h3{font-size:.9rem;font-weight:600;color:var(--dark);margin-bottom:.3rem;}
    .settings-section p{font-size:.8rem;color:var(--muted);margin-bottom:1rem;}
    .btn-primary{background:var(--rose);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600;transition:background .2s;}
    .btn-primary:hover{background:var(--rose-dark);}
    .btn-danger{background:var(--red-bg);color:var(--red);border:1px solid #F5CACA;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600;transition:background .2s;}
    .btn-danger:hover{background:#F5CACA;}
    .alert-msg{padding:8px 12px;border-radius:8px;font-size:.82rem;margin-top:.6rem;display:none;}
    .alert-msg.success{background:var(--green-bg);color:var(--green);display:block;}
    .alert-msg.error{background:var(--red-bg);color:var(--red);display:block;}

    /* ===== FATURAMENTO ===== */
    .fat-period-bar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.4rem;}
    .fat-period-bar label{font-size:.8rem;font-weight:600;color:var(--text);margin-right:.2rem;}
    .btn-period{
      background:var(--bg);border:1.5px solid var(--border);border-radius:8px;
      padding:6px 13px;font-size:.78rem;font-weight:600;color:var(--muted);
      font-family:'Poppins',sans-serif;cursor:pointer;transition:all .15s;
    }
    .btn-period:hover{border-color:var(--rose);color:var(--rose);}
    .btn-period.active{background:var(--rose);border-color:var(--rose);color:#fff;}
    .fat-custom-dates{display:flex;gap:.5rem;align-items:center;margin-left:.2rem;}
    .fat-custom-dates span{font-size:.78rem;color:var(--muted);}
    .fat-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;}
    @media(max-width:900px){.fat-stats{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:420px){.fat-stats{grid-template-columns:1fr;}}
    .fat-card{
      background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
      padding:1.2rem 1.3rem;box-shadow:var(--shadow);
    }
    .fat-card-label{font-size:.76rem;color:var(--muted);font-weight:500;margin-bottom:.5rem;}
    .fat-card-value{font-size:1.7rem;font-weight:700;color:var(--dark);line-height:1;}
    .fat-card-sub{font-size:.72rem;color:var(--muted);margin-top:.3rem;}
    .fat-card-value.green{color:var(--green);}
    .fat-breakdown{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);}
    .fat-breakdown-header{padding:1rem 1.3rem;border-bottom:1px solid var(--border);font-size:.88rem;font-weight:600;color:var(--dark);display:flex;align-items:center;gap:6px;}
    .fat-breakdown-header i{color:var(--rose);}
    .fat-breakdown-row{
      display:flex;align-items:center;padding:.75rem 1.3rem;border-bottom:1px solid var(--border);gap:1rem;
    }
    .fat-breakdown-row:last-child{border-bottom:none;}
    .fat-svc-name{flex:1;font-size:.84rem;font-weight:500;color:var(--dark);}
    .fat-svc-count{font-size:.78rem;color:var(--muted);min-width:60px;text-align:right;}
    .fat-svc-total{font-size:.86rem;font-weight:700;color:var(--green);min-width:100px;text-align:right;}
    .fat-bar-wrap{flex:1;height:6px;background:var(--border);border-radius:4px;min-width:60px;}
    .fat-bar-fill{height:6px;background:var(--rose);border-radius:4px;transition:width .4s;}
    .fat-empty{text-align:center;color:var(--muted);padding:2rem;font-size:.88rem;}
    .fat-note{font-size:.72rem;color:var(--muted);margin-top:1rem;padding:0 .2rem;}

    /* ===== EXPORT ===== */
    .btn-export{
      background:var(--green-bg);color:var(--green);border:none;border-radius:8px;
      padding:7px 14px;font-size:.78rem;font-weight:600;
      display:flex;align-items:center;gap:5px;transition:background .2s;
    }
    .btn-export:hover{background:#D4EDDA;}
    .btn-add{
      background:var(--rose);color:#fff;border:none;border-radius:8px;
      padding:7px 14px;font-size:.78rem;font-weight:600;
      display:flex;align-items:center;gap:5px;transition:background .2s;
    }
    .btn-add:hover{background:var(--rose-dark);}
    .action-bar{display:flex;gap:.6rem;align-items:center;}

    /* ===== EDIÇÃO DE PREÇO INLINE ===== */
    .td-price-cell { white-space: nowrap; }
    .td-price-cell .btn-icon { opacity: 0; transition: opacity .15s; vertical-align: middle; margin-left: 2px; }
    tr:hover .td-price-cell .btn-icon { opacity: 1; }
    .price-edit-wrap { display: flex; align-items: center; gap: 4px; }
    .price-edit-input {
      width: 130px; padding: 4px 8px; border: 1.5px solid var(--rose);
      border-radius: 6px; font-size: .82rem; font-family: 'Poppins', sans-serif;
      color: var(--dark); outline: none;
    }
    /* ===== BLOQUEIOS ===== */
    .bloqueio-list { display: grid; gap: .7rem; }
    .bloqueio-item {
      display: flex; align-items: center; gap: 12px;
      padding: .8rem 1rem; background: var(--bg);
      border: 1px solid var(--border); border-radius: var(--radius);
      border-left: 3px solid var(--rose);
    }
    .bloqueio-info { flex: 1; }
    .bloqueio-date { font-size: .88rem; font-weight: 700; color: var(--dark); }
    .bloqueio-time { font-size: .78rem; color: var(--muted); }
    .bloqueio-motivo { font-size: .75rem; color: var(--muted); font-style: italic; margin-top: 2px; }
    .bloqueio-empty { text-align: center; color: var(--muted); padding: 1.5rem; font-size: .88rem; }
    .tag-dia-inteiro {
      font-size: .68rem; font-weight: 700; letter-spacing: .5px;
      background: var(--rose-light); color: var(--rose);
      padding: 2px 8px; border-radius: 50px; text-transform: uppercase;
    }
    /* ===== SERVIÇOS EDITOR ===== */
    .svc-edit-row {
      display: flex; align-items: center; gap: 10px;
      padding: .75rem 1rem; border-bottom: 1px solid var(--border);
    }
    .svc-edit-row:last-child { border-bottom: none; }
    .svc-edit-name { flex: 1; font-size: .87rem; font-weight: 600; color: var(--dark); }
    .svc-edit-input {
      width: 160px; padding: 6px 10px; border: 1.5px solid var(--border); border-radius: 8px;
      font-size: .84rem; color: var(--dark); font-family: 'Poppins', sans-serif; outline: none;
      transition: border-color .2s;
    }
    .svc-edit-input:focus { border-color: var(--rose); }
    .btn-svc-save {
      background: var(--rose-light); color: var(--rose); border: none;
      border-radius: 8px; padding: 6px 12px; font-size: .78rem; font-weight: 600;
      cursor: pointer; font-family: 'Poppins', sans-serif; transition: background .2s;
      white-space: nowrap;
    }
    .btn-svc-save:hover { background: var(--border); }
    .svc-saved-ok {
      font-size: .72rem; color: var(--green); display: none; margin-left: 4px;
    }
    /* ===== RESPONSIVE ===== */
    @media(max-width:900px){
      .stats-grid{grid-template-columns:repeat(2,1fr);}
    }
    @media(max-width:680px){
      .sidebar{transform:translateX(-100%);}
      .sidebar.open{transform:translateX(0);}
      .main{margin-left:0;}
      .hamburger{display:block;}
      .stats-grid{grid-template-columns:repeat(2,1fr);}
      .content{padding:16px;}
      .topbar{padding:12px 16px;}
    }
    @media(max-width:420px){
      .stats-grid{grid-template-columns:1fr;}
    }
