body{background:#f5f7fb;color:#172033;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.app-shell{min-height:100vh;display:flex}.sidebar{width:265px;background:var(--secondary);color:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:18px;gap:6px}
.brand{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;padding:12px 10px 22px}.brand i{color:#93c5fd}
.sidebar a,.mobile-links a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;text-decoration:none;color:inherit;font-weight:600}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12)}.mobile-links{display:grid;gap:8px}.mobile-links a{color:#172033;background:#f3f6fb}
.main-content{margin-left:265px;min-height:100vh;width:calc(100% - 265px);display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:20}
.page-wrap{padding:24px;flex:1}.footer{text-align:center;color:#667085;padding:18px;background:#fff;border-top:1px solid #e6ebf2}
.stat-card,.panel{background:#fff;border:1px solid #e6ebf2;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.stat-card{padding:18px}.stat-card .icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--primary)}
.btn-primary{background:var(--primary);border-color:var(--primary)}.table td,.table th{vertical-align:middle}.form-control,.form-select,.btn{border-radius:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:112px;background:#fff;border:1px solid #e6ebf2;border-radius:8px;padding:8px;text-decoration:none;color:#172033;transition:.18s}
.calendar-day:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.08)}.calendar-day.busy{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,#fff)}.calendar-day.free{background:#fbfcff}.day-number{font-weight:800}.calendar-count{font-size:.8rem;color:#667085}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.gallery-item{background:#fff;border:1px solid #e6ebf2;border-radius:8px;overflow:hidden}.gallery-item img{width:100%;height:180px;object-fit:cover}
.login-bg{min-height:100vh;background:linear-gradient(135deg,#eef5ff,#f8fafc);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e6ebf2;border-radius:8px;padding:28px;box-shadow:0 20px 55px rgba(15,23,42,.12)}
.login-submit{background:#0f172a;border:1px solid #0f172a;color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.18)}
.login-submit:hover,.login-submit:focus{background:#2563eb;border-color:#2563eb;color:#fff}
@media(max-width:991px){.main-content{margin-left:0;width:100%}.page-wrap{padding:16px}.calendar-grid{gap:5px}.calendar-day{min-height:86px;padding:6px}.topbar{padding:0 14px}}
@media print{.sidebar,.topbar,.footer,.no-print,.btn{display:none!important}.main-content{margin:0;width:100%}.page-wrap{padding:0}.panel,.stat-card{box-shadow:none;border:0}}
