:root{--bg: #f5efe4;--surface: #fffaf2;--surface-2: #efe4d2;--ink: #0e1d45;--ink-soft: #59628a;--rose: #cc857e;--rose-soft: #ebc7b9;--rose-deep: #b96f68;--gold: #f6bf3f;--sky: #5db8de;--green: #4d9b7c;--red: #c95454;--border: #e6d9c6;--shadow-sm: 0 2px 8px rgba(14, 29, 69, 0.06);--shadow-md: 0 10px 28px -14px rgba(14, 29, 69, 0.2);--shadow-lg: 0 20px 50px -20px rgba(14, 29, 69, 0.25);--sidebar: #0e1d45;--sidebar-ink: #e9e2d2;--sidebar-soft: #8d97bd}html.dark{--bg: #0a1430;--surface: #111f47;--surface-2: #182957;--ink: #f0e9da;--ink-soft: #a4aecd;--rose: #dfa198;--rose-deep: #cc857e;--border: rgba(240, 233, 218, 0.13);--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);--shadow-md: 0 10px 28px -14px rgba(0, 0, 0, 0.45);--shadow-lg: 0 18px 44px -18px rgba(0, 0, 0, 0.5);--sidebar: #081026;--sidebar-soft: #7683ad}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background-color:var(--bg);color:var(--ink);font-family:"Raleway","Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{text-decoration:none;color:inherit;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.logo-on-dark{display:none !important}html.dark .logo-on-light{display:none !important}html.dark .logo-on-dark{display:block !important}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul{list-style:none}@font-face{font-family:"Raleway";src:url("../assets/fonts/raleway-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Raleway";src:url("../assets/fonts/raleway-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Raleway";src:url("../assets/fonts/raleway-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Raleway";src:url("../assets/fonts/raleway-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-italic-500.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;color:var(--ink);font-weight:600;line-height:1.25}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;font-weight:700;font-family:"Raleway","Segoe UI",sans-serif;font-size:.86rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;border:1.5px solid rgba(0,0,0,0)}.btn:hover{transform:translateY(-1.5px)}.btn svg{width:16px;height:16px;flex:none}.btn.btn-primary{background-color:var(--ink);color:var(--bg)}.btn.btn-primary:hover{box-shadow:0 14px 30px -10px rgba(14,29,69,.5)}html.dark .btn.btn-primary{background-color:var(--rose);color:#0a1430}html.dark .btn.btn-primary:hover{box-shadow:0 14px 30px -10px rgba(223,161,152,.4)}.btn.btn-rose{background:linear-gradient(135deg, var(--rose-soft), var(--rose-deep));color:#fff}.btn.btn-rose:hover{box-shadow:0 14px 30px -10px rgba(204,133,126,.55)}.btn.btn-secondary,.btn.btn-ghost{background-color:var(--surface);border-color:var(--border);color:var(--ink)}.btn.btn-secondary:hover,.btn.btn-ghost:hover{border-color:var(--rose)}.btn.btn-danger{background-color:var(--red);color:#fff}.btn.btn-danger:hover{box-shadow:0 14px 30px -10px color-mix(in srgb, var(--red) 55%, transparent)}.btn.btn-block{display:flex;width:100%}.btn:disabled{background-color:var(--border);border-color:var(--border);color:var(--ink-soft);cursor:not-allowed;transform:none;box-shadow:none}.btn.hidden{display:none}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--ink)}.form-group input,.form-group textarea,.form-group select{padding:.9rem 1.2rem;border-radius:12px;border:1px solid var(--border);background-color:var(--bg);outline:none;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--rose);background-color:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--rose) 8%, transparent)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#9ba49d}.form-group .error-message-input{font-size:.8rem;font-weight:500;color:var(--red);display:none}.form-group .error-message-input.visible{display:block}.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error select{border-color:var(--red)}.form-group.has-error input:focus,.form-group.has-error textarea:focus,.form-group.has-error select:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--red) 8%, transparent)}.password-field{position:relative}.password-field input{width:100%;padding-right:3rem}.password-toggle{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--ink-soft);cursor:pointer}.password-toggle:hover{color:var(--rose)}.password-toggle .icon-eye-off{display:none}.password-toggle.is-visible .icon-eye{display:none}.password-toggle.is-visible .icon-eye-off{display:block}.btn-submit{position:relative}.btn-text{transition:opacity .2s ease}.btn-loader{position:absolute;width:18px;height:18px;border:2px solid color-mix(in srgb, var(--surface) 40%, transparent);border-radius:50%;border-top-color:var(--surface);animation:spin .8s linear infinite;opacity:0;pointer-events:none;transition:opacity .2s ease}.submitting .btn-text{opacity:0}.submitting .btn-loader{opacity:1}.form-hint{font-size:.82rem;color:var(--ink-soft)}.form-feedback{padding:1rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:500;text-align:center;border:1px solid rgba(0,0,0,0);margin-bottom:1.5rem}.form-feedback.hidden{display:none}.form-feedback.success{background-color:color-mix(in srgb, var(--green) 6%, transparent);border-color:color-mix(in srgb, var(--green) 15%, transparent);color:var(--green)}.form-feedback.error{background-color:color-mix(in srgb, var(--red) 6%, transparent);border-color:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--sidebar);color:var(--sidebar-ink);display:flex;flex-direction:column;z-index:100;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.sidebar-close{display:none}.sidebar-overlay{display:none}.sidebar-logo{padding:1.6rem 1.5rem 1.4rem;border-bottom:1px solid color-mix(in srgb, var(--sidebar-ink) 12%, transparent);text-align:center}.sidebar-logo .sidebar-logo-img{width:100%;max-width:165px;height:auto;display:block;margin:0 auto .5rem}.sidebar-logo .subtitle{display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-soft);margin-top:.15rem}.sidebar-nav{flex:1;padding:1.1rem 1.1rem;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.sidebar-section-label{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--sidebar-soft) 70%, transparent);padding:16px 14px 6px}.sidebar-link{position:relative;display:flex;align-items:center;gap:12px;padding:10.5px 14px;border-radius:12px;color:var(--sidebar-soft);font-size:.9rem;font-weight:600;transition:background .2s ease,color .2s ease}.sidebar-link svg{width:19px;height:19px;flex:none}.sidebar-link:hover{background-color:color-mix(in srgb, var(--sidebar-ink) 7%, transparent);color:var(--sidebar-ink)}.sidebar-link.is-active{background-color:color-mix(in srgb, var(--rose) 16%, transparent);color:var(--sidebar-ink)}.sidebar-link.is-active::before{content:"";position:absolute;left:-1.1rem;top:20%;bottom:20%;width:3.5px;border-radius:0 4px 4px 0;background:linear-gradient(180deg, var(--rose-soft), var(--rose-deep))}.sidebar-link.is-disabled{opacity:.4;cursor:not-allowed}.sidebar-link.is-disabled:hover{background-color:rgba(0,0,0,0)}.sidebar-footer{padding:1rem 1.4rem;border-top:1px solid color-mix(in srgb, var(--sidebar-ink) 12%, transparent);display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--sidebar-soft)}.sidebar-footer .env-pill{font-size:.66rem;font-weight:800;letter-spacing:.12em;padding:4px 10px;border-radius:999px;background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold)}.topbar{position:sticky;top:0;height:64px;background-color:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 2.1rem;z-index:50}.topbar-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink)}.topbar-title{font-size:.92rem;font-weight:700;color:var(--ink);flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.theme-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:transform .2s ease}.theme-btn:hover{transform:scale(1.07)}.theme-btn svg{width:18px;height:18px}.theme-btn .moon{display:none}html.dark .theme-btn .sun{display:none}html.dark .theme-btn .moon{display:block}.topbar-user{display:flex;align-items:center;gap:11px;padding-left:14px;border-left:1px solid color-mix(in srgb, var(--ink) 10%, transparent)}.topbar-user .topbar-avatar{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.74rem;color:#fff;background:linear-gradient(135deg, var(--rose-soft), var(--rose-deep));border:2px solid var(--rose-soft);overflow:hidden}.topbar-user .topbar-avatar img{width:100%;height:100%;object-fit:cover}.topbar-user .admin-name{font-size:.86rem;font-weight:700;color:var(--ink);line-height:1.2}.topbar-user .btn-logout{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--ink-soft);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.topbar-user .btn-logout:hover{border-color:var(--red);color:var(--red)}.avatar-circle{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;color:#fff;background:linear-gradient(135deg, var(--rose-soft), var(--rose-deep));overflow:hidden}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-circle.avatar-circle--sm{width:32px;height:32px;font-size:.66rem}.avatar-circle.avatar-circle--lg{width:84px;height:84px;font-size:1.6rem;border:3px solid var(--rose-soft)}.avatar-circle.avatar-clickable{padding:0;border:none;cursor:pointer;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.avatar-circle.avatar-clickable:hover{opacity:.85}.client-name-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.client-name-header .form-group{flex:1;margin-bottom:0}.avatar-panel{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.avatar-panel-actions{display:flex;gap:.6rem;flex-wrap:wrap}.client-name-cell{display:flex;align-items:center;gap:.6rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:18px;margin-bottom:26px}.stat-card{background-color:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.stat-card .tri{position:absolute;right:-16px;top:-16px;width:58px;aspect-ratio:1/1.06;opacity:.12;background:linear-gradient(165deg, var(--rose-soft), var(--rose-deep));clip-path:polygon(50% 0, 100% 100%, 0 100%);transform:rotate(40deg)}.stat-card .stat-label{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);order:-1}.stat-card .stat-value{font-family:"Fraunces",Georgia,serif;font-size:1.9rem;font-weight:500;color:var(--ink);line-height:1.1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;gap:.75rem}.filter-month{max-width:160px}.search-input{flex:1;max-width:320px;padding:.7rem 1rem;border-radius:10px;border:1px solid var(--border);background-color:var(--surface);outline:none;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.search-input:focus{border-color:var(--rose);box-shadow:0 0 0 4px color-mix(in srgb, var(--rose) 8%, transparent)}.data-table{width:100%;border-collapse:collapse;background-color:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:13px 14px;font-size:.88rem;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);vertical-align:middle}.data-table th{font-family:"Raleway","Segoe UI",sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background-color:color-mix(in srgb, var(--rose-soft) 14%, transparent)}.data-table tbody tr.row-clickable{cursor:pointer}.data-table .col-actions{text-align:right;white-space:nowrap}.table-wrapper{overflow-x:auto}.row-action{background:none;border:none;cursor:pointer;font-size:.85rem;font-weight:500;padding:.35rem .6rem;border-radius:8px;color:var(--ink-soft)}.row-action:hover{background-color:color-mix(in srgb, var(--rose) 6%, transparent);color:var(--rose)}.row-action.danger:hover{background-color:color-mix(in srgb, var(--red) 6%, transparent);color:var(--red)}.status-pill{display:inline-block;padding:.2rem .65rem;border-radius:50px;font-size:.75rem;font-weight:600}.status-pill.status-active{background-color:color-mix(in srgb, var(--green) 10%, transparent);color:var(--green)}.status-pill.status-inactive{background-color:color-mix(in srgb, var(--ink-soft) 12%, transparent);color:var(--ink-soft)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;font-size:.9rem;color:var(--ink-soft)}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:200}.modal-overlay.hidden{display:none}.modal-card{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background-color:var(--surface);border-radius:20px;padding:2rem;box-shadow:var(--shadow-lg)}.modal-card.modal-card-wide{max-width:760px}.modal-card.modal-card--lightbox{max-width:420px;padding:1.5rem}.modal-card.modal-card--lightbox img{display:block;width:100%;border-radius:12px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{font-size:1.2rem}.modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--ink-soft);line-height:1}.modal-close:hover{color:var(--ink)}.modal-body p{margin:0 0 .75rem}.refund-summary{list-style:none;padding:.9rem 1rem;margin:0 0 1rem;background-color:color-mix(in srgb, var(--ink) 4%, transparent);border-radius:12px;font-size:.9rem}.refund-summary li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}.modal-actions{display:flex;gap:.75rem;margin-top:.5rem}.modal-actions .btn{flex:1}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.9rem}.breadcrumb a{color:var(--ink-soft);text-decoration:none}.breadcrumb a:hover{color:var(--rose)}.breadcrumb-sep{color:var(--ink-soft)}.breadcrumb-current{font-family:"Fraunces",Georgia,serif;font-weight:600;color:var(--ink)}.status-pill.hidden{display:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg, #0e1d45 0%, #172430 100%)}html.dark .login-page{background:linear-gradient(135deg, #081026 0%, #0a1430 100%)}.login-card{width:100%;max-width:400px;background-color:var(--surface);border-radius:24px;box-shadow:var(--shadow-lg);padding:2.5rem}.login-logo{text-align:center;margin-bottom:2rem}.login-logo .login-logo-img{width:100%;max-width:260px;height:auto;margin:0 auto .5rem}.login-logo .subtitle{font-size:.85rem;color:var(--ink-soft)}.login-forgot-link{text-align:center;margin-top:1.5rem;font-size:.85rem}.login-forgot-link a{color:var(--rose)}.admin-main{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.admin-content{flex:1;padding:2rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.page-head h1{font-size:1.85rem;font-weight:500}.page-head .sub{color:var(--ink-soft);font-size:.92rem;margin-top:4px}.page-head-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start}.panel{background-color:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px}.panel>h3{font-size:1.12rem;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head h3{font-size:1.12rem;margin-bottom:0}.panel-head a{font-size:.8rem;font-weight:700;color:var(--rose-deep)}.panel-head a:hover{color:var(--rose-deep)}.panel-narrow{max-width:480px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;max-width:980px}.settings-col{display:flex;flex-direction:column;gap:22px}.panel-spaced{margin-top:1.25rem}.panel-description{color:var(--ink-soft);font-size:.9rem;margin-bottom:1rem}.calendar-status{font-size:.95rem;margin-bottom:1rem}.calendar-status.is-connected{color:var(--green)}.calendar-status.is-disconnected{color:var(--ink-soft)}.fiscal-hint{color:var(--ink-soft);font-size:.9rem;margin-bottom:1.5rem}.upcoming-list{display:flex;flex-direction:column}.upcoming-item{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent)}.upcoming-item:last-child{border-bottom:none}.upcoming-item .when{flex:none;width:52px;text-align:center;background:var(--surface-2);border-radius:12px;padding:7px 4px}.upcoming-item .when b{display:block;font-size:1.05rem;font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.1}.upcoming-item .when span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.upcoming-item .upcoming-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.upcoming-item .upcoming-info .client-name{font-weight:600;font-size:.9rem}.upcoming-item .upcoming-info .service-name{font-size:.78rem;color:var(--ink-soft)}.upcoming-item .upcoming-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.upcoming-item .hr{font-weight:800;font-size:.85rem}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.status-pending{background-color:color-mix(in srgb, var(--gold) 16%, transparent);color:#a87b12}.status-badge.status-confirmed{background-color:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}.status-badge.status-completed{background-color:color-mix(in srgb, var(--sky) 15%, transparent);color:#2e7fa3}.status-badge.status-cancelled{background-color:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red)}.status-badge.status-no_show{background-color:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red)}html.dark .status-badge.status-pending{color:var(--gold)}html.dark .status-badge.status-completed{color:var(--sky)}.empty-state{color:var(--ink-soft);font-size:.9rem;text-align:center;padding:1.5rem 0}.availability-section{background-color:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.availability-section h2{font-size:1.05rem;margin-bottom:.5rem}#rules-table-body input[type=checkbox]{width:18px;height:18px}#rules-table-body input[type=time]{padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background-color:var(--bg)}.block-type-toggle{display:flex;gap:1.5rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:500;color:var(--ink)}.block-type-toggle label{display:flex;align-items:center;gap:.4rem;cursor:pointer}.block-form{display:grid;grid-template-columns:repeat(4, 1fr);gap:1rem;align-items:end;margin-bottom:1.5rem}.block-form .form-group{margin-bottom:0}.block-form .form-group.hidden{display:none}.block-form .btn-submit{height:fit-content}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.calendar-view-toggle{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.calendar-view-btn{background:none;border:none;cursor:pointer;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.calendar-view-btn.is-active{background-color:var(--rose);color:var(--surface)}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-label{font-family:"Fraunces",Georgia,serif;font-weight:600;color:var(--ink);margin-left:.5rem;text-transform:capitalize}.filter-status{max-width:200px}#calendar-month.hidden,#calendar-week.hidden{display:none}#calendar-month{overflow-x:auto}.calendar-weekdays{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:.5rem}.calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:6px}.calendar-cell{min-height:110px;background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.5rem;cursor:pointer;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.calendar-cell:hover{border-color:var(--rose)}.calendar-cell.is-outside-month{background-color:var(--bg)}.calendar-cell.is-outside-month .calendar-cell-day{color:var(--ink-soft);opacity:.5}.calendar-cell.is-today{border-color:var(--rose-soft);border-width:2px}.calendar-cell-day{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.35rem}.calendar-cell-chips{display:flex;flex-direction:column;gap:.25rem}.calendar-chip{font-size:.7rem;padding:.15rem .4rem;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-chip-more{font-size:.7rem;color:var(--ink-soft);font-weight:600}.calendar-week-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px}.calendar-week-day{background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem}.calendar-week-day.is-today{border-color:var(--rose-soft);border-width:2px}.calendar-week-day-header{font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:.75rem;text-transform:capitalize}.appointment-list{display:flex;flex-direction:column;gap:.75rem}.appointment-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem;border:1px solid var(--border);border-radius:10px}.appointment-time{font-weight:600;color:var(--ink);font-size:.85rem;min-width:48px}.appointment-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:140px}.appointment-info .client-name{font-weight:600;font-size:.9rem}.appointment-info .service-name{font-size:.8rem;color:var(--ink-soft)}.appointment-info .whatsapp-link,.appointment-info .meet-link{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;margin-top:.3rem;font-size:.78rem;font-weight:600;text-decoration:none}.appointment-info .whatsapp-link:hover,.appointment-info .meet-link:hover{text-decoration:underline}.appointment-info .whatsapp-icon{width:14px;height:14px;fill:currentColor;flex-shrink:0}.appointment-info .whatsapp-link{color:var(--green)}.appointment-info .meet-link{color:var(--rose)}.calendar-sync-warning{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.35rem}.calendar-sync-warning span{font-size:.78rem;color:var(--red)}.calendar-sync-warning .meet-link-input{flex:1;min-width:160px;padding:.35rem .6rem;font-size:.8rem}.appointment-price{font-size:.85rem;color:var(--ink-soft);white-space:nowrap}.cancel-modal-whatsapp-link{margin:1rem 0 1.5rem}.subnav-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.subnav-tab{background:none;border:none;cursor:pointer;padding:.75rem .25rem;font-size:.9rem;font-weight:600;color:var(--ink-soft);border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}.subnav-tab:hover{color:var(--rose)}.subnav-tab.is-active{color:var(--rose);border-bottom-color:var(--rose)}.client-section.hidden{display:none}.panel-danger{border-color:color-mix(in srgb, var(--red) 30%, transparent);margin-top:1.5rem}.panel-danger h3{color:var(--red)}#editor-container{height:320px;background-color:var(--surface);border-radius:0 0 10px 10px}.ql-toolbar.ql-snow{border-radius:10px 10px 0 0;border-color:var(--border)}.ql-container.ql-snow{border-color:var(--border)}.cover-picker{display:flex;align-items:center;gap:1rem}.cover-preview{width:120px;height:68px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.cover-preview.hidden{display:none}.media-tabs{margin-bottom:1.25rem}.media-tab-panel.hidden{display:none}.media-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(110px, 1fr));gap:.75rem;max-height:360px;overflow-y:auto}.media-thumb{padding:0;border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;background:none;aspect-ratio:16/9}.media-thumb:hover{border-color:var(--rose)}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.media-crop-wrapper{margin-top:1rem;max-height:400px}.media-crop-wrapper.hidden{display:none}.media-crop-wrapper img{display:block;max-width:100%}@media(max-width: 900px){body.sidebar-locked{overflow:hidden}.sidebar{transform:translateX(-100%);box-shadow:8px 0 32px rgba(14,29,69,.18)}.sidebar.is-open{transform:translateX(0)}.sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;top:.9rem;right:.9rem;width:34px;height:34px;border-radius:50%;border:none;background:color-mix(in srgb, var(--sidebar-ink) 12%, transparent);color:var(--sidebar-ink);font-size:1.3rem;line-height:1;cursor:pointer}.sidebar-close:hover{background:color-mix(in srgb, var(--sidebar-ink) 20%, transparent)}.sidebar-overlay{display:block;position:fixed;inset:0;background-color:rgba(14,29,69,.45);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-overlay.is-open{opacity:1;pointer-events:auto}.admin-main{margin-left:0}.topbar-toggle{display:block}}@media(max-width: 768px){.dashboard-grid,.settings-grid{grid-template-columns:1fr}.calendar-week-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7, minmax(90px, 1fr))}.calendar-weekdays{grid-template-columns:repeat(7, minmax(90px, 1fr))}}@media(max-width: 480px){.login-card{padding:1.75rem}.admin-content{padding:1.25rem}}
