:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#f8fafc;background:radial-gradient(circle at top left,rgba(192,29,47,.24),transparent 24rem),radial-gradient(circle at bottom right,rgba(130,18,31,.18),transparent 22rem),linear-gradient(180deg,#090b10,#12141b 52%,#181a22);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-elevated: rgba(20, 20, 28, .9);--bg-elevated-strong: rgba(28, 28, 37, .95);--line: rgba(255, 255, 255, .1);--line-strong: rgba(192, 29, 47, .45);--text: #f8fafc;--text-muted: #dde2ea;--text-soft: #9aa5b5;--accent: #c01d2f;--accent-strong: #991825;--accent-soft: rgba(192, 29, 47, .18);--accent-glow: rgba(192, 29, 47, .3);--success: #2f9e6b;--warning: #cf7a16;--danger: #c24141;--radius-lg: 28px;--radius-md: 20px;--radius-sm: 14px;--shadow: 0 24px 80px rgba(15, 23, 42, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{margin:0 0 .4rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.shell{display:grid;min-height:100vh;grid-template-columns:minmax(260px,320px) 1fr}.shell__sidebar{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;border-right:1px solid var(--line);background:linear-gradient(180deg,#0f0f16f5,#111218e6),radial-gradient(circle at top left,var(--accent-glow),transparent 16rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-card,.panel-card,.auth-card,.hero-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow)}.brand-card{display:flex;gap:1rem;align-items:center;padding:1.2rem;background:linear-gradient(135deg,#c01d2f1a,#14141ceb),var(--bg-elevated)}.brand-card__logo{width:min(12rem,42vw);height:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(192,29,47,.16))}.brand-card h1,.shell__header h2,.auth-card h1,.hero-card h2{margin:0}.shell__nav{display:grid;gap:.75rem}.nav-link{display:grid;gap:.2rem;padding:1rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-md);background:#0f172a73;transition:transform .16s ease,border-color .16s ease,background .16s ease}.nav-link:hover,.nav-link:focus-visible,.nav-link--active{transform:translateY(-1px);border-color:var(--line-strong);background:linear-gradient(135deg,#c01d2f38,#c01d2f14)}.nav-link__label{font-weight:700}.nav-link__meta{color:var(--text-soft);font-size:.92rem}.shell__sidebar-footer{margin-top:auto}.shell__main{display:flex;flex-direction:column;min-width:0}.shell__header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.5rem 2rem 1rem;background:linear-gradient(180deg,#090b10b8,#090b1000),radial-gradient(circle at top right,rgba(192,29,47,.12),transparent 18rem)}.shell__header-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.shell__content{padding:0 2rem 2rem}.language-switcher{display:inline-flex;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:#0f172a99}.language-switcher__button{border:0;border-radius:999px;padding:.45rem .75rem;background:transparent;color:var(--text-muted)}.language-switcher__button--active{background:var(--accent);color:#fff6f7;font-weight:700}.user-chip{display:flex;gap:.75rem;align-items:center;padding:.65rem .8rem;border:1px solid var(--line);border-radius:999px;background:#0f172a80}.user-chip p{margin:.15rem 0 0;color:var(--text-soft);font-size:.85rem}.user-chip__avatar{display:grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff;font-weight:800}.page-grid{display:grid;gap:1.25rem}.hero-card{padding:1.5rem;overflow:hidden;background:radial-gradient(circle at top right,rgba(192,29,47,.14),transparent 18rem),var(--bg-elevated)}.hero-card p{max-width:60ch;color:var(--text-muted)}.hero-card__metrics,.card-grid,.status-grid,.roadmap-grid{display:grid;gap:1rem}.hero-card__metrics,.card-grid,.status-grid,.roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.panel-card{padding:1.25rem}.panel-card p,.panel-card li{color:var(--text-muted)}.metric-card{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#0f172a66}.metric-card strong{display:block;margin-top:.4rem;font-size:1.25rem}.auth-layout{display:grid;min-height:100vh;align-items:stretch;grid-template-columns:minmax(0,1.2fr) minmax(320px,540px)}.auth-hero{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:3rem;background:radial-gradient(circle at top left,rgba(192,29,47,.24),transparent 22rem),linear-gradient(180deg,#0e0e14f0,#121219d6)}.auth-hero__logo{width:min(22rem,100%);height:auto;margin-bottom:.5rem;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(192,29,47,.18))}.auth-card{align-self:center;margin:1.5rem;padding:1.6rem;background:linear-gradient(180deg,#1e1216f2,#14141ceb),var(--bg-elevated-strong)}.auth-card p,.auth-hero p,.helper-text{color:var(--text-muted)}.field{display:grid;gap:.4rem}.field label{font-weight:600}.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0f172a80;color:var(--text)}.field textarea{min-height:7rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(192,29,47,.45);outline-offset:2px;border-color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:999px;font-weight:700}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff;box-shadow:0 14px 30px #c01d2f38}.button--secondary{border-color:var(--line);background:#0f172a73;color:var(--text)}.button--danger{border-color:#c2414166;background:#c241412e;color:#ffd1d1}.status-badge{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;padding:.35rem .65rem;border-radius:999px;font-size:.84rem;font-weight:700}.status-badge:before{width:.55rem;height:.55rem;border-radius:999px;content:""}.status-badge--success{background:#2f9e6b29;color:#b7f0ce}.status-badge--success:before{background:var(--success)}.status-badge--warning{background:#cf7a162e;color:#ffd5a1}.status-badge--warning:before{background:var(--warning)}.status-badge--danger{background:#c241412e;color:#f8b4b4}.status-badge--danger:before{background:var(--danger)}.button:hover,.button:focus-visible{transform:translateY(-1px)}.stack{display:grid;gap:1rem}.list{display:grid;gap:.75rem;padding:0;margin:0;list-style:none}.list-item{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0f172a59}.list-item--stacked{display:grid}.list-item__topline{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.muted{color:var(--text-soft)}.empty-state{padding:1rem;border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-soft)}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid__actions{display:flex;align-items:end}.form-grid__full{grid-column:1 / -1}.member-list,.team-grid,.approval-grid{display:grid;gap:1rem}.member-card,.approval-card{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#12131beb,#14141cd6),var(--bg-elevated);box-shadow:var(--shadow)}.member-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.member-card h3,.approval-card h3{margin:0}.member-card p,.approval-card p{margin:.2rem 0 0;color:var(--text-muted)}.detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-pair{padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0f172a42}.detail-pair--full{grid-column:1 / -1}.detail-pair dt{margin:0 0 .45rem;color:var(--text-soft);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.detail-pair dd{margin:0;color:var(--text)}.tab-row,.chip-row,.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.tab-button{border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;background:#0f172a61;color:var(--text-muted)}.tab-button--active,.tab-button:hover,.tab-button:focus-visible{border-color:var(--line-strong);background:linear-gradient(135deg,#c01d2f38,#c01d2f14);color:var(--text)}.info-chip{display:inline-flex;padding:.45rem .7rem;border:1px solid rgba(192,29,47,.26);border-radius:999px;background:#c01d2f1f;color:#ffe3e7;font-size:.88rem}.section-split,.activity-grid,.announcement-grid,.report-grid,.attendance-grid{display:grid;gap:1rem}.activity-card,.announcement-card,.report-card{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#12131be6,#14141cd1),var(--bg-elevated);color:var(--text);text-align:left}.activity-card p,.announcement-card p,.report-card p{margin:0;color:var(--text-muted)}.activity-card--active{border-color:var(--line-strong);box-shadow:0 18px 42px #c01d2f29}.activity-card__meta,.announcement-card__meta,.report-card__stats{display:flex;gap:.85rem;flex-wrap:wrap;color:var(--text-soft);font-size:.92rem}.attendance-row{display:grid;gap:.75rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#0f172a57}.attendance-row .field{gap:.25rem}@media(min-width:981px){.section-split{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}.attendance-row{grid-template-columns:minmax(0,1fr) minmax(200px,240px) auto;align-items:center}}@media(max-width:980px){.shell,.auth-layout{grid-template-columns:1fr}.shell__sidebar{border-right:0;border-bottom:1px solid var(--line)}.shell__header,.shell__content{padding-inline:1.25rem}.auth-hero{padding:2rem 1.25rem 1rem}.auth-card{margin:0 1.25rem 1.5rem}.member-card__header,.list-item__topline{grid-template-columns:1fr;display:grid}}
