@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--emerald-500:#10b981;--emerald-600:#059669;--amber-500:#f59e0b;--rose-500:#ef4444;--cyan-500:#06b6d4;--purple-500:#8b5cf6;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #00000040, 0 10px 10px -5px #0000001a;--font-main:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif}[data-theme=dark]{--bg-app:#0b0f19;--bg-surface:#131a29;--bg-card:#182234;--bg-card-hover:#1e2b42;--bg-muted:#101726;--bg-glass:#131a29d9;--border-color:#243147;--border-subtle:#1b263b;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--text-inverse:#0f172a;--badge-active-bg:#10b98126;--badge-active-text:#34d399;--badge-regular-bg:#6366f126;--badge-regular-text:#818cf8;--badge-visitor-bg:#f59e0b26;--badge-visitor-text:#fbbf24;--badge-inactive-bg:#ef444426;--badge-inactive-text:#f87171}[data-theme=light]{--bg-app:#f8fafc;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-muted:#f1f5f9;--bg-glass:#ffffffd9;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--text-main:#0f172a;--text-muted:#475569;--text-dim:#94a3b8;--text-inverse:#fff;--badge-active-bg:#d1fae5;--badge-active-text:#047857;--badge-regular-bg:#e0e7ff;--badge-regular-text:#4338ca;--badge-visitor-bg:#fef3c7;--badge-visitor-text:#b45309;--badge-inactive-bg:#fee2e2;--badge-inactive-text:#b91c1c}*{box-sizing:border-box;font-family:var(--font-main);margin:0;padding:0;transition:background-color .2s,border-color .2s,color .15s}body{background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);font-weight:700}.app-container{min-height:100vh;display:flex;position:relative}.sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border-color);z-index:40;flex-direction:column;width:260px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:1.5rem;display:flex}.brand-icon{background:linear-gradient(135deg, var(--primary-500), var(--primary-700));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #6366f14d}.brand-title{background:linear-gradient(135deg,#818cf8,#c7d2fe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800}[data-theme=light] .brand-title{background:linear-gradient(135deg, var(--primary-700), var(--primary-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;padding:1.25rem .75rem;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.925rem;font-weight:500;display:flex}.nav-item:hover{background-color:var(--bg-card-hover);color:var(--text-main)}.nav-item.active{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;font-weight:600;box-shadow:0 4px 12px #4f46e540}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.theme-toggle-btn{border-radius:var(--radius-md);background-color:var(--bg-muted);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;justify-content:space-between;align-items:center;padding:.6rem .9rem;font-size:.85rem;font-weight:500;display:flex}.theme-toggle-btn:hover{color:var(--text-main);border-color:var(--primary-500)}.main-wrapper{flex-direction:column;flex:1;min-width:0;margin-left:260px;display:flex}.top-navbar{background-color:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:30;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:sticky;top:0}.page-header-info h2{font-size:1.35rem}.page-header-info p{color:var(--text-muted);font-size:.825rem}.top-navbar-actions{align-items:center;gap:1rem;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));box-shadow:0 4px 14px #4f46e566}.btn-secondary{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-main)}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--text-muted)}.btn-emerald{background:linear-gradient(135deg, var(--emerald-500), var(--emerald-600));color:#fff}.btn-emerald:hover{filter:brightness(1.1)}.btn-danger{color:var(--rose-500);background-color:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background-color:#ef444440}.btn-icon-only{border-radius:var(--radius-md);padding:.6rem}.content-body{flex:1;padding:2rem}.badge{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-active{background-color:var(--badge-active-bg);color:var(--badge-active-text)}.badge-regular{background-color:var(--badge-regular-bg);color:var(--badge-regular-text)}.badge-visitor{background-color:var(--badge-visitor-bg);color:var(--badge-visitor-text)}.badge-inactive{background-color:var(--badge-inactive-bg);color:var(--badge-inactive-text)}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.35rem;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--primary-500), var(--emerald-500));height:3px;position:absolute;top:0;left:0;right:0}.stat-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.stat-title{color:var(--text-muted);font-size:.85rem;font-weight:600}.stat-icon-wrapper{border-radius:var(--radius-md);background-color:var(--bg-muted);width:36px;height:36px;color:var(--primary-500);justify-content:center;align-items:center;display:flex}.stat-value{color:var(--text-main);font-size:1.75rem;font-weight:800;font-family:var(--font-display)}.stat-footer{color:var(--text-muted);align-items:center;gap:.35rem;margin-top:.5rem;font-size:.775rem;display:flex}.trend-up{color:var(--emerald-500);font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background-color:#000000b3;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.25s ease-out slideUp;display:flex;overflow:hidden}.modal-card form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-muted);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.form-label{color:var(--text-main);font-size:.85rem;font-weight:600}.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);width:100%;color:var(--text-main);outline:none;padding:.65rem .9rem;font-size:.9rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f133}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.table-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table{border-collapse:collapse;text-align:left;width:100%}.table th{background-color:var(--bg-muted);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:.85rem 1.25rem;font-size:.8rem;font-weight:700}.table td{border-bottom:1px solid var(--border-subtle);padding:1rem 1.25rem;font-size:.9rem}.table tr:hover{background-color:var(--bg-card-hover)}.toast-container{z-index:200;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-md);background-color:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);align-items:center;gap:.75rem;min-width:280px;padding:.9rem 1.25rem;animation:.3s ease-out slideInRight;display:flex}.toast-success{border-left:4px solid var(--emerald-500)}.toast-warning{border-left:4px solid var(--amber-500)}.toast-info{border-left:4px solid var(--primary-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.member-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.member-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;flex-direction:column;align-items:center;padding:1.25rem;display:flex;position:relative}.member-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-avatar{border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-500);width:72px;height:72px;margin-bottom:.75rem}.member-name{margin-bottom:.2rem;font-size:1.05rem;font-weight:700}.member-role{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.member-contact{color:var(--text-muted);border-top:1px solid var(--border-subtle);flex-direction:column;gap:.35rem;width:100%;margin-top:.5rem;padding-top:.75rem;font-size:.8rem;display:flex}.contact-item{text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;display:flex;overflow:hidden}@page{size:landscape;margin:.15in}@media print{html,body{color:#000!important;background:#fff!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:visible!important}.sidebar,.top-navbar,.no-print,button,.modal-overlay{display:none!important}body *{visibility:hidden}.printable-tax-statement,.printable-tax-statement *,.printable-document,.printable-document *,.printable-calendar,.printable-calendar *{visibility:visible}.printable-tax-statement,.printable-document{position:absolute;top:0;left:0;color:#000!important;width:100%!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.printable-calendar{width:100%!important;height:98vh!important;box-shadow:none!important;background:#fff!important;border:none!important;flex-direction:column!important;justify-content:space-between!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important}.calendar-print-title{border-bottom:2px solid #0f172a!important;justify-content:space-between!important;align-items:flex-end!important;margin-bottom:.5rem!important;padding-bottom:.25rem!important;display:flex!important}.calendar-month-header{display:none!important}.calendar-weekdays-header{color:#000!important;background-color:#cbd5e1!important;border:2.5px solid #000!important;border-radius:0!important;padding:.4rem 0!important;font-weight:800!important}.calendar-grid-container{flex:1!important;grid-template-columns:repeat(7,1fr)!important;gap:4px!important;height:100%!important;display:grid!important}.calendar-day-cell{opacity:1!important;box-sizing:border-box!important;background-color:#fff!important;border:2.5px solid #000!important;border-radius:4px!important;height:100%!important;min-height:0!important;padding:.4rem!important}.calendar-day-cell.other-month{opacity:.75!important;background-color:#f1f5f9!important;border:2px solid #334155!important}.calendar-day-num{color:#0f172a!important;font-size:.95rem!important;font-weight:800!important}.calendar-events-list{gap:.25rem!important;max-height:none!important;overflow:visible!important}.calendar-event-badge{color:#0f172a!important;white-space:normal!important;word-break:break-word!important;background-color:#f1f5f9!important;border:1px solid #94a3b8!important;border-left:4px solid #312e81!important;padding:.15rem .25rem!important;font-size:.725rem!important}.calendar-event-time{color:#4338ca!important}.table{border-collapse:collapse!important;width:100%!important}.table th,.table td{color:#000!important;border:1px solid #ccc!important;padding:6px 10px!important;font-size:11pt!important}.badge{color:#000!important;background:#f0f0f0!important;border:1px solid #999!important}}
