@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{--bg:#040c18;--card:#0d1930;--surface:rgba(10,21,43,0.74);--surface-strong:rgba(9,18,35,0.9);--accent1:#2563eb;--accent2:#38bdf8;--accent-glow:rgba(56,189,248,0.22);--text:#edf5ff;--muted:#9eb3cd;--line:rgba(148,163,184,0.18)}
*{box-sizing:border-box;font-family:Poppins,Inter,"Segoe UI",system-ui,Arial,sans-serif;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:
radial-gradient(circle at top left, rgba(37,99,235,0.2), transparent 32%),
radial-gradient(circle at top right, rgba(56,189,248,0.14), transparent 24%),
linear-gradient(180deg,#06101f 0%,#091426 45%,#040b15 100%);
color:var(--text);min-height:100vh;position:relative;overflow-x:hidden}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:999px;filter:blur(100px);opacity:.34}
body::before{top:-80px;left:-90px;width:260px;height:260px;background:rgba(37,99,235,0.28)}
body::after{top:120px;right:-120px;width:320px;height:320px;background:rgba(56,189,248,0.18)}
.watermark{position:fixed;right:14px;bottom:10px;color:rgba(255,255,255,0.05);font-size:48px;pointer-events:none;z-index:1}
.right-notice{position:fixed;right:0;top:100px;width:320px;background:rgba(9,18,35,0.58);padding:14px;border-left:1px solid rgba(255,255,255,0.08);border-radius:20px 0 0 20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px rgba(2,10,23,0.3);z-index:20}
.marquee{overflow:hidden;white-space:nowrap}
.marquee-content{display:inline-block;padding-left:100%;animation:legacyMarquee 20s linear infinite}
@keyframes legacyMarquee{0%{transform:translateX(0%)}100%{transform:translateX(-100%)}}
.notice{margin-top:8px;font-size:13px;color:var(--muted);line-height:1.5}

.site-header{position:relative;margin:18px;padding:20px 22px;border-radius:28px;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,rgba(7,18,38,0.92),rgba(14,28,56,0.58));border:1px solid rgba(148,163,184,0.16);box-shadow:0 24px 60px rgba(2,10,23,0.42),inset 0 1px 0 rgba(255,255,255,0.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:30;animation:headerReveal .85s cubic-bezier(.22,1,.36,1) both}
.site-header::before,.site-header::after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.site-header::before{top:-110px;right:-60px;width:260px;height:260px;background:radial-gradient(circle, rgba(56,189,248,0.28), transparent 62%)}
.site-header::after{bottom:-120px;left:-70px;width:250px;height:250px;background:radial-gradient(circle, rgba(37,99,235,0.24), transparent 60%)}
.site-header-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-brand{display:flex;align-items:center;gap:16px;min-width:0}
.site-brand-mark{display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,rgba(59,130,246,0.96),rgba(14,165,233,0.76));box-shadow:0 14px 35px rgba(37,99,235,0.34),inset 0 1px 0 rgba(255,255,255,0.22);font-size:1rem;font-weight:700;letter-spacing:.22em;color:#fff}
.site-brand-copy{min-width:0}
.site-kicker{margin-bottom:6px;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(191,219,254,0.76)}
.site-title{font-size:clamp(1.35rem,2vw,1.95rem);font-weight:700;line-height:1.15;letter-spacing:.02em}
.site-subtitle{margin-top:6px;font-size:.92rem;color:var(--muted)}
.site-committee{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}
.committee-label{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(186,211,244,0.72)}
.admin-names{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;max-width:min(100%,840px);overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}
.admin-names::-webkit-scrollbar{display:none}
.admin-item{flex:0 0 auto;display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(148,163,184,0.16);background:rgba(255,255,255,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);font-size:.84rem;line-height:1;color:#e2eeff;white-space:nowrap;transition:transform .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease,color .24s ease}
.admin-item:hover{transform:translateY(-2px);background:linear-gradient(135deg,rgba(37,99,235,0.24),rgba(56,189,248,0.14));border-color:rgba(125,211,252,0.56);box-shadow:0 12px 26px rgba(3,12,28,0.26),0 0 18px rgba(56,189,248,0.14);color:#fff}

.header-marquee{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-top:18px;padding:12px 14px;border-radius:22px;border:1px solid rgba(148,163,184,0.12);background:linear-gradient(135deg,rgba(255,255,255,0.08),rgba(255,255,255,0.03));animation:marqueeReveal .9s .12s cubic-bezier(.22,1,.36,1) both}
.marquee-label{flex:0 0 auto;display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;border:1px solid rgba(125,211,252,0.34);background:linear-gradient(135deg,rgba(37,99,235,0.34),rgba(56,189,248,0.18));font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f4f9ff}
.header-marquee-viewport{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,black 5%,black 95%,transparent 100%)}
.header-marquee-track{display:flex;width:max-content;will-change:transform;animation:headerTicker 28s linear infinite}
.header-marquee-group{display:flex;flex-shrink:0;align-items:center}
.header-marquee-pill{position:relative;display:inline-flex;align-items:center;white-space:nowrap;padding-right:22px;margin-right:22px;font-size:.92rem;color:rgba(226,238,255,0.88)}
.header-marquee-pill::after{content:"";position:absolute;right:0;width:6px;height:6px;border-radius:999px;background:linear-gradient(135deg,#fff,var(--accent2));box-shadow:0 0 12px rgba(56,189,248,0.68)}
.header-marquee:hover .header-marquee-track{animation-play-state:paused}

@keyframes headerTicker{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}
@keyframes headerReveal{0%{opacity:0;transform:translateY(-18px)}100%{opacity:1;transform:translateY(0)}}
@keyframes marqueeReveal{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}

@media (max-width:1100px){
	.site-header{padding:18px}
	.site-header-inner{flex-direction:column;align-items:flex-start}
	.site-committee{width:100%;align-items:flex-start}
	.admin-names{max-width:100%}
}
@media (max-width:720px){
	.site-header{margin:12px;padding:16px;border-radius:22px}
	.site-brand{align-items:flex-start}
	.site-brand-mark{flex-basis:56px;width:56px;height:56px;border-radius:18px}
	.site-title{font-size:1.4rem}
	.site-subtitle{font-size:.85rem}
	.admin-item{padding:9px 12px;font-size:.78rem}
	.header-marquee{flex-direction:column;align-items:flex-start;gap:10px}
	.header-marquee-viewport{width:100%;-webkit-mask-image:none;mask-image:none}
	.header-marquee-track{animation-duration:32s}
	.right-notice{display:none}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.site-header,.header-marquee{animation:none;opacity:1;transform:none}
	.marquee-content,.header-marquee-track{animation:none;padding-left:0;transform:none}
}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px}
.btn{background:linear-gradient(90deg,var(--accent1),var(--accent2));padding:8px 12px;border-radius:8px;color:#fff;text-decoration:none;border:none;cursor:pointer}
.container{padding:20px}
.cards{display:flex;flex-wrap:wrap;gap:12px}
.card{background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));padding:18px;border-radius:12px;color:#fff;text-decoration:none;width:160px;text-align:center}
.admin-main{margin-left:220px;padding:20px}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:200px;background:rgba(3,7,18,0.8);padding:18px}
.sidebar h3{margin-bottom:12px}
.sidebar nav a{display:block;color:#cbe7ff;margin:8px 0;text-decoration:none}
.auth-box{max-width:420px;margin:80px auto;background:rgba(255,255,255,0.03);padding:20px;border-radius:10px}
form input,select{width:100%;padding:8px;margin:6px 0;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:#fff}
.panel,.table{background:rgba(255,255,255,0.02);padding:12px;border-radius:8px;margin-top:12px}
.tr{display:grid;grid-template-columns:2fr 1fr 1fr 0.8fr 0.8fr 1fr;gap:8px;padding:8px;border-bottom:1px solid rgba(255,255,255,0.02)}
.tr.header{font-weight:600;color:var(--muted)}
.list{margin-top:10px}
.list-item{padding:8px;border-radius:6px;background:rgba(255,255,255,0.01);margin:6px 0}
.info{background:rgba(0,128,0,0.12);padding:8px;border-radius:6px}
.error{background:rgba(255,0,0,0.12);padding:8px;border-radius:6px}
@media(max-width:800px){.sidebar{display:none}.admin-main{margin-left:0}}
