:root{--primary:#1e5c8e;--primary-dark:#164a72;--danger:#c62828;--danger-dark:#8e0000;--save:#2e7d32;--save-dark:#1b5e20;--surface:#f4f7fa;--text:#1a1a1a;--muted:#5c6b7a;--border:#cfd8dc;--shadow:0 8px 24px #0000001f;--patient-accent:#6a1b9a;--patient-header-bg:#eceff1;color:var(--text);background:var(--surface);font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.muted{color:var(--muted);font-size:.95rem}.btn-gradient{cursor:pointer;letter-spacing:.03em;box-shadow:var(--shadow);border:none;border-radius:10px;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-size:.9rem;text-decoration:none;transition:filter .15s,transform .1s;display:inline-flex}.btn-gradient:hover:not(:disabled){filter:brightness(1.05)}.btn-gradient:active:not(:disabled){transform:translateY(1px)}.btn-gradient:disabled{opacity:.65;cursor:not-allowed}.btn-gradient.save{color:#fff;background:linear-gradient(135deg, var(--save) 0%, var(--save-dark) 100%)}.btn-gradient.danger{color:#fff;background:linear-gradient(135deg, var(--danger) 0%, var(--danger-dark) 100%)}.btn-muted{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:.65rem 1.25rem;display:inline-flex}.primary{border-color:var(--primary)}.card-login.primary{border-top:4px solid var(--primary)}.modal-panel.primary .modal-header{border-bottom:2px solid var(--primary)}.page-login{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.card-login{width:100%;max-width:400px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:1.75rem}.card-login-header{text-align:center;margin-bottom:1.25rem}.card-login-header h1{margin:.5rem 0 0;font-size:1.5rem}.card-login-icon{color:var(--primary);font-size:2rem}.form-stack{flex-direction:column;gap:1rem;display:flex}.field{text-align:left;flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.field input{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;font-size:1rem}.form-error{color:var(--danger);margin:0;font-size:.9rem}.login-submit{width:100%;margin-top:.5rem}.layout-app{flex-direction:column;min-height:100vh;display:flex}.app-header.primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.app-header-text{flex-direction:column;flex:1;line-height:1.2;display:flex}.app-title{letter-spacing:.04em;font-weight:700}.app-sub{opacity:.9;font-size:.85rem}.btn-icon{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;padding:.5rem .65rem}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.25rem}.welcome-msg{margin:0 0 1rem}.action-row{flex-wrap:wrap;gap:.75rem;display:flex}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=520px){.modal-backdrop{align-items:center;padding:1rem}}.modal-panel{width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow);background:#fff;border-radius:16px 16px 0 0;overflow:auto}@media (width>=520px){.modal-panel{border-radius:16px}}.modal-header{align-items:center;gap:.5rem;margin:0;padding:1rem 1rem .75rem;display:flex}.modal-header h2{flex:1;margin:0;font-size:1.1rem}.modal-icon{color:var(--primary)}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:1.5rem;line-height:1}.modal-body{padding:1rem}.modal-footer{padding:0 1rem 1rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.toast.toast-success{z-index:1100;color:#fff;box-shadow:var(--shadow);text-align:center;background:linear-gradient(135deg,#2e7d32 0%,#1b5e20 100%);border-radius:12px;max-width:min(90vw,360px);padding:.85rem 1.25rem;font-weight:600;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.app-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.panel-list{box-shadow:var(--shadow);border:1px solid var(--primary);border-top:4px solid var(--primary);background:#fff;border-radius:16px;padding:1rem 1.25rem}.panel-list-heading{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.panel-list-icon{color:var(--primary);font-size:1.25rem}.panel-list-title{margin:0;font-size:1.15rem;font-weight:600}.list-status{margin:0 0 .5rem}.patient-list{text-align:left;margin:0;padding:0;list-style:none}.patient-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.patient-item:last-child{border-bottom:none}.btn-outline-primary{border:1px solid var(--primary);min-width:2.5rem;min-height:2.5rem;color:var(--primary);cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-outline-primary:hover{background:#1e5c8e17;box-shadow:0 1px 4px #1e5c8e2e}.btn-outline-primary:active{background:#1e5c8e24}.btn-outline-primary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.patient-item-name{text-transform:uppercase;letter-spacing:.03em;flex:1;font-size:.92rem;font-weight:500;line-height:1.35}.app-main-detail{max-width:640px}.breadcrumb-nav{margin:0 0 1rem;font-size:.9rem}.breadcrumb-nav a{color:var(--primary);text-decoration:none}.breadcrumb-nav a:hover{text-decoration:underline}.patient-accordion{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 1px 6px #0000000f}.patient-accordion-header{cursor:pointer;background:var(--patient-header-bg);text-align:left;border:none;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;display:flex}.patient-accordion-avatar{background:var(--patient-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.95rem;display:flex}.patient-accordion-name{text-transform:uppercase;letter-spacing:.04em;color:var(--patient-accent);flex:1;font-size:.95rem;font-weight:700;line-height:1.25}.patient-accordion-chevron{color:var(--patient-accent);flex-shrink:0;transition:transform .2s}.patient-accordion.is-open .patient-accordion-chevron{transform:rotate(-180deg)}.patient-accordion-body{background:#fff;padding:1rem 1.1rem 1.1rem}.patient-accordion-body p{margin:0 0 .85rem}.patient-accordion-body p:last-child{margin-bottom:0}.patient-field-label{letter-spacing:.06em;color:#37474f;font-size:.72rem}.patient-field-value{color:#263238;font-size:.95rem}.patient-field-upper{text-transform:uppercase}.checklists-section-title{color:#37474f;margin:0 0 .75rem;font-size:1rem}.checklist-card-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.checklist-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1rem 1.1rem;box-shadow:0 1px 4px #0000000d}.checklist-card-title{color:var(--patient-accent);letter-spacing:.03em;margin:0 0 .75rem;font-size:.9rem;font-weight:600}.checklist-card-dates{gap:.6rem;display:grid}.checklist-card-dates p{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin:0;display:flex}.checklist-card-icon{color:var(--patient-accent);margin-right:.25rem}.checklist-card-date{color:#263235;font-size:.95rem}.checklist-card-wrap{margin:0;padding:0;list-style:none}.checklist-card--link{color:inherit;cursor:pointer;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:block}.checklist-card--link:hover{border-color:var(--patient-accent);box-shadow:0 2px 10px #6a1b9a1f}.checklist-card--link:focus-visible{outline:2px solid var(--patient-accent);outline-offset:2px}.layout-with-bottom-nav .app-main-activity{max-width:640px;padding-bottom:5.75rem}.activity-page-title{color:#37474f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem;font-size:1rem;font-weight:700}.activity-accordion-stack{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 1px 6px #0000000f}.activity-acc-item.is-open .activity-acc-chevron{transform:rotate(-180deg)}.activity-acc-divider{background:var(--border);height:1px;margin:0}.activity-acc-trigger{cursor:pointer;text-align:left;background:var(--patient-header-bg);border:none;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;display:flex}.activity-acc-trigger--patient{background:var(--patient-header-bg)}.activity-acc-trigger--neutral{background:#fff}.activity-acc-title{text-transform:uppercase;letter-spacing:.04em;flex:1;font-size:.9rem;font-weight:700;line-height:1.25}.activity-acc-title--patient{color:var(--patient-accent)}.activity-acc-title--dark{color:#263238}.activity-acc-icon-dark{color:#263238;font-size:1.1rem}.activity-acc-chevron{color:var(--patient-accent);flex-shrink:0;transition:transform .2s}.activity-acc-trigger--neutral .activity-acc-chevron{color:#546e7a}.activity-acc-body{background:#fff;padding:1rem 1.1rem 1.1rem}.activity-acc-body--diag{background:#fafafa}.activity-acc-body p{margin:0 0 .85rem}.activity-acc-body p:last-child{margin-bottom:0}.activity-meta-list{margin:0;padding:0;list-style:none}.activity-meta-list li{align-items:flex-start;gap:.5rem;margin-bottom:.65rem;font-size:.88rem;line-height:1.35;display:flex}.activity-meta-list li:last-child{margin-bottom:0}.activity-meta-check{color:#1976d2;flex-shrink:0;margin-top:.1rem}.activity-diag-list{color:#546e7a;margin:0;padding:0;font-size:.95rem;list-style:none}.activity-diag-list li{margin-bottom:.5rem}.activity-diag-list li:last-child{margin-bottom:0}.activity-grupos-heading{color:#37474f;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:.95rem}.activity-grupo-card-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.activity-grupo-card{text-align:left;border:1px solid var(--patient-accent);cursor:pointer;background:#fff;border-radius:12px;width:100%;padding:1rem 1.1rem;transition:box-shadow .15s,transform .1s;box-shadow:0 1px 4px #6a1b9a14}.activity-grupo-card:hover{box-shadow:0 3px 12px #6a1b9a26}.activity-grupo-card:active{transform:translateY(1px)}.activity-grupo-card-title{color:var(--patient-accent);letter-spacing:.03em;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:block}.activity-grupo-stats{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.activity-stat{color:#37474f;align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.activity-stat-icon{opacity:.85}.activity-stat--ok{color:var(--patient-accent)}.activity-stat--no{color:#ef6c00}.activity-bottom-nav{z-index:100;padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom,0));border-top:1px solid var(--border);background:#fff;justify-content:space-around;align-items:stretch;gap:.4rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f}.activity-bottom-btn{border:1px solid var(--patient-accent);min-height:3.25rem;color:var(--patient-accent);letter-spacing:.04em;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .4rem;font-size:.65rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.activity-bottom-btn strong{font-weight:700}.activity-bottom-btn:hover:not(:disabled){background:#6a1b9a12}.activity-bottom-btn:disabled{opacity:.45;cursor:not-allowed}.activity-bottom-btn svg{font-size:1.15rem}.grupo-atividade-page-title{color:#546e7a}.grupo-patient-bar{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.grupo-patient-bar-icon{color:var(--patient-accent);font-size:1.1rem}.grupo-patient-bar-name{font-size:.9rem;font-weight:600}.grupo-atividade-card-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.grupo-atividade-card{background:#fff;border:1px solid #90caf9;border-radius:12px;padding:1rem 1.05rem 1.1rem;position:relative;box-shadow:0 1px 4px #0000000d}.grupo-atividade-card-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.grupo-atividade-date-pill{letter-spacing:.03em;background:var(--patient-accent);color:#fff;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.grupo-atividade-pct-pill{color:#fff;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.grupo-atividade-pct-pill--high{background:#00897b}.grupo-atividade-pct-pill--low{background:#ef6c00}.grupo-atividade-card-title{color:#212121;margin:0 0 .5rem;font-size:.95rem;font-weight:700;line-height:1.35}.grupo-atividade-meta-line{color:#455a64;align-items:flex-start;gap:.45rem;margin:0;font-size:.82rem;line-height:1.35;display:flex}.grupo-atividade-meta-icon{color:#ffb300;flex-shrink:0;margin-top:.1rem}.grupo-atividade-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:.5rem;margin-top:.85rem;display:flex}.grupo-atividade-btn-edit{letter-spacing:.04em;border-color:var(--patient-accent);min-height:2.5rem;color:var(--patient-accent);justify-content:center;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.65rem;font-weight:700;display:inline-flex}.grupo-atividade-btn-edit:hover{background:#6a1b9a14;box-shadow:0 1px 4px #6a1b9a33}.grupo-atividade-btn-del{color:#ef6c00;letter-spacing:.04em;cursor:pointer;background:#fff;border:1px solid #ef6c00;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;min-height:2.5rem;padding:.45rem .75rem;font-size:.65rem;font-weight:700;transition:background .15s,box-shadow .15s;display:inline-flex}.grupo-atividade-btn-del:hover{background:#ef6c0014;box-shadow:0 1px 4px #ef6c0033}.grupo-atividade-btn-del:focus-visible{outline-offset:2px;outline:2px solid #ef6c00}.layout-with-bottom-nav--multi .app-main-activity{padding-bottom:8.75rem}.activity-bottom-nav--wrap{flex-wrap:wrap;row-gap:.45rem}.activity-bottom-nav--wrap .activity-bottom-btn{box-sizing:border-box;flex:calc(50% - .35rem);min-width:calc(50% - .35rem);max-width:calc(50% - .35rem)}@media (width>=520px){.activity-bottom-nav--wrap .activity-bottom-btn{flex:1 1 0;min-width:0;max-width:none}}.activity-bottom-btn-text-stack{flex-direction:column;align-items:center;gap:.05rem;line-height:1.1;display:flex}.activity-bottom-btn-line{letter-spacing:.04em;font-size:.65rem;font-weight:700}.layout-grupo-form .grupo-atividade-form-main{max-width:640px;padding-bottom:2rem}.grupo-form-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.grupo-form-page-title{color:#37474f;text-transform:uppercase;letter-spacing:.03em;flex:1;margin:0;font-size:.92rem;font-weight:700;line-height:1.35}.grupo-form-retornar{border-color:var(--patient-accent);min-height:auto;color:var(--patient-accent);gap:.4rem;padding:.35rem .65rem;font-size:.72rem;font-weight:700}.grupo-form-grupo-bar{border:1px solid var(--border);color:#37474f;background:#fff;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.1rem;padding:.65rem .85rem;font-size:.88rem;font-weight:600;display:flex}.grupo-form-grupo-icon{color:var(--patient-accent)}.grupo-atividade-form{flex-direction:column;gap:1rem;display:flex}.grupo-form-field{flex-direction:column;gap:.35rem;display:flex}.grupo-form-label{letter-spacing:.05em;color:#546e7a;text-transform:uppercase;font-size:.75rem;font-weight:700}.grupo-form-control,.grupo-form-textarea{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:.6rem .75rem;font-size:.95rem}.grupo-form-textarea{resize:vertical;min-height:5rem}.grupo-form-desc-block{margin:.25rem 0 .5rem}.grupo-form-desc-text{color:#212121;margin:0 0 .35rem;font-size:.95rem;font-weight:700;line-height:1.4}.grupo-form-desc-info{color:#1976d2;font-size:.95rem}.grupo-form-stepper{justify-content:center;align-items:center;gap:.75rem;max-width:12rem;display:flex}.grupo-form-step-btn{border:1px solid var(--patient-accent);width:2.35rem;height:2.35rem;color:var(--patient-accent);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex}.grupo-form-step-btn:hover{background:#6a1b9a14}.grupo-form-step-val{text-align:center;min-width:2rem;font-size:1.05rem;font-weight:700}.grupo-form-save{letter-spacing:.04em;border-color:var(--patient-accent);width:100%;min-height:3rem;color:var(--patient-accent);gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:700}.grupo-form-save:hover:not(:disabled){background:#6a1b9a14;box-shadow:0 1px 4px #6a1b9a2e}
