:root{--yellow:#36a9d6;--yellow2:#72c7e8;--yellow-dark:#197aa5;--bg:#e8e9eb;--surface:#f8f8f8;--panel:#eceeef;--text:#25282b;--muted:#666b70;--line:#aeb3b8;--ok:#397a45;--okbg:#e7f3e8;--bad:#a8322b;--badbg:#f8e7e5;--shadow:0 2px 8px #0002}
*{box-sizing:border-box}
html,body{min-height:100%}
body{min-height:100vh;margin:0;color:var(--text);background:linear-gradient(#f0f1f2,#e2e3e5) fixed;font:14px/1.35 Arial,"Segoe UI",sans-serif}
nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;min-height:50px;padding:0 2%;color:#222;background:linear-gradient(#72c7e8,#2496c5);border-bottom:1px solid #176985;box-shadow:0 2px 6px #0003}
nav strong{max-width:340px;margin-right:auto;padding:9px 18px 9px 0;font-size:17px;line-height:1.15}
.main-menu{display:flex;align-items:center;gap:2px}.main-menu a{padding:8px 10px;border:1px solid transparent;border-radius:2px;color:#252525;text-decoration:none;white-space:nowrap;transition:.15s}.main-menu a:hover{color:#111;background:#d8f1fa;border-color:#197aa5}
.menu-toggle{display:none;width:42px;height:38px;min-height:38px;padding:7px;border:1px solid #176985;border-radius:2px;background:#67bddf;box-shadow:none}.menu-toggle span{display:block;width:24px;height:3px;margin:3px auto;border-radius:1px;background:#333;transition:.2s}
main{width:min(1320px,calc(100% - 28px));margin:18px auto}
h1{margin:0 0 14px;padding:7px 11px;color:#252525;background:linear-gradient(90deg,var(--yellow),#d8f1fa 70%,transparent);border-left:5px solid #197aa5;font-size:clamp(21px,2.4vw,28px);font-weight:700;letter-spacing:-.2px}
h2{margin:18px 0 10px;color:#292929;font-size:19px}
.login{width:min(430px,calc(100% - 24px));margin:8vh auto;padding:25px;border:1px solid #999;border-top:7px solid var(--yellow);border-radius:3px;background:#f7f7f7;box-shadow:0 8px 30px #0003}
.login h1{margin:0;padding:0;color:#292929;background:none;border:0;font-size:27px;line-height:1.2;text-align:center}.login-heading{margin-bottom:22px;text-align:center}.login-subtitle{margin-top:6px;color:var(--muted);font-size:16px;font-weight:600}.login form{display:grid;gap:12px}.login>a{display:inline-block;margin-top:15px}
.login .forgot-link{display:block;min-height:0;padding:0;border:0;color:#4b4b4b;background:transparent;box-shadow:none;font-weight:500;text-align:center;text-decoration:underline}.login .forgot-link:hover{color:#000;background:transparent;box-shadow:none}
.card,form.card{margin-bottom:13px;padding:15px;border:1px solid #aeb3b8;border-radius:3px;background:linear-gradient(#fafafa,#f0f1f2);box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
main>.grid>section.card{position:relative;overflow:hidden;min-height:125px;border:1px solid #aaa;border-top:6px solid var(--yellow);transition:.15s}
main>.grid>section.card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}
section.card h2{margin:5px 0 12px;font-size:18px}section.card>strong{color:#222;font-size:21px}
label{display:flex;flex-direction:column;gap:4px;color:#303438;font-size:13px;font-weight:700}
input,select,textarea{width:100%;min-height:34px;padding:6px 8px;border:1px solid #9ca2a7;border-radius:2px;outline:none;color:#222;background:#fff;font:inherit;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:#2496c5;box-shadow:0 0 0 2px #36a9d655;background:#f5fcff}
button,.button,main a{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:4px 9px;border:1px solid #197aa5;border-radius:2px;color:#202020;background:linear-gradient(#72c7e8,#2496c5);box-shadow:0 1px 2px #0003;font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer;transition:.15s}
button:hover,.button:hover,main a:hover{color:#111;background:linear-gradient(#a9ddf0,#36a9d6)}button:active,.button:active,main a:active{transform:translateY(1px);box-shadow:none}
.login button{min-height:38px;padding:7px 13px;font-size:14px}
.actions{display:flex;flex-wrap:wrap;gap:6px}
table{width:100%;margin-bottom:13px;overflow:hidden;border:1px solid #9da2a6;border-spacing:0;border-collapse:separate;border-radius:2px;background:#fff;box-shadow:var(--shadow)}
th,td{padding:7px 8px;border-right:1px solid #c4c7ca;border-bottom:1px solid #c4c7ca;text-align:left;vertical-align:middle}
th:last-child,td:last-child{border-right:0}th{color:#292929;background:linear-gradient(#72c7e8,#2496c5);font-size:12px;letter-spacing:.15px;text-transform:uppercase}
tbody tr:nth-child(even) td{background:#e8f5fa}tbody tr:nth-child(odd) td{background:#f5f5f5}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#d8f1fa}.num{text-align:right;font-variant-numeric:tabular-nums}
.error,.notice,.ok{margin:9px 0 13px;padding:9px 11px;border:1px solid;border-left-width:5px;border-radius:2px}.error{border-color:var(--bad);color:#76231e;background:var(--badbg)}.notice,.ok{border-color:var(--ok);color:#285731;background:var(--okbg)}.muted{color:var(--muted)}
.line{display:grid;grid-template-columns:minmax(230px,2fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(200px,2fr) 38px;gap:6px;margin:6px 0;padding:7px;border:1px solid #c5c8ca;border-radius:2px;background:#e8eaeb;align-items:center;min-width:0}.line button{padding:5px;background:#d5e8ef;border-color:#888}a{color:#176985}a:hover{color:#111}
.user-edit input[type=checkbox],.account-edit input[type=checkbox]{width:26px;height:26px;min-height:26px;margin:0;accent-color:#238db8}.account-edit label>span{display:flex;align-items:center;gap:7px;min-height:34px}.user-edit .state-field{align-items:center;text-align:center}.user-edit .state-field>span:last-child,.user-edit .permission-grid label span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;text-align:center}.user-edit .state-field small,.user-edit .permission-grid small{display:block;color:#303438;font-size:13px;font-weight:700;line-height:1.2}.user-edit .permission-grid{align-items:start}.user-edit .permission-grid label{align-items:center;justify-content:center;text-align:center}.user-edit table th:nth-child(n+3),.user-edit table td:nth-child(n+3){text-align:center}.user-edit table td:nth-child(n+3) input[type=checkbox]{display:block;margin:auto}
@media(max-width:900px){nav{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;min-height:56px;padding:7px 11px}nav strong{max-width:none;margin:0;padding:6px 8px 6px 0;font-size:16px}.menu-toggle{display:block}.menu-toggle:hover{background:#d8f1fa}.main-menu{display:none;grid-column:1/-1;flex-direction:column;align-items:stretch;width:100%;padding:6px 0 2px;border-top:1px solid #176985}.menu-open .main-menu{display:flex}.main-menu a{display:block;width:100%;padding:9px 11px;text-align:left;background:#58b5da}.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}
@media(max-width:700px){main{width:min(100% - 14px,1320px);margin-top:12px}h1{font-size:22px}.card,form.card{padding:11px}.line{grid-template-columns:minmax(230px,2fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(200px,2fr) 38px;overflow-x:auto}table{display:block;overflow-x:auto;white-space:nowrap;font-size:12px}th,td{padding:7px}.actions>*{flex:1 1 135px}}
@media print{nav,.no-print,button{display:none!important}body{background:#fff}main{width:100%;max-width:none;margin:0}table,.card{box-shadow:none}}

/* ===== Ajuste visual profesional celeste ===== */
:root{
  --blue-main:#2496c5;
  --blue-light:#e8f6fb;
  --blue-soft:#d7eff8;
  --blue-dark:#176985;
  --surface-strong:#ffffff;
}

/* Login */
.login{
  border-color:#b7c5cc;
  border-top:7px solid var(--blue-main);
  background:linear-gradient(#ffffff,#f4f9fb);
  box-shadow:0 10px 32px #17698526;
}
.login h1{color:#176985}
.login-subtitle{color:#607984}

/* Encabezados */
h1{
  color:#24434f;
  border-left-color:var(--blue-dark);
  box-shadow:0 1px 0 #ffffffaa;
}
h2{color:#28515f}

/* Tarjetas */
.card,form.card{
  border-color:#b9cbd2;
  background:linear-gradient(#ffffff,#f3f8fa);
  box-shadow:0 2px 8px #17698518;
}
main>.grid>section.card{
  border-color:#b6c8cf;
  border-top-color:var(--blue-main);
}
main>.grid>section.card:hover{
  box-shadow:0 6px 16px #1769852b;
}

/* Campos */
input,select,textarea{
  border-color:#aebfc7;
  background:#fff;
}
input:hover,select:hover,textarea:hover{
  border-color:#72b9d2;
}
input:focus,select:focus,textarea:focus{
  border-color:#2496c5;
  box-shadow:0 0 0 2px #2496c533;
  background:#f8fdff;
}

/* Botones */
button,.button,main a{
  border-color:#197aa5;
  color:#ffffff;
  background:linear-gradient(#5eb9dc,#2496c5);
  box-shadow:0 2px 3px #0003;
}
button:hover,.button:hover,main a:hover{
  color:#ffffff;
  background:linear-gradient(#78c9e5,#2496c5);
  box-shadow:0 3px 7px #0003;
}
button:active,.button:active,main a:active{
  background:linear-gradient(#2496c5,#197aa5);
}

/* Menú */
nav{
  color:#fff;
  background:linear-gradient(#72c7e8,#2496c5);
  border-bottom-color:#176985;
  box-shadow:0 2px 8px #0003;
}
nav strong{color:#fff}
.main-menu a{
  color:#fff;
}
.main-menu a:hover{
  color:#17495a;
  background:#d8f1fa;
  border-color:#197aa5;
}
.menu-toggle{
  border-color:#176985;
  background:#58b5da;
}
.menu-toggle:hover{
  background:#a9ddf0;
}

/* Tablas */
table{
  border-color:#aebfc7;
  box-shadow:0 2px 8px #17698518;
}
th{
  color:#fff;
  background:linear-gradient(#72c7e8,#2496c5);
}
tbody tr:nth-child(even) td{background:#eaf6fa}
tbody tr:nth-child(odd) td{background:#f8fafb}
tbody tr:hover td{background:#d8f1fa}

/* Líneas de carga/asientos */
.line{
  border-color:#c2d2d8;
  background:#edf5f8;
}
.line button{
  background:#d7e9ef;
  border-color:#8faab5;
}

/* Enlaces */
a{color:#176985}
a:hover{color:#0d526b}

/* Estados */
.error{box-shadow:0 1px 3px #0001}
.notice,.ok{box-shadow:0 1px 3px #0001}

/* Responsive: menú desplegado */
@media(max-width:900px){
  .main-menu{
    border-top-color:#176985;
  }
  .main-menu a{
    color:#fff;
    background:#45a9d1;
  }
  .main-menu a:hover{
    color:#17495a;
    background:#d8f1fa;
  }
}

/* Impresión */
@media print{
  h1{box-shadow:none}
}


/* Checkboxes: formato compacto y uniforme en toda la aplicación */
input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 16px;
  accent-color:var(--blue-main);
  vertical-align:middle;
}
label:has(input[type="checkbox"]){
  flex-direction:row!important;
  align-items:center!important;
  gap:6px!important;
}
label:has(input[type="checkbox"])>span{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:auto!important;
  min-height:0!important;
  text-align:left!important;
}
.user-edit .state-field,.user-edit .permission-grid label{
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
}
.user-edit .state-field>span:last-child,.user-edit .permission-grid label span{
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  gap:6px!important;
  text-align:left!important;
}
.user-edit .state-field small,.user-edit .permission-grid small{
  display:inline!important;
  font-size:13px;
  line-height:1.2;
}
.account-edit label>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:0!important;
}

/* ===== Pantalla de operaciones: nombre/modalidad arriba y opciones en una línea debajo ===== */
.operations-form{padding:20px 24px 18px}
.operations-form h2{margin:0 0 16px;font-size:21px;color:#263f4d}
.operations-form-grid{display:grid;grid-template-columns:minmax(280px,1.3fr) minmax(260px,1fr);gap:18px;align-items:end}
.operations-form-grid>label{min-width:0}
.operations-checks-row{display:flex;align-items:center;gap:28px;flex-wrap:nowrap;margin-top:12px;min-height:36px}
.operations-check{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;min-height:34px;padding:0!important;margin:0!important}
.operations-check>span{display:inline-flex!important;align-items:center!important;gap:7px!important;white-space:nowrap}
.operations-check input[type="checkbox"]{margin:0!important}
.operations-info{display:flex;align-items:flex-start;gap:10px;margin-top:17px;padding:11px 14px;border:1px solid #c9e0ea;border-radius:4px;background:#eef8fc;color:#415b66;font-size:13px;line-height:1.45}
.operations-info strong{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#4c9bc1;color:#fff;font-size:12px}
.operations-actions{margin:15px 0 0;padding-top:14px;border-top:1px solid #d5dde1}
.operations-actions button,.operations-actions a{min-height:34px;padding:6px 13px}
@media(max-width:900px){.operations-checks-row{gap:16px;flex-wrap:wrap}}
@media(max-width:800px){.operations-form{padding:14px}.operations-form-grid{grid-template-columns:1fr;gap:10px}.operations-checks-row{align-items:flex-start;gap:8px 18px;margin-top:10px}.operations-check{min-height:30px}.operations-info{margin-top:12px}}

.reporte-seis{width:100%;border-collapse:collapse}.reporte-seis th,.reporte-seis td{padding:8px;border:1px solid #d8dde5}.reporte-seis th{font-weight:700}.reporte-seis .num{text-align:right}
@media print{.reporte-seis{font-size:11pt}.reporte-seis th,.reporte-seis td{padding:6px}}

/* Menú principal: botones compactos, coherentes con el resto del sistema */
nav .main-menu a,
nav .main-menu a:visited {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin:0 1px;
  padding:5px 11px;
  border:1px solid #9fc7d5;
  border-radius:4px;
  color:#183b48;
  background:linear-gradient(#eef9fc,#cfeaf2);
  box-shadow:0 1px 2px #0003;
  font:inherit;
  font-size:13px;
  font-weight:600;
  line-height:normal;
  text-decoration:none;
  cursor:pointer;
  transition:.15s;
}
nav .main-menu a:hover,
nav .main-menu a:focus {
  color:#12313c;
  background:linear-gradient(#ffffff,#e5f5f9);
  border-color:#7eafc0;
  box-shadow:0 2px 4px #0003;
}
nav .main-menu a:active {
  color:#12313c;
  background:#c6e3ec;
  transform:translateY(1px);
  box-shadow:none;
}
@media(max-width:900px){
  nav .main-menu a,
  nav .main-menu a:visited {
    display:flex;
    width:100%;
    min-height:34px;
    margin:2px 0;
    padding:7px 11px;
    border:1px solid #9fc7d5;
    border-radius:4px;
    color:#183b48;
    background:linear-gradient(#eef9fc,#cfeaf2);
  }
  nav .main-menu a:hover,
  nav .main-menu a:focus {
    color:#12313c;
    background:linear-gradient(#ffffff,#e5f5f9);
    border-color:#7eafc0;
  }
}

/* Renglones de movimientos: importes amplios y detalle legible. */
.line:not(.bimonetary-row){
  grid-template-columns:minmax(260px,2fr) minmax(105px,.8fr) minmax(110px,.9fr) minmax(180px,1.25fr) minmax(280px,2.2fr) 40px;
}
.line.bimonetary-row{
  grid-template-columns:minmax(260px,2fr) minmax(110px,.9fr) minmax(175px,1.25fr) minmax(175px,1.25fr) minmax(280px,2.2fr) 40px;
}
.line .single-amount,
.line .amount-ars,
.line .amount-usd,
.line .note{width:100%;min-width:0;box-sizing:border-box;}
.line .note{min-width:0;}
@media(max-width:1100px){
  .line:not(.bimonetary-row),
  .line.bimonetary-row{grid-template-columns:minmax(220px,2fr) minmax(95px,.8fr) minmax(150px,1.2fr) minmax(150px,1.2fr) minmax(220px,2fr) 36px;}
  .line:not(.bimonetary-row) .amount-ars,
  .line:not(.bimonetary-row) .amount-usd{display:none;}
}
