:root{--bg:#070a17;--surface:#0f1529;--surface2:#141c35;--line:#293354;--text:#f6f8ff;--muted:#9ba6c7;--purple:#7653ff;--pink:#da3eb2;--orange:#ff932e;--danger:#ff6679;--success:#65e2a3}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(180deg,#060914,#090d1c);color:var(--text);min-height:100vh}a{color:#9ab0ff;text-decoration:none}button,input,select,textarea{font:inherit}.admin-header{position:sticky;top:0;z-index:20;min-height:72px;display:flex;align-items:center;padding:0 30px;background:rgba(7,10,23,.92);backdrop-filter:blur(14px);border-bottom:1px solid #202944}.admin-brand{width:190px}.admin-brand img{width:100%;display:block}.admin-nav{margin-left:auto;display:flex;gap:22px;font-size:13px}.admin-nav a{color:#dfe4f5}.admin-menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:25px}.admin-main{width:min(calc(100% - 40px),1380px);margin:0 auto;padding:34px 0 60px}.admin-topline{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.admin-topline h1{font-size:32px;margin:0}.admin-topline p,.muted{color:var(--muted);margin:5px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{padding:24px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,var(--surface),#0b1124)}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:36px;margin-top:8px}.stat-card.warn strong{color:#ffbe67}.admin-card{background:rgba(15,21,41,.92);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:22px;box-shadow:0 15px 45px rgba(0,0,0,.15)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.card-head h2,.admin-card h2{font-size:20px;margin:0}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:12px 11px;text-align:left;border-bottom:1px solid rgba(61,72,112,.45);font-size:13px;vertical-align:top}.admin-table th{color:#aeb7d5;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.admin-table tr:last-child td{border-bottom:0}.admin-table small{color:#8f99b9;line-height:1.4}.empty{text-align:center!important;color:#8993b0;padding:34px!important}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.filter-form{display:flex;gap:10px;flex:1}.filter-form input{max-width:420px;flex:1}.toolbar-actions{display:flex;gap:9px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border:1px solid #39456e;background:#121a32;color:#eef2ff;border-radius:7px;font-weight:700;font-size:12px;cursor:pointer}.admin-btn.primary{border:0;background:linear-gradient(100deg,var(--orange),var(--pink),var(--purple));color:#fff}.admin-btn.small{min-height:34px;padding:6px 12px}.filter-form input,.filter-form select,.admin-form input,.admin-form select,.admin-form textarea{border:1px solid #35405f;background:#080d1d;color:#f5f7ff;border-radius:7px;padding:10px 12px;outline:none}.filter-form input:focus,.filter-form select:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:#6d5cff;box-shadow:0 0 0 3px rgba(109,92,255,.12)}.actions{white-space:nowrap}.actions>a,.actions form{display:inline-block;margin-right:8px}.actions button{border:0;background:none;color:#95aaff;padding:0;cursor:pointer}.actions .danger-link{color:#ff7b8b}.badge{display:inline-block;border-radius:99px;padding:4px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.badge.active{background:rgba(85,216,155,.15);color:#78e5ad}.badge.cancelled{background:rgba(255,93,118,.14);color:#ff8b9c}.mail-status{font-size:10px}.mail-status.sent{color:#6ee7aa}.mail-status.failed{color:#ff7e91}.mail-status.pending{color:#f6c56d}.mail-status.skipped{color:#8791ae}.pagination{display:flex;gap:6px;justify-content:center;padding-top:18px}.pagination a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #36415f;border-radius:6px;color:#cbd2e7}.pagination a.active{background:#5d49da;border-color:#5d49da;color:#fff}.admin-alert{padding:12px 14px;border-radius:8px;margin:0 0 16px;font-size:13px}.admin-alert.success{background:rgba(71,209,145,.12);border:1px solid rgba(71,209,145,.3);color:#8ce9b8}.admin-alert.error{background:rgba(255,83,110,.12);border:1px solid rgba(255,83,110,.3);color:#ff99a7}.form-card{max-width:980px}.form-card.narrow{max-width:560px}.admin-form{display:grid;gap:15px}.admin-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#e6eafa}.admin-form label small{color:#ff8a9b}.admin-form textarea{resize:vertical;min-height:100px}.admin-form .code-area{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.admin-form .check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px}.admin-form .check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.error-pre{white-space:pre-wrap;word-break:break-word;background:#080d1d;border:1px solid #3b2940;padding:12px;border-radius:7px;color:#ff9aaa;font-size:11px}.admin-login-body{display:grid;place-items:center;padding:25px;min-height:100vh;background:radial-gradient(circle at 50% 15%,#151d48,#060813 50%)}.login-card{width:min(100%,430px);background:rgba(15,21,42,.94);border:1px solid #303a65;border-radius:16px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.4)}.login-logo{width:240px;display:block;margin:0 auto 25px}.login-card h1{text-align:center;font-size:26px;margin:0 0 5px}.login-card>p{text-align:center;color:#9da8c5;margin:0 0 25px}.login-card .admin-btn{width:100%;margin-top:6px}.back-link{display:block;text-align:center;margin-top:20px;font-size:12px;color:#8390b0}
@media(max-width:1000px){.admin-header{padding:0 18px}.admin-menu-toggle{display:block}.admin-nav{display:none;position:absolute;top:72px;left:14px;right:14px;flex-direction:column;gap:0;background:#0d1328;border:1px solid #2d385b;border-radius:10px;padding:8px}.admin-nav.open{display:flex}.admin-nav a{padding:11px}.stat-grid{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{justify-content:flex-end}}
@media(max-width:640px){.admin-main{width:min(calc(100% - 22px),100%);padding-top:24px}.admin-brand{width:160px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:28px}.filter-form{display:grid;grid-template-columns:1fr 130px}.filter-form .admin-btn{grid-column:1/3}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.form-two,.form-three{grid-template-columns:1fr}.admin-card{padding:15px}.admin-topline h1{font-size:27px}.login-card{padding:26px 20px}}
.faculty-thumb{width:54px;height:54px;border-radius:50%;object-fit:cover;display:block;border:1px solid #3d4b78;box-shadow:0 0 16px rgba(83,116,255,.2)}
.faculty-current-image{display:flex;align-items:center;gap:12px;margin-top:4px;color:#9ba6c7;font-size:11px;font-weight:500}
.faculty-current-image img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid #3d4b78}
.tag-picker{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow:auto;padding:10px;background:#080d1d;border:1px solid #35405f;border-radius:8px}
.tag-option{display:block!important;position:relative}
.tag-option input{position:absolute;opacity:0;pointer-events:none}
.tag-option span{display:grid;gap:2px;min-width:150px;padding:9px 11px;border:1px solid #344160;border-radius:999px;background:#111a31;color:#dce5ff;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
.tag-option span strong{font-size:12px;line-height:1.1}
.tag-option span small{font-size:10px;color:#98a4c4;font-weight:600}
.tag-option input:checked+span{border-color:#7f63ff;background:linear-gradient(100deg,rgba(255,147,46,.92),rgba(218,62,178,.88),rgba(118,83,255,.9));box-shadow:0 0 0 3px rgba(118,83,255,.14);color:#fff}
.tag-option input:checked+span small{color:#f2edff}
.mail-error-dialog{padding:0;background:transparent;border:0;border-radius:12px;width:min(780px,95%);max-width:min(780px,95%);max-height:90vh;overflow:auto;z-index:1200}
.mail-error-dialog::backdrop{background:rgba(3,8,20,.68)}
.mail-error-dialog__content{background:#0e162c;border:1px solid #344068;border-radius:12px;box-shadow:0 20px 55px rgba(0,0,0,.45);padding:18px}
.mail-error-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.mail-error-dialog__header h3{font-size:16px;margin:0}
.mail-error-dialog__close{background:none;border:0;color:#ccd4ed;font-size:24px;line-height:1;padding:0;cursor:pointer}
.mail-error-dialog__actions{display:flex;justify-content:flex-end;margin-top:12px}
.mail-error-dialog__content .error-pre{max-height:350px;overflow:auto}
