:root{--bg:#f4f8fb;--card:#ffffff;--text:#18324a;--muted:#5f7488;--primary:#2f6fa6;--accent:#6ab3b2;--line:#dce7f0;--shadow:0 16px 38px rgba(28,58,88,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f7fbff 0,#eef5fb 100%);color:var(--text)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,92vw);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:72px;height:auto;border-radius:16px;box-shadow:var(--shadow);background:#fff}.brand strong{display:block;font-size:1rem}.brand span{font-size:.86rem;color:var(--muted)}.site-nav{display:flex;gap:16px;align-items:center;margin-left:24px}.site-nav a{padding:10px 14px;border-radius:999px;color:var(--muted)}.site-nav a.active,.site-nav a:hover,.button{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:none;border-radius:999px;cursor:pointer}.button.secondary{background:#fff;color:var(--primary);border:1px solid var(--line)}.button.small{padding:10px 14px}.nav-toggle{display:none}
.hero{padding:70px 0 40px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}.eyebrow{display:inline-block;padding:8px 12px;border-radius:999px;background:#eaf4fb;color:var(--primary);font-weight:600}.hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:16px 0}.hero p{font-size:1.05rem;color:var(--muted)}.hero-card,.card,.admin-card{background:var(--card);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:28px}.hero-card{padding:16px}.hero-card img{border-radius:22px;background:linear-gradient(135deg,#e8f1f8,#fff)}
.section{padding:26px 0 56px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-head h2{margin:0;font-size:1.9rem}.section-head p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{padding:22px}.card h3{margin:12px 0 8px}.muted{color:var(--muted)}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf6f8;color:#2c6f77;font-size:.8rem}
.chapter-card img,.gallery-cover{height:220px;object-fit:cover;width:100%;border-radius:18px}.news-list article{margin-bottom:18px}.news-list a.title{font-size:1.1rem;font-weight:700;color:var(--primary)}
.tree{display:flex;flex-direction:column;align-items:center;gap:26px}.tree-level{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.tree-node{width:220px;text-align:center;padding:16px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.tree-node img{width:88px;height:88px;border-radius:50%;object-fit:cover;margin:0 auto 12px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1/-1}input,textarea,select{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;font:inherit}textarea{min-height:130px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}.flash{padding:14px 16px;border-radius:16px;background:#e9f7ef;color:#21623d;margin-bottom:16px}
.site-footer{padding:26px 0 0;border-top:1px solid var(--line);background:#f6fbff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;padding:10px 0 24px}.footer-grid h4,.footer-grid h3{margin:0 0 12px}.footer-grid a,.footer-grid p{display:block;margin:8px 0;color:var(--muted)}.footer-bottom{padding:18px 0;color:var(--muted);border-top:1px solid var(--line)}
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:#12324c;color:#d8ebfb;padding:24px;position:sticky;top:0;height:100vh}.admin-sidebar a{display:block;padding:10px 12px;border-radius:14px;color:#d8ebfb;margin-bottom:8px}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.14)}.admin-main{padding:26px;background:#eef5fb}.admin-card{padding:22px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line)}
@media (max-width:900px){.hero-grid,.grid-3,.grid-2,.footer-grid,.form-grid,.stats,.admin-shell{grid-template-columns:1fr}.site-nav{display:none;position:absolute;top:86px;right:4vw;left:4vw;flex-direction:column;background:#fff;padding:14px;border-radius:20px;box-shadow:var(--shadow);margin-left:0}.site-nav.open{display:flex}.nav-toggle{display:block;border:none;background:#fff;padding:10px 12px;border-radius:12px}.admin-sidebar{position:relative;height:auto}}

.status-pill{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;font-weight:700;background:#e2e8f0;color:#334155}.status-pill.demo,.badge.demo{background:#fef3c7;color:#92400e}.status-pill.open_real,.badge.open_real{background:#dcfce7;color:#166534}.status-pill.closed,.badge.closed{background:#fee2e2;color:#991b1b}
.pie-wrap{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center}.pie-chart{width:220px;height:220px;border-radius:50%;position:relative}.pie-chart:after{content:'';position:absolute;inset:38px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.legend-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.pending{background:#94a3b8}.dot.valid{background:#22c55e}.dot.invalid{background:#ef4444}
.member-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#f8fbff;margin:18px 0}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.candidate-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#fff;cursor:pointer}.candidate-card input{margin:0 0 8px 0;width:20px;height:20px}.candidate-card img{width:100%;height:220px;object-fit:cover;border-radius:18px}.candidate-card strong{font-size:1.05rem}.candidate-card span{color:var(--muted)}.vision-link{color:var(--primary);font-weight:700}
.id-chip{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:700}.id-chip.active{background:#2563eb;color:#fff}.highlight-row{background:#eff6ff}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.56);display:none;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-backdrop.show{display:flex}.modal-card{width:min(520px,92vw);background:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow)}.modal-card.modal-large{width:min(900px,96vw)}.modal-open{overflow:hidden}
.table.pending tbody tr:first-child td{background:#f8fafc}.table.valid tbody tr:first-child td{background:#f0fdf4}.table.invalid tbody tr:first-child td{background:#fef2f2}.table.cancelled tbody tr:first-child td{background:#fff7ed}
@media (max-width:900px){.pie-wrap,.member-preview,.candidate-grid{grid-template-columns:1fr}.pie-chart{margin:auto}}
