html,body,#root{min-height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.login-page{background:linear-gradient(135deg,#eef7f1,#f7faf8);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 60px #0000001a}.login-header{text-align:center;margin-bottom:32px}.login-icon{background:#e7f5ec;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:30px;display:flex}.login-header h1{color:#1f2937;margin:0;font-size:26px}.login-header p{color:#6b7280;margin:8px 0 0}.form-group{margin-bottom:20px}.form-group label{color:#374151;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-group input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;padding:13px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#22a06b;box-shadow:0 0 0 3px #22a06b1f}.login-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin-bottom:18px;padding:11px 12px;font-size:14px}.login-button{color:#fff;cursor:pointer;background:#168a5a;border:none;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.login-button:hover{background:#117348}.login-button:disabled{opacity:.65;cursor:not-allowed}.login-footer{text-align:center;color:#9ca3af;margin-top:24px;font-size:12px}.dashboard-shell{color:#17211c;background:#f5f7f6;min-height:100vh;display:flex}.sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #e7ebe8;flex-direction:column;width:245px;height:100vh;min-height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #eef1ef;align-items:center;gap:12px;height:88px;padding:0 24px;display:flex}.brand h2{color:#173b2b;margin:0;font-size:18px}.brand span{color:#8b9690;font-size:11px}.sidebar-nav{flex-direction:column;gap:6px;padding:24px 14px;display:flex}.nav-item{color:#65716b;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;display:flex}.sidebar-bottom{border-top:1px solid #eef1ef;margin-top:auto;padding:18px 14px}.admin-mini{align-items:center;gap:10px;margin-bottom:12px;padding:8px;display:flex}.admin-avatar,.header-avatar{color:#168a5a;background:#dff2e7;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex}.admin-mini strong,.admin-mini span{display:block}.admin-mini strong{font-size:12px}.admin-mini span{color:#8b9690;text-overflow:ellipsis;max-width:150px;margin-top:3px;font-size:10px;overflow:hidden}.logout-button{color:#6d7772;cursor:pointer;background:#fff;border:1px solid #e4e9e6;border-radius:9px;width:100%;padding:10px}.logout-button:hover{color:#dc2626;background:#fff5f5;border-color:#fecaca}.dashboard-main{box-sizing:border-box;flex:1;max-width:1500px;padding:34px 40px 50px}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.eyebrow{color:#168a5a;letter-spacing:1.4px;margin:0 0 7px;font-size:11px;font-weight:700}.dashboard-header h1{letter-spacing:-.6px;margin:0;font-size:31px}.header-description{color:#7a847f;margin:7px 0 0;font-size:14px}.header-user{align-items:center;gap:10px;display:flex}.header-user strong,.header-user span{display:block}.header-user strong{font-size:13px}.header-user span{color:#8b9690;margin-top:3px;font-size:11px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px;display:grid}.stat-card{background:#fff;border:1px solid #e8ece9;border-radius:15px;align-items:center;gap:15px;padding:20px;display:flex}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;font-size:19px;display:flex}.patients-icon{color:#3974c8;background:#e9f1ff}.plans-icon{color:#c47a1c;background:#fff2df}.reminder-icon{color:#7955bb;background:#f1eaff}.sent-icon{color:#168a5a;background:#e6f7ee}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:#7c8781;font-size:12px}.stat-card strong{color:#17211c;margin:4px 0;font-size:25px}.stat-card small{color:#9aa39e;font-size:10px}.content-grid{grid-template-columns:1.45fr 1fr;gap:22px;margin-bottom:22px;display:grid}.panel{background:#fff;border:1px solid #e8ece9;border-radius:15px;overflow:hidden}.panel-header{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;padding:19px 21px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel-header p{color:#8a938e;margin:4px 0 0;font-size:11px}.count-badge{color:#168a5a;background:#edf7f1;border-radius:20px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.schedule-list{padding:8px 20px 15px}.schedule-row{border-bottom:1px solid #f1f3f2;align-items:center;gap:12px;min-height:58px;display:flex}.schedule-row:last-child{border-bottom:none}.schedule-time{color:#168a5a;width:72px;font-size:12px;font-weight:700}.schedule-line{background:#168a5a;border-radius:50%;width:7px;height:7px}.schedule-info{flex:1}.schedule-info strong,.schedule-info span{display:block}.schedule-info strong{font-size:13px}.schedule-info span{color:#89928d;margin-top:3px;font-size:11px}.status{border-radius:20px;padding:5px 8px;font-size:10px}.active-status{color:#168a5a;background:#eaf7ef}.inactive-status{color:#8b9290;background:#f1f2f2}.patient-list{padding:8px 20px 15px}.patient-row{border-bottom:1px solid #f1f3f2;align-items:center;gap:11px;min-height:59px;display:flex}.patient-row:last-child{border-bottom:none}.patient-info{flex:1}.patient-info strong,.patient-info span{display:block}.patient-info strong{font-size:13px}.patient-info span{color:#8b9490;margin-top:3px;font-size:10px}.patient-status{color:#9b9f9d;font-size:10px}.patient-status.active{color:#168a5a}.reminder-panel{margin-bottom:30px}.reminder-table-wrapper{overflow-x:auto}.reminder-table{border-collapse:collapse;width:100%}.reminder-table th,.reminder-table td{text-align:left;border-bottom:1px solid #f0f2f1;padding:14px 20px}.reminder-table th{color:#8b9490;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:600}.reminder-table td{font-size:12px}.reminder-status{text-transform:capitalize;border-radius:20px;padding:5px 9px;font-size:10px;display:inline-block}.reminder-status.pending{color:#a66a0b;background:#fff5df}.reminder-status.sent{color:#168a5a;background:#eaf7ef}.reminder-status.failed{color:#c53030;background:#fff0f0}.empty-state{color:#9ba39f;flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.empty-state div{margin-bottom:8px;font-size:26px}.empty-state p{font-size:12px}.dashboard-loading{color:#65716b;background:#f5f7f6;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-error{color:#c53030;background:#fff0f0;border:1px solid #fecaca;border-radius:10px;margin-bottom:20px;padding:12px 15px;font-size:13px}@media (width<=1100px){.sidebar{width:210px}.dashboard-main{padding:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media (width<=700px){.dashboard-shell{display:block}.sidebar{width:100%;height:auto;min-height:auto;position:static}.sidebar-nav{flex-direction:row;overflow-x:auto}.nav-item{white-space:nowrap;width:auto}.sidebar-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-mini{margin-bottom:0}.logout-button{width:auto;padding:9px 15px}.dashboard-main{padding:22px 16px}.dashboard-header{gap:20px}.header-user{display:none}.stats-grid{grid-template-columns:1fr}}.patients-page{box-sizing:border-box;background:#f5f7f6;min-height:100vh;padding:34px 40px 50px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-header h1{color:#17211c;margin:0;font-size:30px}.page-description{color:#7b8580;margin:7px 0 0;font-size:13px}.add-patient-button,.empty-add-button{color:#fff;cursor:pointer;background:#168a5a;border:none;border-radius:9px;padding:12px 18px;font-size:13px;font-weight:600}.add-patient-button:hover,.empty-add-button:hover,.save-patient-button:hover{background:#117348}.patients-error{color:#c53030;background:#fff0f0;border:1px solid #fecaca;border-radius:9px;margin-bottom:18px;padding:12px 15px;font-size:13px}.patients-card{background:#fff;border:1px solid #e7ebe8;border-radius:15px;overflow:hidden}.patients-toolbar{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.patients-toolbar h2{margin:0;font-size:16px}.patients-toolbar span{color:#8a938e;margin-top:4px;font-size:11px;display:block}.search-box{background:#fff;border:1px solid #dfe5e1;border-radius:9px;align-items:center;gap:9px;width:280px;padding:0 12px;display:flex}.search-box:focus-within{border-color:#168a5a;box-shadow:0 0 0 3px #168a5a14}.search-box span{color:#89938e;margin:0;font-size:18px}.search-box input{color:#17211c;border:none;outline:none;width:100%;padding:11px 0;font-size:12px}.patients-table-wrapper{overflow-x:auto}.patients-table{border-collapse:collapse;width:100%;min-width:850px}.patients-table th{text-align:left;color:#8a938e;text-transform:uppercase;letter-spacing:.5px;background:#fafbfa;border-bottom:1px solid #edf0ee;padding:13px 20px;font-size:10px;font-weight:600}.patients-table td{color:#56615b;border-bottom:1px solid #f0f2f1;padding:15px 20px;font-size:12px}.patients-table tbody tr:hover{background:#fbfdfc}.patient-table-avatar{color:#168a5a;background:#e8f4ed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.patient-cell strong{color:#17211c;font-size:13px}.patient-active,.patient-inactive{border-radius:20px;padding:5px 9px;font-size:10px;display:inline-block}.patient-active{color:#168a5a;background:#eaf7ef}.patient-inactive{color:#7e8582;background:#f0f1f1}.patient-actions{gap:7px;display:flex}.edit-button,.delete-button{cursor:pointer;border-radius:7px;padding:7px 10px;font-size:10px}.edit-button{color:#168a5a;background:#f1f8f4;border:1px solid #d8e8df}.edit-button:hover{background:#e4f3eb}.delete-button{color:#c53030;background:#fff7f7;border:1px solid #f0d1d1}.delete-button:hover{background:#fff0f0}.patients-loading,.patients-empty{flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.patients-loading{color:#7d8782}.patients-spinner{border:3px solid #dce8e1;border-top-color:#168a5a;border-radius:50%;width:28px;height:28px;margin-bottom:12px;animation:.8s linear infinite patients-spin}@keyframes patients-spin{to{transform:rotate(360deg)}}.patients-loading p,.patients-empty p{color:#8c9591;font-size:12px}.empty-patient-icon{color:#168a5a;background:#edf7f1;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;margin-bottom:13px;font-size:25px;display:flex}.patients-empty h3{color:#344039;margin:0;font-size:16px}.patients-empty p{margin:7px 0 17px}.modal-overlay{z-index:1000;background:#141f196b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.patient-modal{background:#fff;border-radius:17px;width:100%;max-width:620px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 25px 80px #0003}.modal-header{border-bottom:1px solid #edf0ee;justify-content:space-between;padding:23px 25px;display:flex}.modal-eyebrow{color:#168a5a;letter-spacing:1px;margin:0 0 5px;font-size:10px;font-weight:700}.modal-header h2{color:#17211c;margin:0;font-size:21px}.modal-close{color:#69736e;cursor:pointer;background:#f2f4f3;border:none;border-radius:8px;width:32px;height:32px;font-size:22px;line-height:1}.modal-close:hover{background:#e9ecea}.patient-form{padding:24px 25px 25px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.field{min-width:0}.full-width{grid-column:1/-1}.field label{color:#46514b;margin-bottom:7px;font-size:11px;font-weight:600;display:block}.field input,.field select{box-sizing:border-box;color:#28332d;background:#fff;border:1px solid #dce3df;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-size:12px}.field input:focus,.field select:focus{border-color:#168a5a;box-shadow:0 0 0 3px #168a5a14}.active-field{padding-top:2px}.toggle-label{cursor:pointer;color:#46514b;align-items:center;gap:10px;font-size:12px;display:flex}.toggle-label input{opacity:0;pointer-events:none;position:absolute}.toggle{background:#cbd2ce;border-radius:20px;width:38px;height:21px;transition:all .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle-label input:checked+.toggle{background:#168a5a}.toggle-label input:checked+.toggle:after{left:20px}.modal-actions{border-top:1px solid #edf0ee;justify-content:flex-end;gap:9px;margin-top:26px;padding-top:20px;display:flex}.cancel-button,.save-patient-button{cursor:pointer;border-radius:8px;padding:10px 17px;font-size:12px;font-weight:600}.cancel-button{color:#68736d;background:#fff;border:1px solid #dce3df}.cancel-button:hover{background:#f6f8f7}.save-patient-button{color:#fff;background:#168a5a;border:none}@media (width<=800px){.patients-page{padding:24px 18px 40px}.page-header{flex-direction:column;align-items:flex-start}.patients-toolbar{flex-direction:column;align-items:stretch}.search-box{width:auto}}@media (width<=550px){.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.modal-overlay{padding:10px}.patient-modal{max-height:calc(100vh - 20px)}}.patients-main{background:#f7f8fa;flex:1;min-width:0;min-height:100vh;padding:32px}.dashboard-shell .patients-main .page-header,.dashboard-shell .patients-main .patients-card{max-width:none}@media (width<=900px){.patients-main{padding:24px}}@media (width<=700px){.patients-main{padding:18px}}.patient-details-main{background:#f7f8fa;flex:1;min-width:0;min-height:100vh;padding:32px}.details-back-button{color:#536174;cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:14px;font-weight:600}.details-back-button:hover{color:#172033}.details-header{margin-bottom:28px}.patient-title-section{align-items:center;gap:16px;display:flex}.patient-large-avatar{color:#2563eb;background:#e8f1ff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.section-label{color:#8a94a6;letter-spacing:.08em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.patient-title-section h1{color:#172033;margin:0 0 8px;font-size:28px}.status-badge{border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.active{color:#16834d;background:#e8f8ef}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:none;display:grid}.details-card{background:#fff;border:1px solid #e8ebf0;border-radius:16px;min-width:0;padding:24px;box-shadow:0 2px 8px #141e3208}.details-card.schedule-card{grid-column:1/-1}.card-section-title{margin-bottom:8px}.card-section-title span{color:#8a94a6;letter-spacing:.08em;font-size:11px;font-weight:700}.details-card h2{color:#172033;margin:0 0 22px;font-size:20px}.patient-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;display:grid}.info-item{flex-direction:column;gap:6px;display:flex}.info-item span{color:#8a94a6;font-size:12px;font-weight:500}.info-item strong{color:#172033;overflow-wrap:anywhere;font-size:14px;font-weight:600}.nutrition-plan-preview{background:#f8fafc;border:1px solid #edf0f4;border-radius:12px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.plan-icon{background:#eef5ff;border-radius:10px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.plan-info{min-width:0}.plan-info h3{color:#172033;overflow-wrap:anywhere;margin:0 0 7px;font-size:15px}.plan-info p{color:#6f7a8d;margin:4px 0;font-size:12px}.plan-status{color:#16834d;font-weight:600}.primary-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:9px;padding:11px 16px;font-size:13px;font-weight:600}.primary-button:hover{background:#1d4ed8}.empty-state{text-align:center;padding:20px 0}.empty-icon{margin-bottom:10px;font-size:28px}.empty-state h3{color:#172033;margin:0 0 7px;font-size:15px}.empty-state p{color:#7b8494;max-width:420px;margin:0 auto 18px;font-size:13px;line-height:1.6}.schedule-list{flex-direction:column;gap:10px;width:100%;display:flex}.schedule-row{box-sizing:border-box;background:#fafbfc;border:1px solid #edf0f3;border-radius:12px;grid-template-columns:150px minmax(0,1fr) 190px;align-items:center;column-gap:24px;width:100%;min-height:76px;padding:15px 18px;display:grid}.schedule-time{align-items:center;gap:9px;min-width:0;display:flex}.schedule-time span{color:#2563eb;background:#eef5ff;border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex}.schedule-time strong{color:#172033;white-space:nowrap;font-size:14px}.schedule-content{min-width:0}.schedule-content strong{color:#172033;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.schedule-content p{color:#7b8494;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.schedule-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.repeat-badge,.whatsapp-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.repeat-badge{color:#596579;background:#f0f2f5}.whatsapp-badge{color:#16834d;background:#e8f8ef}.loading-state,.error-state{color:#6f7a8d;text-align:center;padding:40px}.error-state{color:#c0392b}@media (width<=1000px){.details-grid{grid-template-columns:1fr}.details-card.schedule-card{grid-column:auto}.schedule-row{grid-template-columns:130px minmax(0,1fr) 170px;column-gap:16px}}@media (width<=760px){.patient-details-main{padding:24px}.patient-info-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr;gap:12px}.schedule-actions{justify-content:flex-start}}@media (width<=600px){.patient-details-main,.details-card{padding:18px}.patient-title-section h1{font-size:24px}.nutrition-plan-preview{align-items:flex-start}}.nutrition-upload-page{color:#172033;background:#f7f8fa;min-height:100vh;padding:32px}.nutrition-upload-header{max-width:850px;margin:0 auto 25px}.upload-back-button{color:#536174;cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:14px;font-weight:600}.upload-back-button:hover{color:#172033}.upload-eyebrow{color:#7b8798;letter-spacing:1.5px;margin:0 0 7px;font-size:11px;font-weight:700}.nutrition-upload-header h1{margin:0 0 10px;font-size:30px}.upload-description{color:#718096;max-width:650px;margin:0;font-size:14px;line-height:1.6}.upload-card{background:#fff;border:1px solid #e7eaf0;border-radius:18px;max-width:850px;margin:0 auto;padding:28px;box-shadow:0 4px 18px #141e320d}.upload-drop-zone{text-align:center;border:2px dashed #d8dde6;border-radius:16px;padding:48px 25px}.upload-file-icon{color:#172033;background:#f0f2f6;border-radius:17px;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 16px;font-size:25px;font-weight:700;display:flex}.upload-drop-zone h2{margin:0 0 7px;font-size:19px}.upload-drop-zone p{color:#7b8798;margin:0 0 20px;font-size:13px}.choose-file-button{color:#fff;cursor:pointer;background:#172033;border-radius:10px;justify-content:center;align-items:center;padding:11px 18px;font-size:13px;font-weight:700;display:inline-flex}.choose-file-button:hover{opacity:.9}.selected-file{text-align:left;border:1px solid #e4e8ee;border-radius:11px;justify-content:space-between;align-items:center;max-width:520px;margin:22px auto 0;padding:13px 15px;display:flex}.selected-file div{flex-direction:column;gap:4px;min-width:0;display:flex}.selected-file strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.selected-file span{color:#8a94a3;font-size:11px}.remove-file-button{color:#8a94a3;cursor:pointer;background:0 0;border:none;font-size:22px}.upload-error,.upload-success{border-radius:10px;margin-top:18px;padding:12px 14px;font-size:13px}.upload-error{color:#bd3e32;background:#fff0ef;border:1px solid #ffd7d3}.upload-success{color:#21864b;background:#edf9f1;border:1px solid #d1efd9}.upload-info{background:#f7f8fa;border-radius:12px;margin-top:20px;padding:16px}.upload-info strong{font-size:13px}.upload-info p{color:#718096;margin:6px 0 0;font-size:12px;line-height:1.6}.upload-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.upload-cancel-button,.upload-submit-button{cursor:pointer;border:none;border-radius:10px;padding:11px 18px;font-size:13px;font-weight:700}.upload-cancel-button{color:#536174;background:#eef0f4}.upload-submit-button{color:#fff;background:#172033}.upload-submit-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=600px){.nutrition-upload-page{padding:20px}.upload-card{padding:18px}.upload-drop-zone{padding:35px 15px}.upload-actions{flex-direction:column-reverse}.upload-cancel-button,.upload-submit-button{width:100%}}.nutrition-preview-page{color:#172033;background:#f7f8fa;min-height:100vh;padding:32px}.preview-header{max-width:1200px;margin:0 auto 24px}.preview-back-button{color:#536174;cursor:pointer;background:0 0;border:none;margin-bottom:22px;padding:0;font-size:14px;font-weight:600}.preview-eyebrow,.preview-card-eyebrow{color:#7b8798;letter-spacing:1.5px;margin:0 0 6px;font-size:11px;font-weight:700}.preview-header h1{margin:0 0 8px;font-size:30px}.preview-description{color:#718096;max-width:720px;margin:0;font-size:14px;line-height:1.6}.plan-summary{background:#fff;border:1px solid #e7eaf0;border-radius:15px;grid-template-columns:2fr 1fr 1fr;gap:20px;max-width:1200px;margin:0 auto 20px;padding:18px 22px;display:grid}.plan-summary div{flex-direction:column;gap:5px;display:flex}.plan-summary span{color:#8a94a3;letter-spacing:1px;font-size:10px;font-weight:700}.plan-summary strong{font-size:13px}.preview-card{background:#fff;border:1px solid #e7eaf0;border-radius:18px;max-width:1200px;margin:0 auto;overflow:hidden;box-shadow:0 4px 18px #141e320a}.preview-card-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:15px;padding:22px;display:flex}.preview-card-header h2{margin:0;font-size:18px}.add-schedule-button{color:#fff;cursor:pointer;background:#172033;border:none;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700}.schedule-table-wrapper{overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;min-width:950px}.preview-table th{color:#7b8798;text-align:left;text-transform:uppercase;letter-spacing:.7px;background:#fafbfc;padding:13px 14px;font-size:10px}.preview-table td{vertical-align:middle;border-top:1px solid #edf0f4;padding:12px 14px}.preview-table input,.preview-table select{box-sizing:border-box;color:#253044;background:#fff;border:1px solid #dfe3e9;border-radius:8px;outline:none;width:100%;min-width:110px;padding:9px 10px;font-size:12px}.preview-table input:focus,.preview-table select:focus{border-color:#8b95a5}.whatsapp-toggle{white-space:nowrap;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.whatsapp-toggle input{width:auto;min-width:auto}.remove-row-button{color:#bd4a40;cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:11px;font-weight:700}.empty-preview{text-align:center;color:#8a94a3;font-size:13px;padding:40px!important}.preview-error{color:#bd3e32;background:#fff0ef;border:1px solid #ffd7d3;border-radius:10px;max-width:1200px;margin:0 auto 18px;padding:12px 14px;font-size:13px}.preview-footer{background:#fff;border:1px solid #e7eaf0;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:20px auto 0;padding:20px 22px;display:flex}.preview-footer strong{font-size:13px}.preview-footer p{color:#7b8798;margin:5px 0 0;font-size:11px}.preview-footer-actions{gap:10px;display:flex}.preview-cancel-button,.confirm-plan-button{cursor:pointer;border:none;border-radius:9px;padding:11px 17px;font-size:12px;font-weight:700}.preview-cancel-button{color:#536174;background:#eef0f4}.confirm-plan-button{color:#fff;background:#172033}.confirm-plan-button:disabled{opacity:.5;cursor:not-allowed}.preview-error-card{text-align:center;background:#fff;border:1px solid #e7eaf0;border-radius:16px;max-width:600px;margin:100px auto;padding:30px}.preview-error-card h2{margin-top:0}.preview-error-card p{color:#718096}.preview-error-card button{color:#fff;cursor:pointer;background:#172033;border:none;border-radius:9px;padding:10px 16px}@media (width<=700px){.nutrition-preview-page{padding:20px}.plan-summary{grid-template-columns:1fr}.preview-card-header,.preview-footer{flex-direction:column;align-items:stretch}.add-schedule-button,.preview-footer-actions button{width:100%}.preview-footer-actions{flex-direction:column}}.nutrition-plans-main{box-sizing:border-box;background:#f7f8fa;flex:1;min-width:0;min-height:100vh;padding:32px}.nutrition-plans-main .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.nutrition-plans-main .page-header h1{color:#172033;margin:0 0 7px;font-size:28px;line-height:1.2}.nutrition-plans-main .page-header p{color:#7a8496;margin:0;font-size:14px}.plans-card{background:#fff;border:1px solid #e8ebef;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 2px 8px #10182808}.plans-card-header{border-bottom:1px solid #edf0f3;padding:22px 24px}.plans-card-header h2{color:#172033;margin:0 0 5px;font-size:18px}.plans-card-header span{color:#8a93a3;font-size:13px}.plans-table-wrapper{width:100%;overflow-x:auto}.plans-table{border-collapse:collapse;width:100%;min-width:900px}.plans-table th{color:#667085;text-align:left;white-space:nowrap;background:#fafbfc;border-bottom:1px solid #edf0f3;padding:14px 20px;font-size:12px;font-weight:700}.plans-table td{color:#475467;vertical-align:middle;border-bottom:1px solid #f0f2f5;padding:17px 20px;font-size:14px}.plans-table tbody tr:last-child td{border-bottom:none}.plans-table tbody tr:hover{background:#fafcff}.file-cell{align-items:center;gap:10px;max-width:260px;display:flex}.file-icon{color:#475467;background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:10px;font-weight:800;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;color:#344054;max-width:200px;font-weight:600;display:block;overflow:hidden}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.status-processed{color:#027a48;background:#ecfdf3}.status-uploaded{color:#b54708;background:#fffaeb}.view-patient-button{color:#344054;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dfe4ea;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600}.view-patient-button:hover{background:#f5f7f9}.plans-state{color:#7a8496;background:#fff;border:1px solid #e8ebef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#16834b;border-radius:50%;width:28px;height:28px;margin-bottom:12px;animation:.8s linear infinite nutritionPlansSpin}@keyframes nutritionPlansSpin{to{transform:rotate(360deg)}}.plans-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:16px 18px;font-size:14px}.empty-plans{text-align:center;background:#fff;border:1px solid #e8ebef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:30px;display:flex}.empty-icon{color:#667085;background:#f1f5f9;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:24px;display:flex}.empty-plans h2{color:#172033;margin:0 0 8px;font-size:20px}.empty-plans p{color:#8a93a3;margin:0 0 18px;font-size:14px}.empty-plans button{color:#fff;cursor:pointer;background:#16834b;border:none;border-radius:8px;padding:10px 16px;font-weight:600}@media (width<=900px){.nutrition-plans-main{padding:24px}}@media (width<=700px){.nutrition-plans-main{padding:18px}.nutrition-plans-main .page-header{align-items:flex-start}}.schedule-main{box-sizing:border-box;background:#f7f8fa;flex:1;min-width:0;min-height:100vh;padding:32px}.schedule-main .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.schedule-main .page-header h1{color:#172033;margin:0 0 7px;font-size:28px;line-height:1.2}.schedule-main .page-header p{color:#7a8496;margin:0;font-size:14px}.schedule-card{background:#fff;border:1px solid #e8ebef;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 2px 8px #10182808}.schedule-card-header{border-bottom:1px solid #edf0f3;padding:22px 24px}.schedule-card-header h2{color:#172033;margin:0 0 5px;font-size:18px}.schedule-card-header span{color:#8a93a3;font-size:13px}.schedule-table-wrapper{width:100%;overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;min-width:1250px}.schedule-table th{color:#667085;text-align:left;white-space:nowrap;background:#fafbfc;border-bottom:1px solid #edf0f3;padding:14px 18px;font-size:12px;font-weight:700}.schedule-table td{color:#475467;vertical-align:middle;border-bottom:1px solid #f0f2f5;padding:16px 18px;font-size:13px}.schedule-table tbody tr:last-child td{border-bottom:none}.schedule-table tbody tr:hover{background:#fafcff}.patient-cell{align-items:center;gap:10px;min-width:150px;display:flex}.patient-avatar{color:#16834b;background:#eaf7ef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.patient-cell strong{color:#1d2939;margin-bottom:3px;font-size:13px;display:block}.patient-cell span{color:#98a2b3;font-size:11px;display:block}.time-value{color:#172033;white-space:nowrap;min-width:76px;font-weight:700;display:inline-block}.activity-value{color:#344054;white-space:nowrap;display:block}.message-value{text-overflow:ellipsis;white-space:nowrap;color:#667085;max-width:230px;display:block;overflow:hidden}.repeat-badge{color:#475467;white-space:nowrap;background:#f2f4f7;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.whatsapp-on,.whatsapp-off{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.whatsapp-on{color:#027a48;background:#ecfdf3}.whatsapp-off{color:#667085;background:#f2f4f7}.status-toggle{color:#667085;cursor:pointer;background:#fff;border:1px solid #dfe4ea;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700}.status-toggle.active{color:#027a48;background:#ecfdf3;border-color:#abefc6}.status-toggle:hover{opacity:.85}.schedule-actions{align-items:center;gap:7px;display:flex}.action-view,.action-delete{cursor:pointer;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.action-view{color:#344054;background:#fff;border:1px solid #dfe4ea}.action-delete{color:#b42318;background:#fff;border:1px solid #fecdca}.action-view:hover{background:#f5f7f9}.action-delete:hover{background:#fef3f2}.schedule-state{color:#7a8496;background:#fff;border:1px solid #e8ebef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.schedule-state .loading-spinner{border:3px solid #e5e7eb;border-top-color:#16834b;border-radius:50%;width:28px;height:28px;margin-bottom:12px;animation:.8s linear infinite scheduleSpin}@keyframes scheduleSpin{to{transform:rotate(360deg)}}.schedule-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:16px 18px;font-size:14px}.empty-schedule{text-align:center;background:#fff;border:1px solid #e8ebef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:30px;display:flex}.empty-schedule .empty-icon{color:#667085;background:#f1f5f9;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:24px;display:flex}.empty-schedule h2{color:#172033;margin:0 0 8px;font-size:20px}.empty-schedule p{color:#8a93a3;margin:0 0 18px;font-size:14px}.empty-schedule button{color:#fff;cursor:pointer;background:#16834b;border:none;border-radius:8px;padding:10px 16px;font-weight:600}@media (width<=900px){.schedule-main{padding:24px}}@media (width<=700px){.schedule-main{padding:18px}.schedule-main .page-header{align-items:flex-start}}.schedule-edit-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.schedule-edit-modal{background:#fff;border-radius:18px;width:min(620px,100%);max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 24px 70px #0003}.schedule-edit-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.schedule-edit-header p{text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:0 0 5px;font-size:12px;font-weight:700}.schedule-edit-header h2{margin:0;font-size:24px}.schedule-edit-close{cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;width:36px;height:36px;font-size:24px}.schedule-edit-close:hover{background:#e2e8f0}.schedule-edit-form{gap:18px;display:grid}.schedule-edit-form label{flex-direction:column;gap:7px;font-size:14px;font-weight:600;display:flex}.schedule-edit-form input,.schedule-edit-form textarea,.schedule-edit-form select{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #dbe2ea;border-radius:10px;outline:none;padding:11px 13px}.schedule-edit-form input:focus,.schedule-edit-form textarea:focus,.schedule-edit-form select:focus{border-color:#64748b}.schedule-edit-form textarea{resize:vertical;min-height:90px}.schedule-edit-checks{flex-wrap:wrap;gap:18px;padding-top:4px;display:flex}.schedule-edit-checks .edit-checkbox{cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-weight:500;display:flex}.schedule-edit-checks input{width:auto}.schedule-edit-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;display:flex}.schedule-edit-cancel,.schedule-edit-save{cursor:pointer;border:none;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:700}.schedule-edit-cancel{color:#334155;background:#f1f5f9}.schedule-edit-save{color:#fff;background:#111827}.schedule-edit-cancel:hover{background:#e2e8f0}.schedule-edit-save:hover{opacity:.9}.schedule-edit-cancel:disabled,.schedule-edit-save:disabled,.schedule-edit-close:disabled{opacity:.5;cursor:not-allowed}.action-edit{color:#4338ca;cursor:pointer;background:#eef2ff;border:none;border-radius:8px;padding:7px 11px;font-weight:600}.action-edit:hover{background:#e0e7ff}@media (width<=700px){.schedule-edit-overlay{padding:12px}.schedule-edit-modal{border-radius:14px;padding:20px}.schedule-edit-checks{flex-direction:column;gap:12px}.schedule-edit-actions{flex-direction:column-reverse}.schedule-edit-cancel,.schedule-edit-save{width:100%}}.reminder-history-page{color:#172033;background:#f7f8fc;min-height:100vh;display:flex}.reminder-sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #e7e9ef;flex-direction:column;width:250px;min-height:100vh;padding:24px 16px;display:flex}.sidebar-brand{align-items:center;gap:12px;padding:4px 10px 28px;display:flex}.brand-icon{color:#fff;background:#172033;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:700;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:16px}.sidebar-brand span{color:#7c8497;margin-top:2px;font-size:12px}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.nav-item{color:#687086;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;transition:all .2s;display:flex}.nav-item:hover{color:#172033;background:#f1f3f8}.nav-item.active{color:#172033;background:#eef1f7;font-weight:600}.nav-item span{text-align:center;width:20px;font-size:16px}.sidebar-bottom{border-top:1px solid #edf0f4;margin-top:auto;padding-top:20px}.reminder-main{flex:1;min-width:0;padding:34px 38px}.reminder-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-eyebrow{color:#7c8497;letter-spacing:.12em;margin:0 0 7px;font-size:11px;font-weight:700}.reminder-header h1{margin:0;font-size:30px;line-height:1.2}.reminder-header p:last-child{color:#737b8e;margin:8px 0 0;font-size:14px}.refresh-button{color:#172033;cursor:pointer;background:#fff;border:1px solid #dfe3eb;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600}.refresh-button:hover{background:#f4f5f8}.reminder-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.reminder-stat-card{background:#fff;border:1px solid #e6e9ef;border-radius:14px;padding:20px;box-shadow:0 3px 12px #19233708}.reminder-stat-card span{color:#7b8395;margin-bottom:9px;font-size:12px;display:block}.reminder-stat-card strong{font-size:26px;line-height:1;display:block}.reminder-card{background:#fff;border:1px solid #e6e9ef;border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #19233708}.reminder-card-header{border-bottom:1px solid #edf0f4;padding:22px 24px}.reminder-card-header h2{margin:0 0 5px;font-size:17px}.reminder-card-header span{color:#7b8395;font-size:12px}.reminder-table-wrapper{width:100%;overflow-x:auto}.reminder-table{border-collapse:collapse;width:100%;min-width:900px}.reminder-table th{color:#737b8e;letter-spacing:.04em;text-transform:uppercase;text-align:left;background:#fafbfc;border-bottom:1px solid #e8ebf0;padding:14px 20px;font-size:11px;font-weight:700}.reminder-table td{vertical-align:middle;border-bottom:1px solid #eef0f4;padding:17px 20px;font-size:13px}.reminder-table tbody tr:last-child td{border-bottom:0}.reminder-table tbody tr:hover{background:#fbfcfe}.patient-cell{align-items:center;gap:11px;display:flex}.patient-avatar{color:#4c566b;background:#eef1f7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.patient-cell strong,.patient-cell span{display:block}.patient-cell strong{font-size:13px}.patient-cell span{color:#8991a2;margin-top:3px;font-size:11px}.activity-cell strong,.activity-cell span{display:block}.activity-cell strong{font-size:13px}.activity-cell span{color:#858da0;white-space:nowrap;text-overflow:ellipsis;max-width:240px;margin-top:4px;font-size:11px;overflow:hidden}.scheduled-time{white-space:nowrap;font-weight:600}.triggered-time{color:#687086;white-space:nowrap}.reminder-status{border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pending{color:#9a6a00;background:#fff5dc}.status-sent{color:#267449;background:#e9f7ef}.status-failed{color:#b43b3b;background:#fdecec}.reminder-state,.empty-reminder{text-align:center;background:#fff;border:1px solid #e6e9ef;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.reminder-state p,.empty-reminder p{color:#7b8395;font-size:13px}.empty-reminder h2{margin:14px 0 4px;font-size:18px}.empty-icon{color:#566076;background:#eef1f7;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:25px;font-weight:700;display:flex}.reminder-error{color:#a83232;background:#fdecec;border:1px solid #f4cccc;border-radius:10px;padding:16px 18px;font-size:13px}.loading-spinner{border:3px solid #e6e9ef;border-top-color:#687086;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite reminder-spin}@keyframes reminder-spin{to{transform:rotate(360deg)}}@media (width<=1000px){.reminder-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.reminder-sidebar{width:210px}.reminder-main{padding:24px 20px}.reminder-header{flex-direction:column}}@media (width<=560px){.reminder-sidebar{display:none}.reminder-main{padding:20px 14px}.reminder-stats{grid-template-columns:1fr}}
