:root{--bg-obsidian: #07080a;--bg-charcoal: #121316;--bg-card: rgba(18, 19, 22, .7);--bg-card-hover: rgba(26, 28, 32, .8);--accent-emerald: #57B228;--accent-emerald-glow: rgba(87, 178, 40, .45);--accent-purple: #571170;--accent-purple-glow: rgba(87, 17, 112, .45);--text-primary: #f5f6f8;--text-secondary: #ffffff;--text-muted: #ffffff;--border-glass: rgba(255, 255, 255, .07);--border-emerald: rgba(87, 178, 40, .3);--border-purple: rgba(87, 17, 112, .3);--font-display: "Outfit", "Inter", sans-serif;--font-body: "Inter", sans-serif;--shadow-double: 0 8px 32px 0 rgba(0, 0, 0, .5), inset 0 1px 0 0 rgba(255, 255, 255, .05);--shadow-emerald-neon: 0 0 20px 0 rgba(87, 178, 40, .3), 0 8px 32px 0 rgba(0, 0, 0, .5);--shadow-purple-neon: 0 0 20px 0 rgba(87, 17, 112, .3), 0 8px 32px 0 rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-obsidian);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(87,17,112,.08) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(87,178,40,.08) 0%,transparent 40%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-obsidian)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--accent-emerald)}.glass-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-md);box-shadow:var(--shadow-double);padding:24px;transition:all .4s cubic-bezier(.16,1,.3,1)}.glass-card:hover{background:var(--bg-card-hover);border-color:#ffffff1f;transform:translateY(-2px)}.glass-card.glow-emerald{border-color:var(--border-emerald);box-shadow:var(--shadow-emerald-neon)}.glass-card.glow-purple{border-color:var(--border-purple);box-shadow:var(--shadow-purple-neon)}.app-container{display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px}@media (min-width: 769px){.app-container{flex-direction:row;padding-bottom:0}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#07080acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass);position:sticky;top:0;z-index:100}.brand-container{display:flex;align-items:center;gap:12px}.brand-logo-glow{width:12px;height:12px;border-radius:50%;background:var(--accent-emerald);box-shadow:0 0 12px var(--accent-emerald);animation:pulse-glow 2s infinite alternate}.brand-logo-img{width:32px;height:32px;object-fit:contain;border-radius:var(--radius-sm);filter:drop-shadow(0 0 6px var(--accent-emerald-glow));transition:all .3s cubic-bezier(.16,1,.3,1)}.brand-logo-img:hover{transform:scale(1.1) rotate(4deg);filter:drop-shadow(0 0 10px var(--accent-emerald))}.brand-main-logo-sidebar{transition:all .3s cubic-bezier(.16,1,.3,1)}.brand-main-logo-sidebar:hover{transform:scale(1.05);box-shadow:0 0 24px var(--accent-emerald);border-color:var(--accent-emerald)}.login-logo-img{width:130px;height:130px;object-fit:contain;border-radius:50%;background:#ffffff08;border:1px solid var(--border-emerald);padding:8px;box-shadow:0 0 24px var(--accent-emerald-glow);transition:all .5s cubic-bezier(.16,1,.3,1)}.login-logo-img:hover{transform:scale(1.06) rotate(-2deg);box-shadow:0 0 32px var(--accent-emerald);background:#ffffff0d}.profile-crest-img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 0 8px var(--accent-emerald-glow));margin-bottom:8px;transition:transform .4s ease}.profile-crest-img:hover{transform:scale(1.05)}.brand-title{font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 30%,var(--accent-emerald) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-bar{display:flex;justify-content:space-around;align-items:center;background:#121316d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-glass);position:fixed;bottom:0;left:0;right:0;height:68px;z-index:100;padding:8px 12px}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.65rem;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.16,1,.3,1);min-width:60px}.nav-button:hover{color:var(--text-primary);background:#ffffff0d}.nav-button.active{color:var(--accent-emerald);text-shadow:0 0 8px rgba(87,178,40,.3)}.nav-button.active svg{stroke:var(--accent-emerald);filter:drop-shadow(0 0 4px var(--accent-emerald-glow))}@media (min-width: 769px){.app-header{display:none}.nav-bar{position:fixed;left:0;top:0;bottom:0;width:240px;height:100vh;overflow-y:auto;scrollbar-width:thin;flex-direction:column;justify-content:flex-start;align-items:stretch;border-top:none;border-right:1px solid var(--border-glass);padding:32px 16px;gap:12px}.nav-button{flex-direction:row;justify-content:flex-start;gap:16px;font-size:.9rem;padding:12px 16px;border-radius:var(--radius-md)}.nav-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-button.nav-calendar span{white-space:normal;text-align:left;flex:1;line-height:1.2}.nav-button:hover{transform:translate(4px)}.nav-button.active{background:#57b2280d;border-left:3px solid var(--accent-emerald);border-radius:0 var(--radius-md) var(--radius-md) 0}}.main-content{flex:1;padding:24px;max-width:1000px;margin:0 auto;width:100%}@media (min-width: 769px){.main-content{margin-left:240px;padding:40px;max-width:100%}}.page-title-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}@media (min-width: 769px){.page-title-section{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:32px}}.admin-nav-bar{display:flex;gap:8px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-nav-bar::-webkit-scrollbar{display:none}.admin-nav-bar .kacharis-btn{flex-shrink:0}.page-title{font-size:1.85rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 40%,var(--accent-emerald) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tab-content-active{animation:slide-up-fade .5s cubic-bezier(.16,1,.3,1) forwards}.circular-progress{position:relative;width:130px;height:130px;display:flex;align-items:center;justify-content:center;margin:0 auto}.circular-progress svg{width:130px;height:130px;transform:rotate(-90deg)}.circular-progress circle{fill:none;stroke-width:10}.circular-progress .bg-ring{stroke:#ffffff0a}.circular-progress .bar-ring{stroke:var(--accent-emerald);stroke-dasharray:345.5;transition:stroke-dashoffset 1s ease-in-out}.circular-progress .bar-ring.debt{stroke:var(--accent-purple)}.progress-text-container{position:absolute;text-align:center}.progress-percentage{font-size:1.6rem;font-weight:800;font-family:var(--font-display)}.progress-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.dashboard-grid{grid-template-columns:1.2fr .8fr}}.event-roster-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.event-roster-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.kacharis-btn{background:var(--text-primary);color:var(--bg-obsidian);border:none;font-family:var(--font-body);font-size:.85rem;font-weight:600;padding:10px 20px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .3s cubic-bezier(.16,1,.3,1)}.kacharis-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffffff26}.kacharis-btn.btn-emerald{background:var(--accent-emerald);color:#fff}.kacharis-btn.btn-emerald:hover{box-shadow:0 4px 12px var(--accent-emerald-glow)}.kacharis-btn.btn-purple{background:var(--accent-purple);color:#fff}.kacharis-btn.btn-purple:hover{box-shadow:0 4px 12px var(--accent-purple-glow)}.kacharis-btn.btn-secondary{background:#ffffff0f;color:var(--text-primary);border:1px solid var(--border-glass)}.kacharis-btn.btn-secondary:hover{background:#ffffff1f}.kacharis-input{background:#ffffff0a;border:1px solid var(--border-glass);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;padding:12px 16px;border-radius:var(--radius-md);width:100%;outline:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.kacharis-input:focus{border-color:var(--accent-purple);background:#ffffff14;box-shadow:0 0 10px #bf55ec26}.kacharis-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0a url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f6f8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;background-size:16px;border:1px solid var(--border-glass);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;padding:12px 40px 12px 16px;border-radius:var(--radius-md);width:100%;outline:none;cursor:pointer;transition:all .3s}.kacharis-select:focus{border-color:var(--accent-purple)}.rsvp-btn-group{display:flex;gap:8px;margin-top:16px;width:100%}.rsvp-option{flex:1;background:#ffffff0a;border:1px solid var(--border-glass);color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:8px 4px;border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:all .3s}.rsvp-option:hover{background:#ffffff14}.rsvp-option.selected.yes{background:var(--accent-emerald);color:#fff;border-color:var(--accent-emerald)}.rsvp-option.selected.maybe{background:#f1c40f;color:#000;border-color:#f1c40f}.rsvp-option.selected.no{background:#e74c3c;color:#fff;border-color:#e74c3c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#07080ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;animation:fade-in .3s cubic-bezier(.16,1,.3,1) forwards}.modal-content{width:100%;max-width:500px;background:var(--bg-charcoal);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:0 24px 64px #000c;padding:32px;max-height:90vh;overflow-y:auto;animation:scale-up .3s cubic-bezier(.16,1,.3,1) forwards}.finance-table-wrapper{overflow-x:auto;margin-top:16px;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.finance-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.finance-table th{background:#ffffff08;color:var(--text-secondary);font-family:var(--font-display);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--border-glass);text-transform:uppercase;font-size:.7rem;white-space:nowrap}.finance-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.finance-table tr:hover{background:#ffffff03}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase}.badge.badge-active{background:#57b2281a;color:var(--accent-emerald)}.badge.badge-inactive{background:#ffffff0d;color:var(--text-secondary)}.badge.badge-mandatory{background:#bf55ec1a;color:var(--accent-purple)}@keyframes pulse-glow{0%{box-shadow:0 0 6px var(--accent-emerald-glow)}to{box-shadow:0 0 16px var(--accent-emerald)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:loading-skeleton 1.5s infinite;border-radius:var(--radius-sm)}@keyframes loading-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.badge.badge-mandatory,.badge[style*="var(--accent-purple)"],span[style*="var(--accent-purple)"],td[style*="var(--accent-purple)"],a[style*="var(--accent-purple)"],h3[style*="var(--accent-purple)"]{background:var(--accent-purple)!important;color:#fff!important;text-shadow:none!important;box-shadow:0 2px 8px var(--accent-purple-glow)!important}@media (max-width: 580px){.nav-bar{height:56px;padding:4px 6px}.nav-button{min-width:44px;padding:6px 4px}.nav-button span{display:none!important}.glass-card{padding:16px}.modal-content{padding:20px;border-radius:var(--radius-md)}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);overflow:hidden;margin-top:16px}.calendar-header-cell{background:#ffffff08;padding:10px;text-align:center;font-weight:700;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-glass)}.calendar-day-cell{background:#12131666;min-height:110px;padding:6px;display:flex;flex-direction:column;gap:4px;transition:background .2s ease;position:relative}.calendar-day-cell:hover{background:#ffffff04}.calendar-day-cell.other-month{color:var(--text-muted);opacity:.35}.calendar-day-cell.today{background:#5711701f;border:1px solid rgba(87,17,112,.35)}.calendar-day-number{font-size:.75rem;font-weight:700;color:var(--text-secondary)}.calendar-day-cell.today .calendar-day-number{color:#fff;background:var(--accent-purple);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-event-pills{display:flex;flex-direction:column;gap:3px;overflow-y:auto;max-height:80px;margin-top:2px}.calendar-event-pill{font-size:.65rem;padding:2px 4px;border-radius:4px;color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .1s ease;font-weight:500;text-align:left;border:none;width:100%}.calendar-event-pill:hover{transform:translateY(-1px)}.calendar-event-pill.mandatory{background:var(--accent-emerald);box-shadow:0 1px 4px var(--accent-emerald-glow)}.calendar-event-pill.optional{background:var(--accent-purple);box-shadow:0 1px 4px var(--accent-purple-glow)}.view-toggle-group{display:flex;background:#ffffff0a;border:1px solid var(--border-glass);border-radius:var(--radius-sm);padding:2px}.view-toggle-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:600}.view-toggle-btn.active{background:var(--accent-emerald);color:#fff}@media (max-width: 580px){.calendar-day-cell{min-height:65px;padding:3px}.calendar-event-pill{font-size:.52rem;padding:1px 2px}.calendar-day-number{font-size:.65rem}.calendar-header-cell{padding:6px;font-size:.6rem}}
