.summary-card{background:#fff;padding:26px;border-radius:22px;box-shadow:0 15px 40px #0000000a;border:1px solid rgba(0,0,0,.03);transition:all .3s ease}.summary-card.danger{border-left:5px solid #e63946}.summary-card .card-header{display:flex;justify-content:space-between;align-items:center}.summary-card .trend{font-size:14px}.summary-card .trend.up{color:#2e7d32}.summary-card .trend.down{color:#e63946}.summary-card p{color:#6b7280;font-size:14px}.summary-card h2{font-size:34px;color:#0fa3a3}.summary-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px #00000014}.insight-panel{background:linear-gradient(135deg,#0fa3a31a,#1b2a4e14);border-left:6px solid #0fa3a3;padding:24px;border-radius:22px;margin-bottom:30px;box-shadow:0 20px 40px #0000000a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease}.insight-panel:hover{transform:translateY(-4px)}.insight-panel h4{color:#1b2a4e;margin-bottom:12px}.insight-panel ul{margin-top:12px;color:#6b7280}.adherence-badge{padding:6px 10px;border-radius:6px;color:#fff;font-weight:700}.adherence-badge.green{background:#3bb273}.adherence-badge.orange{background:#ffb703}.adherence-badge.red{background:#ef476f}.patient-table{border-radius:20px;overflow:hidden;width:100%;padding:10px;border-collapse:collapse;box-shadow:0 20px 40px #0000000a}.patient-table thead{position:sticky;top:0;z-index:5}.patient-table th{background:#0fa3a314;color:#1b2a4e}.patient-table td,.patient-table th{padding:12px 15px}.patient-table a{color:#0fa3a3;font-weight:600;text-align:center}.patient-table tr{transition:all .2s ease;cursor:pointer}.patient-table tr:hover{background:#0fa3a30a}.patients-page{padding:30px;max-width:1400px;margin:auto}.patients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.patients-header h2{color:#1b2a4e;margin-bottom:4px}.patients-header p{font-size:14px;color:#6b7280}.search-input{padding:12px 16px;border-radius:14px;border:1px solid #d1d5db;width:280px;transition:all .25s ease}.search-input:focus{outline:none;border-color:#0fa3a3;box-shadow:0 0 0 3px #0fa3a326}.pagination{margin-top:25px;display:flex;gap:10px}.pagination button{padding:8px 14px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;transition:all .25s ease}.pagination button.active{background:#0fa3a3;color:#fff;border-color:#0fa3a3}.pagination button:hover{transform:translateY(-2px)}.patients-loading{padding:40px;text-align:center}.empty-state{background:#fff;padding:40px;border-radius:20px;text-align:center;color:#6b7280}.patient-detail{max-width:1200px;margin:auto;padding:30px 20px;display:flex;flex-direction:column;gap:30px}.patient-detail .patient-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 30px #0000000d;border:1px solid #eef2f7}.patient-detail .patient-header .header-left h2{font-size:24px;margin-bottom:5px}.patient-detail .patient-header .header-left .subtitle{font-size:14px;color:#6b7280}.patient-detail .dashboard-cards{display:flex;gap:20px}.patient-detail .summary-card{min-width:180px;padding:20px;border-radius:14px;display:flex;flex-direction:column;gap:8px;background:#f8fafc;border:1px solid #e5eaf0;transition:.2s ease}.patient-detail .summary-card p{font-size:13px;color:#6b7280}.patient-detail .summary-card h2{font-size:26px;font-weight:600}.patient-detail .summary-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000000f}.patient-detail .summary-card.adherence h2{color:#3bb273}.patient-detail .summary-card.accuracy h2{color:#0fa3a3}.patient-detail .section{background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 30px #0000000d;border:1px solid #eef2f7;display:flex;flex-direction:column;gap:20px}.patient-detail .section h3{font-size:18px;font-weight:600}.reports-page{display:flex;flex-direction:column;gap:28px;padding:10px 0}.reports-page .page-title{font-size:26px;font-weight:600;color:#0fa3a3;letter-spacing:.3px}.reports-page .filters-container{display:flex;flex-wrap:wrap;gap:20px;padding:20px;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000d;border:1px solid #eef2f7}.reports-page .filters-container .filter-group{display:flex;align-items:center;gap:10px}.reports-page .filters-container select,.reports-page .filters-container input{padding:10px 14px;border-radius:8px;border:1px solid #d6dbe1;background:#f9fbfd;font-size:14px;transition:.2s ease;min-width:160px}.reports-page .filters-container select:focus,.reports-page .filters-container input:focus{outline:none;border-color:#0fa3a3;background:#fff}.reports-page .filters-container button{padding:10px 16px;background:#0fa3a3;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.reports-page .filters-container button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.reports-page .filters-container button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.reports-page .error-text{color:#d93025;font-size:14px;font-weight:500}.reports-page .report-document{background:#fff;border-radius:16px;padding:30px;box-shadow:0 10px 30px #0000000d;border:1px solid #e8edf2;display:flex;flex-direction:column;gap:30px}.reports-page .report-header{padding-bottom:18px;border-bottom:1px solid #eef2f7}.reports-page .report-header h3{font-size:20px;margin-bottom:10px;color:#0fa3a3}.reports-page .report-header .meta{display:flex;flex-wrap:wrap;gap:20px;font-size:13px;color:#6b7280}.reports-page .report-section{display:flex;flex-direction:column;gap:18px}.reports-page .report-section h4{font-size:17px;font-weight:600;color:#0fa3a3}.reports-page .report-result.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.reports-page .metric{background:#f8fafc;padding:18px;border-radius:12px;border:1px solid #e5eaf0;display:flex;flex-direction:column;gap:6px;transition:.2s ease}.reports-page .metric span{font-size:13px;color:#6b7280;letter-spacing:.3px}.reports-page .metric strong{font-size:22px;font-weight:600;color:#0fa3a3}.reports-page .metric:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000d}.reports-page .export-btn{align-self:flex-start;padding:12px 20px;background:#0fa3a3;color:#fff;border:none;border-radius:10px;font-weight:600;letter-spacing:.4px;cursor:pointer;transition:all .2s ease}.reports-page .export-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.reports-page .export-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.login-page{display:flex;height:100vh;font-family:Inter,sans-serif}.login-left{flex:1;background:linear-gradient(135deg,#0fa3a3,#1b4965);color:#fff;display:flex;justify-content:center;align-items:center;padding:60px}.login-left .branding{max-width:420px}.login-left .branding h1{font-size:42px;font-weight:700;margin-bottom:20px;letter-spacing:1px}.login-left .branding p{font-size:18px;line-height:1.6;margin-bottom:20px;opacity:.9}.login-left .branding span{font-size:14px;opacity:.8;letter-spacing:1px}.login-right{flex:1;background:#f5f9fb;display:flex;justify-content:center;align-items:center;padding:40px}.login-card{width:380px;background:#fff;padding:40px;border-radius:20px;box-shadow:0 25px 60px #0000000d;border:1px solid rgba(0,0,0,.04)}.login-card h2{font-size:24px;margin-bottom:8px;color:#1b4965}.login-card .subtitle{font-size:14px;margin-bottom:30px;color:#6b7280}.input-group{margin-bottom:20px}.input-group label{display:block;font-size:13px;margin-bottom:6px;color:#374151}.input-group input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #d1d5db;font-size:14px;transition:all .25s ease}.input-group input:focus{outline:none;border-color:#0fa3a3;box-shadow:0 0 0 3px #0fa3a326}.primary-btn{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,#0fa3a3,#1b4965);color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1b49654d}.security-note{display:block;text-align:center;margin-top:18px;font-size:12px;color:#6b7280}.auth-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:18px}.auth-switch{text-align:center;margin-top:20px;font-size:13px;color:#6b7280}.auth-switch a{color:#0fa3a3;font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.primary-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1b2a4e,#182545);color:#fff;padding:30px 24px;box-shadow:6px 0 40px #00000014}.sidebar .brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;margin-bottom:50px;color:#0fa3a3;text-shadow:0 0 20px rgba(15,163,163,.25)}.sidebar .brand .brand-icon{font-size:24px}.sidebar .nav-item{display:flex;align-items:center;padding:14px 16px;border-radius:14px;color:#ffffffd9;text-decoration:none;margin-bottom:12px;transition:all .28s ease;font-size:15px}.sidebar .nav-item:hover{background:#ffffff14;transform:translate(6px)}.sidebar .nav-item.active{background:#0fa3a3;color:#fff;font-weight:600;box-shadow:0 10px 25px #0fa3a359}.right-content{display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:20;box-shadow:0 2px 25px #0000000a}.topbar h3{margin:0;font-size:19px;color:#1b2a4e;font-weight:600}.topbar .topbar-title{display:flex;align-items:center;gap:14px}.topbar .topbar-title .title-accent{width:6px;height:42px;border-radius:20px;background:linear-gradient(180deg,#0fa3a3,#0d8b8b);box-shadow:0 0 15px #0fa3a366}.topbar .topbar-title .title-text{display:flex;flex-direction:column}.topbar .topbar-title .title-text h3{margin:0;font-size:20px;font-weight:700;color:#1b2a4e;letter-spacing:.3px}.topbar .topbar-title .title-text p{margin:2px 0 0;font-size:13px;color:#1b2a4e99}.topbar .topbar-right{display:flex;align-items:center;gap:20px}.topbar .topbar-right .profile{display:flex;align-items:center;gap:10px}.topbar .topbar-right .profile .profile-pic{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,0,0,.08)}.topbar .topbar-right .profile .user-name{font-weight:500;color:#1b2a4e}.topbar .topbar-right .logout-btn{background:#ef476f;color:#fff;border:none;border-radius:10px;padding:8px 14px;cursor:pointer;font-weight:600;transition:all .25s ease}.topbar .topbar-right .logout-btn:hover{opacity:.9;transform:translateY(-2px)}.main-content{flex:1;padding:32px;background:#f8fafc}.profile-page{max-width:900px;margin:0 auto;padding:40px 20px;display:flex;flex-direction:column;gap:30px}.profile-page .profile-header{display:flex;align-items:center;gap:20px;background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 30px #0000000d;border:1px solid #eef2f7}.profile-page .profile-header .avatar{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#0fa3a3,#0b7474);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600}.profile-page .profile-header .header-info h2{margin:0;font-size:22px}.profile-page .profile-header .header-info .role-badge{margin-top:6px;display:inline-block;padding:4px 10px;font-size:12px;border-radius:20px;background:#007bff1a;color:#0fa3a3;font-weight:500}.profile-page .profile-card{background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 30px #0000000d;border:1px solid #eef2f7;display:flex;flex-direction:column;gap:20px}.profile-page .info-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.profile-page .info-row:last-child{border-bottom:none}.profile-page .info-row .label{font-size:13px;color:#6b7280;letter-spacing:.3px}.profile-page .info-row .value{font-size:15px;font-weight:500;color:#111827}.profile-page .info-row .status{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.profile-page .info-row .status.active{background:#2e7d321a;color:#3bb273}body{margin:0;font-family:Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at top left,rgba(15,163,163,.06),transparent 50%),radial-gradient(circle at bottom right,rgba(27,42,78,.06),transparent 50%),#f7fbff;color:#1f2937}table{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #0000000a}th{background:#0fa3a314;color:#1b2a4e;font-weight:600}tr:hover{background:#0fa3a308}button{border-radius:14px;border:none;font-weight:600;transition:all .25s ease;cursor:pointer}button:hover{transform:translateY(-2px)}
