
:root{--bg:#f5f7fb;--surface:#fff;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--blue:#2563eb;--blue2:#1d4ed8;--green:#16a34a;--red:#dc2626;--amber:#d97706;--shadow:0 18px 45px rgba(15,23,42,.08);--radius:22px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#07111f,#0f172a 45%,#172554)}
.login-card{width:430px;max-width:95%;background:#fff;border-radius:30px;padding:40px;box-shadow:0 35px 90px rgba(0,0,0,.35)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:24px}.brand-logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--blue),#38bdf8);display:grid;place-items:center;color:#fff;font-weight:900}
.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:14px;font-size:14px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.1)}
label{display:block;font-size:13px;font-weight:800;margin:14px 0 7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:11px 16px;font-weight:850;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn-soft{background:#eef4ff;color:#1d4ed8}.btn-danger{background:#fee2e2;color:#991b1b}.btn-dark{background:#0f172a;color:#fff}
.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:282px;background:#0b1220;color:#fff;padding:22px 16px;display:flex;flex-direction:column}.sidebar .brand{padding:4px 10px 26px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;color:#b8c2d4;padding:12px 14px;border-radius:16px;font-weight:750;font-size:14px}.nav a.active,.nav a:hover{background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(56,189,248,.22));color:#fff}.sidebar-card{margin-top:auto;background:rgba(37,99,235,.16);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:16px;color:#cbd5e1}
.main{margin-left:282px;width:calc(100% - 282px);padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.title h1{margin:0;font-size:31px}.title p{margin:6px 0 0;color:var(--muted)}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search{min-width:300px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:13px 15px;border-radius:18px;color:var(--muted)}
.grid{display:grid;gap:20px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:2fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.card,.panel{background:var(--surface);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px}.card-icon{width:48px;height:48px;border-radius:17px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;font-size:22px;margin-bottom:18px}.card h4{margin:0;color:var(--muted);font-size:13px}.card h2{margin:9px 0 4px;font-size:31px}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel h3{margin:0;font-size:19px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;text-align:left;padding:14px}td{padding:15px 14px;border-bottom:1px solid #edf2f7;font-size:14px}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:850}.available,.paid{background:#dcfce7;color:#166534}.booked{background:#dbeafe;color:#1d4ed8}.reserved,.partial{background:#fef3c7;color:#92400e}.maintenance,.pending,.cancelled{background:#fee2e2;color:#991b1b}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.full{grid-column:1/-1}.notice{padding:13px 15px;border-radius:14px;margin-bottom:16px}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.note{color:var(--muted);font-size:13px}.month-grid{display:grid;grid-template-columns:190px repeat(12,minmax(64px,1fr));gap:9px;overflow:auto}.month-head,.site-cell,.month-cell{border-radius:15px;padding:12px;text-align:center;font-size:13px;font-weight:850}.site-cell{text-align:left;background:#fff;border:1px solid var(--line)}.month-head{background:#eef4ff;color:#1d4ed8}
.chart{height:250px;display:flex;align-items:flex-end;gap:14px;padding-top:20px}.bar{flex:1;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#2563eb,#93c5fd);min-height:45px}
@media(max-width:1000px){.sidebar{position:relative;width:100%;min-height:auto}.app{display:block}.main{margin-left:0;width:100%;padding:18px}.cards,.two,.three,.form-grid{grid-template-columns:1fr}.topbar{display:block}.search{min-width:0;width:100%;margin-top:12px}}
