:root{--brand-primary:#10b981;--brand-primary-hover:#059669;--brand-secondary:#ef4444;--brand-secondary-hover:#dc2626;--brand-dark:#111827;--brand-surface:#1f2937;--brand-surface-light:#fff;--brand-border:#cbdad1;--brand-text:#19332d;--brand-text-muted:#4b6358;--brand-accent:#f59e0b;color:var(--brand-text);font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-width:320px;max-width:100vw;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}.shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:40;background:#fff;border-bottom:1px solid #cbdad1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:.75rem;display:flex}.brand-title{color:#176744;letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.header-user{align-items:center;gap:1rem;margin-left:auto;font-size:.9rem;display:flex}.header-user-info{flex-direction:column;align-items:flex-end;display:flex}.header-user-name{color:#19332d;font-weight:700}.header-user-email{color:#687e74;font-size:.8rem}.app-main{flex-direction:column;flex:1;gap:1.75rem;width:100%;max-width:80rem;margin:0 auto;padding:2rem 1.5rem;display:flex}.card{background:#fff;border:1px solid #cbdad1;border-radius:1.5rem;width:min(100%,42rem);padding:clamp(2rem,6vw,4rem);box-shadow:0 1.5rem 4rem #19332d14}.panel-card{background:#fff;border:1px solid #cbdad1;border-radius:1rem;padding:1.75rem;box-shadow:0 4px 12px #19332d0a}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.panel-title{color:#19332d;margin:0;font-size:1.35rem;font-weight:750}.eyebrow{color:#217a57;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem;font-weight:750}h1{text-wrap:balance;margin:0;font-size:clamp(2rem,6vw,3.5rem);line-height:1.02}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:2rem;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-admin{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-professional{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-active,.badge-published{color:#166534;background:#dcfce7}.badge-inactive,.badge-suspended,.badge-archived{color:#991b1b;background:#fee2e2}.badge-draft{color:#92400e;background:#fef3c7}.badge-habit{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.badge-metric{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.badge-task{color:#6b21a8;background:#faf5ff;border:1px solid #e9d5ff}.badge-content{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.badge-paused{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.badge-completed{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.badge-cancelled,.badge-abandoned,.badge-expired{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.notice-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:1rem 1.25rem;font-size:.9rem;line-height:1.5}.notice-banner-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;padding:1rem 1.25rem;font-size:.9rem;line-height:1.5}.sign-in-form{gap:1.25rem;margin-top:2rem;display:grid}.field{gap:.45rem;display:grid}.field label{color:#2e443c;font-size:.85rem;font-weight:700}.field input,.field select,.field textarea{color:#19332d;background:#fff;border:1px solid #9cb2a7;border-radius:.65rem;min-height:2.75rem;padding:.65rem .85rem}.field textarea{resize:vertical;min-height:4.5rem}.field input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #217a5740}button{color:#fff;cursor:pointer;background:#217a57;border:0;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;padding:.6rem 1.15rem;font-weight:750;display:inline-flex}button:hover:not(:disabled){background:#176744}button:disabled{cursor:wait;opacity:.65}.secondary-button{color:#1b6248;background:#e8f2ec}.secondary-button:hover:not(:disabled){background:#d5e6dc}.action-button-primary{color:#fff;background:#217a57;border-radius:.5rem;min-height:2rem;padding:.35rem .75rem;font-size:.8rem}.action-button-primary:hover:not(:disabled){background:#176744}.action-button-danger{color:#991b1b;background:#fee2e2;border-radius:.5rem;min-height:2rem;padding:.35rem .75rem;font-size:.8rem}.action-button-danger:hover:not(:disabled){background:#fecaca}.action-button-success{color:#15803d;background:#dcfce7;border-radius:.5rem;min-height:2rem;padding:.35rem .75rem;font-size:.8rem}.action-button-success:hover:not(:disabled){background:#bbf7d0}.action-button-neutral{color:#2e443c;background:#f0f4f1;border-radius:.5rem;min-height:2rem;padding:.35rem .75rem;font-size:.8rem}.action-button-neutral:hover:not(:disabled){background:#e2ebe5}.form-error{color:#a12b2b;margin:.75rem 0 0;font-size:.9rem;line-height:1.4}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2ece6;border-radius:.75rem;width:100%;margin-top:1rem;overflow:auto hidden}.table-responsive-wrapper .org-table,.table-responsive-wrapper .audit-table{border:none;margin-top:0}.org-table,.audit-table{border-collapse:collapse;width:100%;min-width:580px;margin-top:1rem}.org-table th,.audit-table th{text-align:left;color:#556c62;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:2px solid #e2ece6;padding:.75rem 1rem;font-size:.8rem}.org-table td,.audit-table td{white-space:nowrap;border-bottom:1px solid #e8f0eb;padding:.9rem 1rem;font-size:.95rem}.org-table tr:hover td,.audit-table tr:hover td{background:#f9fbf9}.org-table td code,.audit-table td code{white-space:nowrap;background:#f1f5f3;border-radius:4px;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.audit-details-cell{white-space:pre;background:#f8faf9;border-radius:4px;max-width:250px;max-height:80px;padding:.35rem .5rem;font-family:monospace;font-size:.75rem;overflow:auto}.create-form-container{background:#f8faf8;border:1px solid #dbe6df;border-radius:.75rem;margin-bottom:1.5rem;padding:1.25rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.feature-placeholder{text-align:center;color:#687e74;border:2px dashed #cbdad1;border-radius:.75rem;padding:1.5rem}.feature-placeholder h3{color:#19332d;margin:0 0 .5rem}.app-main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){color:#19332d;min-width:0;min-height:44px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #b9cec4;border-radius:.65rem;padding:.65rem .8rem}.app-main :is(input,select,textarea,button):focus-visible{outline-offset:3px;outline:3px solid #23835c}.app-main textarea{resize:vertical;min-height:100px}.plan-guide{background:#edf6f1;border:1px solid #c7dfd1;border-radius:1rem;padding:1.25rem}.plan-guide ol{flex-wrap:wrap;gap:1rem 2rem;padding-left:1.2rem;display:flex}.plan-guide p{color:#466255;margin-bottom:0;font-size:.9rem}.unsaved-indicator{color:#92400e;background:#fffbeb;border:1px solid #f5d08a;border-radius:.6rem;margin:.75rem 0 0;padding:.65rem .85rem;font-size:.85rem}.field-help{color:var(--brand-text-muted);margin-top:.35rem;font-size:.78rem;display:block}.program-preview-modal{width:min(100%,54rem);max-height:min(90vh,52rem);overflow:auto}.preview-description{color:var(--brand-text-muted);margin:.25rem 0 1rem}.preview-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.preview-summary span,.preview-activity-meta{color:#176744;background:#edf6f1;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:650}.preview-stages{gap:.85rem;display:grid}.preview-stage{border:1px solid var(--brand-border);background:#fbfdfc;border-radius:.8rem;padding:.9rem 1rem}.preview-stage-heading{align-items:center;gap:.65rem;display:flex}.preview-stage-heading h4{color:var(--brand-dark);margin:0}.preview-stage-heading small{color:var(--brand-text-muted)}.preview-stage>p{color:var(--brand-text-muted);margin:.65rem 0;font-size:.88rem}.preview-stage ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.preview-stage li{border-top:1px solid #e5eee9;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem 0;display:flex}.preview-stage li strong{color:var(--brand-dark)}.preview-stage li p{color:var(--brand-text-muted);margin:.2rem 0 0;font-size:.82rem}.preview-activity-meta{color:#475569;background:#f1f5f9;flex:none;font-weight:600}.enrollment-history{color:var(--brand-dark);background:#fbfdfc;border:1px solid #dce9e1;border-radius:.65rem;margin-top:.8rem;padding:.75rem .9rem;font-size:.84rem}.enrollment-history>strong{margin-bottom:.45rem;display:block}.enrollment-history ol{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.enrollment-history li{border-left:2px solid #9bc8ad;grid-template-columns:1fr auto;gap:.1rem .75rem;padding-left:.75rem;display:grid}.enrollment-history time{color:var(--brand-text-muted);font-size:.76rem}.enrollment-history small{color:var(--brand-text-muted);grid-column:1/-1}.activity-info input{flex:1;width:100%}.activity-editor{border:0;flex:1;min-width:0;margin:0;padding:1rem}.activity-editor legend{color:#466255;font-size:.8rem;font-weight:700}.activity-editor .field{margin-bottom:.75rem}.activity-editor textarea{width:100%}.activity-required{align-items:center;gap:.6rem;display:flex}.activity-required input{accent-color:#217a57;width:1.2rem;height:1.2rem}.stage-order-actions{gap:.35rem;display:flex}.stage-order-actions button{min-width:40px;min-height:40px}.stage-order-actions button:disabled{opacity:.4;cursor:not-allowed}.readiness-card h3{margin-top:0;font-size:1rem}.readiness-card p{line-height:1.55}@media (width<=640px){.toolbar-filters,.toolbar-filters input,.toolbar-filters select{width:100%;min-width:0}.stage-header,.designer-header{flex-wrap:wrap;gap:1rem}.stage-title-group{width:100%;min-width:0}.stage-title-group input,.workspace-tabs{width:100%}.plan-guide ol{display:block}.plan-guide li+li{margin-top:.75rem}.preview-stage li{display:grid}.preview-activity-meta{width:fit-content}}.workspace-tabs{-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:thin;background:#eaf0ed;border:1px solid #d9e5de;border-radius:.9rem;gap:.5rem;padding:.35rem;display:flex;overflow:auto hidden}.tab-button{color:#556c62;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:.65rem;flex-shrink:0;margin-bottom:0;padding:.65rem 1.25rem;font-size:.95rem;font-weight:700}.tab-button:hover:not(:disabled){color:#176744;background:#eef4f0}.tab-button.active{color:#176744;background:#fff;border-bottom-color:#217a57}.toolbar-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar-filters input{width:min(24rem,100%);min-width:260px}.modal-overlay{z-index:100;background:#0f1f1a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #cbdad1;border-radius:1.25rem;width:min(100%,38rem);max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-workspace-card{background:#fff;border:1px solid #cbdad1;border-radius:1.25rem;flex-direction:column;width:min(100%,54rem);height:min(90vh,820px);max-height:90vh;padding:0;animation:.2s cubic-bezier(.16,1,.3,1) modalEnter;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0f1f1a40,0 0 0 1px #0f1f1a14}@keyframes modalEnter{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-workspace-header{background:#fff;border-bottom:1px solid #e8f0eb;flex-direction:column;flex-shrink:0;gap:.85rem;padding:1.25rem 1.75rem .85rem;display:flex}.modal-workspace-top-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modal-workspace-identity{align-items:center;gap:.85rem;min-width:0;display:flex}.modal-workspace-avatar{color:#fff;background:linear-gradient(135deg,#10b981 0%,#047857 100%);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 2px 6px #10b98140}.modal-workspace-name-wrap{flex-direction:column;gap:.2rem;min-width:0;display:flex}.modal-workspace-title{color:#19332d;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.3rem;font-weight:700;line-height:1.25;overflow:hidden}.modal-workspace-badges{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.modal-workspace-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.modal-workspace-meta-strip{color:#52665e;background:#f8faf9;border:1px solid #eef3f0;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.45rem .85rem;font-size:.83rem;display:flex}.modal-workspace-meta-item{align-items:center;gap:.35rem;display:flex}.modal-workspace-tabs-container{scrollbar-width:none;background:#f1f5f3;border:1px solid #e2e8f0;border-radius:9999px;gap:3px;padding:3px;display:flex;overflow-x:auto}.modal-workspace-tabs-container::-webkit-scrollbar{display:none}.modal-workspace-tab-btn{color:#52665e;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.86rem;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);display:flex}.modal-workspace-tab-btn:hover{color:#19332d;background:#fff9}.modal-workspace-tab-btn.active{color:var(--brand-primary);background:#fff;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}.modal-tab-counter{color:#475569;background:#e2e8f0;border-radius:9999px;justify-content:center;align-items:center;padding:.1rem .4rem;font-size:.72rem;font-weight:700;display:inline-flex}.modal-workspace-tab-btn.active .modal-tab-counter{color:#15803d;background:#dcfce7}.modal-workspace-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex:1;padding:1.5rem 1.75rem 2rem;overflow-y:auto}.modal-workspace-body::-webkit-scrollbar{width:6px}.modal-workspace-body::-webkit-scrollbar-track{background:0 0}.modal-workspace-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.modal-workspace-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (width<=640px){.modal-workspace-card{border-radius:16px;width:96vw;max-height:94vh}.modal-workspace-header{gap:.65rem;padding:.85rem .9rem .6rem}.modal-workspace-top-row{flex-wrap:wrap;gap:.5rem}.modal-workspace-identity{flex:1;min-width:0}.modal-workspace-title{white-space:normal;word-break:break-word;font-size:1.15rem}.modal-workspace-actions{margin-left:auto}.modal-workspace-tabs-container{padding:0 .85rem}.modal-workspace-tab-btn{padding:.55rem .75rem;font-size:.82rem}.modal-workspace-body{padding:.85rem .9rem 1.25rem}}.modal-header{border-bottom:1px solid #e8f0eb;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-title{color:#19332d;margin:0;font-size:1.4rem}.detail-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.05em;color:#687e74;font-size:.75rem;font-weight:700}.detail-value{color:#19332d;font-size:1rem;font-weight:600}.table-actions{align-items:center;gap:.5rem;display:flex}.program-designer{flex-direction:column;gap:1.5rem;display:flex}.designer-header{border-bottom:1px solid #e8f0eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.25rem;display:flex}.stage-card{background:#fbfdfc;border:1px solid #dbe6df;border-radius:.85rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.stage-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stage-title-group{align-items:center;gap:.75rem;display:flex}.stage-number-badge{color:#fff;background:#176744;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.8rem;font-weight:800;display:flex}.activities-list{flex-direction:column;gap:.5rem;margin-left:.5rem;display:flex}.activity-item{background:#fff;border:1px solid #e2ece6;border-radius:.6rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.activity-info{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.activity-form{background:#f3f7f4;border:1px dashed #cbdad1;border-radius:.65rem;margin-top:.5rem;padding:1rem}.enrollments-container{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.enrollments-list{flex-direction:column;gap:.75rem;display:flex}.enrollment-card{background:#fff;border:1px solid #dbe6df;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.enrollment-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.enrollment-title-group{align-items:center;gap:.5rem;display:flex}.enrollment-meta{color:#556c62;flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.enroll-form-card{background:#f3f7f4;border:1px solid #cbdad1;border-radius:.75rem;margin-bottom:1rem;padding:1.25rem}.brand-header-wrap{align-items:center;gap:.75rem;display:flex}.brand-logo-img{object-fit:cover;border:1px solid #fff3;border-radius:8px;width:38px;height:38px;box-shadow:0 2px 6px #00000026}.brand-badge-sports{color:#fff;background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));text-transform:uppercase;letter-spacing:.06em;border-radius:9999px;padding:.2rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.portal-container{width:100%;max-width:860px;margin:0 auto;padding:1.5rem 1rem}.portal-banner{color:#fff;background:linear-gradient(135deg,#111827 0%,#1e293b 100%);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.75rem;display:flex;box-shadow:0 4px 12px #0000001a}.portal-banner h1{letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.5rem;font-weight:800}.portal-banner p{color:#94a3b8;margin:0;font-size:.95rem}.portal-progress-card{background:#ffffff14;border:1px solid #ffffff1f;border-radius:.75rem;min-width:220px;padding:1rem 1.25rem}.portal-progress-header{justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.portal-progress-track{background:#fff3;border-radius:9999px;width:100%;height:8px;overflow:hidden}.portal-progress-fill{background:linear-gradient(90deg, var(--brand-primary), #34d399);border-radius:9999px;height:100%;transition:width .4s ease-in-out}.portal-date-bar{border:1px solid var(--brand-border);background:#fff;border-radius:.75rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex;box-shadow:0 1px 3px #00000008}.portal-date-selector{align-items:center;gap:.75rem;display:flex}.portal-date-selector input[type=date]{border:1px solid var(--brand-border);color:var(--brand-text);background:#f8fafc;border-radius:.5rem;padding:.4rem .75rem;font-weight:600}.portal-activities-list{flex-direction:column;gap:1rem;display:flex}.portal-activity-card{border:1px solid var(--brand-border);background:#fff;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000008}.portal-activity-card:hover{border-color:#94a3b8;box-shadow:0 3px 8px #0000000f}.portal-activity-card.is-completed{border-left:5px solid var(--brand-primary);background:#fcfdfd}.portal-activity-info{flex:1}.portal-activity-title{align-items:center;gap:.6rem;margin:0 0 .35rem;font-size:1.05rem;font-weight:700;display:flex}.portal-activity-desc{color:var(--brand-text-muted);margin:0;font-size:.88rem;line-height:1.4}.portal-activity-meta{color:#64748b;align-items:center;gap:.75rem;margin-top:.4rem;font-size:.78rem;display:flex}.portal-activity-actions{align-items:center;gap:.75rem;display:flex}.btn-checkin-completed{color:#065f46;cursor:pointer;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:700;transition:all .2s;display:flex}.btn-checkin-completed:hover{background:#d1fae5}.btn-checkin-pending{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.55rem 1.1rem;font-weight:700;transition:all .2s;box-shadow:0 2px 4px #10b98140}.btn-checkin-pending:hover{background:var(--brand-primary-hover);transform:translateY(-1px)}.btn-checkin-metric{align-items:center;gap:.5rem;display:flex}.metric-input{border:1px solid var(--brand-border);text-align:right;border-radius:.5rem;width:90px;padding:.45rem .6rem;font-weight:700}.portal-empty-state{text-align:center;border:1px dashed var(--brand-border);color:var(--brand-text-muted);background:#fff;border-radius:1rem;padding:3rem 1.5rem}.subtab-nav{-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:thin;border-bottom:2px solid #e5e7eb;gap:.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.subtab-button{color:var(--brand-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-2px;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s}.subtab-button:hover{color:var(--brand-text)}.subtab-button.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.confidential-banner,.clinical-notes-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.6rem;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.65rem 1rem;font-size:.85rem;font-weight:500;display:flex}.confidential-note-card,.clinical-note-card{background:#fff;border:1px solid #e2e8f0;border-radius:.65rem;margin-bottom:.75rem;padding:1rem 1.25rem;transition:border-color .15s;box-shadow:0 1px 2px #00000008}.confidential-note-card:hover,.clinical-note-card:hover{border-color:#cbd5e1}.confidential-note-header,.clinical-note-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;display:flex}.badge-note-category{text-transform:uppercase;border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-note-clinical{color:#b91c1c;background:#fee2e2}.badge-note-follow_up{color:#4338ca;background:#e0e7ff}.badge-note-general{color:#374151;background:#f3f4f6}.feedback-banner{color:#065f46;background:#ecfdf5;border:1px solid #10b981;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.88rem;font-weight:500;display:flex}.feedback-card{border:1px solid var(--brand-border);border-left:4px solid var(--brand-primary);background:#fff;border-radius:.5rem;margin-bottom:.75rem;padding:1rem;box-shadow:0 1px 3px #0000000d}.feedback-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.badge-feedback-status{border-radius:9999px;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-feedback-published{color:#92400e;background:#fef3c7}.badge-feedback-acknowledged{color:#065f46;background:#d1fae5}.followup-container{flex-direction:column;gap:1.5rem;display:flex}.followup-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.followup-stat-card{border:1px solid var(--brand-border);background:#fff;border-radius:.75rem;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.followup-stat-title{color:var(--brand-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.followup-stat-value{color:var(--brand-text);font-size:1.75rem;font-weight:800}.badge-review-required{color:#991b1b;background:#fee2e2;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.badge-review-ok{color:#4b5563;background:#f3f4f6;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.progress-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.progress-stat-card{border:1px solid var(--brand-border);background:#fff;border-radius:.65rem;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.progress-stat-label{color:var(--brand-text-muted);text-transform:uppercase;font-size:.82rem;font-weight:600}.progress-stat-number{color:var(--brand-dark);font-size:1.65rem;font-weight:800}.adherence-chart-container{border:1px solid var(--brand-border);background:#fff;border-radius:.65rem;margin-bottom:1.5rem;padding:1.25rem}.adherence-bars-row{align-items:flex-end;gap:.4rem;height:120px;padding-top:1rem;display:flex;overflow-x:auto}.adherence-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;min-width:28px;height:100%;display:flex}.adherence-bar-fill{border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .3s}.adherence-bar-date{color:var(--brand-text-muted);white-space:nowrap;font-size:.7rem}.adherence-bar-pct{color:var(--brand-dark);font-size:.68rem;font-weight:700}.metric-series-card{border:1px solid var(--brand-border);background:#fff;border-radius:.65rem;margin-bottom:1rem;padding:1.25rem}.metric-series-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.metric-points-list{flex-wrap:wrap;gap:.5rem;display:flex}.metric-point-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;flex-direction:column;align-items:center;padding:.4rem .7rem;font-size:.85rem;display:flex}.pautas-utility-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #cbd5e1;border-radius:.75rem;margin-bottom:1.25rem;padding:1rem 1.25rem}.pautas-utility-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.6rem;display:grid}.pautas-utility-item{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.65rem .85rem;font-size:.82rem;line-height:1.45}.pautas-utility-item strong{color:#0f172a;margin-bottom:.2rem;font-size:.86rem;display:block}.file-upload-card{border:1px dashed var(--brand-border);background:#f9fafb;border-radius:.65rem;margin-bottom:1.5rem;padding:1.25rem}.file-list{flex-direction:column;gap:.75rem;display:flex}.file-item-card{border:1px solid var(--brand-border);background:#fff;border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.file-item-info{flex-direction:column;gap:.25rem;display:flex}.file-item-name{color:var(--brand-dark);word-break:break-all;font-size:.95rem;font-weight:700}.file-item-meta{color:var(--brand-text-muted);align-items:center;gap:.6rem;font-size:.78rem;display:flex}.badge-file-category{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.badge-file-diet_plan{color:#065f46;background:#ecfdf5}.badge-file-document{color:#334155;background:#f1f5f9}.badge-file-lab_result{color:#1e40af;background:#eff6ff}.badge-file-progress_photo{color:#9d174d;background:#fdf2f8}.badge-visibility-patient{color:#166534;background:#f0fdf4;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.badge-visibility-private{color:#92400e;background:#fef3c7;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.btn-file-download{border:1px solid var(--brand-border);color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:.45rem;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-file-download:hover{background:#f8fafc;border-color:#94a3b8}.readiness-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem;margin-bottom:2rem;display:grid}.readiness-card{border:1px solid var(--brand-border);background:#fff;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000d}.readiness-card.status-ok{border-left:4px solid #10b981}.readiness-card.status-warn{border-left:4px solid #f59e0b}.readiness-card.status-fail{border-left:4px solid #ef4444}.readiness-header{justify-content:space-between;align-items:center;display:flex}.readiness-title{color:var(--brand-dark);font-size:.95rem;font-weight:700}.readiness-message{color:var(--brand-text-muted);font-size:.85rem;line-height:1.4}.readiness-latency{color:#6b7280;margin-top:auto;font-size:.75rem}.audit-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;margin-top:1rem;overflow-x:auto}.audit-table{border-collapse:collapse;text-align:left;width:100%;min-width:620px;font-size:.85rem}.audit-table th{color:#475569;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:.75rem 1rem;font-weight:700}.audit-table td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}.audit-action-badge{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:.2rem .5rem;font-family:monospace;font-size:.75rem;font-weight:600;display:inline-block}.audit-action-badge.action-patient{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.audit-action-badge.action-file{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.audit-action-badge.action-portal{color:#7e22ce;background:#faf5ff;border-color:#e9d5ff}.audit-action-badge.action-program{color:#b45309;background:#fffbeb;border-color:#fde68a}.audit-details-cell{color:#475569;white-space:pre-wrap;word-break:break-all;background:#f8fafc;border-radius:4px;max-width:320px;padding:.35rem .5rem;font-family:monospace;font-size:.75rem;overflow-x:auto}.consent-notice-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;margin-bottom:1rem;padding:.65rem .95rem;transition:all .2s}.consent-notice-box summary::-webkit-details-marker{display:none}.consent-notice-box[open]{background:#ecfdf5;box-shadow:0 2px 8px #10b9811a}.consent-notice-icon{font-size:1.25rem;line-height:1}.consent-notice-text{color:#166534;font-size:.85rem;line-height:1.45}.consent-notice-title{margin-bottom:.25rem;font-weight:700}.user-menu-container{display:inline-block;position:relative}button.user-menu-trigger{color:#176744;cursor:pointer;background:#fff;border:1px solid #cbdad1;border-radius:9999px;align-items:center;gap:.5rem;min-height:40px;padding:.45rem .9rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}button.user-menu-trigger:hover:not(:disabled),button.user-menu-trigger:focus-visible,button.user-menu-trigger.is-open{outline:none;color:#fff!important;background:#176744!important;border-color:#176744!important}button.user-menu-trigger:hover:not(:disabled) .user-menu-label,button.user-menu-trigger:focus-visible .user-menu-label,button.user-menu-trigger.is-open .user-menu-label,button.user-menu-trigger:hover:not(:disabled) .user-menu-arrow,button.user-menu-trigger:focus-visible .user-menu-arrow,button.user-menu-trigger.is-open .user-menu-arrow{color:#fff!important}.user-menu-avatar{font-size:1rem;line-height:1}.user-menu-label{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:inherit;overflow:hidden}.user-menu-arrow{color:inherit;font-size:.65rem}.user-menu-backdrop{display:none}.user-menu-dropdown{z-index:1000;background:#fff;border:1px solid #cbdad1;border-radius:.75rem;min-width:230px;max-width:min(320px,100vw - 2rem);padding:.5rem 0;animation:.15s ease-out dropdown-fade;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #00000014}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{flex-direction:column;gap:.2rem;padding:.5rem 1rem .75rem;display:flex}.user-menu-name{color:#19332d;word-break:break-word;font-size:.92rem;font-weight:700}.user-menu-email{color:#687e74;word-break:break-all;font-size:.78rem}.user-menu-badge{color:#176744;background:#eef7f2;border:1px solid #b7d6c6;border-radius:9999px;align-self:flex-start;margin-top:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.user-menu-divider{background:#e8f0eb;height:1px;margin:.25rem 0}.user-menu-item{color:#19332d;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;width:100%;min-height:42px;padding:.6rem 1rem;font-size:.88rem;font-weight:500;transition:background .15s;display:flex}.user-menu-item:hover,.user-menu-item:focus-visible{color:#176744;background:#f3f7f4;outline:none}.user-menu-item-danger{color:#dc2626}.user-menu-item-danger:hover,.user-menu-item-danger:focus-visible{color:#b91c1c;background:#fef2f2}.user-menu-item-icon{font-size:1rem;line-height:1}.user-menu-mobile-cancel{display:none}.modal-card-compact{width:min(100%,32rem);padding:1.75rem}.modal-subtitle{color:var(--brand-text-muted);font-size:.85rem}.notice-banner-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}@media (width<=768px){.app-main{gap:1.25rem;padding:1.5rem 1rem}.panel-card{padding:1.25rem}.followup-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.grid-cards{grid-template-columns:1fr}.progress-stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}@media (width<=640px){.shell{padding:1rem .75rem}.card{border-radius:1rem;padding:1.5rem 1.25rem}.app-header{gap:.75rem;padding:.75rem 1rem}.header-brand{gap:.5rem}.brand-title{font-size:1.1rem}.brand-logo-img{width:36px;height:36px}.header-user{gap:.5rem}.user-menu-label{max-width:140px;font-size:.85rem}.user-menu-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#0f1f1a73;display:block;position:fixed;inset:0}.user-menu-dropdown{width:auto;min-width:unset;z-index:1000;border-radius:1.25rem;max-width:min(440px,100vw - 2rem);margin:0 auto;animation:.2s ease-out sheet-up;position:fixed;inset:auto 1rem 1rem;box-shadow:0 20px 30px -10px #00000059}@keyframes sheet-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.user-menu-mobile-cancel{border-top:1px solid #e8f0eb;margin-top:.25rem;padding:.5rem .75rem .25rem;display:block}.user-menu-cancel-btn{color:#475569;cursor:pointer;background:#f1f5f3;border:1px solid #cbdad1;border-radius:.75rem;justify-content:center;align-items:center;width:100%;min-height:44px;font-size:.9rem;font-weight:600;display:flex}.user-menu-cancel-btn:hover{background:#e2ece6}.followup-queue-card{flex-direction:column;align-items:stretch!important}.followup-queue-actions{justify-content:space-between;width:100%}.panel-card{border-radius:.75rem;padding:1rem .85rem}.panel-header{flex-direction:column;align-items:flex-start;gap:.75rem}.panel-header button{width:100%;min-height:42px}.form-row,.detail-grid{grid-template-columns:1fr}.detail-item[style*=span\ 2]{grid-column:span 1!important}.form-actions{flex-direction:column-reverse;gap:.6rem;width:100%}.form-actions button{justify-content:center;width:100%;min-height:44px}.toolbar-container{flex-direction:column;align-items:stretch;gap:.75rem}.toolbar-filters{flex-direction:column;gap:.5rem;width:100%}.toolbar-filters input,.toolbar-filters select{width:100%;min-width:100%;min-height:42px}.toolbar-container>button{width:100%;min-height:44px}.modal-overlay{align-items:center;padding:.5rem}.modal-card{border-radius:1rem;width:100%;max-height:94vh;padding:1.25rem 1rem}.modal-card-compact{padding:1.25rem 1rem}.modal-header{margin-bottom:1rem;padding-bottom:.75rem}.modal-title{font-size:1.2rem}.portal-container{padding:1rem .75rem}.portal-banner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem 1rem}.portal-banner h1{font-size:1.25rem}.portal-progress-card{width:100%;min-width:unset}.portal-date-bar{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 1rem}.portal-date-selector{justify-content:space-between;width:100%}.portal-activity-card{flex-direction:column;align-items:stretch;gap:.85rem;padding:1rem}.portal-activity-actions{justify-content:stretch;width:100%}.portal-activity-actions button{justify-content:center;width:100%;min-height:44px}.file-item-card{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem 1rem}.file-item-card button{width:100%;min-height:42px}.feedback-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.stage-header{flex-direction:column;align-items:stretch;gap:.75rem}.stage-header input[type=text]{width:100%}.activity-item{flex-direction:column;align-items:stretch;gap:.6rem}.activity-info{width:100%}}@media (width<=480px){.shell{padding:.5rem}.card{border-radius:.75rem;padding:1.25rem .85rem}.brand-title{font-size:.98rem}.user-menu-label{max-width:120px}.user-menu-trigger{padding:.35rem .65rem}.badge{padding:.15rem .4rem;font-size:.7rem}.tab-button{padding:.55rem .85rem;font-size:.88rem}.subtab-button{padding:.55rem .75rem;font-size:.85rem}}@keyframes shieldFadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.forensic-watermark{z-index:99998;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.88;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.forensic-watermark svg{width:100%;height:100%;display:block}.security-toast{z-index:1000000;color:#8f2020;text-align:center;background:#fff7f7;border:1px solid #f5b7b7;border-radius:.75rem;justify-content:center;align-items:center;width:min(92vw,38rem);padding:.85rem 1.1rem;font-size:.86rem;line-height:1.45;animation:.2s ease-out shieldFadeIn;display:flex;position:fixed;top:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0f172a2e}.privacy-curtain{z-index:1000001;color:#f5fbf7;text-align:center;background:#10231c;place-content:center;gap:.6rem;padding:2rem;display:grid;position:fixed;inset:0}.privacy-curtain strong{font-size:clamp(1.25rem,5vw,1.8rem)}.privacy-curtain span{color:#c7ddd0;max-width:26rem;font-size:.9rem;line-height:1.5}html[data-ghn-privacy=hidden] #root>:not(.privacy-curtain){visibility:hidden!important}html[data-ghn-privacy=hidden] #root>.privacy-curtain{visibility:visible!important}.clinical-photo-protection{isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0b1712;border-radius:.75rem;min-height:10rem;position:relative;overflow:hidden}.clinical-photo-image{object-fit:cover;pointer-events:none;width:100%;height:100%;min-height:10rem;transition:filter .12s,opacity .12s,transform .12s;display:block}.clinical-photo-image.concealed{filter:blur(28px);opacity:.04;transform:scale(1.06)}.clinical-photo-watermark{z-index:2;pointer-events:none;color:#ffffff61;letter-spacing:.08em;text-align:center;text-shadow:0 1px 2px #00000073;grid-template-columns:repeat(2,minmax(12rem,1fr));align-content:space-around;gap:2rem;font-size:.72rem;font-weight:750;display:grid;position:absolute;inset:-20%;transform:rotate(-22deg)}.clinical-photo-curtain{z-index:3;color:#f5fbf7;text-align:center;background:#050f0bf0;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1rem;display:flex;position:absolute;inset:0}.clinical-photo-curtain span{color:#c7ddd0;font-size:.78rem}.clinical-photo-curtain button{color:#fff;background:#1d714d;border:1px solid #75c99c;border-radius:.55rem;min-height:2.35rem;margin-top:.5rem;padding:.45rem .85rem;font-size:.82rem}@media (width<=640px){.forensic-watermark{opacity:1}.clinical-photo-watermark{font-size:.66rem}}@media print{body *{visibility:hidden!important;display:none!important}body:before{visibility:visible!important;content:"DOCUMENTO CONFIDENCIAL - PROHIBIDA SU IMPRESIÓN O COPIA. GH NUTRICIÓN."!important;color:#b91c1c!important;text-align:center!important;margin-top:100pt!important;font-family:system-ui,-apple-system,sans-serif!important;font-size:20pt!important;font-weight:700!important;display:block!important}}.media-type-selector{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.media-type-btn{border:1px solid var(--brand-border);color:#475569;cursor:pointer;background:#f8fafc;border-radius:.5rem;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex}.media-type-btn:hover{color:#1e293b;background:#f1f5f9;border-color:#cbd5e1}.media-type-btn.active{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600;box-shadow:0 1px 2px #10b98126}.badge-media-type{border-radius:9999px;align-items:center;gap:.3rem;margin-left:.5rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-media-text{color:#475569;background:#f1f5f9}.badge-media-video{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.badge-media-audio{color:#86198f;background:#fdf4ff;border:1px solid #f0abfc}.badge-media-image{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.badge-media-file{color:#854d0e;background:#fefce8;border:1px solid #fef08a}.settings-section-card{border:1px solid var(--brand-border);background:#fff;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.settings-group-title{color:var(--brand-dark);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:700;display:flex}.settings-group-desc{color:var(--brand-text-muted);margin:0 0 1.25rem;font-size:.88rem}.settings-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.settings-item:last-child{border-bottom:none}.settings-item-label{flex-direction:column;gap:.15rem;display:flex}.settings-item-name{color:#1e293b;font-size:.92rem;font-weight:600}.settings-item-hint{color:#64748b;font-size:.8rem}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .25s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--brand-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.mobile-bottom-nav{display:none}@media (width<=767px){.mobile-bottom-nav{z-index:90;-webkit-backdrop-filter:blur(20px);height:calc(62px + env(safe-area-inset-bottom,0px));padding:.35rem .5rem max(.5rem, env(safe-area-inset-bottom,0px));background:#fffffff2;border-top:1px solid #e2ece6;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px -2px #10231c12}.bottom-nav-item{color:#64748b;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:.65rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:.3rem .25rem;font-size:.72rem;font-weight:500;text-decoration:none;transition:color .15s,transform .1s;display:flex}.bottom-nav-item svg{stroke-width:2px;width:22px;height:22px;transition:stroke .15s,transform .15s}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:#176744;font-weight:700}.bottom-nav-item.active svg{stroke:#176744}.bottom-nav-item.active .nav-icon-pill{background:#e8f5ed;border-radius:12px;justify-content:center;align-items:center;padding:2px 14px;display:flex}.bottom-nav-item .nav-icon-pill{border-radius:12px;justify-content:center;align-items:center;padding:2px 14px;transition:background .15s;display:flex}.workspace-tabs{display:none!important}.app-main{padding:1rem .85rem calc(80px + env(safe-area-inset-bottom,0px))!important}.table-responsive-wrapper{display:none!important}.patient-mobile-list{flex-direction:column;gap:.75rem;display:flex!important}}@media (width>=768px){.mobile-bottom-nav,.patient-mobile-list{display:none!important}.table-responsive-wrapper{display:block!important}}.patient-mobile-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2ece6;border-radius:1.15rem;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative;box-shadow:0 2px 8px -2px #10231c0d}.patient-mobile-card:active{background:#fafcfb;border-color:#cbdad1;transform:scale(.99)}.patient-card-header{align-items:center;gap:.85rem;display:flex}.patient-card-avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#176744,#217a57);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 6px #17674440}.patient-card-info{flex:1;min-width:0}.patient-card-name-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.patient-card-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:750;overflow:hidden}.patient-card-contact{color:#64748b;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.45rem;margin-top:.25rem;font-size:.82rem;display:flex;overflow:hidden}.patient-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem;padding-top:.2rem;display:flex}.patient-card-actions{border-top:1px solid #f1f5f3;gap:.5rem;margin-top:.15rem;padding-top:.75rem;display:flex}.patient-btn-ficha{color:#fff;cursor:pointer;background:linear-gradient(135deg,#176744,#217a57);border:none;border-radius:.75rem;flex:1;justify-content:center;align-items:center;gap:.4rem;min-height:42px;font-size:.88rem;font-weight:650;transition:all .12s;display:flex;box-shadow:0 2px 5px #17674433}.patient-btn-ficha:active{background:#104e33;transform:scale(.98)}.patient-btn-admin{color:#334155;cursor:pointer;background:#f1f5f3;border:1px solid #d1e2d9;border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;min-height:42px;padding:0 .95rem;font-size:.88rem;font-weight:600;transition:all .12s;display:flex}.patient-btn-admin:active{background:#e2ece6;transform:scale(.98)}.filter-chips-container{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:.45rem;padding:.25rem 0;display:flex;overflow-x:auto}.filter-chips-container::-webkit-scrollbar{display:none}.filter-chip{color:#475569;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#f8faf9;border:1px solid #d1e2d9;border-radius:9999px;padding:.42rem .95rem;font-size:.82rem;font-weight:600;transition:all .12s}.filter-chip:hover:not(.active){color:#1e293b;background:#edf3f0}.filter-chip.active{color:#fff;background:#176744;border-color:#176744;box-shadow:0 2px 6px #17674440}.mobile-search-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.mobile-search-icon{color:#94a3b8;pointer-events:none;width:18px;height:18px;position:absolute;left:.85rem}.mobile-search-input{color:#0f172a!important;background:#fff!important;border:1px solid #d1e2d9!important;border-radius:.85rem!important;width:100%!important;height:44px!important;padding-left:2.35rem!important;padding-right:2rem!important;font-size:.92rem!important;transition:all .15s!important}.mobile-search-input:focus{border-color:#176744!important;outline:none!important;box-shadow:0 0 0 3px #1767441f!important}.mobile-search-clear{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.75rem;display:flex;position:absolute;right:.65rem}.mobile-bottom-nav{z-index:1500;-webkit-backdrop-filter:blur(20px);padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom,0px));background:#fffffff0;border-top:1px solid #e2e8f0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}@media (width>=768px){.mobile-bottom-nav{display:none!important}}.bottom-nav-item{color:#64748b;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:.6rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .2rem;font-size:.72rem;font-weight:600;transition:all .12s;display:flex;position:relative}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:#176744;font-weight:750}.bottom-nav-icon{justify-content:center;align-items:center;width:24px;height:24px;transition:transform .15s;display:flex}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)}.bottom-nav-badge{color:#fff;background:#dc2626;border:1.5px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:2px;right:calc(50% - 16px)}@media (width<=767px){.app-main,.portal-container{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))!important}}.duo-header-card{color:#fff;background:linear-gradient(135deg,#064e3b 0%,#176744 60%,#227958 100%);border-radius:1.25rem;margin-bottom:1.25rem;padding:1.25rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 6px 20px #17674440}.duo-header-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff26 0%,#fff0 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-30px}.duo-streak-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.duo-streak-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.02em;text-transform:uppercase;background:#ffffff2e;border:1px solid #ffffff40;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.88rem;font-weight:800;display:inline-flex}.duo-streak-fire{filter:drop-shadow(0 2px 4px #ea580c66);font-size:1.2rem;animation:2s ease-in-out infinite duoPulse}@keyframes duoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.duo-level-badge{color:#854d0e;background:#fef08a;border-radius:9999px;padding:.25rem .65rem;font-size:.8rem;font-weight:700;box-shadow:0 2px 6px #0000001a}.duo-week-dots{background:#00000026;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:1rem;padding:.6rem .8rem;display:flex}.duo-week-day{flex-direction:column;flex:1;align-items:center;gap:.3rem;display:flex}.duo-day-letter{opacity:.85;text-transform:uppercase;font-size:.7rem;font-weight:700}.duo-day-circle{background:#ffffff26;border:1.5px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:800;transition:all .15s;display:flex}.duo-day-circle.completed{color:#fff;background:#10b981;border-color:#fff;box-shadow:0 0 10px #10b98199}.duo-day-circle.today{border:2px solid #fef08a;box-shadow:0 0 8px #fef08ab3}.duo-progress-wrapper{margin-top:.5rem}.duo-progress-labels{justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:flex}.duo-progress-bar-3d{background:#00000040;border-radius:9999px;width:100%;height:18px;padding:2px;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.duo-progress-fill-3d{background:linear-gradient(#34d399 0%,#059669 100%);border-radius:9999px;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 2px 4px #00000026}.duo-progress-fill-3d:after{content:"";background:#fff6;border-radius:9999px;height:40%;position:absolute;top:1px;left:5px;right:5px}.duo-celebration-card{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #6ee7b7;border-bottom:4px solid #10b981;border-radius:1.15rem;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.1rem 1.3rem;animation:.4s cubic-bezier(.34,1.56,.64,1) duoBounceIn;display:flex}@keyframes duoBounceIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.duo-celebration-emoji{font-size:2.2rem}.duo-celebration-title{color:#065f46;margin:0 0 .2rem;font-size:1.05rem;font-weight:800}.duo-celebration-subtitle{color:#047857;margin:0;font-size:.85rem;line-height:1.4}.duo-task-card{-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #e5e7eb;border-bottom:4px solid #d1d5db;border-radius:1.15rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;padding:1rem 1.2rem;transition:all .15s;display:flex}.duo-task-card:hover{border-color:#cbd5e1 #cbd5e1 #94a3b8}.duo-task-card.completed{background:#f8fdfa;border-color:#bbf7d0 #bbf7d0 #86efac}.duo-task-left{flex:1;align-items:center;gap:.9rem;min-width:0;display:flex}.duo-task-icon-wrap{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.45rem;transition:all .15s;display:flex}.duo-task-card.completed .duo-task-icon-wrap{background:#dcfce7;border-color:#86efac}.duo-task-body{flex:1;min-width:0}.duo-task-title{color:#0f172a;align-items:center;gap:.4rem;margin:0 0 .2rem;font-size:.98rem;font-weight:750;display:flex}.duo-task-card.completed .duo-task-title{color:#166534}.duo-task-desc{color:#64748b;margin:0 0 .35rem;font-size:.82rem;line-height:1.35}.duo-task-meta{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.duo-btn-3d{cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:.55rem 1.15rem;font-size:.88rem;font-weight:750;transition:transform 80ms,border-bottom-width 80ms,box-shadow 80ms;display:inline-flex}.duo-btn-pending{color:#fff;background:#176744;border:none;border-bottom:4px solid #0d432c;box-shadow:0 2px 4px #17674433}.duo-btn-pending:hover{background:#1a754e}.duo-btn-pending:active{box-shadow:none;border-bottom-width:1px;transform:translateY(3px)}.duo-btn-completed{color:#15803d;background:#dcfce7;border:2px solid #86efac;border-bottom:4px solid #4ade80}.duo-btn-completed:hover{background:#bbf7d0}.duo-btn-completed:active{border-bottom-width:2px;transform:translateY(3px)}.duo-metric-form{align-items:center;gap:.5rem;display:flex}.duo-metric-input{text-align:center;color:#0f172a;border:2px solid #cbd5e1;border-radius:12px;outline:none;width:90px;height:44px;font-size:.95rem;font-weight:700}.duo-metric-input:focus{border-color:#176744;box-shadow:0 0 0 3px #17674426}.portal-segmented-tabs{scrollbar-width:none;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;gap:4px;margin-bottom:1.25rem;padding:4px;display:flex;overflow-x:auto}.portal-segmented-tabs::-webkit-scrollbar{display:none}.portal-segmented-btn{color:#64748b;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.35rem;min-width:0;padding:.55rem .5rem;font-size:.85rem;font-weight:650;transition:all .12s;display:flex}@media (width<=480px){.portal-segmented-btn{gap:.2rem;padding:.5rem .25rem;font-size:.76rem}}.portal-segmented-btn:hover:not(.active){color:#1e293b;background:#ffffff80}.portal-segmented-btn.active{color:#176744;background:#fff;font-weight:750;box-shadow:0 2px 6px #00000014}.tab-badge{color:#fff;background:#dc2626;border-radius:9999px;padding:.1rem .45rem;font-size:.7rem;font-weight:800}
