#root{margin:0;padding:0;max-width:none;text-align:left}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6;-webkit-font-smoothing:antialiased}.topbar{background:#111827;color:#fff;padding:12px 0;position:relative;z-index:50}.topbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar a{color:#fff;text-decoration:none;margin-left:16px;font-size:14px}.topbar a:hover{text-decoration:underline}.brand{font-weight:700;font-size:20px}.page{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:24px}.card{background:#fff;padding:32px 40px;border-radius:12px;box-shadow:0 10px 30px #0f172a26;max-width:600px;width:100%}.btn{display:inline-block;padding:10px 18px;border-radius:8px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s}.btn.primary{background:#2563eb;color:#fff}.btn.primary:hover{background:#1d4ed8}.btn.secondary{background:#10b981;color:#fff}.btn.ghost{background:transparent;color:#111827;border-color:#d1d5db}.btn.ghost:hover{background:#f3f4f6}.auth-form .field{display:flex;flex-direction:column;text-align:left;margin-bottom:12px}.auth-form label{font-size:14px;font-weight:600;margin-bottom:4px;color:#374151}.auth-form input{padding:10px;border-radius:6px;border:1px solid #d1d5db;font-size:14px}.auth-form input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge-status-open{background:#dbeafe;color:#1d4ed8}.badge-status-inprogress{background:#fef3c7;color:#b45309}.badge-status-resolved{background:#dcfce7;color:#15803d}.badge-status-closed{background:#e5e7eb;color:#374151}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.chip-low{background:#e0f2fe;color:#0369a1}.chip-medium{background:#fee2e2;color:#b91c1c}.chip-high{background:#fef2f2;color:#b91c1c}table{border-collapse:collapse;width:100%}table thead{background:#f9fafb;color:#374151;text-align:left}table th,table td{border-bottom:1px solid #e5e7eb;padding:12px;font-size:14px}table tbody tr:hover{background:#f9fafb}.landing-hero{position:relative;min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:40px 24px;background-image:radial-gradient(circle at top left,rgba(37,99,235,.2),transparent 40%),linear-gradient(to bottom,#0f172ad9,#0f172af2),url(/hostel-bg.jpg);background-size:cover;background-position:center;color:#f9fafb;overflow:hidden}.landing-content{position:relative;max-width:1200px;width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.logo-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:#1e293b99;border:1px solid rgba(148,163,184,.2);margin-bottom:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logo-mark{font-weight:800;color:#38bdf8;margin-right:10px}.logo-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8}.landing-left h1{font-size:52px;line-height:1.1;margin:0 0 20px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-left p{margin:0 0 32px;font-size:18px;line-height:1.6;color:#94a3b8;max-width:500px}.landing-buttons{display:flex;align-items:center;gap:16px;margin-bottom:40px}.btn-hero-primary{padding:14px 32px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 4px 14px #2563eb63;transition:all .2s ease}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb3b}.btn-hero-secondary{padding:14px 24px;border-radius:8px;background:transparent;color:#e2e8f0;border:1px solid rgba(255,255,255,.15);font-weight:500;text-decoration:none;transition:all .2s ease}.btn-hero-secondary:hover{background:#ffffff0d;border-color:#fff}.admin-link{display:block;margin-top:15px;color:#fff!important;font-weight:600;text-decoration:underline;opacity:1}.admin-link:hover{opacity:1;text-decoration:underline}.landing-highlights{display:flex;flex-direction:column;gap:15px;margin-top:25px}.highlight-item{display:flex;align-items:center;gap:12px;font-size:14px;color:#cbd5e1}.highlight-icon{width:24px;height:24px;border-radius:50%;background:#22c55e1a;color:#4ade80;display:flex;align-items:center;justify-content:center;font-size:12px}.landing-right{display:flex;justify-content:center}.mini-dashboard-card{width:320px;padding:30px;border-radius:24px;background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 50px -12px #00000080}.mini-dashboard-card h3{margin:0 0 20px;font-size:16px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.mini-dashboard-card ul{list-style:none;padding:0;margin:0}.mini-dashboard-card li{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:#f1f5f9;font-weight:500;font-size:15px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:12px;box-shadow:0 0 10px currentColor}.dot.open{background:#3b82f6;color:#3b82f6}.dot.progress{background:#eab308;color:#eab308}.dot.resolved{background:#22c55e;color:#22c55e}@media(max-width:900px){.landing-content{grid-template-columns:1fr;text-align:center}.landing-left{margin:0 auto}.landing-buttons{justify-content:center}.landing-highlights{align-items:center}}.nav-links{display:flex;align-items:center;gap:20px}.topbar a{font-weight:500;opacity:.9;transition:opacity .2s}.topbar a:hover{opacity:1;text-decoration:none}.topbar .btn-small{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:99px;font-size:13px;font-weight:600;margin-left:0}.topbar .btn-small:hover{background:#fff;color:#0f172a}.nav-links{display:flex;align-items:center;gap:24px}.topbar .btn-small{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);padding:8px 20px;border-radius:99px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;transition:all .2s ease}.topbar .btn-small:hover{background:#fff;color:#0f172a;transform:translateY(-1px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-icon{width:32px;height:32px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;box-shadow:0 4px 10px #2563eb4d}.brand-text{font-size:18px;font-weight:700;letter-spacing:-.02em;color:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-left h1{animation:fadeUp .8s ease-out forwards;opacity:0}.landing-left p{animation:fadeUp .8s ease-out .2s forwards;opacity:0}.landing-buttons{animation:fadeUp .8s ease-out .4s forwards;opacity:0}.landing-highlights{animation:fadeUp .8s ease-out .6s forwards;opacity:0}.mini-dashboard-card{animation:fadeUp 1s ease-out .5s forwards;opacity:0}
