:root{--bg:#07111f;--panel:#0d1a2b;--panel2:#102238;--text:#edf4ff;--muted:#8fa7c2;--accent:#22c55e;--line:#1f3550;--danger:#ef4444;--warn:#f59e0b;--blue:#38bdf8;--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#07111f,#0b1523);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:rgba(13,26,43,.96);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 20px 80px #0007}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#22c55e,#38bdf8);display:grid;place-items:center;font-weight:900;color:#04111d}.brand h1{font-size:20px;margin:0}.muted{color:var(--muted)}.field{display:grid;gap:7px;margin-top:16px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#091726;color:var(--text);padding:12px 13px;border-radius:12px;outline:none}.btn{border:0;border-radius:12px;padding:11px 14px;background:#18314d;color:white;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#16a34a,#0ea5e9)}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:#7f1d1d}.login-card .btn.primary{width:100%;margin-top:18px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{border-right:1px solid var(--line);background:#081523;padding:18px;position:sticky;top:0;height:100vh}.nav{display:grid;gap:6px;margin-top:22px}.nav button{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:#bcd0e6;border:0;padding:11px 12px;border-radius:11px;cursor:pointer}.nav button.active,.nav button:hover{background:#13283f;color:white}.main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#081523dd;backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.top-actions{display:flex;align-items:center;gap:10px}.status{font-size:12px;padding:6px 9px;border-radius:99px;background:#102238;color:#a9bfd6}.status.ok{color:#b9fbc8}.content{padding:24px;max-width:1480px;margin:0 auto}.page-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title h2{margin:0;font-size:26px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:linear-gradient(180deg,#0e1d30,#0b1828);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.kpi .value{font-size:28px;font-weight:800;margin-top:8px}.kpi .label{font-size:13px;color:var(--muted)}.panel{margin-top:16px;background:#0b1828;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.panel-body{padding:16px 18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:12px;border-bottom:1px solid #17304a;text-align:left}.table th{color:#9fb4c9;font-size:12px}.badge{padding:5px 8px;border-radius:99px;background:#18314d;font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:34px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:#000a;display:grid;place-items:center;padding:20px;z-index:40}.modal-card{width:min(620px,100%);max-height:88vh;overflow:auto;background:#0d1a2b;border:1px solid var(--line);border-radius:20px;padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-bottom,.mobile-more{display:none}.error{margin-top:12px;color:#fecaca;background:#450a0a;padding:10px 12px;border-radius:10px}.success{margin-top:12px;color:#bbf7d0;background:#052e16;padding:10px 12px;border-radius:10px}
@media(max-width:980px){.app{grid-template-columns:1fr}.sidebar{display:none}.content{padding:16px 14px 90px}.topbar{height:60px;padding:0 14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-bottom{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,1fr);background:#081523f5;border-top:1px solid var(--line);z-index:30}.mobile-bottom button{border:0;background:transparent;color:#a9bfd6;padding:10px 3px;font-size:11px}.mobile-bottom button.active{color:white;background:#102238}.mobile-more{display:block;position:fixed;inset:0;background:#0008;z-index:35}.more-sheet{position:absolute;left:10px;right:10px;bottom:70px;background:#0d1a2b;border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;gap:6px}.more-sheet button{background:#102238;color:white;border:0;padding:12px;border-radius:10px;text-align:left}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.topbar .brand h1{font-size:16px}.top-actions .desktop-only{display:none}.card{padding:15px}}

/* ===== Login ClinicOS / LK9000 - identidade preservada com Firebase Auth ===== */
.auth-bg{min-height:100vh;display:grid;grid-template-columns:minmax(460px,54%) minmax(480px,46%);background:#f8f9ff;color:#0b1c30;padding:4px;overflow:hidden}
.auth-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 8px);background:linear-gradient(145deg,#9dcdda 0%,#6d879a 100%);border-radius:10px 0 0 10px;overflow:hidden}
.auth-shape{position:absolute;border-radius:50%;pointer-events:none}.auth-shape-top{width:430px;height:430px;right:-80px;top:-115px;background:rgba(56,174,190,.26)}.auth-shape-bottom{width:330px;height:330px;left:-170px;bottom:-110px;background:rgba(113,204,176,.26)}
.auth-copy{position:relative;z-index:2;width:min(520px,72%);margin-top:75px}.auth-clinic-logo{display:flex;justify-content:center;margin-bottom:62px}.auth-clinic-logo img{width:min(430px,100%);height:180px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(40,25,26,.16))}.auth-copy h2{font-size:42px;line-height:1.05;margin:0 0 18px;color:white;letter-spacing:-1.2px}.auth-copy p{font-size:20px;color:white;margin:0}
.auth-panel{display:flex;align-items:center;justify-content:center;background:#f8f9ff;min-height:calc(100vh - 8px);padding:44px 68px;border-radius:0 10px 10px 0}.auth-card{width:min(540px,100%)}.auth-card .eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:#00798b;font-size:13px;font-weight:800;margin-bottom:18px}.auth-card h1{font-size:34px;line-height:1.12;letter-spacing:-.8px;margin:0 0 18px;color:#07172a}.auth-card>p{margin:0 0 28px;color:#6e778e;font-size:16px}
.auth-mobile-clinic-brand{display:none}.remembered-clinic{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border:1px solid #85cad4;background:#eaf7fa;padding:14px 16px;border-radius:12px;margin-bottom:18px;color:#07172a}.remembered-clinic .clinic-building{font-size:23px;color:#08798a;font-weight:900}.remembered-clinic b{display:block;font-size:15px}.remembered-clinic small{display:block;color:#718096;margin-top:3px}.link-button{appearance:none;border:0;background:transparent;color:#006f86;padding:0;cursor:pointer;font:inherit;font-weight:600}.remembered-clinic .link-button{font-size:13px;white-space:nowrap}.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:8px}.auth-form .label{font-size:14px;font-weight:700;color:#162033}.auth-form .input{width:100%;border:1px solid #b8c0ca;background:#fff;color:#101827;padding:14px 15px;border-radius:11px;outline:none;transition:border-color .15s,box-shadow .15s}.auth-form .input:focus{border-color:#08798a;box-shadow:0 0 0 3px rgba(8,121,138,.12)}.muted-login{color:#73809a;font-size:12px;margin-top:-3px}.checkrow{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px!important;background:#fbfcff;border:1px solid #dbe3ea;border-radius:12px;padding:14px 16px;margin-top:0}.checkrow input{margin-top:3px}.checkrow span{display:grid;gap:3px}.checkrow b{font-size:13px}.checkrow small{color:#73809a;font-size:12px}.btn.auth-submit,.btn-primary.auth-submit{width:100%;background:#08798a!important;color:white!important;border-radius:11px;padding:13px 18px;font-weight:800;margin-top:0!important}.btn.auth-submit:hover{background:#066c7a!important}.auth-secondary-actions{text-align:center;margin-top:12px}.reset-link{font-weight:500;font-size:13px}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;flex-wrap:wrap}.auth-links a,.auth-links button{font-size:13px;color:#006f86;text-decoration:none;font-weight:500}.auth-links a:hover,.auth-links button:hover{text-decoration:underline}.auth-card #loginMsg .error,.auth-card #loginMsg .success{margin-top:16px}.auth-card .error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.auth-card .success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
@media(max-width:900px){.auth-bg{grid-template-columns:1fr;padding:0}.auth-visual{display:none}.auth-panel{min-height:100vh;border-radius:0;padding:28px 20px}.auth-card{max-width:560px}.auth-mobile-clinic-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-mobile-clinic-brand img{width:88px;height:58px;object-fit:contain}.auth-mobile-clinic-brand b{display:block;color:#0b1c30}.auth-mobile-clinic-brand small{display:block;color:#73809a;margin-top:2px}.auth-card h1{font-size:30px}}
@media(max-width:560px){.auth-panel{align-items:flex-start;padding-top:32px}.remembered-clinic{grid-template-columns:24px 1fr}.remembered-clinic .link-button{grid-column:2;justify-self:start}.auth-links{display:grid;justify-content:start;gap:12px}.auth-card h1{font-size:28px}}
