/*
 * Medinexa — estilos da aplicação
 * Extraído do protótipo monolítico para facilitar manutenção e evolução.
 */

:root{--ink:#173440;--muted:#6b7d84;--line:#dce6e8;--canvas:#f4f7f7;--panel:#fff;--teal:#237f81;--aqua:#e6f6f5;--coral:#ed777b;--amber:#f3b05d;--green:#50ad86;--nav:#255b64;--shadow:0 10px 30px rgba(28,64,71,.09)}
    *{box-sizing:border-box} body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}
    button,input,textarea{font:inherit} button{cursor:pointer;border:0}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#1d505a,#286a70);color:#eaf7f7;padding:25px 16px;display:flex;flex-direction:column;gap:25px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:18px;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#5fc4c1;color:#134d56;font-weight:900}.clinic{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#aad1d2}.user{display:flex;gap:10px;align-items:center;padding:13px 10px;background:rgba(255,255,255,.08);border-radius:12px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#c8e5e4;color:#245d64;font-weight:800}.user small{display:block;color:#b7d5d6;margin-top:2px}.menu{display:grid;gap:6px}.menu button{background:transparent;color:#d9eeee;text-align:left;padding:11px 12px;border-radius:9px;font-size:13px;transition:.2s;position:relative}.menu button:hover,.menu button.active{background:#ffffff1c;color:white}.menu .icon{display:inline-grid;width:21px;color:#84d6d4}.sidebar-footer{margin-top:auto;color:#b4d4d5;font-size:12px;border-top:1px solid #ffffff2c;padding:16px 10px 0}
    .content{max-width:1440px;width:100%;margin:auto;padding:28px 38px 42px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.crumb{color:var(--muted);font-size:13px}.crumb b{color:var(--teal)}.top-actions{display:flex;align-items:center;gap:11px}.round-btn{height:36px;width:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--teal);font-size:17px}.doctor{display:flex;align-items:center;gap:9px;padding-left:8px;border-left:1px solid var(--line)}.doctor .avatar{width:33px;height:33px;background:#ffe8dc;color:#b66f44}.doctor b{font-size:12px}.doctor small{display:block;color:var(--muted);font-size:11px}
    .welcome{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.welcome h1{font-size:28px;letter-spacing:-.8px;margin:0 0 6px}.welcome p{color:var(--muted);margin:0}.date-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:160px}.date-card small{display:block;color:var(--muted)}.date-card b{font-size:14px}.grid{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(470px,1.35fr);gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 7px rgba(20,60,65,.025)}.card-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--line)}.card-heading h2{font-size:15px;margin:0}.soft-link{color:var(--teal);background:var(--aqua);border-radius:8px;padding:7px 10px;font-weight:700;font-size:12px}.patient-list{padding:8px}.patient{padding:13px 11px;display:flex;gap:11px;align-items:center;border-radius:10px;cursor:pointer;border:1px solid transparent}.patient:hover{background:#f3f9f9}.patient.selected{background:#e9f7f6;border-color:#b9e2df}.patient .avatar{width:42px;height:42px;background:#e8f3f3;color:#307177}.patient-info{min-width:0;flex:1}.patient-info b{display:block;font-size:13px}.patient-info span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.status{font-size:10px;font-weight:800;border-radius:20px;padding:5px 8px;white-space:nowrap}.status.wait{color:#a16018;background:#fff1df}.status.next{color:#13706b;background:#ddf3f2}.status.done{color:#60757b;background:#edf1f2}.schedule-foot{padding:13px 19px;border-top:1px solid var(--line);color:var(--teal);font-weight:700;font-size:12px}.main{display:grid;gap:22px}.patient-header{padding:20px}.patient-title{display:flex;justify-content:space-between;align-items:start;gap:14px}.patient-title h2{margin:0;font-size:22px;letter-spacing:-.4px}.patient-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.risk{display:flex;gap:7px;margin-top:13px}.dot{width:11px;height:11px;border-radius:50%;background:#7bd0ce}.dot.coral{background:var(--coral)}.dot.amber{background:var(--amber)}.tag{font-size:11px;font-weight:750;padding:5px 8px;background:#f0f4f4;border-radius:6px;margin-left:5px}.quick{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:17px;padding-top:17px;gap:10px}.quick span{font-size:11px;color:var(--muted);display:block;margin-bottom:3px}.quick b{font-size:13px}.tele-card{overflow:hidden}.tele-body{padding:18px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.video{min-height:242px;border-radius:12px;background:linear-gradient(145deg,#17434b,#2d7680);position:relative;color:white;overflow:hidden;display:flex;align-items:center;justify-content:center}.video:before,.video:after{content:"";position:absolute;border:1px solid #6db2b36b;border-radius:50%;width:290px;height:290px}.video:before{transform:translate(-45%,-30%)}.video:after{transform:translate(55%,40%)}.video-avatar{width:82px;height:82px;z-index:1;border-radius:50%;background:#d7edef;color:#2e737a;display:grid;place-items:center;font-size:25px;font-weight:800;border:4px solid #ffffff33}.video-name{z-index:1;position:absolute;bottom:16px;left:16px;font-weight:700}.video-time{z-index:1;position:absolute;top:15px;left:15px;background:#183a3e80;padding:6px 9px;border-radius:7px;font-size:11px}.video-controls{z-index:2;position:absolute;right:12px;bottom:12px;display:flex;gap:8px}.video-controls button{height:32px;width:32px;border-radius:50%;background:#ffffffdd;color:#235e64}.video-controls .end{background:#ef7073;color:white}.consult-summary{padding:3px 3px 0}.consult-summary h3{margin:1px 0 12px;font-size:14px}.detail{padding:11px 0;border-bottom:1px solid var(--line)}.detail small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.detail b{font-size:12px}.action-row{display:flex;gap:9px;margin-top:16px}.primary{background:var(--teal);color:white;padding:10px 12px;border-radius:8px;font-size:12px;font-weight:750}.secondary{background:#edf5f5;color:var(--teal);padding:10px 12px;border-radius:8px;font-size:12px;font-weight:750}
    .clinical{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.vitals{padding:14px 19px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vital{background:#f7faf9;border:1px solid #e7eeee;border-radius:9px;padding:12px}.vital small{display:block;color:var(--muted);font-size:11px}.vital b{font-size:18px;letter-spacing:-.4px}.vital b em{font-size:11px;font-style:normal;color:var(--muted);font-weight:500}.notes{padding:15px 19px 19px}.notes textarea{resize:vertical;min-height:132px;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;color:var(--ink);outline:none}.notes textarea:focus{border-color:#76bebb;box-shadow:0 0 0 3px #def3f1}.note-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.saved{color:var(--green);font-size:11px;font-weight:700}.accordion{padding:0}.acc-item{border-bottom:1px solid var(--line)}.acc-item:last-child{border-bottom:0}.acc-btn{display:flex;width:100%;background:white;color:var(--ink);padding:16px 19px;justify-content:space-between;align-items:center;text-align:left;font-weight:750;font-size:13px}.chev{color:var(--teal);transition:.2s}.acc-content{display:none;padding:0 19px 17px;color:var(--muted);font-size:12px;line-height:1.55}.acc-item.open .acc-content{display:block}.acc-item.open .chev{transform:rotate(180deg)}.timeline{padding:0;margin:0;list-style:none}.timeline li{padding:8px 0 8px 17px;border-left:2px solid #94d6d4;position:relative}.timeline li:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--teal);left:-5px;top:14px}.timeline small{display:block}.modal{position:fixed;inset:0;background:#112f347d;display:none;align-items:center;justify-content:center;padding:20px;z-index:10}.modal.show{display:flex}.modal-box{background:#fff;width:min(470px,100%);border-radius:16px;padding:26px;box-shadow:var(--shadow)}.modal-box h2{margin-top:0}.modal-box p{color:var(--muted);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
    @media(max-width:930px){.shell{grid-template-columns:72px 1fr}.sidebar{padding:18px 10px}.brand span,.clinic,.user div,.menu span,.sidebar-footer{display:none}.brand{justify-content:center}.user{justify-content:center;padding:8px}.menu button{text-align:center;padding:12px 0}.menu .icon{width:auto}.content{padding:24px}.grid,.clinical{grid-template-columns:1fr}.patient-list{display:grid;grid-template-columns:repeat(2,1fr)}.schedule-foot{grid-column:span 2}}@media(max-width:620px){.shell{display:block}.sidebar{display:none}.content{padding:18px}.topbar{margin-bottom:20px}.welcome{align-items:start}.welcome h1{font-size:23px}.date-card{display:none}.patient-list{display:block}.quick{grid-template-columns:repeat(2,1fr)}.tele-body{grid-template-columns:1fr}.top-actions .round-btn{display:none}}
    .hidden{display:none!important}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-intro{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#194e58,#2a7477);color:white;position:relative;overflow:hidden}.login-intro:after{content:"";position:absolute;width:620px;height:620px;border:1px solid #88d6d277;border-radius:50%;right:-260px;top:-200px}.login-intro h1{font-size:46px;letter-spacing:-1.7px;line-height:1.03;margin:23px 0 15px;max-width:460px;z-index:1}.login-intro p{color:#cde8e8;line-height:1.6;max-width:420px;z-index:1}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px}.login-form{width:min(390px,100%)}.login-form h2{font-size:27px;margin:0 0 6px}.login-form>p{color:var(--muted);margin-bottom:28px}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:12px;font-weight:750}.field input{border:1px solid var(--line);border-radius:9px;padding:12px;outline:0}.field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--aqua)}.login-submit{width:100%;padding:12px;margin-top:7px;font-size:13px}.login-error{color:#c04a51;font-size:12px;min-height:18px;margin:10px 0}.credentials{margin-top:23px;background:#f1f8f8;border:1px solid #d9eeee;padding:13px;border-radius:9px;color:#426b70;font-size:11px;line-height:1.6}.credentials b{color:var(--ink)}.admin-view{max-width:1200px;margin:0 auto}.admin-hero{background:linear-gradient(105deg,#1f555f,#2d7779);color:white;border-radius:15px;padding:25px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.admin-hero h1{margin:0 0 6px;font-size:25px}.admin-hero p{color:#cae4e4;margin:0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.metric{padding:19px}.metric small{color:var(--muted);display:block}.metric b{font-size:29px;letter-spacing:-1px;display:block;margin-top:8px}.metric span{color:var(--green);font-size:11px;font-weight:700}.admin-sections{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.team-list{padding:4px 18px 15px}.team-member{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.team-member:last-child{border:0}.team-member .avatar{width:34px;height:34px}.team-member div:nth-child(2){flex:1}.team-member small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.admin-badge{font-size:10px;padding:4px 7px;border-radius:20px;background:#e6f6f5;color:#17716e;font-weight:800}.report{padding:16px 19px}.bar-row{display:grid;grid-template-columns:96px 1fr 25px;align-items:center;gap:9px;margin:13px 0;font-size:11px}.bar{height:8px;border-radius:9px;background:#e9efef;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal);border-radius:9px}@media(max-width:760px){.login{display:block}.login-intro{padding:45px 30px}.login-intro h1{font-size:35px}.admin-grid,.admin-sections{grid-template-columns:1fr}.admin-hero{display:block}.admin-hero .primary{margin-top:15px}}
    .logo-image{width:220px;max-width:80%;height:auto;object-fit:contain;background:white;border-radius:12px;padding:7px;position:relative;z-index:1;margin-bottom:20px}.login-intro .brand{display:none}.login-intro h1{margin-top:0}
    .admin-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 21px}.admin-nav button{padding:9px 12px;border-radius:8px;background:#eaf2f2;color:#416b70;font-size:12px;font-weight:750;position:relative}.admin-nav button.active{background:var(--teal);color:#fff}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:13px 19px;background:#f6f9f9}.data-table td{padding:13px 19px;border-top:1px solid var(--line)}.table-actions{display:flex;justify-content:flex-end;gap:7px}.small-btn{padding:7px 9px;border-radius:7px;background:#edf5f5;color:var(--teal);font-size:11px;font-weight:750}.filter-row{padding:14px 19px;display:flex;gap:10px;justify-content:space-between;align-items:center}.filter-row input{border:1px solid var(--line);padding:8px 10px;border-radius:8px;width:240px;max-width:60%}.notice{padding:13px 16px;margin:15px 19px;background:#eaf7f6;border-left:3px solid var(--teal);color:#29656a;font-size:12px;border-radius:0 8px 8px 0}.check{appearance:none;width:33px;height:18px;background:#d5e1e2;border-radius:20px;vertical-align:middle;position:relative;cursor:pointer}.check:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.check:checked{background:var(--green)}.check:checked:after{left:18px}
    .patient-portal{max-width:1180px;margin:auto}.patient-top{display:flex;justify-content:space-between;align-items:center;padding:0 0 24px}.patient-welcome{background:linear-gradient(105deg,#14636b,#169d95);color:#fff;border-radius:16px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}.patient-welcome h1{margin:0 0 6px;font-size:25px}.patient-welcome p{margin:0;color:#d7f5f1}.patient-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.patient-tabs button{background:#e8f1f1;padding:9px 11px;border-radius:8px;color:#43696f;font-weight:750;font-size:12px;position:relative}.patient-tabs button.active{background:var(--teal);color:#fff}
.tab-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#c94f59;color:#fff;font-size:10px;font-weight:800;position:absolute;top:-6px;right:-6px;line-height:1}.portal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:21px}.portal-grid>.card:only-child{grid-column:1/-1}.appointment{padding:18px 19px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line)}.appointment:last-child{border-bottom:0}.date-badge{display:grid;place-items:center;width:49px;height:49px;background:#e5f5f4;color:var(--teal);border-radius:9px;font-weight:800;font-size:12px}.date-badge small{font-size:10px}.appointment div:nth-child(2){flex:1}.appointment b{font-size:13px}.appointment small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.message{padding:13px 19px;border-bottom:1px solid var(--line)}.message:last-child{border:0}.message b{font-size:12px}.message p{font-size:11px;color:var(--muted);margin:5px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .field{margin:0}.form-grid .full{grid-column:span 2}.portal-form{padding:20px}.portal-form h2{margin-top:0;font-size:17px}.portal-form select{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}.form-success{color:var(--green);font-weight:700;font-size:12px;margin-top:11px;min-height:17px}@media(max-width:700px){.patient-welcome,.patient-top{align-items:flex-start;display:block}.patient-welcome .primary,.patient-top .secondary{margin-top:15px}.portal-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
    .upload-box{margin:16px 19px;padding:18px;border:1.5px dashed #83c8c5;border-radius:10px;background:#f3fbfa;text-align:center}.upload-box b{display:block;margin-bottom:5px}.upload-box small{display:block;color:var(--muted);margin-bottom:12px}.file-list{padding:0 19px 17px}.file-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.file-row:last-child{border:0}.file-row span{flex:1}.file-icon{background:#e6f6f5;color:var(--teal);padding:7px;border-radius:7px}.reviewed{font-size:10px;background:#e4f3ea;color:#277a57;padding:4px 6px;border-radius:10px;font-weight:800}.pending{font-size:10px;background:#fff0df;color:#9a651e;padding:4px 6px;border-radius:10px;font-weight:800}
    .modal-box.professional-modal{width:min(1060px,96vw);max-height:90vh;overflow:auto}.professional-horizontal .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.professional-horizontal .form-grid .full{grid-column:span 3}@media(max-width:760px){.professional-horizontal .form-grid{grid-template-columns:1fr}.professional-horizontal .form-grid .full{grid-column:auto}}
    .doctor-clinical-menu{display:grid;gap:12px;padding:0 19px 19px}.allergy-alert{margin:0 19px 16px;padding:18px;border:2px solid #e36a70;border-radius:12px;background:linear-gradient(135deg,#fff4f4,#fffafa);box-shadow:0 7px 18px rgba(212,77,85,.12)}.allergy-alert h3{margin:0;color:#a6313a;font-size:16px}.allergy-alert p{margin:5px 0 14px;color:#81545a;font-size:12px}.allergy-form{display:flex;gap:9px}.allergy-form input{flex:1;min-width:0;border:1px solid #e7a5aa;border-radius:9px;padding:11px;outline:0}.allergy-form input:focus{border-color:#c94f59;box-shadow:0 0 0 3px #f8dfe1}.allergy-form button{background:#c94f59}.allergy-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.allergy-chip{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #efc2c5;color:#983740;padding:7px 9px;border-radius:20px;font-size:11px;font-weight:750}.allergy-chip button{background:transparent;color:#b64750;font-weight:900;padding:0}.clinical-dropdown{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.clinical-dropdown summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;font-weight:800}.clinical-dropdown summary::-webkit-details-marker{display:none}.clinical-dropdown summary:after{content:'⌄';color:var(--teal);font-size:17px;transition:.2s}.clinical-dropdown[open] summary:after{transform:rotate(180deg)}.clinical-dropdown[open] summary{background:#f6fbfa;border-bottom:1px solid var(--line)}.dropdown-body{padding:16px 17px}.document-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}.dropdown-form{padding:0;margin-top:14px}.dropdown-form .form-grid{align-items:end}.empty-state{color:var(--muted);font-size:12px;padding:7px 0}#doctorPathological .file-row,#doctorSurgical .file-row,#doctorFamily .file-row,#vaccineList .file-row,#examResultGroups .file-row,#medicationList .file-row{padding:7px 0;gap:8px}#doctorPathological .file-icon,#doctorSurgical .file-icon,#doctorFamily .file-icon,#vaccineList .file-icon,#examResultGroups .file-icon,#medicationList .file-icon{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border-radius:6px;font-size:10px;font-weight:800}.clinical-editor{display:grid;gap:10px}.clinical-editor-form{display:grid;grid-template-columns:1.2fr .7fr 1fr auto;gap:8px;align-items:end;margin-top:14px}.clinical-editor-form input,.clinical-editor-form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.remove-btn{background:#fff0f0;color:#b4464d}.clinical-note-list{display:grid;gap:8px;margin-top:14px}.clinical-note{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8fbfb}.clinical-note span{flex:1;white-space:pre-wrap;cursor:pointer;max-height:2.8em;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.clinical-note span.expanded{max-height:none;-webkit-line-clamp:unset;display:block}.clinical-note small{display:block;color:var(--muted);margin-top:4px}@media(max-width:620px){.allergy-form{display:grid}.allergy-alert{margin:0 12px 14px}.doctor-clinical-menu{padding:0 12px 14px}.clinical-editor-form{grid-template-columns:1fr}.clinical-note{flex-wrap:wrap}}
    .invoice-total{font-size:16px;color:var(--teal);white-space:nowrap}.invoice-status{font-size:10px;background:#e4f3ea;color:#277a57;padding:4px 7px;border-radius:12px;font-weight:800}.invoice-admin-box{margin-top:22px}.invoice-form{padding:19px}.invoice-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-form .full{grid-column:span 2}.invoice-form select{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;color:var(--ink)}@media(max-width:700px){.invoice-form .form-grid{grid-template-columns:1fr}.invoice-form .full{grid-column:auto}}
    .exam-upload-row{display:grid;grid-template-columns:180px 1fr auto;gap:9px;align-items:center;margin-bottom:15px}.exam-upload-row select{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink)}.exam-category{margin-top:13px;border-top:1px solid var(--line);padding-top:12px}.exam-category:first-of-type{margin-top:0;border-top:0;padding-top:0}.exam-category h4{margin:0 0 6px;color:var(--teal);font-size:12px;text-transform:uppercase;letter-spacing:.04em}@media(max-width:700px){.exam-upload-row{grid-template-columns:1fr}.exam-upload-row .primary{width:100%}}
    .patient-search-wrap{position:relative}.patient-suggestions{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);max-height:220px;overflow:auto}.patient-suggestions:empty{display:none}.patient-suggestion{display:block;width:100%;padding:10px 12px;text-align:left;background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.patient-suggestion:last-child{border-bottom:0}.patient-suggestion:hover,.patient-suggestion:focus{background:var(--aqua)}.patient-suggestion b,.patient-suggestion small{display:block}.patient-suggestion small{color:var(--muted);margin-top:2px}.patient-selected{margin-top:7px;color:var(--green);font-size:11px;font-weight:750;min-height:16px}
    /* Responsive hardening: tablet and mobile */
    html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
    img,svg,video,canvas{max-width:100%;height:auto}
    input,select,textarea,button{max-width:100%}
    .content,.main,.card,.patient-info,.appointment>div:nth-child(2),.team-member>div:nth-child(2){min-width:0}
    .data-table{display:table;min-width:680px}
    .card:has(>.data-table){overflow-x:auto;-webkit-overflow-scrolling:touch}
    @media(max-width:930px){
      .content{max-width:none}
      .tele-body{grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr)}
      .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
      .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .admin-grid .metric:last-child{grid-column:span 2}
      .admin-sections,.portal-grid{grid-template-columns:1fr}
    }
    @media(max-width:620px){
      body{font-size:14px;overflow-x:hidden}
      .shell{display:flex;flex-direction:column;min-height:100dvh}
      .shell.hidden{display:none!important}
      .sidebar{display:flex;position:sticky;top:0;z-index:30;width:100%;padding:6px 8px;gap:0;box-shadow:0 5px 18px rgba(15,55,61,.18)}
      .sidebar>.brand,.sidebar>.clinic,.sidebar>.user,.sidebar-footer{display:none}
      .sidebar .menu{display:flex;gap:4px;width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
      .sidebar .menu::-webkit-scrollbar{display:none}
      .sidebar .menu button{flex:1 0 70px;min-height:52px;padding:6px 8px;text-align:center;font-size:10px;white-space:nowrap}
      .sidebar .menu .icon{display:block;width:auto;margin-bottom:2px;font-size:16px;font-style:normal}
      .sidebar .menu span{display:block!important}
      .content{width:100%;padding:16px 12px 28px}
      .topbar{gap:10px;margin-bottom:18px;align-items:flex-start}
      .crumb{padding-top:8px}
      .top-actions{gap:7px;min-width:0}
      .doctor{padding-left:0;border-left:0}
      .doctor>div:last-child{display:none}
      .welcome{display:block;margin-bottom:18px}
      .welcome h1{font-size:22px;line-height:1.18}
      .grid,.clinical,.tele-body,.admin-grid,.admin-sections,.portal-grid{grid-template-columns:1fr;gap:14px}
      .admin-grid .metric:last-child{grid-column:auto}
      .card-heading{padding:14px 13px;gap:8px}
      .card-heading h2{min-width:0}
      .patient-list{padding:6px}
      .patient{padding:11px 8px}
      .patient-header{padding:15px 13px}
      .patient-title{display:block}
      .patient-title .primary{width:100%;margin-top:13px}
      .risk{flex-wrap:wrap}
      .quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
      .tele-body{padding:12px}
      .video{min-height:220px}
      .video-controls button{width:40px;height:40px}
      .action-row,.modal-actions,.document-actions{flex-wrap:wrap}
      .action-row>button,.modal-actions>button{flex:1 1 130px;min-height:42px}
      .vitals{padding:12px;gap:9px}
      .vital{padding:10px}
      .notes,.portal-form,.invoice-form{padding:14px 13px}
      .note-actions{align-items:flex-start;gap:10px;flex-direction:column}
      .note-actions .primary{width:100%}
      .acc-btn,.clinical-dropdown summary{min-height:48px;padding:14px 13px}
      .acc-content,.dropdown-body{padding-left:13px;padding-right:13px}
      .modal{padding:10px;align-items:flex-end}
      .modal-box,.modal-box.professional-modal{width:100%;max-height:92dvh;padding:18px 14px;border-radius:16px 16px 0 0;overflow:auto}
      .login{min-height:100dvh}
      .login-intro{min-height:auto;padding:28px 20px 24px}
      .login-intro:after{width:340px;height:340px;right:-190px;top:-180px}
      .login-intro h1{font-size:29px;line-height:1.08;max-width:310px}
      .login-intro p{font-size:13px;margin-bottom:0}
      .logo-image{width:170px;margin-bottom:16px}
      .login-panel{padding:24px 18px 32px;align-items:flex-start}
      .login-form h2{font-size:24px}
      .credentials{overflow-wrap:anywhere}
      .patient-top{padding-bottom:16px}
      .patient-top .brand span{display:inline}
      .patient-welcome{padding:20px 16px;border-radius:13px}
      .patient-welcome h1{font-size:22px}
      .patient-tabs,.admin-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
      .patient-tabs button,.admin-nav button{flex:0 0 auto;min-height:40px}
      .admin-hero{padding:20px 16px}
      .admin-hero h1{font-size:22px}
      .admin-hero .primary{width:100%}
      .filter-row{align-items:stretch;flex-direction:column;padding:12px 13px}
      .filter-row input{width:100%;max-width:none}
      .data-table{min-width:620px}
      .data-table th,.data-table td{padding:11px 13px}
      .file-list{padding:0 13px 14px}
      .file-row{align-items:flex-start;flex-wrap:wrap}
      .file-row>span:not(.file-icon){flex:1 1 calc(100% - 50px);min-width:0;overflow-wrap:anywhere}
      .file-row .small-btn{flex:1 1 125px;min-height:38px}
      .appointment{padding:14px 13px;align-items:flex-start;flex-wrap:wrap}
      .appointment .primary,.appointment .secondary{margin-left:64px}
      .team-list{padding:4px 13px 12px}
      .team-member{align-items:flex-start;flex-wrap:wrap}
      .team-member .admin-badge,.team-member .status{margin-left:44px}
      .bar-row{grid-template-columns:74px minmax(80px,1fr) 24px}
      .notice,.upload-box,.allergy-alert{margin-left:13px;margin-right:13px}
      .exam-upload-row{grid-template-columns:1fr}
      .exam-upload-row .primary{width:100%}
      .professional-horizontal .form-grid,.invoice-form .form-grid,.form-grid{grid-template-columns:1fr}
      .professional-horizontal .form-grid .full,.invoice-form .full,.form-grid .full{grid-column:auto}
    }
    @media(max-width:380px){
      .content{padding-left:9px;padding-right:9px}
      .quick,.vitals{grid-template-columns:1fr}
      .top-actions .admin-badge{display:none}
      .appointment .primary,.appointment .secondary{margin-left:0;width:100%}
    }
    #medicationList .file-icon{background:transparent;color:var(--green);font-size:14px}
    #patientClinicalNotes .file-row,#relativeList .file-row{padding:7px 0;gap:8px}
    #patientClinicalNotes .file-icon,#relativeList .file-icon{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border-radius:6px;font-size:11px;font-weight:800}
    #patientContent .appointment .avatar{display:none}
.brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 10px 18px;
}

.brand-logo {
  width: 100%;
  max-width: 190px;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  background: white;
  display: block;
}


    #patientContent .patient-condition-icon{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;box-sizing:border-box;padding:0;border-radius:6px;font-size:10px;font-weight:800;background:#e6f6f5;color:var(--teal)}

    /* v19 compact green actions */
    .v19-compact-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;min-height:0!important;padding:7px 9px!important;border-radius:7px!important;font-size:11px!important;line-height:1.15!important;font-weight:750!important;flex:0 0 auto!important}


    /* v20: force compact action controls in patient uploads and doctor inbox */
    #uploadBox .upload-box button,
    #uploadBox .file-list button,
    #doctorInbox .file-list button{
      display:inline-flex!important;align-items:center!important;justify-content:center!important;
      width:auto!important;min-width:0!important;max-width:max-content!important;
      height:auto!important;min-height:0!important;padding:6px 9px!important;
      border-radius:7px!important;font-size:11px!important;line-height:1.15!important;
      font-weight:750!important;flex:0 0 auto!important;justify-self:start!important;
    }
    #uploadBox .upload-box button{margin:0 auto!important;}

/* --- Extensões e ajustes posteriores --- */

.relative-horizontal-head,.relative-horizontal-row{display:grid;grid-template-columns:1.25fr 1fr 1fr auto auto;gap:9px;align-items:center;padding:10px 19px}.relative-horizontal-head{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:#f6f9f9;border-bottom:1px solid var(--line)}.relative-horizontal-row{border-bottom:1px solid var(--line)}.relative-horizontal-row:last-child{border-bottom:0}.relative-horizontal-row input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;outline:0}.relative-horizontal-row input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--aqua)}@media(max-width:700px){.relative-horizontal-head{display:none}.relative-horizontal-row{grid-template-columns:1fr}.relative-horizontal-row input,.relative-horizontal-row button{width:100%}}

/* Landing page Medinexa */
.landing{min-height:100vh;background:#fff;color:var(--ink);overflow:hidden}.landing button,.landing a{font:inherit}.landing-header{height:84px;max-width:1180px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.landing-brand img{display:block;width:170px;height:62px;object-fit:contain}.landing-header nav{display:flex;gap:30px}.landing-header nav a{color:#33575e;text-decoration:none;font-size:14px;font-weight:700}.landing-header nav a:hover{color:var(--teal)}.landing-hero{min-height:630px;padding:72px max(28px,calc((100vw - 1124px)/2));display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:68px;background:radial-gradient(circle at 85% 18%,#d7f5f1 0,transparent 28%),linear-gradient(135deg,#f4fbfa 0%,#fff 58%);position:relative}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-block;color:#058f8a;font-size:12px;font-weight:850;letter-spacing:.13em}.hero-copy h1{font-size:clamp(48px,6vw,76px);line-height:.99;letter-spacing:-.055em;margin:18px 0 24px;max-width:650px;color:#123f4b}.hero-copy>p{font-size:19px;line-height:1.65;color:#547077;max-width:620px}.hero-actions{display:flex;gap:12px;margin:34px 0 28px}.landing-cta{padding:14px 20px!important;font-size:14px!important}.trust-row{display:flex;flex-wrap:wrap;gap:12px 22px;color:#45666b;font-size:13px;font-weight:700}.trust-row span::first-letter{color:#00a99d}.hero-panel{height:470px;position:relative;display:grid;place-items:center}.hero-orbit{position:absolute;width:430px;height:430px;border-radius:50%;background:linear-gradient(145deg,#0879b9,#10a99b);box-shadow:0 34px 90px #087b8c35}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid #ffffff66;border-radius:50%}.hero-orbit:before{inset:42px}.hero-orbit:after{inset:98px}.hero-orbit span{position:absolute;right:72px;top:62px;color:#fff;font-size:74px;font-weight:200}.hero-card{position:absolute;background:#fff;border:1px solid #dfeeed;border-radius:18px;box-shadow:0 24px 70px #174e5a28}.hero-card-main{width:260px;padding:27px;left:5%;bottom:42px}.hero-card-main small{color:#138c87;font-weight:850;letter-spacing:.08em}.hero-card-main strong{display:block;font-size:23px;margin:10px 0;color:#16444f}.hero-card-main p{font-size:13px;color:#678086;line-height:1.55}.hero-status{display:inline-block;background:#e5f7f3;color:#087f78;border-radius:30px;padding:7px 10px;font-size:11px;font-weight:800}.hero-card-float{right:-3%;top:48px;padding:17px 20px}.hero-card-float b,.hero-card-float small{display:block}.hero-card-float b{color:#16444f}.hero-card-float small{color:#6a8389;margin-top:5px}.service-section,.steps-section{max-width:1180px;margin:auto;padding:100px 28px}.section-heading{max-width:660px;margin-bottom:46px}.section-heading h2,.security-section h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.035em;color:#143f49;margin:14px 0}.section-heading p,.security-section p{color:#617a80;font-size:17px;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{padding:30px;border:1px solid #dcebea;border-radius:18px;background:#fff;box-shadow:0 15px 44px #134f5820}.service-grid article:nth-child(2){background:#0c6e76;color:#fff;transform:translateY(-12px)}.service-grid article:nth-child(2) h3,.service-grid article:nth-child(2) p{color:#fff}.service-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e1f6f2;color:#087f78;font-weight:900;font-size:12px}.service-grid h3,.steps h3{font-size:21px;color:#16444f;margin:24px 0 10px}.service-grid p,.steps p{color:#687e83;line-height:1.6;margin:0}.steps-section{max-width:none;background:#eff9f7;padding-left:max(28px,calc((100vw - 1124px)/2));padding-right:max(28px,calc((100vw - 1124px)/2))}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{position:relative}.steps article>b{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0e9991;color:#fff;font-size:18px}.security-section{max-width:1124px;margin:100px auto;padding:52px;border-radius:24px;background:linear-gradient(120deg,#123f4b,#087c80);display:flex;align-items:center;justify-content:space-between;gap:48px;color:#fff}.security-section>div{max-width:720px}.security-section h2,.security-section p{color:#fff}.security-section .eyebrow{color:#8de2d9}.security-section .primary{background:#fff;color:#0b686e}.landing-footer{max-width:1124px;margin:auto;padding:30px 0 45px;border-top:1px solid #dce9e8;display:flex;align-items:center;gap:24px;color:#688087}.landing-footer img{width:130px;height:52px;object-fit:contain}.landing-footer p{flex:1}.back-home{border:0;background:transparent;color:var(--teal);padding:0;margin:0 0 22px;cursor:pointer;font-weight:750}.registration-terms{background:#f1f9f8;border:1px solid #d4ece8;border-radius:10px;padding:14px;margin:18px 0}.registration-terms label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55}.registration-terms small{display:block;color:#60797e;margin:8px 0 0 25px;line-height:1.45}
@media(max-width:850px){.landing-header{height:72px;padding:0 18px}.landing-brand img{width:135px}.landing-header nav{display:none}.landing-hero{grid-template-columns:1fr;padding:58px 22px 70px;gap:28px}.hero-copy h1{font-size:50px}.hero-panel{height:370px}.hero-orbit{width:340px;height:340px}.hero-card-main{left:0;bottom:12px}.hero-card-float{right:0;top:20px}.service-section,.steps-section{padding:72px 22px}.service-grid,.steps{grid-template-columns:1fr}.service-grid article:nth-child(2){transform:none}.security-section{margin:70px 18px;padding:34px 26px;display:block}.security-section .primary{margin-top:18px}.landing-footer{margin:0 18px;flex-wrap:wrap}.landing-footer p{order:3;flex-basis:100%;margin:0}.trust-row{display:grid}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions button{width:100%}}
@media(max-width:460px){.landing-header .secondary{padding:8px 10px}.hero-copy h1{font-size:43px}.hero-copy>p{font-size:16px}.hero-panel{height:320px}.hero-orbit{width:280px;height:280px}.hero-card-main{width:220px;padding:20px}.hero-card-float{font-size:12px}.section-heading h2,.security-section h2{font-size:33px}}

/* Landing refresh: stronger brand presence and a single account-creation path */
.landing-header{height:108px}.landing-brand img{width:245px;height:90px}.landing-header-cta{padding:12px 22px;font-size:14px;box-shadow:0 12px 30px #058f8a30}.landing-hero{min-height:680px;background:radial-gradient(circle at 86% 18%,#b9eee7 0,transparent 27%),radial-gradient(circle at 15% 85%,#dff3fb 0,transparent 25%),linear-gradient(135deg,#f3fbfa 0%,#fff 54%,#effafa 100%)}.landing-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#0e8f8a08 1px,transparent 1px),linear-gradient(90deg,#0e8f8a08 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,transparent,#000 55%,#000)}.hero-copy h1{background:linear-gradient(105deg,#103d4a 10%,#087f80 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-actions{margin-bottom:32px}.hero-actions .landing-cta{min-width:190px;box-shadow:0 18px 38px #087f8040;transition:transform .2s ease,box-shadow .2s ease}.hero-actions .landing-cta:hover{transform:translateY(-2px);box-shadow:0 22px 45px #087f8050}.hero-panel{height:520px}.hero-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:linear-gradient(145deg,#087bb8,#0eb09d);box-shadow:0 38px 100px #087b8c40}.hero-glow:before,.hero-glow:after{content:"";position:absolute;border:1px solid #ffffff55;border-radius:50%}.hero-glow:before{inset:40px}.hero-glow:after{inset:105px}.hero-brand-card{position:relative;z-index:2;width:min(390px,82%);padding:30px 32px 24px;border-radius:28px;background:#fffffff2;border:1px solid #ffffff;box-shadow:0 30px 80px #123f4b38;text-align:center;backdrop-filter:blur(14px)}.hero-brand-card img{display:block;width:100%;height:auto;max-height:210px;object-fit:contain}.hero-brand-card p{margin:10px 0 0;color:#4e7076;font-size:15px;font-weight:700}.hero-benefit{position:absolute;z-index:3;display:flex;align-items:center;gap:11px;min-width:176px;padding:13px 16px;background:#fff;border:1px solid #dceeed;border-radius:15px;box-shadow:0 16px 42px #123f4b24}.hero-benefit>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#def7f1;color:#058f84;font-weight:900}.hero-benefit b,.hero-benefit small{display:block}.hero-benefit b{color:#16444f;font-size:13px}.hero-benefit small{color:#6d858a;font-size:11px;margin-top:3px}.hero-benefit-one{left:-2%;top:58px}.hero-benefit-two{right:-5%;top:185px}.hero-benefit-three{left:2%;bottom:38px}.service-grid article{transition:transform .25s ease,box-shadow .25s ease}.service-grid article:hover{transform:translateY(-6px);box-shadow:0 22px 55px #134f5830}.service-grid article:nth-child(2):hover{transform:translateY(-18px)}
@media(max-width:850px){.landing-header{height:88px}.landing-brand img{width:190px;height:72px}.landing-hero{min-height:auto}.hero-panel{height:430px}.hero-glow{width:350px;height:350px}.hero-brand-card{width:280px;padding:22px}.hero-benefit{min-width:155px;padding:10px 12px}.hero-benefit-one{left:0;top:30px}.hero-benefit-two{right:0;top:158px}.hero-benefit-three{left:2%;bottom:18px}.service-grid article:nth-child(2):hover{transform:translateY(-6px)}}
@media(max-width:460px){.landing-header{height:78px}.landing-brand img{width:150px;height:62px}.landing-header-cta{padding:9px 12px;font-size:12px}.hero-panel{height:375px}.hero-glow{width:280px;height:280px}.hero-brand-card{width:225px;padding:18px}.hero-brand-card p{font-size:12px}.hero-benefit{min-width:136px;padding:8px 10px}.hero-benefit b{font-size:11px}.hero-benefit small{font-size:10px}.hero-benefit-one{top:22px}.hero-benefit-two{top:132px}.hero-benefit-three{bottom:12px}}

/* Landing v3: one clear pair of actions and a warmer, human hero */
.landing-header{position:relative;z-index:10;background:#ffffffdf;backdrop-filter:blur(14px);border-bottom:1px solid #e2efed}.landing-header nav{margin-left:auto}.landing-hero{grid-template-columns:.9fr 1.1fr;gap:58px;padding-top:64px;padding-bottom:78px}.hero-copy:before{content:"";position:absolute;left:-28px;top:-34px;width:82px;height:82px;border-radius:28px;background:linear-gradient(145deg,#0cb4a4,#2b8bc4);opacity:.12;transform:rotate(18deg);z-index:-1}.hero-copy>p{max-width:570px}.hero-actions{display:inline-grid;grid-template-columns:1fr 1fr;gap:12px;width:min(410px,100%)}.hero-actions .landing-cta{width:100%;min-width:0;padding:15px 24px!important}.hero-actions .secondary{background:#fff;border:1.5px solid #087f80;color:#086e70;box-shadow:0 14px 32px #123f4b18}.hero-panel{height:530px;display:block}.hero-photo-wrap{position:absolute;inset:18px 0 14px 22px;border-radius:34px 34px 90px 34px;overflow:hidden;box-shadow:0 34px 90px #123f4b38;border:7px solid #fff}.hero-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,#073f4c3d)}.hero-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}.hero-panel:hover .hero-photo{transform:scale(1.025)}.hero-panel:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-38px;top:-28px;background:#17b7a5;opacity:.18}.hero-panel:after{content:"";position:absolute;width:86px;height:86px;border-radius:24px;left:-7px;bottom:-8px;background:#258fc4;opacity:.16;transform:rotate(18deg)}.hero-benefit{min-width:205px}.hero-benefit-one{left:-1%;top:54px}.hero-benefit-two{right:-5%;top:auto;bottom:46px}.service-section{position:relative}.service-section:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:#dff6f2;right:-120px;top:70px;z-index:-1}.service-grid article{overflow:hidden;position:relative}.service-grid article:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-42px;bottom:-42px;background:#0aa89912}.service-grid article:nth-child(2):after{background:#ffffff16}.steps-section{background:linear-gradient(135deg,#eaf8f5 0%,#f5fbff 100%)}.steps article{padding:26px;border-radius:18px;background:#ffffffb8;border:1px solid #dbeeea;box-shadow:0 16px 45px #164e5820}.security-section{position:relative;overflow:hidden}.security-section:after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-100px;top:-145px;border:48px solid #ffffff12}.security-section>*{position:relative;z-index:1}
@media(max-width:850px){.landing-header nav{margin-left:0}.landing-hero{grid-template-columns:1fr;gap:38px}.hero-panel{height:480px}.hero-photo-wrap{inset:10px 8px 10px}.hero-benefit-one{left:0;top:38px}.hero-benefit-two{right:0;bottom:28px}}
@media(max-width:460px){.landing-hero{padding-top:44px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.hero-actions .landing-cta{padding:13px 10px!important}.hero-panel{height:350px}.hero-photo-wrap{inset:8px 0;border-width:5px;border-radius:24px 24px 55px 24px}.hero-benefit{min-width:148px;padding:9px 10px}.hero-benefit-one{top:24px}.hero-benefit-two{bottom:20px}.landing-footer img{width:155px}}

/* Landing v4: larger identity, brighter rhythm and gentle motion */
.landing-header{height:132px;max-width:1240px}.landing-brand img{width:335px;height:116px}.landing-header nav a{position:relative;font-size:15px}.landing-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:3px;border-radius:5px;background:linear-gradient(90deg,#0aa99a,#2c8ec5);transition:right .25s ease}.landing-header nav a:hover:after{right:0}.landing-hero{min-height:700px}.landing-hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;left:-190px;bottom:-220px;background:linear-gradient(135deg,#21b9a8,#2d88c6);opacity:.13;filter:blur(2px);animation:landingFloat 8s ease-in-out infinite}.hero-copy{animation:landingRise .7s ease-out both}.hero-panel{animation:landingRise .8s .12s ease-out both}.hero-photo-wrap{box-shadow:0 40px 105px #123f4b42}.hero-photo-wrap:before{content:"";position:absolute;inset:0;z-index:1;border:1px solid #ffffffa8;border-radius:inherit;pointer-events:none}.hero-benefit{animation:landingBob 4.8s ease-in-out infinite}.hero-benefit-two{animation-delay:-2.4s}.hero-actions .primary{background:linear-gradient(105deg,#087f80,#0cae9c);border:0}.trust-row span{background:#fff;border:1px solid #dcecea;border-radius:999px;padding:8px 12px;box-shadow:0 8px 22px #123f4b10}.vitality-strip{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1124px;margin:-28px auto 0;padding:0;background:linear-gradient(105deg,#0b6671,#088d8b 55%,#1b8db3);color:#fff;border-radius:18px;box-shadow:0 22px 55px #0b667139;overflow:hidden}.vitality-strip div{padding:20px 22px;font-size:14px;font-weight:750;text-align:center;border-right:1px solid #ffffff26}.vitality-strip div:last-child{border-right:0}.vitality-strip span{color:#7aeadb;margin-right:6px;font-size:9px}.service-section{padding-top:120px}.section-heading .eyebrow{padding:7px 10px;border-radius:999px;background:#e1f7f3}.service-grid article:nth-child(1){background:linear-gradient(155deg,#fff,#f0fbf8)}.service-grid article:nth-child(3){background:linear-gradient(155deg,#fff,#f0f7fc)}.service-icon{box-shadow:0 9px 22px #087f8020}.steps article:nth-child(2){transform:translateY(16px)}.landing-footer img{width:190px;height:72px}
@keyframes landingRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes landingFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.04)}}@keyframes landingBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:1150px){.vitality-strip{margin-left:22px;margin-right:22px}.landing-brand img{width:285px}.landing-header{height:116px}}
@media(max-width:850px){.landing-header{height:104px}.landing-brand img{width:235px;height:88px}.vitality-strip{grid-template-columns:1fr 1fr;margin-top:-12px}.vitality-strip div:nth-child(2){border-right:0}.vitality-strip div:nth-child(-n+2){border-bottom:1px solid #ffffff26}.steps article:nth-child(2){transform:none}}
@media(max-width:460px){.landing-header{height:92px}.landing-brand img{width:205px;height:78px}.vitality-strip{grid-template-columns:1fr;margin:12px 16px 0}.vitality-strip div{padding:13px 16px;border-right:0;border-bottom:1px solid #ffffff26}.vitality-strip div:last-child{border-bottom:0}.service-section{padding-top:78px}.trust-row span{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-panel,.hero-benefit,.landing-hero:after{animation:none!important}.hero-photo{transition:none}}

/* Landing v5: a continuous story from consultation to follow-up */
.service-grid article>small{display:block;margin:20px 0 -10px;color:#198983;font-size:10px;font-weight:900;letter-spacing:.12em}.service-grid article:nth-child(2)>small{color:#91e8df}.continuity-section{max-width:1124px;margin:10px auto 110px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:66px;border-radius:32px;background:linear-gradient(135deg,#f0fbf8,#f5faff);border:1px solid #dcedea;position:relative;overflow:hidden}.continuity-section:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-115px;bottom:-175px;background:linear-gradient(145deg,#1ab4a3,#268bc3);opacity:.15}.continuity-copy{position:relative;z-index:2}.continuity-copy h2{font-size:clamp(36px,4vw,54px);line-height:1.06;letter-spacing:-.04em;color:#123f4b;margin:14px 0 20px}.continuity-copy>p{font-size:17px;line-height:1.7;color:#607a80}.continuity-points{display:grid;gap:10px;margin-top:28px}.continuity-points span{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#fff;border:1px solid #dcecea;border-radius:12px;color:#587278;box-shadow:0 10px 28px #123f4b0d}.continuity-points b{min-width:58px;color:#087f80}.continuity-visual{min-height:370px;position:relative}.pulse-ring{position:absolute;width:300px;height:300px;border-radius:50%;right:10px;top:30px;background:linear-gradient(145deg,#0b7186,#0bae98);box-shadow:0 28px 70px #087f8038}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;border:1px solid #ffffff55;border-radius:50%;animation:pulseLine 3.6s ease-in-out infinite}.pulse-ring:before{inset:45px}.pulse-ring:after{inset:92px;animation-delay:-1.8s}.pulse-ring>span{position:absolute;right:58px;top:44px;color:#fff;font-size:62px;font-weight:200}.mini-card{position:absolute;z-index:2;background:#fff;border:1px solid #dcecea;border-radius:17px;box-shadow:0 20px 60px #123f4b28}.mini-card-one{left:0;top:70px;width:245px;padding:25px}.mini-card-one small{color:#0b938b;font-weight:900;letter-spacing:.08em}.mini-card-one b,.mini-card-one i{display:block}.mini-card-one b{font-size:18px;color:#17444f;margin:10px 0 28px}.mini-card-one i{font-style:normal;color:#6b8388;font-size:12px;border-top:1px solid #e2eeee;padding-top:14px}.mini-card-two{right:-18px;bottom:20px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.mini-card-two>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dff7f1;color:#07857e;font-weight:900}.mini-card-two b,.mini-card-two small{display:block}.mini-card-two b{color:#17444f}.mini-card-two small{color:#6b8388;margin-top:3px}.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes pulseLine{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:.3}}
@media(max-width:850px){.continuity-section{margin:0 22px 80px;padding:42px 30px;grid-template-columns:1fr;gap:28px}.continuity-visual{min-height:330px}.pulse-ring{right:8%;width:270px;height:270px}.mini-card-one{left:5%}.mini-card-two{right:2%}}
@media(max-width:460px){.continuity-section{margin:0 16px 60px;padding:32px 20px;border-radius:24px}.continuity-copy h2{font-size:34px}.continuity-visual{min-height:285px}.pulse-ring{width:225px;height:225px;right:0;top:28px}.mini-card-one{left:0;top:54px;width:185px;padding:18px}.mini-card-one b{font-size:15px;margin-bottom:18px}.mini-card-two{right:-4px;bottom:8px}.continuity-points span{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.pulse-ring:before,.pulse-ring:after{animation:none}}

/* Landing v6: the visible logo is genuinely larger and the palette is more energetic */
.landing-header{height:168px;padding-top:7px}.landing-header:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,#075d83,#0ab09c 48%,#2e8fc5)}.landing-brand img{width:390px;height:auto;max-height:150px;object-fit:contain}.landing-header nav{gap:36px}.landing-hero{background:radial-gradient(circle at 84% 14%,#8ce2d7 0,transparent 26%),radial-gradient(circle at 12% 88%,#b9ddf5 0,transparent 28%),linear-gradient(135deg,#eefaf8 0%,#fff 49%,#e8f8fb 100%)}.hero-copy .eyebrow{color:#fff;background:linear-gradient(95deg,#087b82,#0eb09c);padding:8px 13px;border-radius:999px;box-shadow:0 10px 24px #087f8025}.hero-copy h1{position:relative;margin-bottom:30px}.hero-copy h1:after{content:"";display:block;width:112px;height:7px;margin-top:22px;border-radius:8px;background:linear-gradient(90deg,#0ab09c,#3192cc);animation:accentBreathe 3.2s ease-in-out infinite}.hero-photo-wrap{border-width:9px;box-shadow:0 35px 0 -22px #0bae98,0 54px 110px #123f4b45}.hero-benefit{border-color:#cfe8e4;box-shadow:0 20px 48px #123f4b30}.hero-benefit>span{background:linear-gradient(145deg,#d9f8f1,#ddecfb)}.vitality-strip{background:linear-gradient(95deg,#084e70,#087e87 42%,#08a693 70%,#258bc0);background-size:160% 160%;animation:stripFlow 8s ease infinite}.service-grid article{border-top:5px solid #0ba795}.service-grid article:nth-child(2){border-top-color:#86e4d8}.service-grid article:nth-child(3){border-top-color:#2e91c6}.service-icon{font-size:18px;background:linear-gradient(145deg,#dff8f2,#e3f1fb)}.steps article>b{background:linear-gradient(145deg,#087a85,#11ad99);box-shadow:0 10px 25px #087f8032}.security-section{background:linear-gradient(115deg,#0a526b,#087f80 55%,#0da891)}.landing-footer img{width:235px;height:auto;max-height:120px}.landing-footer{padding-top:38px}.landing-footer:before{content:"";width:50px;height:4px;border-radius:6px;background:linear-gradient(90deg,#0cae9c,#2f8fc5)}@keyframes stripFlow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes accentBreathe{0%,100%{width:112px;opacity:1}50%{width:154px;opacity:.68}}
@media(max-width:1150px){.landing-header{height:145px}.landing-brand img{width:330px;max-height:128px}}
@media(max-width:850px){.landing-header{height:126px}.landing-brand img{width:285px;max-height:112px}.hero-photo-wrap{border-width:7px}}
@media(max-width:460px){.landing-header{height:112px;padding-left:14px}.landing-brand img{width:245px;max-height:98px}.hero-copy h1:after{height:6px;margin-top:18px}.landing-footer img{width:205px}}
@media(prefers-reduced-motion:reduce){.vitality-strip,.hero-copy h1:after{animation:none}}

/* Landing v7: clearer conversion flow inspired by high-trust telehealth journeys */
.landing-announcement{min-height:42px;padding:8px 22px;display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(90deg,#084e70,#087d86 48%,#0ba593);color:#fff;font-size:13px;font-weight:750;letter-spacing:.01em}.landing-announcement i{width:4px;height:4px;border-radius:50%;background:#84eadb}.landing-header{height:154px}.hero-action-note{font-size:12px!important;color:#668087!important;margin:-18px 0 24px!important;font-weight:700}.faq-section{max-width:1124px;margin:0 auto;padding:95px 28px}.faq-section .section-heading{margin-bottom:32px}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-list details{background:#fff;border:1px solid #dcebea;border-radius:16px;box-shadow:0 12px 35px #123f4b12;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.faq-list details:hover{transform:translateY(-2px);border-color:#a9dcd5;box-shadow:0 18px 42px #123f4b20}.faq-list summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#17444f;font-size:16px;font-weight:820}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#e1f7f3;color:#087f80;font-size:18px;transition:transform .2s ease}.faq-list details[open] summary span{transform:rotate(45deg);background:#087f80;color:#fff}.faq-list details p{margin:0;padding:0 22px 22px;color:#637c82;line-height:1.65;font-size:14px}.faq-list details[open]{border-color:#9dd7cf;background:linear-gradient(145deg,#fff,#f2fbf9)}
@media(max-width:850px){.landing-announcement{font-size:12px;gap:10px}.landing-header{height:122px}.faq-list{grid-template-columns:1fr}.faq-section{padding:74px 22px}}
@media(max-width:520px){.landing-announcement{justify-content:flex-start;overflow:hidden;white-space:nowrap;padding:9px 14px}.landing-announcement span:nth-of-type(3),.landing-announcement i:nth-of-type(2){display:none}.landing-header{height:108px}.faq-section{padding:60px 16px}.faq-list summary{padding:17px;font-size:15px}.faq-list details p{padding:0 17px 18px}}

/* Registration password guidance */
.password-guidance{margin-top:-2px}.password-requirements{padding:14px 16px;border-left:3px solid #0a9c8f;background:#f3faf9}.password-requirements b{display:block;font-size:13px;color:#17444f;margin-bottom:4px}.password-requirements p{margin:0 0 8px;color:#607a80;font-size:12px}.password-requirements ul{margin:0;padding-left:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 28px}.password-requirements li{font-size:12px;line-height:1.45;color:#476970;padding-left:2px}.password-requirements li::marker{color:#0a9c8f}
@media(max-width:620px){.password-requirements ul{grid-template-columns:1fr}}
.registration-terms strong{display:inline-block;margin-bottom:3px;color:#17444f;font-size:13px}
/* Conversas agrupadas (3 perfis) */
.thread{margin-bottom:10px}.thread summary{align-items:center}.thread-title{display:grid;gap:3px;min-width:0;flex:1}.thread-title small{color:var(--muted);font-weight:500;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.thread-new{background:#c94f59!important;color:#fff!important}
.thread-body{display:grid;gap:8px;background:#fbfdfd}.thread-message{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-right:48px;background:#fff}.thread-message.mine{margin:0 0 0 48px;background:#eef8f7}.thread-message.unread{border-color:#c94f59;box-shadow:0 0 0 2px #f8dfe1}.thread-message p{white-space:pre-wrap;margin:6px 0}
.thread-reply{display:flex;gap:8px;align-items:flex-end;margin-top:6px}.thread-reply textarea{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px;resize:vertical;font:inherit;min-height:44px}
.new-messages-alert{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#fff4f4;border:1px solid #efc2c5;color:#983740;border-radius:11px;padding:11px 14px;margin:0 0 16px;font-size:13px;font-weight:700}
.request-row{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.request-row:last-child{border-bottom:0}.request-row .request-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.request-row .request-actions .field{margin:0;min-width:180px;flex:1}
.status-pill{display:inline-block;padding:3px 8px;border-radius:12px;font-size:10px;font-weight:800;letter-spacing:.3px}.status-pill.pending{background:#fff4dc;color:#8a5a00}.status-pill.accepted{background:#e3f6ee;color:#1f7a53}.status-pill.rejected,.status-pill.cancelled{background:#f4eded;color:#8b4a4f}
.menu button,.round-btn{position:relative}.readonly-note{background:#f3fbfa;border-left:3px solid var(--teal);padding:10px 12px;font-size:12px;margin:0 0 12px}
@media(max-width:620px){.thread-message,.thread-message.mine{margin:0}.thread-reply{display:grid}}
.request-row .request-actions .field{display:grid;gap:6px;align-self:end}.request-row .request-actions select,.request-row .request-actions input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;font:inherit;font-size:13px;min-height:42px}
#v32Modal .file-list .file-row{display:flex;align-items:center;gap:10px}#v32Modal .file-list .file-row>.file-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center}#v32Modal .file-list .file-row>span:nth-child(2){flex:1;min-width:0}

.professional-own-documents{margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line)}.professional-own-documents h3{margin:0 0 4px}.professional-own-documents>small{color:var(--muted)}#v32Modal .professional-own-documents .file-row{display:flex;align-items:center;gap:10px}#v32Modal .professional-own-documents .file-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center}#v32Modal .professional-own-documents .file-row>span:nth-child(2){flex:1;min-width:0}
