@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#0b2340;--blue:#1877f2;--cyan:#1ba7c9;--green:#12a878;--bg:#f5f8fc;--card:#fff;--line:#e3eaf2;--muted:#718096;--ink:#162b46;--shadow:0 12px 34px rgba(17,43,72,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app{min-height:100vh;display:flex}
.sidebar{width:252px;background:linear-gradient(180deg,#09233f,#0b2f52);color:#dce9f6;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:5}.brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand strong{display:block;color:#fff;font-size:20px}.brand small{display:block;color:#8faac3;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;margin-top:3px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#28a7ff,#1768df);display:grid;place-items:center;color:#fff;font-weight:900;font-size:21px;box-shadow:0 9px 25px rgba(24,119,242,.28)}
.clinic{margin:20px 15px;padding:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:14px;display:flex;gap:10px;align-items:center}.clinic-avatar{width:35px;height:35px;border-radius:10px;background:#e7f7f3;color:#07845e;display:grid;place-items:center;font-weight:800}.clinic b{display:block;color:#fff;font-size:11px}.clinic span{display:block;color:#91abc1;font-size:9px;margin-top:3px}
nav{padding:4px 12px}nav a,.side-bottom a{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:3px 0;border-radius:10px;color:#a9bfd4;font-weight:600;font-size:12px}nav a span,.side-bottom span{width:18px;text-align:center;font-size:17px}nav a:hover,nav a.active{background:rgba(255,255,255,.09);color:#fff}nav a.active{box-shadow:inset 3px 0 #32b6ff}.side-bottom{margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.08)}
.main{margin-left:252px;width:calc(100% - 252px)}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px;position:sticky;top:0;z-index:4}.crumb{font-size:9px;color:#9aa9b9;text-transform:uppercase;letter-spacing:1px}.topbar h2{margin:5px 0 0;font-size:17px}.top-actions{display:flex;align-items:center;gap:18px}.search{height:38px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;display:flex;align-items:center;padding:0 12px;color:#8a9aab;gap:7px}.search input{border:0;outline:0;background:transparent;width:220px;font-size:11px}.search.large{width:360px}.search.large input{width:100%}.bell{position:relative;font-size:18px;color:#718398}.bell i{position:absolute;width:6px;height:6px;background:#ee6677;border-radius:50%;right:-1px;top:0}.user{display:flex;gap:9px;align-items:center}.user b{display:block;font-size:11px}.user small{display:block;color:#8a98a8;font-size:9px;margin-top:2px}.avatar{width:36px;height:36px;border-radius:11px;background:#eaf2fb;color:#1767b8;display:grid;place-items:center;font-weight:800;font-size:12px}.avatar.patient{background:#eaf7f5;color:#07845e}.avatar.doctor{width:50px;height:50px;border-radius:16px;background:#edf3ff;color:#216bd1;font-size:14px}
.content{padding:32px 34px 60px;max-width:1500px;margin:auto}.welcome,.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.welcome h1,.page-head h1{margin:8px 0 5px;font-size:31px;letter-spacing:-1.2px}.welcome p,.page-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{display:inline-block;color:#1971d8;background:#edf5ff;border-radius:7px;padding:6px 9px;font-size:8px;font-weight:800;letter-spacing:1.1px}
.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(11,35,64,.15)}.btn.light{background:#fff;border:1px solid var(--line);color:#40566f}.btn.full{width:100%;margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--shadow)}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:18px}.stat-icon.blue{background:#edf5ff;color:#2376dc}.stat-icon.green{background:#eaf8f3;color:#079265}.stat-icon.violet{background:#f2efff;color:#7258d8}.stat-icon.orange{background:#fff5e9;color:#d98222}.stat-card span{display:block;color:#738397;font-size:10px}.stat-card strong{display:block;font-size:25px;line-height:1.1;margin:5px 0}.stat-card small{font-size:9px;color:#9aa7b5}
.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h3{margin:0;font-size:15px}.panel-head p{margin:4px 0 0;color:#8997a7;font-size:10px}.panel-head>a{font-size:10px;color:#1670d8;font-weight:800}.appointment-row{display:grid;grid-template-columns:55px 1fr auto auto;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid #eef2f6}.datebox{background:#f1f7ff;border-radius:10px;text-align:center;padding:7px}.datebox b{display:block;font-size:18px;color:#1b67ba}.datebox span{font-size:8px;color:#7f91a6}.appt-main b{display:block;font-size:11px}.appt-main span{display:block;font-size:9px;color:#8997a7;margin-top:4px}.status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:8px;font-weight:800;background:#f0f3f6;color:#728093}.status.confirmada,.status.atendida,.status.active{background:#e8f8f1;color:#11805e}.status.pendiente{background:#edf5ff;color:#2671cb}.status.cancelada,.status.no{background:#fff0f1;color:#c05261}
.quick-grid{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{border:1px solid var(--line);padding:15px;border-radius:12px;background:#fbfcfe}.quick-grid a:hover{border-color:#bfd6ee;transform:translateY(-1px)}.quick-grid b{display:block;font-size:10px}.quick-grid span{display:block;color:#8b99a8;font-size:9px;margin-top:5px}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin:-5px 0 15px}.count{font-size:10px;color:#8b98a7}.table-panel{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th{text-align:left;background:#f8fafc;color:#718197;font-size:9px;text-transform:uppercase;letter-spacing:.7px;padding:12px 18px}td{padding:14px 18px;border-top:1px solid #eef2f6;font-size:10px}td small{display:block;color:#8d9aa9;font-size:8px;margin-top:4px}.person{display:flex;align-items:center;gap:10px}.person b{display:block;font-size:10px}.link{color:#176fd2;font-size:9px;font-weight:800}
.form-panel{padding:28px}.form-panel h3{font-size:14px;margin:0 0 17px;padding-bottom:11px;border-bottom:1px solid var(--line)}.form-panel h3:not(:first-of-type){margin-top:28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{font-size:10px;font-weight:800;color:#52677d}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #d9e2eb;border-radius:9px;padding:11px 12px;background:#fff;color:#1d344f;outline:none;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6da8e9;box-shadow:0 0 0 3px #edf5ff}.fullfield{grid-column:1/-1}.alert{background:#fff1f2;color:#ad4554;border:1px solid #f1cbd0;border-radius:9px;padding:10px;font-size:10px;margin-bottom:16px}
.patient-hero{background:linear-gradient(135deg,#fff,#f3f8ff);border:1px solid var(--line);border-radius:18px;padding:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.person.large{gap:16px}.avatar.big{width:62px;height:62px;border-radius:18px;font-size:18px}.patient-hero h1{font-size:25px;margin:6px 0}.patient-hero p{margin:0;color:#7c8c9d;font-size:10px}.clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px}.clinical-grid small{display:block;color:#8997a7;font-size:9px;margin-bottom:5px}.clinical-grid b{font-size:11px}.note{margin:0 20px 20px;padding:15px;background:#f7fafc;border-radius:11px}.note b{font-size:10px}.note p{font-size:10px;line-height:1.7;color:#718096}.mini-row{padding:14px 20px;border-bottom:1px solid #eef2f6;display:flex;justify-content:space-between;gap:12px;align-items:center}.mini-row b,.mini-row span{display:block}.mini-row b{font-size:10px}.mini-row div span{font-size:8px;color:#8997a7;margin-top:4px}
.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:10px;color:#2570c4}.agenda-toolbar form{display:flex;gap:7px}.agenda-toolbar input{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:10px}.day-title{font-size:14px;font-weight:800;padding:20px;border-bottom:1px solid var(--line);text-transform:capitalize}.agenda-row{display:grid;grid-template-columns:80px 1.4fr 1fr auto;gap:18px;align-items:center;padding:17px 20px;border-bottom:1px solid #eef2f6}.time{font-size:14px;font-weight:800;color:#1c5eaa}.time small{display:block;color:#9aa7b4;font-size:8px;margin-top:3px}.agenda-patient{display:flex;gap:10px;align-items:center}.agenda-patient b,.agenda-patient span{display:block}.agenda-patient b{font-size:10px}.agenda-patient span{font-size:8px;color:#8997a7;margin-top:4px}.agenda-row>div:nth-child(3) small{display:block;color:#9aa7b4;font-size:8px}.agenda-row>div:nth-child(3) b{display:block;font-size:10px;margin-top:4px}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.treatment-card,.doctor-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.treatment-icon{width:43px;height:43px;border-radius:12px;background:#edf7ff;color:#1670d8;display:grid;place-items:center;font-size:20px}.treatment-card h3,.doctor-card h3{font-size:14px;margin:17px 0 7px}.treatment-card p,.doctor-card p{color:#8290a0;font-size:10px;line-height:1.6;min-height:48px}.treatment-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:15px;color:#738196;font-size:9px}.treatment-meta b{color:#1a5d9e}.doctor-card{text-align:center}.doctor-card .avatar{margin:auto}.doctor-card p{min-height:auto;margin:10px 0 5px}.doctor-card>span{font-size:9px;color:#8b98a7}
.login-page{min-height:100vh;background:radial-gradient(circle at 85% 15%,#dff4ff,transparent 25%),linear-gradient(135deg,#eef6ff,#f8fbfd);display:grid;place-items:center}.login-wrap{width:min(420px,92%)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}.login-brand b{font-size:21px;color:var(--navy)}.login-brand span{display:block;font-size:9px;color:#7e8ea0;margin-top:2px}.login-card{background:#fff;border:1px solid var(--line);box-shadow:0 25px 70px rgba(9,35,63,.12);border-radius:20px;padding:31px}.login-card h1{font-size:27px;margin:12px 0 6px}.login-card>p{color:#8290a0;font-size:11px;line-height:1.6;margin-bottom:23px}.login-card label{display:block;font-size:10px;font-weight:800;margin:15px 0 6px}.login-card input{width:100%;border:1px solid #dce4ec;border-radius:9px;padding:12px;outline:none}.login-note{text-align:center;color:#9aa6b2;font-size:8px;margin-top:16px}
.empty{padding:50px;text-align:center;color:#8b98a7;font-size:11px}.toast{display:none}.toast.show{display:block;position:fixed;right:25px;bottom:25px;background:#0b2340;color:#fff;padding:13px 18px;border-radius:10px;z-index:50}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.cards-3{grid-template-columns:1fr 1fr}.top-actions .search{display:none}}
@media(max-width:760px){.sidebar{width:70px}.sidebar .brand div:not(.brand-mark),.clinic div:not(.clinic-avatar),nav a{font-size:0}.brand{padding:0 15px;justify-content:center}.clinic{justify-content:center;padding:10px;margin:15px 10px}nav{padding:4px 8px}nav a{justify-content:center;padding:12px}.main{margin-left:70px;width:calc(100% - 70px)}.topbar{padding:0 18px}.content{padding:24px 16px}.page-head,.welcome,.patient-hero{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.cards-3{grid-template-columns:1fr}.agenda-row{grid-template-columns:65px 1fr;gap:10px}.agenda-row>div:nth-child(3),.agenda-row>.status{grid-column:2}.stats{grid-template-columns:1fr}.search.large{width:100%}.toolbar{display:block}.toolbar .count{display:block;margin-top:8px}}
.success{padding:13px 16px;border-radius:12px;background:#eafaf1;border:1px solid #bde8cc;color:#167044;font-size:14px}.muted{color:#74839a;font-size:14px}.user-list{display:flex;flex-direction:column}.user-list .mini-row{border-bottom:1px solid #edf1f6}.user-list .mini-row:last-child{border-bottom:0}#patientField,#doctorField{display:none}
