@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary:#1d4ed8;--primary-hover:#1e40af;--primary-light:#eff6ff;--primary-muted:#bfdbfe;--success:#059669;--success-light:#ecfdf5;--warning:#d97706;--warning-light:#fffbeb;--danger:#dc2626;--danger-light:#fef2f2;--purple:#7c3aed;--purple-light:#f5f3ff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 8px -1px #00000014,0 2px 4px -2px #0000000a;--shadow-lg:0 10px 24px -3px #00000014,0 4px 8px -4px #0000000a;--shadow-xl:0 20px 40px -6px #0000001f;--radius-sm:5px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--font:"Inter","Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%;min-height:-webkit-fill-available;overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--gray-50);color:#0f172a;color:var(--gray-900);line-height:1.5;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.input,body,select,textarea{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:14px}.input,select,textarea{appearance:none;background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);color:#1e293b;color:var(--gray-800);margin-bottom:12px;padding:9px 13px;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,select:focus,textarea:focus{border-color:#1d4ed8;border-color:var(--primary);box-shadow:0 0 0 3px #1d4ed81a;outline:none}textarea{min-height:80px;resize:vertical}label.field-label{color:#475569;color:var(--gray-600);display:block;font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:5px;text-transform:uppercase}.btn-primary{align-items:center;background:#1d4ed8;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:600;gap:7px;letter-spacing:.01em;padding:9px 18px;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:#1e40af;background:var(--primary-hover);box-shadow:0 4px 12px #1d4ed847}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.45}.btn-secondary{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);color:#334155;color:var(--gray-700);cursor:pointer;display:inline-flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:500;gap:7px;padding:9px 18px;transition:all .15s;white-space:nowrap}.btn-secondary:hover{background:#f8fafc;background:var(--gray-50);border-color:#cbd5e1;border-color:var(--gray-300);color:#0f172a;color:var(--gray-900)}.btn-logout{background:#0000;border:1.5px solid #e2e8f0;border:1.5px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);color:#64748b;color:var(--gray-500);cursor:pointer;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:13px;font-weight:500;padding:7px 14px;transition:all .15s}.btn-logout:hover{background:#fef2f2;background:var(--danger-light);border-color:#fca5a5;color:#dc2626;color:var(--danger)}.btn-small{align-items:center;background:#eff6ff;background:var(--primary-light);border:1px solid #bfdbfe;border:1px solid var(--primary-muted);border-radius:5px;border-radius:var(--radius-sm);color:#1d4ed8;color:var(--primary);cursor:pointer;display:inline-flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:12px;font-weight:600;gap:4px;padding:5px 10px;transition:all .15s}.btn-small:hover{background:#1d4ed8;background:var(--primary);color:#fff}.link-button{background:none;border:none;color:#1d4ed8;color:var(--primary);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;text-decoration:none}.link-button:hover{color:#1e40af;color:var(--primary-hover);text-decoration:underline}.login-container{align-items:center;background:linear-gradient(145deg,#0f172a,#1d4ed8);display:flex;justify-content:center;min-height:100vh;padding:30px 18px}.login-card{animation:slideUp .35s ease-out;background:#fff;border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 40px -6px #0000001f;box-shadow:var(--shadow-xl);max-width:420px;padding:40px;width:min(100%,420px)}.login-header{margin-bottom:28px}.login-logo{gap:10px;margin-bottom:8px}.login-logo,.login-logo-mark{align-items:center;display:flex}.login-logo-mark{background:#1d4ed8;background:var(--primary);border-radius:9px;height:36px;justify-content:center;width:36px}.login-header h1{color:#0f172a;color:var(--gray-900);font-size:20px;font-weight:700;letter-spacing:-.3px}.subtitle{color:#94a3b8;color:var(--gray-400);font-size:13px;margin-top:4px}.login-form{display:flex;flex-direction:column}.error{background:#fef2f2;background:var(--danger-light);border-left:3px solid #dc2626;border-left:3px solid var(--danger);border-radius:8px;border-radius:var(--radius);color:#991b1b;font-size:13px;margin-bottom:12px;padding:10px 14px}.toggle-auth{color:#64748b;color:var(--gray-500);font-size:13px;margin-top:18px;text-align:center}.app{display:flex;flex-direction:column;min-height:100vh;min-height:-webkit-fill-available}.navbar{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);flex-shrink:0;height:56px;justify-content:space-between;padding:0 28px;z-index:200}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{gap:10px}.navbar-brand-mark{align-items:center;background:#1d4ed8;background:var(--primary);border-radius:7px;display:flex;height:28px;justify-content:center;width:28px}.navbar-brand h1{color:#0f172a;color:var(--gray-900);font-size:16px;font-weight:700;letter-spacing:-.3px}.navbar-menu{gap:16px}.navbar-menu,.user-info{align-items:center;display:flex}.user-info{color:#64748b;color:var(--gray-500);font-size:13px;gap:8px}.badge{background:#eff6ff;background:var(--primary-light);border-radius:20px;color:#1d4ed8;color:var(--primary);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.4px;padding:3px 10px;text-transform:uppercase}.badge-success{background:#ecfdf5;background:var(--success-light);color:#059669;color:var(--success)}.badge-danger{background:#fef2f2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.badge-warning{background:#fffbeb;background:var(--warning-light);color:#d97706;color:var(--warning)}.badge-purple{background:#f5f3ff;background:var(--purple-light);color:#7c3aed;color:var(--purple)}.admin-dashboard{display:flex;flex:1 1;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e2e8f0;border-right:1px solid var(--gray-200);flex-shrink:0;overflow-y:auto;padding:16px 10px;width:220px}.sidebar-section-label{color:#94a3b8;color:var(--gray-400);font-size:10px;font-weight:700;letter-spacing:.8px;margin-top:8px;padding:6px 12px 4px;text-transform:uppercase}.sidebar-menu{display:flex;flex-direction:column;gap:1px;list-style:none}.sidebar-menu button{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius);color:#475569;color:var(--gray-600);cursor:pointer;display:flex;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:500;gap:10px;padding:9px 12px;text-align:left;transition:all .12s;width:100%}.sidebar-menu button:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--gray-900)}.sidebar-menu button.active{background:#eff6ff;background:var(--primary-light);font-weight:600}.sidebar-menu button.active,.sidebar-menu button.active svg{color:#1d4ed8;color:var(--primary)}.admin-content{background:#f8fafc;background:var(--gray-50);flex:1 1;overflow-y:auto;padding:28px}.page-container{animation:fadeIn .2s ease}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-header h2{color:#0f172a;color:var(--gray-900);font-size:20px;font-weight:700;letter-spacing:-.3px}.form-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.form-section h3{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);color:#1e293b;color:var(--gray-800);font-size:15px;font-weight:600;margin-bottom:16px;padding-bottom:12px}.overview-page h2{color:#0f172a;color:var(--gray-900);font-size:20px;font-weight:700;letter-spacing:-.3px;margin-bottom:20px}.stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:24px}.stat-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);border-top:3px solid;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:14px;padding:18px 20px;transition:box-shadow .15s,transform .15s}.stat-card.clickable{cursor:pointer}.stat-card:hover{box-shadow:0 4px 8px -1px #00000014,0 2px 4px -2px #0000000a;box-shadow:var(--shadow-md)}.stat-card.clickable:hover{transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:9px;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.stat-content{flex:1 1;min-width:0}.stat-label{color:#94a3b8;color:var(--gray-400);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.5px}.data-table{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-collapse:collapse;border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.data-table thead{background:#f8fafc;background:var(--gray-50);border-bottom:1.5px solid #e2e8f0;border-bottom:1.5px solid var(--gray-200)}.data-table th{color:#94a3b8;color:var(--gray-400);font-size:11px;font-weight:700;letter-spacing:.6px;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);color:#475569;color:var(--gray-600);font-size:13.5px;padding:11px 16px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:#f8fafc;background:var(--gray-50)}.font-bold{color:#0f172a;color:var(--gray-900);font-weight:600}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a80;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{animation:modalSlide .22s ease-out;background:#fff;border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 40px -6px #0000001f;box-shadow:var(--shadow-xl);max-height:90vh;max-width:820px;overflow-y:auto;padding:32px;position:relative;width:92%}.modal{max-width:95vw;width:100%}.modal-close{align-items:center;background:#f1f5f9;background:var(--gray-100);border:none;border-radius:50%;color:#64748b;color:var(--gray-500);cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .15s;width:30px}.modal-close:hover{background:#e2e8f0;background:var(--gray-200);color:#1e293b;color:var(--gray-800)}.modal-tabs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.tab-section h3{color:#1e293b;color:var(--gray-800);font-size:15px;font-weight:600;margin-bottom:12px}.tab-section p{color:#475569;color:var(--gray-600);font-size:13px;margin-bottom:8px}.contact-item,.credential-item{background:#f8fafc;background:var(--gray-50);border-left:3px solid #1d4ed8;border-left:3px solid var(--primary);border-radius:8px;border-radius:var(--radius);margin-bottom:10px;padding:12px}.client-portal{margin:0 auto;max-width:860px;padding:24px 20px}@media (max-width:600px){.client-portal{padding:16px 12px}}.welcome{color:#94a3b8;color:var(--gray-400);font-size:13px;margin-bottom:20px}.client-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.client-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:18px 20px;transition:box-shadow .15s}.client-card:hover{box-shadow:0 4px 8px -1px #00000014,0 2px 4px -2px #0000000a;box-shadow:var(--shadow-md)}.card-title{color:#94a3b8;color:var(--gray-400);font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.card-value{color:#0f172a;color:var(--gray-900);font-size:24px;font-weight:700;letter-spacing:-.5px}.data-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:24px}.data-section h2{color:#1e293b;color:var(--gray-800);font-size:15px;font-weight:600;margin-bottom:14px}.recent-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:22px}.recent-section h3{color:#1e293b;color:var(--gray-800);font-size:15px;font-weight:600;margin-bottom:14px}.loading{align-items:center;display:flex;font-size:13px;gap:10px;justify-content:center;min-height:280px}.loading,.placeholder{color:#94a3b8;color:var(--gray-400)}.placeholder{font-size:14px;padding:48px;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlide{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.tab-nav{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200);gap:2px;margin-bottom:24px}.tab-nav,.tab-nav button{background:#0000;display:flex}.tab-nav button{align-items:center;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--gray-500);cursor:pointer;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font);font-size:13.5px;font-weight:500;gap:7px;margin-bottom:-2px;padding:10px 20px;transition:all .15s;white-space:nowrap}.tab-nav button:hover{color:#1e293b;color:var(--gray-800)}.tab-nav button.tab-active{border-bottom-color:#1d4ed8;border-bottom-color:var(--primary);color:#1d4ed8;color:var(--primary);font-weight:600}.tab-badge{background:#dc2626;background:var(--danger);border-radius:20px;color:#fff;font-size:11px;font-weight:700;min-width:20px;padding:1px 7px;text-align:center}.reminder-group{margin-bottom:24px}.reminder-group-label{color:#94a3b8;color:var(--gray-400);font-size:11px;font-weight:700;letter-spacing:.7px;margin-bottom:10px;padding-left:2px;text-transform:uppercase}.reminder-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius);display:flex;gap:14px;margin-bottom:6px;padding:12px 16px;transition:box-shadow .15s,transform .15s}.reminder-card.clickable{cursor:pointer}.reminder-card:hover{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.reminder-card.clickable:hover{transform:translateY(-1px)}.reminder-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.reminder-info{flex:1 1;min-width:0}.reminder-name{color:#0f172a;color:var(--gray-900);font-size:13.5px;font-weight:600;margin-bottom:2px}.reminder-meta{color:#94a3b8;color:var(--gray-400);font-size:12px}.reminder-date{font-size:12px;font-weight:600;white-space:nowrap}.bar-chart{align-items:flex-end;display:flex;gap:8px;height:80px;padding:8px 0 0}.bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;height:100%;justify-content:flex-end}.bar-fill{border-radius:4px 4px 0 0;min-height:4px;transition:height .4s ease;width:100%}.bar-label{color:#94a3b8;color:var(--gray-400);font-size:10px;text-align:center}.divider{background:#f1f5f9;background:var(--gray-100);height:1px;margin:16px 0}.text-muted{color:#94a3b8;color:var(--gray-400)}.text-sm{font-size:12px}.action-cell{align-items:center;display:flex;gap:5px}@media (max-width:768px){.admin-dashboard{flex-direction:column}.sidebar{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--gray-200);border-right:none;padding:8px;width:100%}.sidebar-menu{flex-direction:row;flex-wrap:wrap}.sidebar-menu button{flex:1 1;font-size:12px;justify-content:center;min-width:90px;padding:8px}.admin-content{padding:16px}.stats-grid{grid-template-columns:1fr 1fr}.modal-tabs{grid-template-columns:1fr}.navbar{height:52px;padding:0 16px}.data-table td,.data-table th{font-size:12px;padding:8px 10px}.page-header h2{font-size:17px}}@media (max-width:480px){.login-card{padding:24px}.login-logo h1{font-size:18px}.login-header{margin-bottom:20px}.page-header{align-items:flex-start;flex-direction:column;gap:10px}.page-header>div,.page-header>form{width:100%}.page-header .btn-primary,.page-header .btn-secondary{justify-content:center;width:100%}.client-cards,.stats-grid{grid-template-columns:1fr}.admin-content{padding:12px}.sidebar-menu{gap:8px}.sidebar-menu button{min-width:100%}.navbar{padding:0 14px}.data-table{display:block;overflow-x:auto;width:100%}.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:table;width:100%}.data-table td,.data-table th{font-size:11px}.page-container{padding:0 12px 60px}.btn-primary,.btn-secondary,.btn-small,.input,select,textarea{width:100%}.modal-content{max-width:95vw;padding:20px;width:95vw}.modal{max-width:95vw;width:100%}.modal-close{right:12px;top:12px}}.responsive-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.responsive-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
/*# sourceMappingURL=main.6c72f27c.css.map*/