:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1e293b;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.topbar{height:68px;background:#fff;border-bottom:1px solid #e4eaf2;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{font-weight:750;color:#145ca8;text-decoration:none;font-size:18px}.top-actions{display:flex;align-items:center;gap:16px;font-size:14px}.top-actions form{margin:0}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#fff;border-right:1px solid #e4eaf2;padding:24px 14px;display:flex;flex-direction:column;gap:8px}.sidebar>a{padding:12px 14px;border-radius:9px;text-decoration:none;color:#334155;font-weight:600}.sidebar>a:hover,.sidebar>a:first-child{background:#eaf3ff;color:#145ca8}.nav-muted{font-size:12px;color:#8190a5;line-height:1.5;padding:16px 12px}.content{padding:32px;max-width:1400px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading h1{font-size:28px;margin:3px 0 8px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#2775c6;margin:0}.muted{color:#718096}.small{font-size:12px}.btn{border:1px solid transparent;border-radius:8px;padding:10px 15px;font-weight:650;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}.btn-primary{background:#1769bd;color:white}.btn-primary:hover{background:#10579e}.btn-light{background:#fff;border-color:#dce4ee;color:#334155}.btn-light:hover{background:#f5f8fc}.btn-small{padding:7px 10px;font-size:12px}.full{width:100%}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card,.panel{background:#fff;border:1px solid #e3eaf2;border-radius:14px;box-shadow:0 2px 7px #183b5b08}.stat-card{padding:22px}.stat-icon{font-size:24px;color:#2376c7}.stat-card p{margin:10px 0}.stat-card strong{display:block;font-size:32px;margin-bottom:12px}.stat-card a{font-size:13px;text-decoration:none;color:#1769bd;font-weight:650}.panel{padding:24px;margin-bottom:22px}.panel h2{font-size:17px;margin:0 0 18px}.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-links>a{border:1px solid #e4eaf2;border-radius:10px;padding:17px;display:flex;align-items:center;gap:13px;color:#1769bd;text-decoration:none}.quick-links span{display:flex;flex:1;flex-direction:column;gap:4px;color:#27364a}.quick-links small{font-size:12px;color:#718096}.searchbar{display:flex;gap:10px;margin-bottom:18px}.searchbar input{flex:1}.searchbar input,.searchbar select,input,select,textarea{font:inherit}.searchbar input,.searchbar select,.form-grid input,.form-grid select,.form-grid textarea,.form-panel>label textarea,.form-stack input{border:1px solid #d8e1ec;border-radius:8px;padding:11px 12px;background:#fff;width:100%;min-width:0;color:#253348}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:15px 18px;border-bottom:1px solid #edf1f6;vertical-align:middle}th{background:#f8fafc;color:#66758a;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px}tbody tr:last-child td{border-bottom:0}.table-sub{display:block;margin-top:5px;color:#8190a5;font-size:11px}.status{display:inline-block;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:800}.status-active{background:#e4f7ed;color:#16784b}.status-archived{background:#eef1f5;color:#596579}.actions{display:flex;gap:6px;align-items:center}.actions form{margin:0}.empty{text-align:center;padding:50px 20px}.empty-icon{font-size:34px;color:#7c9fc5}.empty h2{margin:12px 0}.form-panel{max-width:950px}.form-panel h2:not(:first-child){border-top:1px solid #e9eef4;padding-top:24px;margin-top:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.form-grid label,.form-panel>label,.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#344256}.span-2{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea,.form-panel>label textarea{margin-top:1px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid #e9eef4}.alert{background:#fff0f0;border:1px solid #f3caca;color:#9f2f2f;border-radius:8px;padding:12px 14px;margin-bottom:18px;font-size:13px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px;background:linear-gradient(145deg,#edf5ff,#f7f9fc)}.auth-card{background:#fff;border:1px solid #e0e8f1;border-radius:16px;box-shadow:0 15px 45px #1d42630f;padding:34px;width:min(100%,430px)}.auth-card h1{text-align:center;font-size:23px;margin:14px 0 8px}.auth-card>p{text-align:center;font-size:13px}.logo{width:50px;height:50px;border-radius:14px;background:#e8f3ff;color:#1769bd;display:grid;place-items:center;font-size:27px;margin:0 auto}.form-stack{display:flex;flex-direction:column;gap:17px;margin:24px 0}.form-stack input{margin-top:3px}.auth-card a{color:#1769bd}.auth-card .small{margin-top:20px}.auth-card .alert{text-align:left}@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;border-right:0;border-bottom:1px solid #e4eaf2;padding:8px 12px;overflow-x:auto}.sidebar>a{white-space:nowrap}.nav-muted{display:none}.content{padding:22px 16px}.topbar{padding:0 15px}.brand{font-size:15px}.top-actions{gap:8px;font-size:12px}.page-heading{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr 1fr}.quick-links{grid-template-columns:1fr}.searchbar{flex-wrap:wrap}.searchbar input{flex-basis:100%}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.panel{padding:17px}.form-panel{padding:18px}.top-actions .btn{padding:8px}.form-actions{flex-wrap:wrap}.form-actions>*{flex:1}.auth-card{padding:26px 22px}}
.nav-disabled {
    display: block;
    padding: 10px 12px;
    color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.75;
}




/* Personalización IDNASCR: azul marino y centrado de acceso */
:root { --idnascr-navy: #10345d; --idnascr-navy-dark: #0c2b4e; --idnascr-blue: #1769bd; }
.topbar { background: var(--idnascr-navy); border-bottom-color: #244c77; color: #fff; }
.topbar .brand { color: #fff; }
.topbar .top-actions { color: #f0f6ff; }
.topbar .top-actions .btn-light { color: var(--idnascr-navy); border-color: #dbe8f5; }
.sidebar { background: var(--idnascr-navy-dark); border-right-color: #244c77; }
.sidebar > a { color: #e7f1ff; }
.sidebar > a:hover, .sidebar > a:first-child, .sidebar > a.active { background: #20598e; color: #fff; }
.sidebar .nav-disabled { color: #b7c8dc; opacity: .65; }
.sidebar .nav-muted { color: #bbccdf; }
.auth-wrap { flex-direction: column; align-items: center; justify-content: center; gap: 0; }
.auth-wrap > .auth-card { flex: 0 0 auto; }
.auth-wrap > div:last-child:not(.auth-card) { width: min(100%, 430px); }
@media (max-width: 800px) {
  .sidebar { border-bottom-color: #244c77; }
}

/* Corazón rojo de la marca */
.topbar .brand .brand-heart { color: #ff3b65; font-size: 1.25em; line-height: 1; }

/* Tema verde musgo IDNASCR */
:root{--idnascr-navy:#294b20;--idnascr-navy-dark:#203f1a;--idnascr-blue:#42692d;color:#1b2b1b;background:#f5f8f2}
.topbar{background:#294b20;border-bottom-color:#385c30}
.sidebar{background:#203f1a;border-right-color:#385c30}
.sidebar>a:hover,.sidebar>a:first-child,.sidebar>a.active{background:#50743b;color:#fff}
.sidebar .nav-muted{color:#c5d8be}
.sidebar .nav-disabled{color:#c0d0bb}
.btn-primary{background:#42692d;color:#fff}.btn-primary:hover{background:#315322}
.brand,.stat-icon,.stat-card a,.quick-links>a,.eyebrow,.auth-card a{color:#42692d}
.logo{background:#edf4e8;color:#e92f53}
.auth-wrap{background:linear-gradient(145deg,#f4f8ef,#e8f1e4);min-height:100vh;flex-direction:column;align-items:center;justify-content:center}
.auth-card{border-color:#e0e9da;box-shadow:0 15px 45px #203f1a12}
.auth-card h1{color:#203f1a}
.auth-card .logo{color:#e92f53}
.auth-card .logo::first-letter{color:#e92f53}
.auth-wrap > div:last-child:not(.auth-card){text-align:center;width:min(100%,430px)}
.topbar .brand .brand-heart{color:#f23859}
.panel,.stat-card{border-color:#e1e9dc}
.quick-links>a:hover{background:#f1f7ed;border-color:#b8d0ac}
input:focus,select:focus,textarea:focus{outline-color:#72965f}
@media(max-width:800px){.sidebar{border-bottom-color:#385c30}}

.auth-signature{text-align:center;margin:14px auto;font-size:12px;color:#64775c;width:min(100%,430px)}


/* Fotografías de médicos: mostrar imagen completa sin recortar */
.foto-medico {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: contain;
    object-position: center;
    background-color: #f5f8f2;
    display: block;
}
