:root { --pool:#00a5b5; --ink:#08243a; --muted:#647985; --line:#dbe8ed; --green:#2ecc71; --red:#e74c3c; --yellow:#f1c40f; --bg:#f3fbfc; --shadow:0 20px 60px rgba(4,47,65,.12); font-family:Inter,ui-sans-serif,system-ui,"Segoe UI",sans-serif; }
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink)} a{color:var(--pool);text-decoration:none} img{max-width:100%;display:block}
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8fffa,#f7fcfd)}
.login-card,.panel,.kpi-grid article{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.login-card{width:min(440px,92vw);padding:34px}.login-card img{width:88px;height:88px;object-fit:cover;border-radius:50%;margin:auto}.login-card h1{text-align:center;margin-bottom:4px}.login-card p,.login-card small{color:var(--muted);text-align:center;display:block}
label{display:grid;gap:7px;margin-top:14px;font-weight:800;font-size:.88rem} input,select,textarea{width:100%;min-height:44px;border:1px solid #cbdfe6;border-radius:8px;padding:10px 12px;font:inherit;background:#fbfeff} textarea{min-height:88px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#00a5b5,#078a98);color:white;font-weight:900;cursor:pointer}.btn.light{background:white;color:var(--pool);border:1px solid var(--line)}
.alert{padding:14px 16px;border-radius:8px;margin:14px 0}.alert.error{background:#fff1ef;color:#9d2d22}.alert.success{background:#effcf4;color:#176b3c}
.admin-nav{position:fixed;inset:0 auto 0 0;width:260px;background:#082846;color:white;padding:22px;display:flex;flex-direction:column;gap:28px}.admin-brand{display:flex;align-items:center;gap:12px;color:white;font-weight:900}.admin-brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.admin-nav nav{display:grid;gap:10px}.admin-nav nav a{color:#d9edf4;padding:12px;border-radius:8px}.admin-nav nav a:hover{background:rgba(255,255,255,.1)}.admin-user{margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:#d9edf4}
.admin-main{margin-left:260px;padding:34px clamp(18px,4vw,48px)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head p{color:var(--pool);font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin:0}.page-head h1{margin:4px 0 0;font-size:clamp(2rem,4vw,3.5rem);font-family:Georgia,serif}.head-actions{display:flex;gap:10px;flex-wrap:wrap}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.kpi-grid article{padding:22px}.kpi-grid span{color:var(--muted);font-weight:800}.kpi-grid strong{display:block;font-size:2rem;margin-top:8px}
.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.panel{padding:22px;margin-bottom:22px}.panel h2{margin-top:0;font-family:Georgia,serif}
.calendar{border:1px solid var(--line);border-radius:8px;padding:16px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-head button{border:0;background:white;color:var(--pool);font-size:1.4rem;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week{text-align:center;color:var(--muted);font-size:.68rem;text-transform:uppercase;font-weight:900}.day{aspect-ratio:1;border:0;border-radius:8px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(8,36,58,.06)}.day.available{background:#2ecc71;color:#06321b}.day.reserved{background:#f1c40f;color:#493700}.day.booked{background:#e74c3c;color:white}.day.disabled{background:#eef3f5;color:#aebdc5}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:.86rem}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.available{background:var(--green)}.reserved{background:var(--yellow)}.booked{background:var(--red)}
.table-wrap{overflow:auto} table{width:100%;border-collapse:collapse;min-width:860px} th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:.92rem} th{color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.1em} tr.hovering{background:#f5fcfd}
.status{display:inline-flex;border-radius:999px;padding:5px 10px;font-weight:900;font-size:.76rem;text-transform:uppercase}.status.reserva{background:rgba(241,196,15,.28);color:#8a6800}.status.agendado{background:rgba(231,76,60,.22);color:#9d2d22}.status.cancelado{background:#e7ecef;color:#5d6870}.status.disponivel{background:rgba(46,204,113,.22);color:#176b3c}
.admin-form,.filters,.stack-form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.filters{grid-template-columns:repeat(6,1fr);align-items:end}.actions-cell{display:flex;gap:10px;align-items:center}.actions-cell form{display:inline}.actions-cell button,.link-btn{border:0;background:transparent;color:#d43d30;cursor:pointer;font:inherit;padding:0}.video-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.detail-grid div{padding:14px;border:1px solid var(--line);border-radius:8px}.detail-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.detail-grid strong{display:block;margin-top:5px}
@media(max-width:1050px){.admin-nav{position:static;width:auto}.admin-main{margin-left:0}.kpi-grid,.admin-grid,.form-grid,.filters,.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.admin-main{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid,.admin-grid,.form-grid,.filters,.detail-grid{grid-template-columns:1fr}.admin-nav{border-radius:0}.login-card{padding:24px}}
