*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#172033}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,#0f172a,#111827);color:#fff;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:5}.logo{display:flex;gap:12px;align-items:center;padding:22px;font-size:21px;font-weight:800}.logo div{background:#2563eb;padding:12px;border-radius:16px}nav a{display:block;color:#dbeafe;text-decoration:none;padding:13px 22px;margin:4px 12px;border-radius:12px;font-weight:600}nav a:hover,nav a.active{background:#2563eb;color:#fff}.main{margin-left:270px;width:calc(100% - 270px)}.topbar{height:78px;background:#fff;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:0 24px;box-shadow:0 4px 18px #1e293b12;position:sticky;top:0;z-index:4}.topbar h3,.topbar p{margin:0}.topbar p{color:#64748b;font-size:13px}.topbar button{display:none;border:0;background:#eff6ff;padding:10px 13px;border-radius:10px}.userbox{display:flex;align-items:center;gap:12px}.userbox a{color:#dc2626;text-decoration:none;font-weight:700}.content{padding:24px}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:#fff;border-radius:20px;padding:20px;box-shadow:0 10px 30px #0f172a12;border:1px solid #e5e7eb}.card h4{margin:0;color:#64748b;font-size:14px}.card strong{font-size:27px;display:block;margin-top:10px;color:#0f172a}.card span{color:#16a34a;font-size:13px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h3{margin:0}.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#2563eb;color:#fff}.soft{background:#eff6ff;color:#1d4ed8}.danger{background:#fee2e2;color:#991b1b}.success{background:#dcfce7;color:#166534}.full{width:100%}table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:13px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px}th{background:#f8fafc;color:#475569}.actions a{margin-right:8px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid label{font-weight:700;font-size:13px;color:#475569}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.span3{grid-column:span 3}.alert{padding:12px;border-radius:12px;margin:10px 0}.seat-map{display:grid;grid-template-columns:repeat(4,70px);gap:12px}.seat{padding:15px;text-align:center;border-radius:14px;font-weight:800}.available{background:#dcfce7;color:#166534}.booked{background:#fee2e2;color:#991b1b}.reserved{background:#fef3c7;color:#92400e}.blocked{background:#e5e7eb;color:#475569}.ticket{max-width:360px;border:2px dashed #0f172a;padding:18px;background:#fff;color:#111}.ticket h2{text-align:center;margin:0 0 12px}.login-body{min-height:100vh;background:radial-gradient(circle at top left,#2563eb55,transparent 28%),linear-gradient(135deg,#0f172a,#1e3a8a);display:flex;align-items:center;justify-content:center;padding:25px}.login-wrap{display:grid;grid-template-columns:1.15fr .85fr;max-width:1000px;width:100%;gap:30px;align-items:center}.login-brand{color:#fff}.brand-icon{width:80px;height:80px;background:#2563eb;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:40px}.login-brand h1{font-size:48px;margin:22px 0 10px}.login-brand p{font-size:18px;color:#dbeafe}.login-points span{display:inline-block;background:#ffffff1f;padding:10px 13px;border-radius:999px;margin:10px 7px 0 0}.login-card{background:#fff;border-radius:28px;padding:34px;box-shadow:0 30px 80px #0005}.login-card h2{margin:0}.login-card label{display:block;margin-top:15px;font-weight:800}.login-card button{margin-top:18px}.login-card small{display:block;text-align:center;margin-top:15px;color:#64748b}@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.show{transform:none}.main{margin-left:0;width:100%}.topbar button{display:block}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.span3{grid-column:auto}.login-wrap{grid-template-columns:1fr}.login-brand h1{font-size:34px}}@media(max-width:560px){.content{padding:14px}.cards{grid-template-columns:1fr}.topbar{padding:0 12px}.userbox span{display:none}.table-wrap{overflow:auto}.seat-map{grid-template-columns:repeat(3,1fr)}th,td{white-space:nowrap}}
