:root{font:16px Arial,Helvetica,sans-serif;color:#f1f5f9;background:#151b23}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 0,#263545 0,transparent 35%),#151b23}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{min-height:68px;background:#10151c;border-bottom:1px solid #354251;display:flex;align-items:center;gap:35px;padding:0 clamp(16px,3vw,48px)}.brand{font-weight:800;white-space:nowrap;font-size:17px;display:flex;align-items:center;gap:8px}.brand strong{color:#d6f070}.mark{background:#d6f070;color:#182115;border-radius:7px;width:34px;height:34px;display:grid;place-items:center;font-size:25px}.topbar nav{align-self:stretch;display:flex;overflow-x:auto;gap:3px}.topbar nav button{border:0;border-bottom:2px solid transparent;color:#b9c5d1;background:none;white-space:nowrap;padding:0 12px;font-size:14px;font-weight:700}.topbar nav button:hover{background:#202a35;color:white}.topbar nav button.active{color:#e5f7b1;border-color:#d6f070;background:#1d2931}.mode{margin-left:auto;white-space:nowrap;color:#82909f;font-size:11px;font-weight:800;letter-spacing:.1em}.content{max-width:1450px;margin:auto;padding:clamp(22px,3.5vw,50px)}.heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:.14em;color:#d6f070;font-weight:800;margin-bottom:9px}.heading h1{font-size:clamp(30px,3vw,42px);letter-spacing:-.035em;margin:0}.heading p{margin:8px 0 0;color:#aab7c6}.tabs{display:flex;gap:12px;border-bottom:1px solid #52606f;margin-bottom:18px;overflow-x:auto}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 16px;color:#b7c3d0;white-space:nowrap}.tabs button.active{border-color:#d6f070;color:#e5f7b1;font-weight:700}.panel{background:#202833;border:1px solid #3e4b59;border-radius:12px;overflow:hidden;box-shadow:0 18px 50px #0002}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 25px}.panel-head h2{font-size:19px;margin:0 0 5px}.panel-head p{color:#aebaca;font-size:14px;margin:0}.button,.outline,.small,.ghost{border:1px solid transparent;border-radius:7px;padding:10px 16px;background:#d6f070;color:#1a2710;font-weight:700;white-space:nowrap}.button:hover{background:#e8fa9d}.outline{background:#293543;border-color:#536172;color:#e0e9f1}.outline:hover,.ghost:hover{background:#3b4a5b}.small,.ghost{padding:7px 11px;font-size:13px}.ghost{background:transparent;color:#dce8f3;border-color:#5b6978}.danger{background:#6c343c;color:#ffe4e4}.inline{display:flex;gap:7px}.table-wrap{overflow:auto;border-top:1px solid #3e4b59}table{border-collapse:collapse;width:100%;min-width:750px;text-align:left}th{background:#26313d;color:#99aaba;text-transform:uppercase;font-size:12px;letter-spacing:.08em;padding:15px 17px;white-space:nowrap}td{border-top:1px solid #40505d;padding:15px 17px;font-size:14px;color:#d8e2ed}tr:hover td{background:#273440}td strong{font-size:15px;color:white}.empty{text-align:center;padding:55px 20px;color:#aeb9c6}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:12px;font-weight:700;background:#3d4b58;color:#dbe4ed}.badge.good{background:#38513c;color:#d5f4ba}.badge.warn{background:#674a2c;color:#ffe2ad}.badge.bad{background:#63343d;color:#ffd3da}.badge.blue{background:#31516b;color:#d5ecff}#flash:not(:empty),#modal-error:not(:empty){padding:12px 15px;border-radius:7px;margin-bottom:14px;background:#603138;color:#ffe0e5}#flash.ok{background:#2f4f37;color:#e1f9d9}dialog{background:#202a35;color:#f2f6fa;border:1px solid #617081;border-radius:12px;width:min(780px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:0;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#080d15aa}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #475766}.modal-head h2{font-size:22px;margin:0}.icon{background:none;border:0;color:#e8f1f8;font-size:30px;line-height:1}.modal-body{padding:23px 25px;display:grid;gap:17px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px;font-size:14px;font-weight:700;color:#e5edf3}.field input,.field select,.field textarea{background:#293744;border:1px solid #607081;border-radius:7px;color:white;padding:10px 12px;min-height:43px;width:100%;font-size:16px}.field textarea{min-height:86px}.field input[type=file]{border:1px dashed #728394;padding:12px}.field a{font-size:13px;color:#e2f6aa}.hint{margin:0;color:#b7c5d2}.note{margin:0;border-left:3px solid #d6f070;background:#2c3946;padding:13px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checks label{border:1px solid #516171;border-radius:7px;padding:11px;background:#2b3744;font-size:14px;display:flex;align-items:center;gap:9px;cursor:pointer}.details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details>div{border-bottom:1px solid #52616f;padding-bottom:9px}.details span{display:block;color:#a9b8c6;font-size:13px;margin-bottom:5px}.details b{font-size:16px}.photos{display:flex;flex-wrap:wrap;gap:10px}.photos img{width:108px;height:88px;object-fit:cover;border:1px solid #6c7c8a;border-radius:7px}.dot{padding:65px 24px;text-align:center;max-width:750px}.dot-icon{font-size:35px;color:#d6f070}.dot p{color:#b5c3d0;line-height:1.6}.muted{color:#aab8c7}#modal-error{margin:0 25px 20px}#modal-error:empty{display:none}@media(max-width:1000px){.topbar{display:block;padding:12px 18px 0}.topbar nav{margin-top:8px}.topbar nav button{min-height:46px}.mode{display:none}}@media(max-width:650px){.content{padding:20px 13px}.heading{align-items:start;flex-direction:column}.panel-head{align-items:start;flex-direction:column}.grid2,.details,.checks{grid-template-columns:1fr}.modal-body{padding:18px}.modal-head{padding:17px}.topbar nav button{padding:0 9px}}
[hidden]{display:none!important}.selected-diagnoses{display:flex;flex-wrap:wrap;gap:9px}.diagnosis-chip{display:inline-flex;align-items:center;gap:10px;border-radius:20px;background:#405232;color:#e6f6ce;padding:6px 8px 6px 12px;font-size:14px}.diagnosis-chip button{border:0;border-radius:50%;background:#5e7646;color:#fff;width:22px;height:22px;font-size:19px;line-height:18px}.urgent-context{border:1px solid #896946;border-left:4px solid #f3b05f;background:#3e352f;padding:15px;border-radius:7px;display:grid;gap:8px}.urgent-context p{margin:0}.repeat-check{display:flex;align-items:center;gap:9px;background:#55383b;border:1px solid #ba7377;padding:13px;border-radius:7px;color:#ffe0e0;font-size:14px;font-weight:700}.repeat-check input{width:18px;height:18px}.photos{margin:5px 0}.table-wrap .photos img{width:57px;height:47px}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);border:1px solid #546579;background:#202a35;border-radius:15px;padding:32px;box-shadow:0 30px 90px #0006}.auth-card h1{margin:8px 0;font-size:29px}.auth-card p{color:#aebaca;margin:0 0 24px}.auth-card form{display:grid;gap:18px}.auth-card .button{width:100%}#auth-error:not(:empty){background:#603138;color:#ffe0e5;padding:12px;margin-top:18px;border-radius:7px}.company-logo{max-width:145px;max-height:54px;object-fit:contain}.brand .company-logo{max-width:52px;max-height:40px}.account{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap;color:#b9c7d5;font-size:13px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-grid .repeat-check{background:#2c3946;border-color:#556579;color:#e2edf6}.config-logo{display:grid;gap:20px;padding:24px;max-width:420px}.config-logo img{max-width:250px;max-height:140px;object-fit:contain}@media(max-width:1000px){.account{position:absolute;right:18px;top:15px}.topbar{position:relative}.topbar .brand{padding-right:145px}}@media(max-width:650px){.account #user-name{display:none}.module-grid{grid-template-columns:1fr}}
/* El logo es protagonista en el acceso y conserva su proporción. */
.auth-card{width:min(520px,100%)}.auth-card .company-logo{display:block;max-width:min(350px,100%);max-height:150px;width:auto;height:auto;object-fit:contain;margin:0 auto 25px;padding:14px;background:#f4f6f8;border-radius:12px;box-shadow:0 8px 26px #0004}.auth-card .company-logo[hidden]{display:none}
/* Identidad y encabezados de módulo */
.auth-card{width:min(640px,100%);padding:38px 42px}.auth-card .company-logo{max-width:min(500px,100%);max-height:230px;min-height:110px;object-fit:contain;margin:0 auto 30px;padding:16px;background:#f5f7fa;border:1px solid #bdc8d2;border-radius:14px}.auth-card h1{font-size:clamp(34px,4vw,45px);font-weight:800;letter-spacing:-.035em;color:#fff;margin:12px 0}.heading{padding:12px 0 23px;border-bottom:1px solid #455667}.heading h1{font-size:clamp(40px,4vw,58px);font-weight:850;line-height:1.05;color:#fff;letter-spacing:-.045em;text-shadow:0 3px 16px #0007}.heading .eyebrow{font-size:13px;letter-spacing:.17em}.heading p{font-size:16px}.route-card{display:grid;gap:12px;background:#2d3b47;border:1px solid #6b8790;border-left:4px solid #d6f070;padding:17px;border-radius:9px}.route-card p{margin:0;color:#cbd7e2;line-height:1.45}@media(max-width:650px){.auth-card{padding:26px 20px}.auth-card .company-logo{min-height:85px;max-height:175px}.heading h1{font-size:38px}}
.auth-card .company-logo{width:100%;height:220px;max-width:100%;max-height:none;min-height:0}@media(max-width:650px){.auth-card .company-logo{height:175px;max-height:none;min-height:0}}
.dot-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dot-item{display:grid;gap:12px;padding:14px;background:#2a3744;border:1px solid #607282;border-radius:9px;margin:8px 0}.dot-item .outline{justify-self:start}.dot-item p{margin:2px 0;color:#dce8f3}
