:root{--green:#128e48;--black:#111;--dark:#1c1c1c;--white:#fff;--bg:#f4f6f5;--muted:#65706b;--blue:#2f80ed;--yellow:#f2c94c;--orange:#f2994a;--red:#eb5757;--darkred:#8b1e1e}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:#111}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--black);color:#fff;padding:22px;transition:.22s ease;z-index:20}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand>span{width:44px;height:6px;background:var(--green);border-radius:5px;flex:0 0 auto}.brand strong{font-size:24px;display:block}.brand small{color:#ccc}.collapse-btn{margin-left:auto;background:#222;border:1px solid #333;color:#fff;width:30px;height:30px;border-radius:9px;cursor:pointer}nav a{display:flex;align-items:center;gap:11px;color:#ddd;text-decoration:none;padding:12px 14px;border-radius:10px;margin:4px 0;white-space:nowrap}nav a b{width:22px;text-align:center;color:#fff}nav a:hover,nav a.active{background:var(--green);color:#fff}.main{margin-left:250px;padding:26px;transition:.22s ease}.sidebar-collapsed .sidebar{width:82px;padding:22px 14px}.sidebar-collapsed .brand div,.sidebar-collapsed nav a span{display:none}.sidebar-collapsed .collapse-btn{transform:rotate(180deg);margin-left:0}.sidebar-collapsed .main{margin-left:82px}.mobile-menu-btn{display:none;position:fixed;top:14px;left:14px;z-index:35;background:var(--green);color:#fff;border:0;border-radius:11px;padding:10px 13px;font-size:22px}.overlay{display:none}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0}.topbar p,.muted{margin:5px 0 0;color:var(--muted)}.btn{border:0;border-radius:10px;padding:10px 16px;text-decoration:none;display:inline-block;cursor:pointer;font:inherit}.btn.primary{background:var(--green);color:#fff}.btn.ghost{background:#fff;color:#111}.btn.small{padding:7px 10px;font-size:14px}.btn.danger{background:var(--red);color:#fff}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.kpi,.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.kpi b{font-size:34px;display:block}.kpi span{color:var(--muted)}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:1fr 2fr}.grid.equal{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card h2{margin:0 0 16px}.appointment{display:flex;justify-content:space-between;gap:10px;padding:12px;border-left:8px solid #ddd;background:#f8faf9;border-radius:10px;margin-bottom:10px}.appointment span{display:block;color:var(--muted)}.appointment em{font-style:normal;color:#555}.calendar-placeholder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;min-height:340px}.cal-item{border-radius:10px;padding:10px;color:#111;background:#eee;border-left:7px solid #ddd}.cal-item.mine{outline:4px solid var(--green);outline-offset:2px}.status-reserved{border-color:var(--yellow)!important}.status-booked{border-color:var(--blue)!important}.status-billing{border-color:var(--orange)!important}.status-completed{border-color:var(--green)!important}.status-cancelled{border-color:var(--red)!important}.status-no_show{border-color:var(--darkred)!important}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#e9f7ef;color:#0f6b38}.alert.error{background:#fee;color:#900}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#111,#1b1b1b)}.login-card{width:min(420px,92vw);background:#fff;padding:34px;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.login-card h1{margin:0}.login-card p{color:var(--muted)}label{display:block;margin:14px 0 6px}input,select,textarea{width:100%;padding:11px;border:1px solid #ddd;border-radius:10px}textarea{min-height:92px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}th{background:#111;color:#fff}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-actions{margin-top:18px;display:flex;gap:10px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}@media(max-width:900px){.mobile-menu-btn{display:block}.sidebar{transform:translateX(-105%);width:280px}.sidebar-collapsed .sidebar{width:280px;padding:22px}.sidebar-collapsed .brand div,.sidebar-collapsed nav a span{display:block}.sidebar-collapsed .main,.main{margin-left:0;padding:72px 16px 20px}.menu-open .sidebar{transform:translateX(0)}.menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10}.collapse-btn{display:none}.grid.two,.grid.equal,.grid.three,.kpis{grid-template-columns:1fr}.calendar-placeholder{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}}a.appointment,a.cal-item{color:inherit;text-decoration:none;display:flex}.badge{display:inline-block;border-left:7px solid #ddd;background:#f8faf9;border-radius:999px;padding:5px 10px}.btn.danger{background:var(--red);color:#fff}small{color:var(--muted)}hr{border:0;border-top:1px solid #eee;margin:18px 0}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.five{grid-template-columns:2fr .6fr .8fr .8fr 1.2fr;gap:12px}.service-row{border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin-bottom:12px;background:#fff}.quick-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-booked{border-left-color:#2f80ed!important}.status-reserved{border-left-color:#f2c94c!important}.status-billing{border-left-color:#f2994a!important}.status-completed{border-left-color:#128e48!important}.status-cancelled{border-left-color:#eb5757!important}.status-no_show{border-left-color:#7a1111!important}@media(max-width:900px){.grid.four,.grid.five{grid-template-columns:1fr}}
