/******************************************************
 * BrightonConnect global styles
 ******************************************************/
:root{--primary:#2563eb;--primary-dark:#1d4ed8;--sidebar:#2563eb;--background:#f4f7fb;--white:#fff;--text:#1f2937;--border:#dbe4ee;--shadow:0 10px 25px rgba(0,0,0,.08)}
*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
body{background:var(--background);color:var(--text)}
.login-page{display:flex;min-height:100vh}.left-side{flex:1;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;display:flex;justify-content:center;align-items:center;padding:60px}.left-content{max-width:500px}.left-content h1{font-size:54px;margin-bottom:20px}.left-content p{font-size:22px;line-height:1.6}.right-side{flex:1;display:flex;justify-content:center;align-items:center;background:#fff}.login-card{width:420px;background:#fff;border-radius:18px;padding:40px;box-shadow:var(--shadow)}.login-card h2{text-align:center;margin-bottom:25px}.login-card input{width:100%;padding:15px;margin-bottom:15px;border:1px solid var(--border);border-radius:10px;font-size:16px}.login-card input:focus,select:focus,textarea:focus,input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.btn-primary,.btn-secondary{width:100%;padding:15px;border:none;border-radius:10px;cursor:pointer;font-size:16px;transition:.25s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{margin-top:12px;background:#e8eef8;color:var(--text)}.btn-secondary:hover{background:#d8e2f1}#loginMessage{text-align:center;margin-top:15px;color:#dc2626;font-weight:bold}.login-card a{color:var(--primary);text-decoration:none}.login-card a:hover{text-decoration:underline}.divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#94a3b8}.divider:before,.divider:after{content:"";height:1px;background:#e2e8f0;flex:1}
.dashboard{display:flex;min-height:100vh}.sidebar{width:260px;min-width:260px;min-height:100vh;background:var(--sidebar);color:#fff;padding:25px;box-shadow:4px 0 18px rgba(15,23,42,.12)}.sidebar h2{margin-bottom:20px;color:#fff}.sidebar small{color:rgba(255,255,255,.85)}.sidebar hr{margin-bottom:20px;border:none;border-top:1px solid rgba(255,255,255,.28)}.sidebar button{width:100%;text-align:left;background:none;border:none;color:#fff;padding:14px;margin-bottom:10px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;transition:.25s}.sidebar button:hover,.sidebar button.active{background:rgba(255,255,255,.22)}.content{flex:1;padding:40px;background:var(--background)}.welcome-card,.student-card,.info-card{background:#fff;border-radius:15px;box-shadow:var(--shadow);padding:25px;margin-bottom:25px}.welcome-card{padding:30px}.welcome-card h1{margin-bottom:12px}.welcome-card p{color:#64748b;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.info-card{text-align:center;margin-bottom:0}.info-card h3{color:#64748b;margin-bottom:10px}.info-card h1{color:var(--primary);font-size:40px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}th{background:var(--primary);color:#fff;padding:15px;text-align:left}td{padding:15px;border-bottom:1px solid var(--border)}tr:hover{background:#f8fafc}select{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:15px}textarea{border:1px solid var(--border);border-radius:10px}
@media(max-width:900px){.login-page{flex-direction:column}.left-side{text-align:center;padding:40px}.left-content h1{font-size:40px}.right-side{padding:30px}.login-card{width:100%}.dashboard{flex-direction:column}.sidebar{width:100%;min-width:100%;min-height:auto}.content{padding:20px}.cards{grid-template-columns:1fr}}
