/* 
    Created on : 26-sep-2025, 10:00
    Author     : tecdes
*/

*{box-sizing:border-box}
  html,body{height:100%}

/*INDEX.HTML*/

.bodyIndex {
    margin: 0; 
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial;
    display: grid; 
    place-items: center; 
    min-height: 100vh;}

main { 
    text-align: center; 
    padding: 1rem 1.5rem; 
    max-width: 42rem; }

h1 { 
    margin: 0 0 .5rem; 
    font-size: 1.5rem; }

p { 
    margin: 0 0 1rem; }

a { 
    text-decoration: none; }

/*LOGIN.JSP*/

.bodyLogin{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
    color:#1b1b1b;
    background:
    radial-gradient(1200px 600px at 10% -10%, #e7f5ed 0, transparent 60%),
    radial-gradient(1200px 600px at 110% 110%, #e6f0ff 0, transparent 60%),
    #f5f7fb;
    display:flex; 
    align-items:center; 
    justify-content:center; 
    padding:24px;}


.shell{ 
    width:100%; 
    max-width:1040px; }


.brandbarLogin{
    display:flex; 
    align-items:center; 
    justify-content:space-between; 
    gap:16px;
    background: #1E5E1E;
    color:#fff; 
    border-radius:18px; 
    padding:14px 18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    margin:0 auto 18px auto;}

.brandbarLogin .logo{ 
    display:flex; 
    align-items:center; 
    gap:12px; }

.brandbarLogin img{ 
    height:64px;
    width:auto; 
    border-radius:10px; 
    background:#fff; }

.brandbarLogin h1{ 
    font-size:18px; 
    font-weight:700; 
    margin:0; 
    letter-spacing:.2px; }

.brandbarLogin small{ 
    opacity:.9; 
    display:block; 
    font-weight:400; }

.gridLogin{ 
    display:grid; 
    grid-template-columns: 1.1fr .9fr; 
    gap:22px; }

@media (max-width:960px){ 
    .grid{ 
        grid-template-columns:1fr; } }

.cardLogin{
    background:#ffffff; 
    border-radius:18px; 
    padding:22px;
    box-shadow:0 12px 36px rgba(0,0,0,.08);
    border:1px solid #edf2f7;}

.cardLogind h2{ 
    margin:0 0 6px 0; 
    font-size:20px; }

.cardLogin p.lead{ 
    margin:0 0 16px 0; 
    color:#6b7280; 
    font-size:14px; }

.alert{
    padding:10px 12px; 
    border-radius:10px; 
    margin:8px 0 12px 0;
    font-size:14px; 
    line-height:1.3; 
    border:1px solid;}

.alert.err{ 
    background:#fff6f6; 
    border-color:#f2b6b6; 
    color:#b91c1c; }

.alert.ok { 
    background:#f0fff4; 
    border-color:#bbf7d0; 
    color:#065f46; }

.field{ 
    display:flex; 
    flex-direction:column; 
    gap:6px; 
    margin-bottom:12px; }

.label{ 
    font-weight:600; 
    font-size:13px;
    color:#374151; }

.control{
    position:relative; 
    display:flex; 
    align-items:center; 
    gap:8px;
    border:1px solid #e5e7eb; 
    border-radius:12px; 
    background:#fff; 
    padding:10px 12px;}

.control:focus-within{ 
    outline:3px solid #e0e7ff; 
    border-color:#c7d2fe; }

.control input{
    border:0; 
    outline:0; 
    width:100%; 
    font-size:15px; 
    background:transparent;}

.ctrl-icon{ 
    font-size:16px; 
    color:#94a3b8; }

.row{ 
    display:flex; 
    gap:10px; 
    align-items:center; 
    justify-content:center; 
    margin-top:8px; }

.btn{
    display:inline-flex; 
    align-items:center; 
    justify-content:center; 
    gap:8px; 
    cursor:pointer;
    padding:10px 16px; 
    border:0; 
    border-radius:12px; 
    font-weight:700; 
    font-size:14px;
    transition:transform .04s ease, box-shadow .2s ease;}

.btn.primary{
    background: #1E5E1E;
    color:#fff; 
    box-shadow:0 8px 20px rgba(18,114,88,.25);}

.btn.secondary{ 
    background:#f1f5f9; 
    color:#0f172a; }

.btn:hover{ 
    transform:translateY(-1px); }

.btn:active{ 
    transform:translateY(0); }


.links{ 
    font-size:13px; 
    color:#475569; 
    line-height:1.5 }

.links a{ 
    color:#0e7490; 
    font-weight:600; 
    text-decoration:none; }

.links a:hover{ 
    text-decoration:underline; }


.note{
    padding:12px; 
    background:#fafafa; 
    border:1px dashed #e5e7eb;
    border-radius:12px; 
    font-size:13px; 
    color:#4b5563;}

/*MODIFICAR.JSP*/

.bodyModificar {
    margin:0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    color:#1b1b1b;
    padding:24px;
    background:
    radial-gradient(1200px 600px at 10% -10%, #e7f5ed 0, transparent 60%),
    radial-gradient(1200px 600px at 110% 110%, #e6f0ff 0, transparent 60%),
    #f5f7fb;}

.brandbarModificar{
    display:flex;
    align-items:center; 
    justify-content:space-between; 
    gap:16px;
    background:#1E5E1E;
    color:#fff; border-radius:18px; 
    padding:14px 18px; box-shadow:0 10px 30px rgba(0,0,0,.08);
    margin:0 auto 18px auto;}

.brandbarModificar .logo{
    display:flex; 
    align-items:center; 
    gap:12px;}

.brandbarModificar img{
    height:64px; 
    width:auto; 
    border-radius:10px; 
    background:#fff;}

.brandbarModificar h1{
    font-size:18px; 
    font-weight:700; 
    margin:0; 
    letter-spacing:.2px;}

.brandbarModificar small{
    opacity:.92; 
    display:block; 
    font-weight:400;}
  
.tit{
    max-width:800px;
    margin:20px auto 8px auto;}

.TblCeb{
    width:100%; 
    max-width:100%; 
    border-collapse:separate; 
    border-spacing:0; 
    margin:0 auto;
    border:1px solid #e5e7eb; 
    border-radius:14px; 
    overflow:hidden; 
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.06);}

.TblCeb thead td{
    background: #1E5E1E;
    color:#fff; 
    padding:10px; 
    font-size:12px; 
    border:0;}

.TblCeb td{
    border-top:1px solid #d3d3d3; 
    padding:8px; 
    vertical-align:top; 
    font-size:12px;
    background:#fff;}

.TblCeb td + td{ 
    border-left:1px solid #d3d3d3; }

.botones{
    display:inline-flex; 
    align-items:center; 
    justify-content:center; 
    gap:8px; 
    cursor:pointer;
    padding:10px 16px; 
    border:0; 
    border-radius:12px; 
    font-weight:700; 
    font-size:14px;
    background: #1E5E1E; 
    color:#fff; 
    box-shadow:0 8px 20px rgba(18,114,88,.25);
    transition: transform .06s ease, box-shadow .2s ease;}
  
.botones:hover{ transform: translateY(-1px); }
.botones:active{ transform: translateY(0); }

.campotext{
    padding:8px 10px; 
    border:1px solid #e5e7eb; 
    border-radius:10px;
    background:#fff; 
    font-size:14px;}

.campotext:focus{ 
    outline:3px solid #e0e7ff;
    border-color:#c7d2fe;}

.enlc{color:#1E5E1E;
     cursor:pointer;
     text-decoration:underline;}

.msg{
    max-width:980px; 
    margin:10px auto; 
    padding:12px; 
    border-radius:12px;
    background:#f0fff4; 
    border:1px solid #bbf7d0; 
    color:#065f46; 
    font-size:14px;}

.msg.err{ 
    background:#fff6f6; 
    border-color:#f2b6b6; 
    color:#b91c1c;}

.asig_info{
    font-size:12px;}

.asig_info .info{
    font-size:11px;
    color:#555;}

.oc{ 
    display:none !important; 
    padding:0 !important; 
    border:0 !important; 
    width:0 !important;}

.TblCeb .grp-in{
    width:64px;}

.layout{ 
    display:flex; 
    gap:18px; 
    align-items:flex-start; 
    width:100%; 
    margin:0 auto;}

.left{  
    flex:2 1 680px; 
    min-width:700px;}

.right{ 
    flex:1 2 680px; 
    min-width:700px;}

.right .sticky{ 
    position:sticky; 
    top:15px;}

@media (max-width: 1024px){ 
    .layout{ flex-direction:column; } 
    .right .sticky{ position:static; } }

.banner-uamer{
    display:flex; 
    align-items:center; 
    justify-content:space-between; 
    gap:16px;
    padding:12px 16px; 
    background: #1E5E1E;
    color:#fff;
    border-radius:14px;}

.banner-uamer .logo{
    flex:0 0 160px; 
    display:flex; 
    align-items:center; 
    justify-content:center;}

.banner-uamer .logo img{
    height:82px; 
    width:auto; 
    display:block;
    border-radius:10px; 
    background:#fff;}

.banner-uamer .info{
    flex:1 1 auto; 
    display:grid; 
    grid-template-columns: repeat(2, max-content);
    justify-content:flex-start; 
    align-content:center; 
    justify-items:start;
    column-gap:48px; 
    row-gap:4px; 
    margin:0 8px; 
    font-size:14px;}

.banner-uamer .info b{ 
    margin-right:8px;}

.banner-uamer .logout{
    flex:0 0 30px; 
    display:flex; 
    align-items:center; 
    justify-content:center;}

.banner-uamer .logout img{
    height:40px; 
    width:auto; 
    display:block; 
    cursor:pointer;}

@media (max-width: 900px){
  .banner-uamer{ flex-direction:column; align-items:flex-start; gap:12px; }
  .banner-uamer .logo{ flex-basis:auto; justify-content:flex-start; }
  .banner-uamer .info{ grid-template-columns: 1fr; padding-right:0; }
  .banner-uamer .logout{ align-self:stretch; justify-content:flex-end; }
  .banner-uamer .logout img{ height:46px; }
}

#resumenCreditos{
    border:1px solid #edf2f7; 
    border-radius:12px; 
    background:#fff; 
    box-shadow:0 6px 22px rgba(0,0,0,.06);
    padding:10px 12px; 
    font-size:14px;}

#resumenCreditos.ok{ 
    background:#e0bb3d; 
    border-color:#e0bb3d; 
    color:#000; }

#resumenCreditos.danger{
    background:#b91c1c; 
    border-color:#7f1d1d; 
    color:#fff; }

.grp-in.hide{
    display:none;}

.grp-in.locked{ 
    pointer-events:none; 
    background:#eee; 
    color:#666; }

fieldset{
    border:1px solid #edf2f7; 
    border-radius:18px;
    background:#fff; 
    padding:18px;
    box-shadow:0 12px 36px rgba(0,0,0,.08);}

.fieldset1{
    border:2px solid #1E5E1E;    
    border-radius:8px; 
    background:#F8F8F8; 
    width:98%; 
    margin:18px auto; 
    background: #fff;}

.fieldset2{
    border:2px solid #fff;
    border-radius:8px;
    background:#F8F8F8;
    width:98%;
    margin:18px auto;
    background: #fff;}

.fieldset3{
    border:2px solid #fff;
    border-radius:8px;
    background:#fff; 
    width:98%; 
    margin:18px auto;}

legend{
    font-size: 14px; 
    max-width:400px;
    padding:4px;
    border:1px solid #e0bb3d;
    border-radius:8px;
    background:#e0bb3d;
    color:#000;}

/*BUSCARA.JSP*/


.bodyBuscarA{
    font-family:Arial,Helvetica,sans-serif; 
    margin:10px;}

.card{
    max-width:1200px;
    margin:0 auto;}

.form{
    display:flex;
    gap:8px;
    align-items:center;
    margin-bottom:14px;
    flex-wrap:wrap;}

.in{
    padding:8px 10px;
    border:1px solid #bbb;
    border-radius:8px;
    min-width:260px;}

.btn{
    padding:9px 14px;
    border:0;
    border-radius:8px;
    background:#1E5E1E;
    color:#fff;
    cursor:pointer;}

.tbl{
    border-collapse:collapse;
    width:100%;
    border:1px solid #ddd;}

.tbl th,.tbl td{
    border:1px solid #ddd;
    padding:6px;
    text-align:left; 
    font-size: 11px;}

.tbl thead th{
    color:#000;
    position:sticky;
    top:0;}

.muted{
    color:#666;
    font-size:12px;}

