/* Correccion visual: sidebar, topbar e iconografia ejecutiva */

.sidebar{
  width:285px;
}

@media print{
  body.print-operations-report{
    background:#fff !important;
  }

  body.print-operations-report .sidebar,
  body.print-operations-report .topbar,
  body.print-operations-report .page-head,
  body.print-operations-report .operation-filters,
  body.print-operations-report .flash-messages,
  body.print-operations-report .system-credit,
  body.print-operations-report .no-print,
  body.print-operations-report .btn,
  body.print-operations-report .table-actions,
  body.print-operations-report .operations-print-table th:last-child,
  body.print-operations-report .operations-print-table td:last-child{
    display:none !important;
  }

  body.print-operations-report .layout,
  body.print-operations-report .main,
  body.print-operations-report .content{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  body.print-operations-report .operations-history-card{
    box-shadow:none !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:#fff !important;
  }

  body.print-operations-report .operations-print-head{
    display:grid !important;
    grid-template-columns:1.4fr .9fr !important;
    gap:10mm !important;
    align-items:start !important;
    margin:0 0 7mm !important;
    padding-bottom:4mm !important;
    border-bottom:1px solid #000 !important;
    color:#000 !important;
  }

  body.print-operations-report .operations-print-head h1{
    margin:0 0 2mm !important;
    font-size:16pt !important;
    line-height:1.1 !important;
    color:#000 !important;
  }

  body.print-operations-report .operations-print-head p,
  body.print-operations-report .operations-print-head span{
    display:block !important;
    margin:0 0 1mm !important;
    font-size:9pt !important;
    color:#000 !important;
  }

  body.print-operations-report .table-title{
    margin:0 0 3mm !important;
  }

  body.print-operations-report .table-title h3{
    margin:0 !important;
    font-size:12pt !important;
    color:#000 !important;
  }

  body.print-operations-report .table-title p{
    margin:1mm 0 0 !important;
    color:#000 !important;
    font-size:9pt !important;
  }

  body.print-operations-report .operations-print-table{
    width:100% !important;
    border-collapse:collapse !important;
    table-layout:fixed !important;
    font-size:7.4pt !important;
    color:#000 !important;
  }

  body.print-operations-report .operations-print-table th,
  body.print-operations-report .operations-print-table td{
    display:table-cell !important;
    border:1px solid #000 !important;
    padding:1.4mm !important;
    text-align:left !important;
    vertical-align:top !important;
    color:#000 !important;
    background:#fff !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  body.print-operations-report .operations-print-table th{
    font-weight:900 !important;
    background:#f1f1f1 !important;
  }

  body.print-operations-report .operations-print-table .badge,
  body.print-operations-report .operations-print-table .status{
    border:0 !important;
    padding:0 !important;
    background:transparent !important;
    color:#000 !important;
    box-shadow:none !important;
  }
}

.main{
  margin-left:285px;
}

.brand{
  height:76px;
  padding:14px 16px;
  gap:12px;
}

.brand strong{
  font-size:19px;
  line-height:1.1;
}

.brand-icon,
.ico{
  background:
    linear-gradient(135deg, #0a63df, #052e88 78%);
  box-shadow:0 12px 24px rgba(8,51,136,.22), inset 0 1px 0 rgba(255,255,255,.28);
}

.brand-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  flex:0 0 auto;
}

.brand-icon svg{
  width:25px;
  height:25px;
}

.hamb{
  width:38px;
  height:38px;
  border-radius:10px;
  font-size:0;
  flex:0 0 auto;
}

.icon-btn,
.admin-btn,
.top-user{
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.icon-btn:hover,
.admin-btn:hover,
.top-user:hover{
  transform:translateY(-1px);
}

.hamb svg,
.menu svg,
.logout svg,
.admin-btn svg,
.bell svg{
  width:19px;
  height:19px;
  stroke-width:2.1;
}

.user-card{
  margin:0 14px 12px;
  padding:12px;
  border-radius:12px;
}

.avatar{
  width:44px;
  height:44px;
  font-size:0;
  flex:0 0 auto;
}

.avatar svg,
.mini-avatar svg{
  width:20px;
  height:20px;
}

.menu{
  padding:0 10px 12px;
}

.menu a,
.menu summary{
  min-height:32px;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
}

.menu a:hover,
.menu summary:hover,
.menu a.active{
  background:linear-gradient(90deg, rgba(10,99,223,.12), rgba(17,170,164,.12));
}

details a{
  margin-left:36px;
  min-height:20px;
  padding:3px 8px;
  font-size:11px;
  position:relative;
}

details a:before{
  content:"";
  width:4px;
  height:4px;
  border-radius:50%;
  background:#0a63df;
  position:absolute;
  left:-8px;
  top:50%;
  transform:translateY(-50%);
}

.logout{
  margin:10px 14px 16px;
  padding:14px 10px;
}

.sidebar.collapsed{
  width:78px;
}

.sidebar.collapsed+.main{
  margin-left:78px;
}

.topbar{
  height:76px;
  justify-content:center;
  padding-left:24px;
  padding-right:24px;
}

.topbar h1{
  font-size:22px;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
  margin:0;
}

.topbar-brand-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:calc(100% - 430px);
  min-width:0;
  margin:0 auto;
}

.topbar-brand-logo{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.15);
  color:#fff;
}

.topbar-brand-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#fff;
}

.topbar-brand-logo svg{
  width:24px;
  height:24px;
}

.top-actions{
  position:absolute;
  right:24px;
  margin-left:0;
  gap:10px;
}

.reference-live-strip{
  position:absolute;
  left:24px;
  right:220px;
  bottom:9px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter: blur(4px);
  min-height:36px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

body.route-divisas .topbar-brand-title{
  margin-bottom:8px;
}

.divisas-reference-panel{
  margin:12px 0 18px;
}

.reference-card.rate-refreshed{
  animation:rateRefreshed .9s ease;
}

@keyframes rateRefreshed{
  0%{box-shadow:0 0 0 0 rgba(10,99,223,.0);}
  35%{box-shadow:0 0 0 3px rgba(10,99,223,.18);}
  100%{box-shadow:0 0 0 0 rgba(10,99,223,.0);}
}

body.route-dashboard .reference-live-strip{
  left:20px;
  right:204px;
  bottom:8px;
  top:auto;
}

.reference-live-strip.offline{
  background:rgba(214,34,33,.18);
  border-color:rgba(255,224,224,.45);
}

.reference-live-content{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.reference-live-content b{
  font-size:10px;
  font-weight:900;
  letter-spacing:0;
  color:#21d07f;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.reference-live-strip.offline .reference-live-content b{
  color:#ff5f5f;
}

.reference-live-content small{
  display:block;
  color:rgba(255,255,255,.85);
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.reference-live-rates{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}

.reference-live-rate{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:1px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.reference-live-rate span{
  opacity:.95;
}

.reference-live-rate .green-t{
  color:#b7ffb7;
}

.reference-live-rate .blue-t{
  color:#b6dcff;
}

.reference-live-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#21d07f;
  box-shadow:0 0 0 0 rgba(33,208,127,.4);
  animation:pulse 2.1s infinite;
  flex:0 0 auto;
}

.reference-live-strip.offline .reference-live-dot{
  background:#ff5f5f;
  box-shadow:0 0 0 0 rgba(255,95,95,.4);
}

@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(33,208,127,0.42);}
  70%{box-shadow:0 0 0 9px rgba(33,208,127,0);}
  100%{box-shadow:0 0 0 0 rgba(33,208,127,0);}
}

.rate-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.rate-title h3{
  margin:0;
}

.rate-title small{
  color:#64748b;
  font-size:12px;
  font-weight:850;
}

.rate-company-logo{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid #dbe8f8;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  color:#0a63df;
}

.rate-company-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.rate-company-logo svg{
  width:23px;
  height:23px;
}

.drop-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.mobile-menu-btn{
  display:none;
}

.bell-btn,
.user-btn,
.admin-btn{
  border:0;
  cursor:pointer;
  font:inherit;
}

.bell,
.top-user,
.admin-btn{
  min-width:40px;
  min-height:40px;
  border-radius:10px;
  background:rgba(255,255,255,.13);
  color:#fff;
}

.bell{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  position:relative;
}

.bell b{
  position:absolute;
  right:-5px;
  top:-6px;
  min-width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:2px solid #0a63df;
  border-radius:999px;
  background:#ef3b3b;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
}

.top-user{
  padding:7px 9px;
  min-width:132px;
}

.top-user b{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.05;
}

.top-user span{
  display:block;
  color:rgba(255,255,255,.88);
  font-size:11px;
  line-height:1.2;
  margin-top:2px;
  font-weight:800;
}

.company-avatar{
  overflow:hidden;
}

.company-avatar img,
.logo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.logo-upload{
  display:grid;
  gap:10px;
}

.logo-preview{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  padding:8px 10px;
  border:1px solid #d8e3f5;
  border-radius:8px;
  background:#f8fbff;
  color:#31446f;
  font-weight:800;
}

.logo-preview img{
  width:42px;
  height:42px;
  border-radius:8px;
}

.admin-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  font-weight:800;
}

.mini-dropdown{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:230px;
  overflow:hidden;
  z-index:9999;
  background:#fff;
  border-radius:8px;
  box-shadow:0 18px 42px rgba(7,25,67,.18);
  border:1px solid rgba(8,25,67,.08);
  color:#101b3d;
}

.mini-dropdown.show{
  display:block;
}

.mini-dropdown .drop-title{
  padding:12px 14px;
  border-bottom:1px solid rgba(8,25,67,.08);
  font-weight:900;
}

.mini-dropdown .drop-title.small{
  font-size:11px;
  color:#6b7897;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:#f7fbff;
}

.mini-dropdown a,
.mini-dropdown .empty-noti{
  display:block;
  padding:11px 14px;
  color:inherit;
}

.mini-dropdown a:hover{
  background:#f3f8ff;
}

.mini-dropdown form{
  margin:0;
}

.dropdown-action{
  width:100%;
  border:0;
  display:grid;
  gap:2px;
  padding:10px 14px;
  text-align:left;
  background:#fff;
  color:#101b3d;
  cursor:pointer;
  font:inherit;
}

.dropdown-action span{
  font-weight:900;
}

.dropdown-action small{
  color:#6b7897;
  font-weight:800;
}

.dropdown-action:hover,
.dropdown-action.active{
  background:#f3f8ff;
  color:#0a63df;
}

.noti-dropdown{
  width:330px;
}

.mini-dropdown .notification-item{
  display:grid;
  gap:4px;
  position:relative;
  padding-left:18px;
  border-bottom:1px solid rgba(8,25,67,.06);
}

.notification-item:before{
  content:"";
  position:absolute;
  left:8px;
  top:16px;
  width:5px;
  height:28px;
  border-radius:999px;
  background:#0a63df;
}

.notification-item.danger:before{
  background:#ef3b3b;
}

.notification-item.warning:before{
  background:#f59e0b;
}

.notification-item.info:before{
  background:#0a63df;
}

.notification-item b{
  color:#071943;
  font-size:13px;
  line-height:1.15;
}

.notification-item span{
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
}

.notification-item.auth-request{
  padding:12px 12px 12px 18px;
  background:linear-gradient(135deg,#fffaf0,#ffffff);
}

.noti-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}

.noti-actions form{
  display:block;
}

.noti-actions .btn{
  width:100%;
  min-height:32px;
  padding:7px 10px;
  border-radius:8px;
  font-size:12px;
}

.admin-dropdown{
  min-width:250px;
}

.ico{
  font-size:0;
}

.ico svg{
  width:24px;
  height:24px;
}

.ico.green{background:linear-gradient(135deg,#18b76a,#0b7f4a)}
.ico.orange{background:linear-gradient(135deg,#f7b733,#d77d00)}
.ico.purple{background:linear-gradient(135deg,#7d3bd1,#4e1c9c)}
.ico.red{background:linear-gradient(135deg,#ef3b3b,#a9152b)}
.ico.teal{background:linear-gradient(135deg,#11aaa4,#087a84)}

.btn{
  gap:8px;
}

.btn svg,
.summary-row svg,
.meta-line svg{
  width:17px;
  height:17px;
  vertical-align:-3px;
}

.summary-row span,
.meta-line{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

body{
  background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);
  overflow-x:hidden;
}

.content{
  padding:22px 28px;
}

.card{
  border-radius:8px;
  border:1px solid rgba(10,99,223,.10);
  box-shadow:0 14px 34px rgba(16,52,115,.07);
}

.card:hover{
  box-shadow:0 18px 42px rgba(16,52,115,.10);
}

.btn{
  border-radius:8px;
  min-height:38px;
}

.btn.primary{
  background:linear-gradient(135deg,#064fc2,#0a63df 58%,#11aaa4);
  box-shadow:0 10px 22px rgba(10,99,223,.18);
}

.page-head h2{
  color:#071943;
  font-size:25px;
}

.page-head p{
  font-weight:700;
}

.data th{
  background:#edf5ff;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.data th,
.data td{
  padding:13px 14px;
}

.data tr:hover td{
  background:#f8fbff;
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.filters input,
.data input{
  border-radius:8px;
  border-color:#d5e2f3;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.filters input:focus,
.data input:focus{
  outline:2px solid rgba(10,99,223,.14);
  border-color:#0a63df;
}

.form-grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.form-grid.five{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.compact-filters{
  align-items:end;
  gap:12px;
  margin-bottom:18px;
}

.filter-panel{
  margin-bottom:16px;
}

.password-peek{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
}

.password-peek input{
  margin-top:0;
  min-width:0;
}

.password-peek.compact{
  max-width:210px;
}

.password-peek.compact input{
  padding:8px 10px;
  font-size:12px;
}

.icon-only{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#f8fbff;
  color:var(--blue);
  display:grid;
  place-items:center;
  cursor:pointer;
}

.icon-only svg{
  width:17px;
  height:17px;
}

.print-required-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid #cbe0ff;
  border-radius:12px;
  background:#f5f9ff;
  color:#24426f;
  font-weight:800;
  font-size:12px;
}

.account-mode{
  display:inline-flex;
  width:max-content;
  margin-top:6px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(10,99,223,.08);
  color:#075ad4;
  font-size:11px;
  font-weight:900;
}

.form-grid input.field-success{
  border-color:#16b65f;
  background:#f0fdf4;
  color:#128347;
  font-weight:950;
}

.form-grid input.field-danger{
  border-color:#ef3b3b;
  background:#fff1f2;
  color:#b91c1c;
  font-weight:950;
}

.pill,
.status,
.op-row em{
  border-radius:8px;
}

.enterprise-login{
  background:
    linear-gradient(135deg, rgba(7,25,67,.04), transparent 32%),
    linear-gradient(160deg, #eef6ff 0%, #f8fbff 45%, #ffffff 100%);
  padding:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:16px;
}

.login-shell{
  width:min(980px,94vw);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  overflow:hidden;
  border:1px solid rgba(10,99,223,.12);
  border-radius:22px;
  background:rgba(255,255,255,.78);
  box-shadow:0 28px 70px rgba(10,43,97,.16);
  backdrop-filter:blur(14px);
}

.login-panel{
  position:relative;
  min-height:520px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    linear-gradient(135deg, rgba(7,25,67,.98), rgba(5,86,190,.94) 64%, rgba(17,170,164,.92));
  color:#fff;
}

.login-panel:after{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:300px;
  height:300px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}

.login-brand{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:18px;
}

.login-brand h2{
  margin:0;
  font-size:30px;
}

.login-brand p{
  margin:6px 0 0;
  color:rgba(255,255,255,.72);
  font-weight:700;
}

.login-logo-box{
  overflow:hidden;
  background:rgba(255,255,255,.96);
  color:#0a63df;
}

.login-logo-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}

.login-metrics{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
}

.login-metrics span{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.9);
  font-weight:800;
}

.login-metrics svg{
  width:18px;
  height:18px;
}

.enterprise-login .login-card{
  width:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  text-align:left;
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.login-card-head{
  margin-bottom:16px;
}

.login-card-logo{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border:1px solid #d8e6f8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 28px rgba(10,99,223,.12);
  color:#0a63df;
  overflow:hidden;
}

.login-card-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px;
}

.login-card-logo svg{
  width:30px;
  height:30px;
}

.login-card-head h2{
  margin:6px 0;
  font-size:28px;
  color:#071943;
}

.login-card-head p{
  margin:0;
  color:#6b7897;
  font-weight:700;
}

.login-kicker{
  color:#0a63df;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.enterprise-login .login-card label{
  margin-top:16px;
  color:#283857;
}

.input-wrap{
  position:relative;
  margin-top:7px;
}

.input-wrap svg{
  position:absolute;
  left:13px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  color:#0a63df;
}

.enterprise-login .login-card .input-wrap input{
  margin-top:0;
  padding-left:42px;
  border-color:#d8e3f5;
  background:#f9fbff;
}

.enterprise-login .login-card .btn{
  min-height:46px;
}

.enterprise-login .login-card small{
  display:block;
  margin-top:16px;
  color:#6b7897;
  text-align:center;
  font-weight:700;
}

.session-access{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:22px;
  align-items:start;
  max-width:840px;
}

.session-access-icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,#0a63df,#11aaa4);
  box-shadow:0 16px 32px rgba(10,99,223,.2);
}

.session-access-icon svg{
  width:34px;
  height:34px;
}

.session-access-copy h3{
  margin:0 0 8px;
  font-size:22px;
}

.session-access-copy p{
  max-width:680px;
  margin:0 0 16px;
  color:#52617f;
  line-height:1.55;
  font-weight:700;
}

.session-url{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-bottom:16px;
}

.session-url input{
  width:100%;
  border:1px solid #d8e3f5;
  border-radius:10px;
  padding:12px 14px;
  color:#102041;
  background:#f9fbff;
  font-weight:800;
}

.session-access small{
  display:block;
  margin-top:12px;
  color:#6b7897;
  font-weight:800;
}

.cash-account-note{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid #d8e6f8;
  border-radius:12px;
  background:#f8fbff;
  color:#102041;
}

.cash-account-note svg{
  width:30px;
  height:30px;
  color:#0a63df;
  flex:0 0 auto;
}

.cash-account-note b,
.cash-account-note span{
  display:block;
}

.cash-account-note span{
  margin-top:4px;
  color:#6b7897;
  font-weight:700;
  line-height:1.35;
}

.caja-grid{
  align-items:start;
}

.caja-panel{
  min-height:220px;
}

.print-format-note{
  display:block;
  margin-top:8px;
  color:#6b7897;
  font-weight:800;
  text-align:right;
}

.quote-total-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-radius:14px;
  border:1px solid rgba(0,87,217,.16);
  background:linear-gradient(135deg,#f7fbff,#eef6ff);
  color:#0b2454;
  font-weight:900;
}
.quote-total-preview strong{
  font-size:28px;
  color:#0057d9;
}
.client-select-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:end;
}
.client-select-row .btn{
  min-height:42px;
  white-space:nowrap;
}
.expense-category-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.expense-category-edit{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:9px;
  border:1px solid rgba(11,99,206,.14);
  border-radius:12px;
  background:#f8fbff;
}
.expense-category-edit form{
  display:flex;
  gap:8px;
  align-items:center;
  margin:0;
}
.expense-category-edit form:first-child input{
  min-width:0;
  height:36px;
}
.expense-category-edit button{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:#e8f1ff;
  color:#0057d9;
  cursor:pointer;
}
.expense-category-edit form:last-child button{
  background:#fff1f2;
  color:#dc2626;
}

.status.muted{
  background:#edf3fb;
  color:#506384;
}

.cash-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.admin-cash-selector{
  margin:12px 0 16px;
}

.admin-cash-selector label{
  display:grid;
  gap:8px;
  color:#283857;
  font-weight:900;
}

.admin-cash-selector select{
  width:100%;
  min-height:42px;
  border:1px solid #d5e2f3;
  border-radius:8px;
  padding:10px 12px;
  background:#fff;
  color:#102041;
  font:inherit;
  font-weight:800;
  outline:none;
}

.admin-cash-selector select:focus{
  border-color:#0a63df;
  box-shadow:0 0 0 4px rgba(10,99,223,.1);
}

.currency-cash-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.currency-cash-grid div{
  padding:13px;
  border:1px solid rgba(10,99,223,.12);
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f8fbff);
}

.currency-cash-grid span,
.currency-cash-grid small{
  display:block;
  color:#6b7897;
  font-weight:800;
}

.currency-cash-grid b{
  display:block;
  margin:5px 0;
  color:#071943;
  font-size:16px;
}

.cash-summary div{
  padding:14px;
  border:1px solid #e0e9f6;
  border-radius:8px;
  background:#f8fbff;
}

.cash-summary span{
  display:block;
  color:#6b7897;
  font-weight:800;
  margin-bottom:6px;
}

.cash-summary b{
  color:#071943;
  font-size:18px;
}

.open-cash-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:14px 16px;
  margin-top:22px;
}

.open-cash-form label{
  display:grid;
  gap:8px;
  color:#283857;
  font-weight:900;
}

.responsible-static{
  display:grid;
  gap:8px;
  color:#283857;
  font-weight:900;
}

.responsible-static b{
  display:flex;
  align-items:center;
  min-height:42px;
  width:100%;
  border:1px solid #d5e2f3;
  border-radius:8px;
  padding:10px 12px;
  background:linear-gradient(180deg,#f8fbff,#eef5ff);
  color:#102041;
  font-weight:900;
}

.open-cash-form input,
.open-cash-form select{
  width:100%;
  min-height:42px;
  border:1px solid #d5e2f3;
  border-radius:8px;
  padding:10px 12px;
  background:#fff;
  color:#102041;
  font:inherit;
  font-weight:700;
  outline:none;
}

.open-cash-form input:focus,
.open-cash-form select:focus{
  border-color:#0a63df;
  box-shadow:0 0 0 4px rgba(10,99,223,.1);
}

.open-cash-form .responsible-field{
  grid-column:1 / -1;
}

.open-cash-form .btn{
  min-height:42px;
  white-space:nowrap;
}

.open-cash-form .open-cash-btn{
  grid-column:1 / -1;
  justify-self:start;
  min-width:150px;
}

.admin-open-cash-form{
  grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(130px,.7fr)) auto;
}

.admin-open-cash-form .responsible-field,
.admin-open-cash-form .open-cash-btn{
  grid-column:auto;
}

.panel-actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
}

.movement-form .btn{
  width:max-content;
}

.empty-state{
  min-height:145px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  text-align:center;
  color:#31446f;
  border:1px dashed #cddcf0;
  border-radius:8px;
  background:#f8fbff;
}

.empty-state svg{
  width:34px;
  height:34px;
  color:#0a63df;
}

.dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.dashboard-head h2{
  margin:0;
  font-size:27px;
  color:#071943;
}

.dashboard-head p{
  margin:6px 0 0;
  color:#6b7897;
  font-weight:800;
}

.action-main{
  min-width:178px;
  min-height:44px;
}

.dashboard-action-zone{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  min-width:min(760px,64vw);
}

.dashboard-filter-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:7px;
  width:100%;
  overflow-x:auto;
  padding:2px 1px 5px;
  scrollbar-width:thin;
}

.dashboard-filter-row a,
.dashboard-filter-row button,
.dashboard-filter-row input{
  min-height:32px;
  border:1px solid rgba(10,99,223,.14);
  border-radius:9px;
  background:rgba(255,255,255,.92);
  color:#203157;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(16,52,115,.05);
}

.dashboard-filter-row a,
.dashboard-filter-row button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  cursor:pointer;
}

.dashboard-filter-row input{
  width:122px;
  padding:6px 8px;
  font-family:inherit;
}

.dashboard-filter-row a.active,
.dashboard-filter-row button{
  background:linear-gradient(135deg,#0a63df,#0544b5);
  color:#fff;
  border-color:transparent;
}

.dashboard-filter-row a:hover{
  border-color:rgba(10,99,223,.28);
  color:#0a63df;
}

.dash-actions-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(165px,1fr));
  gap:14px;
  margin-bottom:18px;
}

.dash-tile,
.dash-panel{
  border:1px solid rgba(10,99,223,.10);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 14px 34px rgba(16,52,115,.07);
}

.dash-tile{
  min-height:86px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  color:#071943;
}

.dash-tile:hover,
.dash-panel:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 42px rgba(16,52,115,.10);
}

.kpi-tile span,
.summary-item span,
.operation-item small{
  color:#31446f;
  font-weight:800;
}

.kpi-tile b{
  display:block;
  margin-top:3px;
  font-size:16px;
}

.kpi-tile small{
  display:block;
  margin-top:2px;
  color:#6b7897;
}

.quick-tile b{
  font-size:15px;
}

.tile-icon{
  width:52px;
  height:52px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  box-shadow:0 14px 28px rgba(10,99,223,.20);
}

.tile-icon svg{
  width:25px;
  height:25px;
}

.tile-icon.blue,.op-icon.blue{background:linear-gradient(135deg,#0a63df,#063fb4)}
.tile-icon.green,.op-icon.green{background:linear-gradient(135deg,#16b65f,#08884b)}
.tile-icon.gold,.tile-icon.orange{background:linear-gradient(135deg,#f7b733,#d88700)}
.tile-icon.purple{background:linear-gradient(135deg,#7d3bd1,#4e1c9c)}
.tile-icon.teal{background:linear-gradient(135deg,#11aaa4,#087a84)}
.tile-icon.red{background:linear-gradient(135deg,#ef3b3b,#c9182b)}

.dash-grid{
  display:grid;
  gap:16px;
  margin-bottom:16px;
}

.dash-grid.top{
  grid-template-columns:1.1fr 1.45fr .95fr;
}

.dash-grid.bottom{
  grid-template-columns:1.08fr 1fr 1.15fr;
}

.dash-panel{
  padding:20px;
  min-width:0;
}

.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.dash-panel h3,
.panel-head h3{
  margin:0;
  color:#071943;
  font-size:18px;
}

.panel-head select{
  border:1px solid #d8e3f5;
  border-radius:8px;
  padding:8px 12px;
  background:#fff;
  color:#071943;
  font-weight:800;
}

.rate-list{
  display:grid;
  gap:8px;
}

.rate-row{
  display:grid;
  grid-template-columns:52px 1fr 78px 78px;
  align-items:center;
  gap:10px;
  padding:15px 0;
  border-bottom:1px solid #e6eefb;
}

.rate-row:last-child{
  border-bottom:0;
}

.currency-mark,
.currency-flag{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  border:1px solid #e6eefb;
  font-size:28px;
  line-height:1;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(16,52,115,.10);
}

.flag-mark{
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
}

.currency-flag{
  position:relative;
}

.currency-flag span{
  position:absolute;
  inset:0;
}

.flag-usd span{
  background:
    radial-gradient(circle at 30% 30%, #1f4fa3 0 30%, transparent 31%),
    repeating-linear-gradient(0deg,#d73535 0 4px,#fff 4px 8px);
}

.flag-usd:after{
  content:"";
  position:absolute;
  left:7px;
  top:7px;
  width:15px;
  height:12px;
  border-radius:2px;
  background:#1f4fa3;
}

.flag-eur span{
  background:#174ea6;
}

.flag-eur:before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  border:2px dotted #ffd43b;
  z-index:1;
}

.flag-dop span{
  background:
    linear-gradient(90deg,transparent 44%,#fff 44% 56%,transparent 56%),
    linear-gradient(0deg,transparent 44%,#fff 44% 56%,transparent 56%),
    linear-gradient(135deg,#214c9a 0 50%,#d8232a 50% 100%);
}

.rate-row span{
  display:block;
  color:#6b7897;
  font-size:12px;
  font-weight:800;
}

.rate-row strong{
  display:block;
  margin-top:3px;
  font-size:18px;
}

.tasa-field input{
  font-weight:900;
  font-size:18px;
}

.tasa-field.compra input,
.tasa-value.compra{
  color:#16b65f;
}

.tasa-field.venta input,
.tasa-value.venta{
  color:#0a63df;
}

.tasa-value{
  font-size:15px;
  font-weight:900;
}

.configured-rates{
  display:grid;
  gap:0;
}

.configured-rate-row{
  display:grid;
  grid-template-columns:52px minmax(110px,1fr) 82px 82px 42px;
  align-items:center;
  gap:10px;
  padding:15px 0;
  border-bottom:1px solid #e6eefb;
}

.configured-rate-row:last-child{
  border-bottom:0;
}

.configured-currency b{
  display:block;
  color:#071943;
  font-size:15px;
  font-weight:900;
}

.inline-active{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}

.inline-active input{
  accent-color:#0a63df;
}

.editable-rate{
  display:grid;
  gap:2px;
}

.editable-rate span{
  color:#6b7897;
  font-size:11px;
  font-weight:900;
}

.editable-rate input{
  width:100%;
  height:34px;
  border:0;
  border-radius:8px;
  background:#f8fbff;
  font-size:18px;
  font-weight:950;
  outline:1px solid transparent;
}

.editable-rate input:focus{
  background:#fff;
  outline-color:#cfe1fb;
}

.editable-rate.compra input{
  color:#16b65f;
}

.editable-rate.venta input{
  color:#0a63df;
}

.rate-save{
  width:36px;
  height:36px;
  padding:0;
}

.rate-save svg{
  width:16px;
  height:16px;
}

.reference-panel{
  margin-bottom:20px;
}

.reference-grid,
.reference-edit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
}

.reference-card,
.reference-edit-card{
  display:grid;
  gap:8px;
  padding:13px;
  border:1px solid #e4edf8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(16,52,115,.06);
}

.reference-card>b,
.reference-title b{
  color:#071943;
  font-size:14px;
  font-weight:950;
}

.reference-card>span,
.reference-title span{
  display:inline-flex;
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:#edf6ff;
  color:#0a63df;
  font-size:11px;
  font-weight:900;
}

.reference-card div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.reference-card small{
  color:#64748b;
  font-weight:850;
}

.reference-card strong{
  font-size:18px;
  font-weight:950;
}

.reference-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.reference-read-rate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  background:#f8fbff;
}

.reference-read-rate span{
  color:#64748b;
  font-size:11px;
  font-weight:900;
}

.reference-read-rate strong{
  font-size:18px;
  font-weight:950;
}

.reference-read-rate.compra strong{
  color:#16b65f;
}

.reference-read-rate.venta strong{
  color:#0a63df;
}

.reference-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}

.reference-source{
  margin:12px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

.compact-reference{
  margin:10px 0 18px;
  padding:10px 12px;
  border:1px solid #e6eefb;
  border-radius:12px;
  background:rgba(255,255,255,.82);
  box-shadow:none;
}

.reference-strip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.reference-head-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}

.reference-online-chip{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(33,208,127,.16);
  border:1px solid rgba(33,208,127,.45);
  color:#0a8f52;
  font-size:10px;
  font-weight:950;
  line-height:1;
}

.reference-strip-head b{
  color:#071943;
  font-size:13px;
  font-weight:950;
}

.reference-strip-head a,
.reference-strip-head .btn{
  min-height:30px;
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.reference-strip-head form{
  margin:0;
}

.reference-strip-head .btn svg{
  width:14px;
  height:14px;
}

.compact-reference .reference-grid{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:thin;
}

.compact-reference .reference-card{
  display:grid;
  grid-template-columns:auto auto auto auto;
  align-items:center;
  gap:8px;
  min-width:max-content;
  padding:7px 9px;
  border:1px solid #e1ebf8;
  border-radius:999px;
  background:#f8fbff;
  box-shadow:none;
}

.compact-reference .reference-card>b{
  font-size:12px;
  white-space:nowrap;
}

.compact-reference .reference-card>span{
  padding:2px 6px;
  font-size:10px;
}

.compact-reference .reference-card div{
  gap:3px;
}

.compact-reference .reference-card small{
  font-size:10px;
}

.compact-reference .reference-card strong{
  font-size:13px;
}

.compact-reference .reference-source{
  display:none;
}

.chart-panel canvas{
  max-height:240px;
}

.summary-panel{
  display:grid;
  align-content:start;
  gap:2px;
}

.summary-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid #e6eefb;
}

.summary-item:last-child{
  border-bottom:0;
}

.summary-item span{
  display:flex;
  align-items:center;
  gap:8px;
}

.capital-summary{
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
}

.capital-summary > span{
  width:100%;
}

.capital-heading{
  justify-content:flex-start;
  padding-bottom:8px;
}

.capital-line{
  padding:10px 0;
}

.currency-stack{
  display:grid;
  gap:5px;
  min-width:142px;
  text-align:right;
}

.currency-stack span{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  color:#5d6b86;
  font-size:11px;
  font-weight:900;
  letter-spacing:0;
}

.currency-stack strong{
  color:#071943;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
}

.currency-stack.capital-vertical{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  width:100%;
  text-align:left;
}

.currency-stack.capital-vertical span{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  width:100%;
  font-size:12px;
}

.currency-stack.capital-vertical strong{
  font-size:15px;
}

.currency-stack.compact{
  gap:5px;
  min-width:0;
  text-align:left;
}

.currency-stack.compact span{
  gap:8px;
  font-size:10px;
}

.currency-stack.compact strong{
  font-size:12px;
}

.cash-user-list{
  display:grid;
  gap:10px;
  margin:8px 0 12px;
  padding:10px;
  border:1px solid rgba(10,99,223,.10);
  border-radius:10px;
  background:#f8fbff;
}

.cash-user-list div{
  display:grid;
  gap:6px;
  padding:4px 0;
}

.cash-user-list .capital-total-card{
  padding-bottom:10px;
  border-bottom:1px solid rgba(10,99,223,.10);
}

.cash-user-list span{
  color:#334666;
  font-size:12px;
  font-weight:900;
}

.cash-user-list small{
  color:#6b7897;
  font-weight:800;
}

.cash-user-list b{
  color:#071943;
  font-size:12px;
  line-height:1.35;
}

.summary-item svg{
  width:18px;
  height:18px;
  color:#071943;
}

.progress-panel{
  display:grid;
  gap:16px;
}

.progress-item>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#31446f;
}

.progress-item .progress{
  height:9px;
  margin:9px 0 4px;
}

.progress-item small{
  color:#6b7897;
  font-weight:800;
}

.operation-item{
  display:grid;
  grid-template-columns:44px 1fr 72px 98px;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #e6eefb;
}

.operation-item:last-child{
  border-bottom:0;
}

.op-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
}

.op-icon svg{
  width:20px;
  height:20px;
}

.operation-item time{
  color:#31446f;
  font-size:12px;
  font-weight:800;
}

.operation-item em{
  justify-self:end;
  padding:7px 10px;
  border-radius:8px;
  background:#e1f8ea;
  color:#087b38;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

.report-cover{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  background:linear-gradient(135deg,#ffffff 0%,#f6fbff 100%);
}

.report-cover span,
.report-total-box span{
  display:block;
  color:#5c6b86;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.report-cover h3{
  margin:5px 0 4px;
  font-size:24px;
  color:#071943;
}

.report-cover p{
  margin:0;
  color:#31446f;
  font-weight:800;
}

.report-cover-mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#0a63df,#0544b5);
  color:#fff;
  box-shadow:0 14px 28px rgba(10,99,223,.2);
}

.report-cover-mark svg{
  width:30px;
  height:30px;
}

.report-kpi-grid{
  grid-template-columns:repeat(5,minmax(160px,1fr));
}

.report-filter{
  align-items:end;
}

.report-filter label{
  min-width:180px;
}

.report-filter label:first-child{
  min-width:250px;
}

.report-filter select,
.report-filter input{
  width:100%;
  min-height:44px;
  margin-top:7px;
  border:1px solid #d8e3f5;
  border-radius:10px;
  padding:11px 38px 11px 12px;
  background:#fff;
  color:#102041;
  font:inherit;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}

.report-filter select{
  appearance:none;
  background:
    linear-gradient(45deg,transparent 50%,#0a63df 50%) calc(100% - 18px) 50%/7px 7px no-repeat,
    linear-gradient(135deg,#0a63df 50%,transparent 50%) calc(100% - 13px) 50%/7px 7px no-repeat,
    #fff;
}

.report-filter select:focus,
.report-filter input:focus{
  outline:0;
  border-color:rgba(10,99,223,.48);
  box-shadow:0 0 0 3px rgba(10,99,223,.10);
}

.report-table-card{
  margin-bottom:18px;
}

.report-table-card tfoot td{
  padding:13px 12px;
  background:#f0f6ff;
  color:#071943;
  font-weight:900;
  border-top:2px solid #cfe0f7;
}

.report-total-box{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:12px;
  margin-bottom:24px;
  background:linear-gradient(135deg,#071943,#0a63df);
}

.report-total-box div{
  padding:13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.08);
}

.report-total-box span,
.report-total-box b{
  color:#fff;
}

.report-total-box b{
  display:block;
  margin-top:5px;
  font-size:18px;
}

.report-total-box .positive b{
  color:#80f2b2;
}

.report-total-box .negative b{
  color:#ffc2c2;
}

.print-movement-total{
  margin:12px 0;
}

.print-only{
  display:none;
}

.print-report-shell{
  display:none;
}

@media(max-width:1400px){
  .dashboard-action-zone{
    min-width:min(640px,58vw);
  }

  .dash-actions-grid{
    grid-template-columns:repeat(3,minmax(175px,1fr));
  }

  .report-kpi-grid,
  .report-total-box{
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }

  .dash-grid.top,
  .dash-grid.bottom{
    grid-template-columns:1fr;
  }

  .open-cash-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .open-cash-form .btn{
    grid-column:1/-1;
    justify-self:start;
  }
}

.system-menu details{
  margin-bottom:8px;
  border:0;
}

.system-menu summary{
  justify-content:flex-start;
  background:rgba(10,99,223,.075);
  border:1px solid rgba(10,99,223,.12);
  color:#071943;
  font-weight:900;
  min-height:42px;
  font-size:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.system-menu summary:after{
  content:"";
  width:8px;
  height:8px;
  margin-left:auto;
  border-right:1.8px solid #071943;
  border-bottom:1.8px solid #071943;
  transform:rotate(45deg) translateY(-2px);
  opacity:.8;
}

.system-menu summary svg{
  width:20px;
  height:20px;
  color:#0a63df;
  filter:drop-shadow(0 5px 10px rgba(10,99,223,.16));
}

.system-menu details:nth-child(2n) summary{
  background:rgba(17,170,164,.075);
  border-color:rgba(17,170,164,.13);
}

.system-menu details:nth-child(2n) summary svg{
  color:#0a8f8a;
}

.system-menu details:nth-child(3n) summary{
  background:rgba(247,183,51,.105);
  border-color:rgba(247,183,51,.18);
}

.system-menu details:nth-child(3n) summary svg{
  color:#d88700;
}

.system-menu details[open] summary{
  background:linear-gradient(90deg,rgba(10,99,223,.15),rgba(17,170,164,.10));
  border-color:rgba(10,99,223,.22);
}

.system-menu details a{
  margin-top:4px;
  color:#31446f;
  background:transparent;
  font-weight:800;
  font-size:12px;
  min-height:26px;
  padding-top:5px;
  padding-bottom:5px;
}

.system-menu details a:hover{
  background:rgba(10,99,223,.08);
  color:#0a63df;
}

.system-menu details a:before{
  background:#8aa4c7;
}

.system-menu details[open] summary:after{
  transform:rotate(225deg) translateY(-1px);
}

.system-menu summary span,
.logout span{
  letter-spacing:.01em;
}

.system-menu details,
.system-menu details:nth-child(2n),
.system-menu details:nth-child(3n){
  background:transparent;
}

.system-menu summary,
.system-menu details:nth-child(2n) summary,
.system-menu details:nth-child(3n) summary{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  color:#071943;
}

.system-menu summary svg,
.system-menu details:nth-child(2n) summary svg,
.system-menu details:nth-child(3n) summary svg{
  color:#0a63df;
  filter:none;
}

.system-menu details[open] summary{
  background:linear-gradient(135deg,#0a63df,#0544b5);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 26px rgba(10,99,223,.22);
}

.system-menu details[open] summary svg{
  color:#fff;
}

.system-menu details[open] summary:after{
  border-color:#fff;
}

.system-menu details a{
  background:transparent;
  color:#405174;
}

.system-menu details a.active,
.system-menu details a.active:hover{
  background:rgba(10,99,223,.105);
  color:#075ad4;
  box-shadow:none;
}

.system-menu details a.active:before{
  background:#0a63df;
}

.system-menu details a:hover{
  background:rgba(10,99,223,.07);
  color:#0a63df;
}

.visual-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.system-title-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#0a63df;
  background:#edf5ff;
  border:1px solid #cfe1fb;
}

.system-title-icon svg{
  width:27px;
  height:27px;
}

.system-head h2{
  margin:0;
  font-size:27px;
  color:#071943;
}

.system-head p{
  margin:5px 0 0;
  color:#31446f;
  font-weight:700;
}

.visual-module-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:18px;
}

.visual-module-card{
  display:flex;
  min-height:286px;
  flex-direction:column;
  padding:16px;
  border:1px solid rgba(10,99,223,.13);
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 16px 36px rgba(16,52,115,.08);
  color:#071943;
}

.visual-module-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(16,52,115,.13);
}

.module-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #dbe8f8;
}

.module-card-head h3{
  margin:0;
  font-size:16px;
  color:#071943;
}

.module-icon{
  width:42px;
  height:42px;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:#fff;
  box-shadow:0 12px 22px rgba(10,99,223,.20);
}

.module-icon svg{
  width:24px;
  height:24px;
}

.module-icon.blue{background:linear-gradient(135deg,#0a63df,#0641b4)}
.module-icon.green{background:linear-gradient(135deg,#17b76c,#07874c)}
.module-icon.orange{background:linear-gradient(135deg,#ff9f1c,#df7100)}
.module-icon.purple{background:linear-gradient(135deg,#7d3bd1,#5421a4)}
.module-icon.teal{background:linear-gradient(135deg,#11aaa4,#087887)}
.module-icon.pink{background:linear-gradient(135deg,#ef3b98,#c51d74)}
.module-icon.gold{background:linear-gradient(135deg,#f7b733,#d88700)}
.module-icon.red{background:linear-gradient(135deg,#ef3b3b,#c9182b)}

.visual-module-card ul{
  margin:12px 0 0;
  padding-left:18px;
  color:#071943;
  font-size:12px;
  font-weight:700;
  line-height:1.55;
}

.module-preview{
  margin-top:12px;
  padding:10px;
  min-height:118px;
  border:1px solid #dbe8f8;
  border-radius:8px;
  background:#f8fbff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-size:10px;
}

.kpi-preview{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
}

.kpi-preview div:not(.mini-chart){
  display:grid;
  grid-template-columns:22px 1fr;
  gap:4px 6px;
  align-items:center;
  padding:6px;
  border:1px solid #e3edf9;
  border-radius:7px;
  background:#fff;
}

.kpi-preview svg{
  grid-row:1/3;
  width:18px;
  height:18px;
  color:#0a63df;
}

.kpi-preview span,
.form-preview span,
.ledger-preview span,
.help-preview span,
.logout-preview span{
  color:#31446f;
  font-weight:700;
}

.kpi-preview b{
  font-size:10px;
}

.mini-chart{
  grid-column:1/-1;
  height:36px;
  display:flex;
  align-items:end;
  gap:7px;
  padding:6px;
}

.mini-chart span,
.bar-chart i{
  display:block;
  flex:1;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#0a63df,#11aaa4);
}

.mini-chart span:nth-child(1){height:22%}
.mini-chart span:nth-child(2){height:35%}
.mini-chart span:nth-child(3){height:48%}
.mini-chart span:nth-child(4){height:70%}
.mini-chart span:nth-child(5){height:54%}
.mini-chart span:nth-child(6){height:86%}

.form-preview{
  display:grid;
  gap:6px;
}

.form-preview span,
.ledger-preview span{
  display:flex;
  justify-content:space-between;
  gap:8px;
}

.form-preview em,
.ledger-preview em,
.filter-strip span{
  font-style:normal;
  border:1px solid #dbe8f8;
  background:#fff;
  border-radius:5px;
  padding:2px 6px;
}

.module-preview button{
  border:0;
  border-radius:6px;
  padding:5px 8px;
  color:#fff;
  background:#0a63df;
  font-size:10px;
  font-weight:900;
}

.table-preview div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:6px;
}

.table-preview table{
  font-size:9px;
  background:#fff;
  border-radius:6px;
  overflow:hidden;
}

.table-preview th,
.table-preview td{
  padding:5px;
  border-bottom:1px solid #e3edf9;
  text-align:left;
}

.table-preview th{
  color:#31446f;
  background:#edf5ff;
}

.table-preview strong{
  display:block;
  margin-top:6px;
  color:#0a63df;
}

.table-preview small{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:7px;
  color:#31446f;
  font-weight:800;
}

.ledger-preview{
  display:grid;
  gap:8px;
}

.ledger-preview div:first-child{
  display:flex;
  justify-content:space-between;
}

.ledger-preview .ok{color:#16b65f}
.ledger-preview .bad{color:#ef3b3b}

.filter-strip,
.report-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  margin-bottom:6px;
}

.report-kpis span{
  display:grid;
  gap:2px;
  padding:6px;
  border:1px solid #dbe8f8;
  border-radius:6px;
  background:#fff;
  color:#31446f;
  font-weight:800;
}

.report-kpis b{
  color:#071943;
}

.bar-chart{
  height:72px;
  display:flex;
  align-items:end;
  gap:7px;
  padding:8px;
}

.bar-chart i:nth-child(1){height:24%}
.bar-chart i:nth-child(2){height:42%}
.bar-chart i:nth-child(3){height:30%}
.bar-chart i:nth-child(4){height:52%}
.bar-chart i:nth-child(5){height:70%}
.bar-chart i:nth-child(6){height:46%}
.bar-chart i:nth-child(7){height:82%}
.bar-chart i:nth-child(8){height:92%}

.config-preview{
  display:grid;
  grid-template-columns:1fr 72px;
  gap:10px;
  align-items:center;
}

.config-preview div{
  display:grid;
  gap:6px;
}

.config-preview span{
  padding:5px 7px;
  border:1px solid #dbe8f8;
  border-radius:6px;
  background:#fff;
  color:#31446f;
  font-weight:800;
}

.config-preview>svg{
  width:64px;
  height:64px;
  color:#9fb6d4;
}

.help-preview{
  display:grid;
  gap:8px;
}

.help-preview span{
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:6px;
  padding:7px;
  border:1px solid #dbe8f8;
  border-radius:7px;
  background:#fff;
}

.help-preview b{
  color:#0a63df;
}

.logout-preview{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:10px;
  align-items:center;
}

.logout-preview>svg{
  width:48px;
  height:48px;
  color:#9fb6d4;
}

.logout-preview button{
  grid-column:1/-1;
  background:#ef3b3b;
}

.report-head p,
.table-title p{
  margin:4px 0 0;
  color:#64748b;
  font-weight:600;
}

.report-actions{
  align-items:center;
  flex-wrap:wrap;
}

.export-form{
  display:flex;
  align-items:end;
  gap:10px;
  padding:8px;
  border:1px solid rgba(10, 99, 223, .16);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(235,244,255,.92));
  box-shadow:0 10px 24px rgba(15, 23, 42, .08);
}

.export-form label{
  display:grid;
  gap:4px;
  min-width:178px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.export-form select{
  height:40px;
  border:1px solid #cfe0f5;
  border-radius:10px;
  padding:0 34px 0 12px;
  background:#fff;
  color:#0b1b4f;
  font-weight:800;
  outline:none;
}

.report-filter{
  margin-bottom:18px;
}

.table-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.table-title h3{
  margin:0;
}

.table-title>span{
  padding:7px 11px;
  border-radius:999px;
  background:#eef6ff;
  color:#0a63df;
  font-size:12px;
  font-weight:900;
}

.empty-cell{
  padding:28px !important;
  text-align:center;
  color:#64748b;
  font-weight:700;
}

.table-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.local-users-list{
  display:grid;
  gap:12px;
}

.local-user-row{
  display:grid;
  grid-template-columns:1.15fr 1fr .9fr .8fr 1fr .9fr auto;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fbff;
}

.local-user-row label{
  font-size:12px;
  font-weight:800;
  color:#34445f;
}

.local-user-row input,
.local-user-row select{
  width:100%;
  margin-top:6px;
  border:1px solid #d8e3f5;
  border-radius:10px;
  padding:10px 11px;
  background:#fff;
}

.local-user-row .check-row{
  align-self:center;
}

.local-user-row .table-actions{
  flex-wrap:nowrap;
}

@media(max-width:1250px){
  .local-user-row{
    grid-template-columns:1fr 1fr;
  }
}

.table-actions form{
  margin:0;
}

.inline-form{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
}

.inline-form input{
  min-width:180px;
  max-width:240px;
  height:34px;
  padding:7px 10px;
  border:1px solid #d5e2f3;
  border-radius:8px;
}

.status.cancelled,
.status.canceled{
  background:#fff1f2;
  color:#b42335;
  border-color:#ffd5dc;
}

.btn.mini{
  min-height:32px;
  padding:7px 10px;
  border-radius:9px;
  font-size:12px;
}

.btn.danger{
  border-color:rgba(239, 59, 59, .22);
  background:linear-gradient(135deg, #fff5f5, #ffe8e8);
  color:#dc2626;
}

.btn.danger:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.internal-detail{
  max-width:980px;
}

.internal-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:18px;
  border-bottom:1px solid #e4edf8;
}

.internal-title span,
.detail-grid span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.internal-title h3{
  margin:4px 0 0;
  color:#071943;
  font-size:24px;
}

.detail-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(150px, 1fr));
  gap:12px;
  margin:10px 0 22px;
}

.detail-grid>div,
.detail-note{
  min-height:72px;
  padding:12px;
  border:1px solid #e4edf8;
  border-radius:12px;
  background:#f8fbff;
}

.detail-grid b{
  display:block;
  margin-top:6px;
  color:#071943;
  font-size:15px;
  overflow-wrap:anywhere;
}

.detail-grid small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-weight:800;
}

.money-detail>div{
  background:#fff;
}

.detail-note{
  color:#24324f;
  font-weight:800;
  line-height:1.45;
}

.role-permissions-card{
  margin-bottom:20px;
}

.admin-control-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(300px, .75fr);
  gap:18px;
  align-items:start;
  margin-bottom:20px;
}

.premium-panel{
  border-color:#dce8f7;
  box-shadow:0 18px 44px rgba(15, 23, 42, .08);
}

.panel-kicker{
  display:inline-flex;
  margin-bottom:6px;
  color:#0a63df;
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.side-stack{
  display:grid;
  gap:18px;
}

.role-permission-panel{
  gap:10px;
  max-height:520px;
  overflow:auto;
  padding-right:4px;
  transition:max-height .22s ease, opacity .18s ease, margin .18s ease;
}

.role-permission-panel.collapsed{
  max-height:0;
  opacity:0;
  overflow:hidden;
  margin:0;
  padding:0;
}

.permission-group-box.compact{
  padding:12px;
  border-radius:12px;
  background:linear-gradient(135deg,#f8fbff,#fff);
}

.permission-group-box.compact h4{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
  font-size:14px;
}

.permission-group-box.compact h4 small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#eaf3ff;
  color:#0a63df;
  font-size:11px;
  font-weight:950;
}

.compact-permission-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px 10px;
}

.compact-permission-list .check-row{
  min-height:34px;
  padding:7px 8px;
  border:1px solid #e4edf8;
  border-radius:9px;
  background:#fff;
  font-size:12px !important;
}

.role-permissions-card .form-grid.one,
.quick-role-panel .form-grid.one,
.create-user-panel .form-grid.one{
  gap:12px;
}

.role-toolbar{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) repeat(3, auto);
  gap:12px;
  align-items:end;
  padding:12px;
  border:1px solid #e4edf8;
  border-radius:14px;
  background:linear-gradient(135deg,#f8fbff,#fff);
}

.role-toggle-btn{
  min-height:44px;
  white-space:nowrap;
}

.panel-save-row{
  display:flex;
  justify-content:flex-end;
  padding-top:4px;
}

.users-table-panel{
  overflow:hidden;
}

.users-table-panel .data td,
.users-table-panel .data th{
  vertical-align:middle;
}

.permissions-matrix{
  display:grid;
  grid-template-columns:minmax(220px, 1.2fr) repeat(4, minmax(92px, .5fr));
  gap:1px;
  overflow:auto;
  border:1px solid #e4edf8;
  border-radius:12px;
  background:#e4edf8;
}

.perm-head,
.perm-name,
.perm-check,
.perm-group{
  background:#fff;
  min-height:42px;
  padding:10px;
}

.perm-head{
  position:sticky;
  top:0;
  z-index:1;
  color:#071943;
  font-weight:950;
  background:#f5f9ff;
}

.perm-head.role,
.perm-check{
  text-align:center;
}

.perm-group{
  color:#0a63df;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  background:#eef6ff;
}

.perm-name{
  color:#071943;
  font-weight:900;
}

.perm-name small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}

.perm-check{
  display:grid;
  place-items:center;
}

.perm-check input,
.user-permission-row input{
  width:18px;
  height:18px;
  accent-color:#0a63df;
}

.permission-editor{
  display:grid;
  gap:14px;
}

.permission-group-box{
  border:1px solid #e4edf8;
  border-radius:14px;
  padding:14px;
  background:#f8fbff;
}

.permission-group-box h4{
  margin:0 0 10px;
  color:#071943;
}

.user-permission-grid{
  display:grid;
  gap:8px;
}

.user-permission-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:12px;
  padding:10px;
  border:1px solid #e4edf8;
  border-radius:10px;
  background:#fff;
}

.user-permission-row b{
  display:block;
  color:#071943;
}

.user-permission-row small{
  color:#64748b;
  font-weight:800;
}

.status.warning{
  background:#fff7ed;
  color:#ea580c;
}

.check-row,
.login-check{
  display:flex !important;
  align-items:center;
  gap:10px;
  color:#0b1b4f !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.check-row input,
.login-check input{
  width:18px !important;
  height:18px !important;
  accent-color:#0a63df;
}

.form-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}

.password-card{
  max-width:520px;
}

.security-mark{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  color:#fff;
  background:linear-gradient(135deg, #0a63df, #10b981);
  box-shadow:0 16px 34px rgba(10, 99, 223, .22);
}

.security-mark svg{
  width:30px;
  height:30px;
}

.system-credit{
  margin:26px auto 0;
  padding:12px 10px 0;
  color:#7b8aa3;
  text-align:center;
  font-size:12px;
  font-weight:800;
}

.enterprise-login .system-credit{
  margin:0 auto;
  padding:0;
  color:#5f6f8f;
  text-shadow:none;
  position:relative;
  z-index:1;
}

.receipt{
  width:min(100%, 520px);
  margin:0 auto;
  color:#050b1f;
  text-align:left;
  border-radius:10px;
}

.receipt-head{
  text-align:center;
}

.receipt-logo{
  width:58px;
  height:58px;
  object-fit:contain;
  display:block;
  margin:0 auto 8px;
}

.receipt-logo-fallback{
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:#0a63df;
  font-size:30px;
  font-weight:900;
}

.receipt h2{
  margin:0;
  color:#071943;
  font-size:20px;
  line-height:1.15;
  text-align:center;
}

.receipt h3,
.receipt p{
  margin:4px 0;
}

.receipt-head p,
.receipt-foot small,
.receipt-note span,
.receipt-lines span,
.receipt-meta span{
  color:#5f6f8f;
  font-weight:800;
}

.receipt-separator{
  height:1px;
  margin:14px 0;
  border-top:1px dashed #aebbd0;
}

.receipt-meta,
.receipt-lines{
  display:grid;
  gap:8px;
}

.receipt-meta div,
.receipt-lines div{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:10px;
  align-items:start;
}

.receipt-meta b,
.receipt-lines b{
  min-width:0;
  overflow-wrap:anywhere;
  text-align:right;
}

.receipt-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding:14px;
  border:2px solid #071943;
  border-radius:8px;
  background:#f8fbff;
}

.receipt-total span{
  font-weight:900;
}

.receipt-total b{
  font-size:22px;
}

.receipt-signatures{
  margin:22px 0 10px;
}

.receipt-signatures .signature-line{
  min-height:34px;
  color:#071943;
}

.receipt-note{
  margin-top:12px;
  padding:10px;
  border:1px solid #dbe6f5;
  border-radius:8px;
  background:#fbfdff;
}

.receipt-note p{
  overflow-wrap:anywhere;
}

.receipt-foot{
  text-align:center;
}

.receipt-foot p{
  color:#0a63df;
  font-size:16px;
  font-weight:900;
}

.receipt-code{
  margin-top:12px;
  font-family:"Courier New", monospace;
  font-size:14px;
  font-weight:900;
  letter-spacing:1px;
  overflow-wrap:anywhere;
}

.operation-workspace{
  display:grid;
  grid-template-columns:minmax(560px, 1.72fr) minmax(320px, 360px);
  gap:10px;
  align-items:start;
  max-width:1180px;
}

.transaction-float{
  position:sticky;
  top:94px;
  justify-self:start;
  width:100%;
  border:1px solid rgba(10, 99, 223, .15);
  border-radius:18px;
  padding:14px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,247,255,.94));
  box-shadow:0 18px 44px rgba(15, 23, 42, .12);
}

.currency-lines{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dbe8f8;
  border-radius:14px;
  background:linear-gradient(180deg,#f8fbff,#ffffff);
}

.currency-lines-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.currency-lines-head b{
  display:block;
  color:#071943;
  font-size:15px;
}

.currency-lines-head span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

.currency-line-list{
  display:grid;
  gap:7px;
}

.currency-line-head,
.currency-line{
  display:grid;
  grid-template-columns:112px minmax(220px, 1fr) minmax(120px, .7fr) 40px;
  grid-template-areas:
    "tipo divisa divisa remove"
    "monto tasa total total"
    "pref pref total total";
  gap:12px;
  align-items:end;
}

.currency-line-head{
  display:none;
}

.currency-line{
  padding:12px;
  border:1px solid #e4edf8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15, 23, 42, .035);
}

.line-tipo-field{grid-area:tipo}
.line-divisa-field{grid-area:divisa}
.line-monto-field{grid-area:monto}
.line-tasa-wrap{grid-area:tasa}
.tasa-preferencial-wrap{grid-area:pref}
.line-total-field{grid-area:total}
.line-remove{grid-area:remove}

.currency-line label{
  min-width:0;
  gap:4px;
  color:#64748b;
  font-size:11px;
  font-weight:950;
}

.currency-line .field-caption{
  display:block;
  margin-bottom:2px;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.currency-line select,
.currency-line input{
  height:42px;
  min-width:0;
  border-color:#d8e6f6;
  background:#fbfdff;
}

.currency-line .line-divisa{
  padding-left:12px;
  padding-right:34px;
  font-weight:900;
  color:#071943;
  text-overflow:ellipsis;
  background:#fff;
  border-color:#cfe0f4;
}

.currency-line .line-tipo{
  font-weight:900;
  color:#0a63df;
  background:#eef6ff;
  border-color:#cfe4ff;
}

.currency-line .line-monto,
.currency-line .line-tasa,
.currency-line .line-total{
  text-align:right;
}

.line-total-field{
  display:grid;
  gap:4px;
  color:#31446f;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.line-total-field input{
  height:42px;
  border:1px solid #d7e8ff;
  border-radius:10px;
  background:#f8fbff;
  color:#0a63df;
  font-weight:950;
  text-align:right;
}

.line-total-field.compra input{
  color:#16a34a;
  border-color:#bbf7d0;
  background:#f0fdf4;
}

.line-remove{
  width:40px;
  height:40px;
  align-self:end;
  color:#ef3b3b;
  background:#fff5f5;
  border-color:#ffd4d4;
}

.line-remove:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.main-total-field{
  display:grid;
  gap:8px;
  padding:12px 14px;
  border:2px solid #cfe4ff;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff,#ffffff);
  box-shadow:0 14px 30px rgba(10, 99, 223, .10);
}

.main-total-field span{
  color:#071943;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
}

.main-total-field input#total{
  height:54px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#0a63df;
  font-size:30px;
  font-weight:950;
  line-height:1;
  text-align:center;
  box-shadow:inset 0 0 0 1px #d7e8ff;
}

.main-total-field.compra{
  border-color:#16b65f;
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  box-shadow:0 14px 30px rgba(22, 182, 95, .13);
}

.main-total-field.compra input#total{
  color:#16a34a;
  box-shadow:inset 0 0 0 1px #bbf7d0;
}

.main-total-field.venta{
  border-color:#16b65f;
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
}

.main-total-field.venta input#total{
  color:#16a34a;
  box-shadow:inset 0 0 0 1px #bbf7d0;
}

.main-total-field.mixed-difference{
  border-color:#ef3b3b;
  background:linear-gradient(135deg,#fff1f2,#ffffff);
  box-shadow:0 14px 30px rgba(239,59,59,.16);
}

.main-total-field.mixed-difference span,
.main-total-field.mixed-difference input#total,
.mixed-difference-text{
  color:#dc2626 !important;
}

.float-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #dfeaf7;
}

.float-head span{
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.float-head b{
  padding:7px 10px;
  border-radius:999px;
  background:#0a63df;
  color:#fff;
  font-size:12px;
}

.float-client{
  margin:10px 0;
  color:#0b1b4f;
  font-size:15px;
  font-weight:900;
}

.delivery-amount{
  display:grid;
  gap:6px;
  margin:0 0 10px;
  padding:14px;
  border:2px solid #16b65f;
  border-radius:16px;
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  box-shadow:0 14px 28px rgba(22,182,95,.15);
}

.delivery-amount.venta{
  border-color:#16b65f;
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  box-shadow:0 14px 28px rgba(22,182,95,.15);
}

.delivery-amount.mixed-difference{
  border-color:#ef3b3b;
  background:linear-gradient(135deg,#fff1f2,#ffffff);
  box-shadow:0 14px 28px rgba(239,59,59,.18);
}

.delivery-amount span{
  color:#071943;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}

.delivery-amount b{
  color:#16a34a;
  font-size:28px;
  line-height:1;
  overflow-wrap:anywhere;
}

.delivery-amount b span,
.hint-stack,
.hint-stack span{
  display:block;
}

.delivery-amount b span,
.hint-stack span,
.float-currency-detail b span{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:baseline;
}

.delivery-amount b span em,
.delivery-amount b span strong,
.hint-stack span em,
.hint-stack span strong,
.float-currency-detail b span em,
.float-currency-detail b span strong{
  font-style:normal;
}

.delivery-amount b span strong,
.hint-stack span strong,
.float-currency-detail b span strong{
  white-space:nowrap;
  font-weight:950;
}

.delivery-amount b span{
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  padding:5px 0;
  line-height:1.25;
  font-size:16px;
  border-top:1px solid rgba(10,99,223,.12);
}

.delivery-amount b span:first-child{
  border-top:0;
}

.delivery-amount b span em{
  color:#071943;
  font-size:14px;
  font-weight:900;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.delivery-amount b span strong{
  justify-self:end;
  padding:4px 7px;
  border-radius:8px;
  background:#fff;
  color:inherit;
  font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(10,99,223,.12);
}

.hint-stack{
  margin-top:4px;
  line-height:1.35;
}

.delivery-amount.venta b{
  color:#16a34a;
}

.delivery-amount.mixed-difference b{
  color:#dc2626;
}

.delivery-amount small{
  color:#475569;
  font-weight:850;
}

.charge-amount{
  display:none;
  gap:6px;
  margin:0 0 10px;
  padding:13px 14px;
  border:1px solid #bbf7d0;
  border-radius:14px;
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
}

.charge-amount span{
  color:#16a34a;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.charge-amount b{
  color:#16a34a;
  font-size:24px;
  line-height:1;
}

.charge-amount small{
  color:#475569;
  font-weight:850;
}

.delivery-notice{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  background:#052e16;
  color:#fff;
  font-size:14px;
  font-weight:950;
  box-shadow:0 12px 26px rgba(5,46,22,.18);
}

.delivery-notice.venta{
  background:#166534;
  box-shadow:0 12px 26px rgba(22,101,52,.18);
}

.delivery-notice.mixed-difference{
  background:#b91c1c;
  box-shadow:0 12px 26px rgba(185,28,28,.22);
}

.delivery-notice svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
}

.float-lines{
  display:grid;
  gap:8px;
}

.float-lines>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:38px;
  padding:8px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e4edf8;
}

.float-lines span{
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

.float-lines b{
  color:#071943;
  font-size:14px;
  text-align:right;
}

.float-currency-detail{
  display:grid !important;
  grid-template-columns:70px minmax(0, 1fr);
  align-items:start !important;
  justify-content:normal !important;
}

.float-currency-detail b{
  display:grid;
  gap:4px;
  width:min(100%, 220px);
  max-width:220px;
  min-width:0;
  line-height:1.35;
  white-space:normal;
}

.float-currency-detail b span{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  min-width:0;
  align-items:baseline;
}

.float-currency-detail b span em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.float-currency-detail b span strong{
  justify-self:end;
}

.float-lines .total{
  background:#edf6ff;
  border-color:#cfe4ff;
}

.float-lines .total b{
  color:#0a63df;
  font-size:17px;
}

.float-lines .change{
  background:#f0fdf4;
  border-color:#bbf7d0;
}

.float-lines .change b{
  color:#16a34a;
  font-size:16px;
}


@media(max-width:1280px){
  .operation-workspace{
    grid-template-columns:minmax(0, 1fr) 340px;
  }
}

@media(max-width:1100px){
  .detail-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .admin-control-shell{
    grid-template-columns:1fr;
  }

  .compact-permission-list{
    grid-template-columns:1fr;
  }

  .role-toolbar{
    grid-template-columns:1fr;
  }

  .role-toggle-btn{
    width:100%;
  }

  .sidebar{
    width:260px;
  }

  .main{
    margin-left:0;
  }

  .topbar{
    min-height:70px;
    height:auto;
    gap:12px;
    padding:10px 14px 10px 64px;
  }

  .topbar h1{
    font-size:16px;
    line-height:1.2;
    max-width:none;
    white-space:nowrap;
  }

  .topbar-brand-title{
    justify-content:flex-start;
    max-width:calc(100% - 118px);
    margin:0;
  }

  .topbar-brand-logo{
    width:34px;
    height:34px;
    border-radius:8px;
  }

  .top-actions{
    display:flex;
    margin-left:auto;
    gap:8px;
  }

  .top-user div:not(.mini-avatar),
  .admin-btn span{
    display:none;
  }

  .admin-btn,
  .top-user,
  .bell{
    width:38px;
    height:38px;
    padding:0;
    justify-content:center;
  }

  .mini-dropdown{
    position:fixed;
    right:12px;
    top:64px;
    max-width:calc(100vw - 24px);
  }

  .operation-workspace{
    grid-template-columns:1fr;
    max-width:none;
  }

  .currency-line{
    grid-template-columns:108px minmax(180px, 1fr) minmax(110px, .75fr) 40px;
    grid-template-areas:
      "tipo divisa divisa remove"
      "monto tasa total total"
      "pref pref total total";
    align-items:end;
  }

  .currency-line-head{
    display:none;
  }

  .currency-line .field-caption{
    display:block;
    margin-bottom:2px;
    color:#64748b;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
  }

  .transaction-float{
    position:static;
    justify-self:stretch;
  }
}

@media(max-width:720px){
  .delivery-amount b span{
    grid-template-columns:1fr;
  }

  .delivery-amount b span em{
    white-space:normal;
  }

  .delivery-amount b span strong{
    justify-self:start;
  }

  .currency-lines-head{
    align-items:stretch;
    flex-direction:column;
  }

  .currency-lines{
    padding:12px;
  }

  .currency-line{
    grid-template-columns:1fr 40px;
    grid-template-areas:
      "tipo remove"
      "divisa divisa"
      "monto monto"
      "tasa tasa"
      "total total";
    gap:8px;
    padding:10px;
  }

  .currency-line label,
  .line-total-field{
    grid-column:auto;
  }

  .line-remove{
    grid-area:remove;
  }
}

.authorization-field{
  border:1px solid rgba(239,59,59,.22);
  background:rgba(239,59,59,.06);
  border-radius:12px;
  padding:12px;
}

.authorization-field small{
  display:block;
  margin-top:6px;
  color:#a91919;
  font-weight:700;
}

.signature-line{
  margin-top:28px;
  padding-top:10px;
  border-top:1px solid #111;
  text-align:center;
  font-weight:800;
}

.print-receipt{
  width:min(760px,94vw);
  margin:0 auto;
  padding:18px 20px;
  background:#fff;
  color:#071943;
}

.print-receipt h2{
  margin:0 0 4px;
  text-align:center;
  font-size:22px;
}

.print-receipt small{
  display:block;
  text-align:center;
  color:#334666;
}

.print-receipt .receipt-grid{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:8px 14px;
  margin:16px 0;
  text-align:left;
}

.print-receipt .receipt-grid span{
  font-weight:800;
  color:#51617e;
}

.print-receipt .receipt-grid b{
  font-weight:900;
  word-break:break-word;
}

.print-receipt .data{
  margin-top:10px;
}

.print-receipt .data th,
.print-receipt .data td{
  padding:10px 12px;
}

.print-receipt .signature-line{
  width:100%;
  margin:48px auto 0;
  min-height:34px;
}

.thermal-only{
  display:none;
}

.signature-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.reference-card.priority{
  border-color:rgba(10,99,223,.28) !important;
  background:linear-gradient(135deg,rgba(10,99,223,.08),rgba(22,182,95,.07)) !important;
  box-shadow:0 12px 24px rgba(10,99,223,.12);
}

.reference-card.priority b:after{
  content:none;
}

.priority-label{
  display:inline-flex;
  width:max-content;
  margin-left:5px;
  padding:1px 4px;
  border-radius:999px;
  background:#0a63df;
  color:#fff;
  font-style:normal;
  font-weight:950;
  font-size:8.5px;
  line-height:1.1;
  vertical-align:2px;
}

.quick-client-box{
  border:1px solid rgba(10,99,223,.12);
  background:rgba(10,99,223,.04);
  border-radius:14px;
  padding:10px;
}

.quick-client-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#071943;
}

.quick-client-head svg{
  width:18px;
  height:18px;
  color:#0a63df;
}

.quick-client-head span{
  color:#667591;
  font-size:12px;
  font-weight:700;
}

.quick-client-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

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

@media(max-width:640px){
  .content{
    padding:16px;
  }

  .topbar{
    padding-left:56px;
  }

  .quick-grid,
  .quick-grid.three{
    grid-template-columns:1fr;
  }

  .report-kpi-grid,
  .report-total-box{
    grid-template-columns:1fr;
  }

  .report-cover{
    align-items:flex-start;
    flex-direction:column;
  }

  .page-head{
    align-items:flex-start;
    gap:12px;
    flex-direction:column;
  }

  .filters{
    align-items:stretch;
    flex-direction:column;
  }

  .report-actions,
  .export-form{
    width:100%;
  }

  .export-form{
    align-items:stretch;
    flex-direction:column;
  }

  .export-form label{
    min-width:0;
  }

  .table-title{
    align-items:flex-start;
    flex-direction:column;
  }

  .configured-rate-row{
    grid-template-columns:46px 1fr 1fr;
  }

  .configured-rate-row .currency-flag{
    grid-row:1/3;
  }

  .configured-currency{
    grid-column:2/4;
  }

  .rate-save{
    grid-column:3;
    justify-self:end;
  }
}

@media(max-width:820px){
  .enterprise-login{
    padding:16px;
  }

  .login-shell{
    grid-template-columns:1fr;
  }

  .login-panel{
    min-height:auto;
    padding:28px;
    gap:28px;
  }

  .enterprise-login .login-card{
    padding:30px 24px;
  }
}

@media print{
  @page{
    size:A4;
    margin:12mm;
  }

  @page receipt58{
    size:58mm auto;
    margin:0;
  }

  @page receipt80{
    size:80mm auto;
    margin:0;
  }

  .print-58{
    page:receipt58;
    --paper-width:58mm;
    --paper-pad:3mm;
    --paper-font:8.2pt;
    --paper-line:1.18;
    --paper-label:18mm;
    --paper-logo:28px;
    --paper-title:11pt;
    --paper-total:12pt;
  }

  .print-80{
    page:receipt80;
    --paper-width:80mm;
    --paper-pad:4mm;
    --paper-font:9.6pt;
    --paper-line:1.22;
    --paper-label:27mm;
    --paper-logo:38px;
    --paper-title:13pt;
    --paper-total:14pt;
  }

  .print-a4,
  body:not(.print-58):not(.print-80){
    page:auto;
    --paper-width:190mm;
    --paper-pad:10mm;
    --paper-font:11pt;
    --paper-line:1.3;
    --paper-label:42mm;
    --paper-logo:58px;
    --paper-title:18pt;
    --paper-total:18pt;
    --a4-content-width:186mm;
  }

  html,
  body{
    width:100%;
    min-width:0;
    background:#fff !important;
  }

  .sidebar,
  .topbar,
  .no-print,
  .flash-messages,
  .alert,
  .page-head,
  .system-credit,
  .btn{
    display:none !important;
  }

  .layout,
  .main,
  .content{
    display:block !important;
    width:var(--paper-width) !important;
    max-width:var(--paper-width) !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  .print-a4 .layout,
  .print-a4 .main,
  .print-a4 .content,
  body:not(.print-58):not(.print-80) .layout,
  body:not(.print-58):not(.print-80) .main,
  body:not(.print-58):not(.print-80) .content{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .receipt.card,
  .receipt{
    position:relative !important;
    z-index:1 !important;
    box-shadow:none !important;
    border:0 !important;
    border-radius:0 !important;
    padding:var(--paper-pad) !important;
    margin:0 !important;
    width:var(--paper-width) !important;
    max-width:var(--paper-width) !important;
    background:#fff !important;
    color:#000 !important;
    font-family:"Arial", sans-serif !important;
    font-size:var(--paper-font) !important;
    line-height:var(--paper-line) !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .print-58 .receipt,
  .print-80 .receipt{
    font-family:"Courier New", monospace !important;
  }

  .receipt-logo{
    width:var(--paper-logo) !important;
    height:var(--paper-logo) !important;
    margin-bottom:2mm !important;
  }

  .cierre-print .thermal-only{
    display:none !important;
  }

  .print-58 .cierre-print .a4-only,
  .print-80 .cierre-print .a4-only{
    display:none !important;
  }

  .print-58 .cierre-print .thermal-only,
  .print-80 .cierre-print .thermal-only{
    display:block !important;
  }

  .cierre-print h3{
    margin:4mm 0 1.5mm !important;
    color:#000 !important;
    font-size:calc(var(--paper-title) * .72) !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    border-bottom:1px solid #000 !important;
    padding-bottom:1mm !important;
  }

  .thermal-row,
  .thermal-currency div,
  .thermal-ledger-item div{
    display:grid !important;
    grid-template-columns:var(--paper-label) minmax(0,1fr) !important;
    gap:2mm !important;
    align-items:start !important;
    padding:.6mm 0 !important;
  }

  .thermal-row span,
  .thermal-currency span,
  .thermal-ledger-item span{
    font-weight:800 !important;
  }

  .thermal-row b,
  .thermal-currency strong,
  .thermal-ledger-item b{
    text-align:right !important;
    font-weight:900 !important;
    word-break:break-word !important;
  }

  .thermal-rule,
  .thermal-currency,
  .thermal-ledger-item{
    border-top:1px dashed #000 !important;
  }

  .thermal-rule{
    height:0 !important;
    margin:2mm 0 !important;
  }

  .thermal-currency{
    padding:1.5mm 0 !important;
  }

  .thermal-currency > b{
    display:block !important;
    margin-bottom:.8mm !important;
    font-size:calc(var(--paper-font) * 1.08) !important;
  }

  .thermal-ledger{
    margin:0 0 2mm !important;
  }

  .thermal-ledger-item{
    padding:1.5mm 0 !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .thermal-empty{
    margin:1mm 0 2mm !important;
    font-weight:800 !important;
  }

  .thermal-total{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1mm !important;
    text-align:center !important;
  }

  .thermal-notes{
    margin-top:2mm !important;
  }

  .print-58 .cierre-print h3,
  .print-80 .cierre-print h3{
    font-size:var(--paper-font) !important;
    margin:3mm 0 1mm !important;
  }

  .print-58 .thermal-row,
  .print-58 .thermal-currency div,
  .print-58 .thermal-ledger-item div{
    grid-template-columns:1fr !important;
    gap:.4mm !important;
  }

  .print-58 .thermal-row b,
  .print-58 .thermal-currency strong,
  .print-58 .thermal-ledger-item b{
    text-align:left !important;
  }

  .print-58 .signature-wrap,
  .print-80 .signature-wrap{
    grid-template-columns:1fr !important;
    gap:2mm !important;
  }

  .print-58 .signature-line,
  .print-80 .signature-line{
    margin-top:14mm !important;
    padding-top:3mm !important;
    min-height:10mm !important;
    font-size:calc(var(--paper-font) * .9) !important;
  }

  .print-58 .receipt-logo,
  .print-80 .receipt-logo{
    display:block !important;
    object-fit:contain !important;
    background:#fff !important;
    filter:grayscale(1) contrast(1.45) brightness(.92) !important;
    -webkit-filter:grayscale(1) contrast(1.45) brightness(.92) !important;
    mix-blend-mode:normal !important;
  }

  .print-58 .receipt-logo-fallback,
  .print-80 .receipt-logo-fallback{
    color:#000 !important;
    border:1px solid #000 !important;
    background:#fff !important;
  }

  .receipt h2{
    font-size:var(--paper-title) !important;
    line-height:1.12 !important;
    margin:0 0 1mm !important;
  }

  .print-only{
    display:block !important;
  }

  .report-filter,
  .export-form,
  .report-actions,
  .reference-panel{
    display:none !important;
  }

  .report-cover,
  .report-kpi-grid,
  .report-table-card,
  .report-total-box{
    width:var(--paper-width) !important;
    max-width:var(--paper-width) !important;
    margin:0 0 3mm !important;
    padding:var(--paper-pad) !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#000 !important;
    box-shadow:none !important;
    break-inside:avoid;
  }

  .report-cover{
    display:block !important;
    text-align:center !important;
    border-bottom:1px dashed #000 !important;
  }

  .report-cover span,
  .report-cover p,
  .report-cover h3,
  .report-cover small{
    color:#000 !important;
  }

  .report-cover span{
    font-size:calc(var(--paper-font) * .82) !important;
  }

  .report-cover h3{
    font-size:var(--paper-title) !important;
    margin:1mm 0 !important;
  }

  .report-cover p,
  .report-cover small{
    font-size:var(--paper-font) !important;
    margin:0 !important;
  }

  .report-cover-mark{
    display:none !important;
  }

  .report-kpi-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1mm !important;
  }

  .report-kpi-grid .kpi{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    min-height:0 !important;
    padding:1.3mm 0 !important;
    border:0 !important;
    border-bottom:1px dashed #000 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .report-kpi-grid .ico{
    display:none !important;
  }

  .report-kpi-grid .kpi div:last-child{
    display:contents !important;
  }

  .report-kpi-grid .kpi span,
  .report-kpi-grid .kpi b,
  .report-kpi-grid .kpi small{
    color:#000 !important;
    font-size:var(--paper-font) !important;
    margin:0 !important;
  }

  .report-kpi-grid .kpi b{
    text-align:right !important;
  }

  .report-kpi-grid .kpi small{
    display:none !important;
  }

  .report-table-card .table-title{
    display:block !important;
    padding:0 0 2mm !important;
    border-bottom:1px solid #000 !important;
  }

  .report-table-card .table-title h3{
    margin:0 !important;
    color:#000 !important;
    font-size:var(--paper-title) !important;
  }

  .report-table-card .table-title p,
  .report-table-card .table-title span{
    color:#000 !important;
    font-size:var(--paper-font) !important;
  }

  .report-table-card .data{
    width:100% !important;
    border-collapse:collapse !important;
    color:#000 !important;
  }

  .report-table-card .data th,
  .report-table-card .data td{
    color:#000 !important;
    border-color:#000 !important;
    background:#fff !important;
  }

  .print-58 .report-table-card .data,
  .print-80 .report-table-card .data,
  .print-58 .report-table-card .data thead,
  .print-80 .report-table-card .data thead,
  .print-58 .report-table-card .data tbody,
  .print-80 .report-table-card .data tbody,
  .print-58 .report-table-card .data tfoot,
  .print-80 .report-table-card .data tfoot{
    display:block !important;
  }

  .print-58 .report-table-card .data thead,
  .print-80 .report-table-card .data thead{
    display:none !important;
  }

  .print-58 canvas,
  .print-80 canvas,
  .print-58 svg,
  .print-80 svg,
  .print-58 img,
  .print-80 img,
  .print-58 .ico,
  .print-80 .ico,
  .print-58 .tile-icon,
  .print-80 .tile-icon,
  .print-58 .report-cover-mark,
  .print-80 .report-cover-mark{
    display:none !important;
  }

  .print-58 .receipt .receipt-logo,
  .print-80 .receipt .receipt-logo,
  .print-58 .print-receipt .receipt-logo,
  .print-80 .print-receipt .receipt-logo{
    display:block !important;
  }

  .print-58 .report-cover,
  .print-80 .report-cover,
  .print-58 .report-kpi-grid,
  .print-80 .report-kpi-grid,
  .print-58 .report-table-card,
  .print-80 .report-table-card,
  .print-58 .report-total-box{
    font-family:"Courier New", monospace !important;
  }

  .print-58 .report-table-card .data tr,
  .print-80 .report-table-card .data tr{
    display:block !important;
    padding:2mm 0 !important;
    border-bottom:1px dashed #000 !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  .print-58 .report-table-card .data td,
  .print-80 .report-table-card .data td{
    display:grid !important;
    grid-template-columns:18mm minmax(0,1fr) !important;
    gap:2mm !important;
    width:100% !important;
    padding:.8mm 0 !important;
    border:0 !important;
    text-align:left !important;
    word-break:break-word !important;
  }

  .print-80 .report-table-card .data td{
    grid-template-columns:26mm minmax(0,1fr) !important;
  }

  .print-58 .report-table-card .data td:before,
  .print-80 .report-table-card .data td:before{
    content:attr(data-label);
    font-weight:900;
  }

  .print-58 .report-table-card .data tfoot td,
  .print-80 .report-table-card .data tfoot td{
    display:block !important;
    font-weight:900 !important;
    padding:1mm 0 !important;
  }

  .print-a4 .report-kpi-grid{
    grid-template-columns:repeat(5,1fr) !important;
    gap:2mm !important;
  }

  .print-a4 .report-kpi-grid .kpi{
    display:flex !important;
    border:1px solid #000 !important;
    padding:2mm !important;
  }

  .print-a4 .report-cover-mark,
  .print-a4 .report-kpi-grid .ico{
    display:grid !important;
    color:#000 !important;
    background:#fff !important;
    border:1px solid #000 !important;
    box-shadow:none !important;
  }

  .print-a4 .report-table-card .data th,
  .print-a4 .report-table-card .data td{
    padding:1.8mm !important;
    font-size:8.2pt !important;
  }

  .receipt p,
  .receipt-foot small{
    margin:1mm 0 !important;
  }

  .receipt-separator{
    margin:2.8mm 0 !important;
    border-top:1px dashed #000 !important;
  }

  .receipt-meta,
  .receipt-lines{
    gap:1.8mm !important;
  }

  .receipt-meta div,
  .receipt-lines div{
    grid-template-columns:var(--paper-label) minmax(0,1fr) !important;
    gap:2mm !important;
  }

  .receipt-meta b,
  .receipt-lines b{
    text-align:right !important;
    word-break:break-word !important;
  }

  .receipt-total{
    margin-top:3mm !important;
    padding:3mm 2mm !important;
    border:1px solid #000 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  .receipt-total b{
    font-size:var(--paper-total) !important;
  }

  .report-cover,
  .report-total-box,
  .report-table-card,
  .card{
    box-shadow:none !important;
  }

  .report-total-box{
    display:grid !important;
    grid-template-columns:1fr !important;
    background:#fff !important;
    color:#000 !important;
    border:1px solid #000 !important;
    padding:2mm !important;
  }

  .report-total-box div{
    border:0 !important;
    border-bottom:1px dashed #000 !important;
    border-radius:0 !important;
    background:#fff !important;
    padding:1.5mm 0 !important;
  }

  .report-total-box span,
  .report-total-box b,
  .report-total-box .positive b,
  .report-total-box .negative b{
    color:#000 !important;
  }

  .print-receipt .data th,
  .print-receipt .data td,
  .report-table-card .data th,
  .report-table-card .data td{
    padding:1.5mm !important;
    font-size:calc(var(--paper-font) * .88) !important;
  }

  .receipt-note{
    margin-top:3mm !important;
    padding:0 !important;
    border:0 !important;
  }

  .receipt-foot{
    margin-top:3mm !important;
    text-align:center !important;
  }

  .receipt-code{
    margin-top:2mm !important;
    font-size:inherit !important;
    letter-spacing:0 !important;
  }

  .receipt *{
    color:#000 !important;
  }

  .print-58 .receipt-meta div,
  .print-58 .receipt-lines div{
    grid-template-columns:1fr !important;
    gap:.5mm !important;
  }

  .print-58 .receipt-meta b,
  .print-58 .receipt-lines b{
    text-align:left !important;
  }

  .print-58 .receipt-total{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:1mm !important;
  }

  .report-cover,
  .report-kpi-grid,
  .report-table-card,
  .report-total-box{
    display:none !important;
  }

  .print-report-shell{
    display:block !important;
    width:var(--paper-width) !important;
    max-width:var(--paper-width) !important;
    margin:0 !important;
    padding:var(--paper-pad) !important;
    color:#000 !important;
    background:#fff !important;
    font-family:"Arial", sans-serif !important;
    font-size:var(--paper-font) !important;
    line-height:var(--paper-line) !important;
  }

  .print-58 .print-report-shell,
  .print-80 .print-report-shell{
    font-family:"Courier New", monospace !important;
  }

  .print-report-shell *,
  .print-report-shell *:before,
  .print-report-shell *:after{
    box-sizing:border-box !important;
    color:#000 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }

  .print-report-header{
    text-align:center !important;
    padding-bottom:2.5mm !important;
    border-bottom:1px dashed #000 !important;
    margin-bottom:2.5mm !important;
  }

  .print-brand-row,
  .print-report-meta{
    display:block !important;
  }

  .print-a4-logo-hero{
    display:none !important;
  }

  .print-brand-mark{
    display:none !important;
  }

  .print-brand-copy b{
    display:block !important;
    font-size:var(--paper-title) !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
  }

  .print-brand-copy span,
  .print-report-title p{
    display:block !important;
    margin:.8mm 0 0 !important;
    font-size:var(--paper-font) !important;
  }

  .print-report-title h1{
    margin:2mm 0 .8mm !important;
    font-size:calc(var(--paper-title) * .92) !important;
    line-height:1.12 !important;
    text-transform:uppercase !important;
  }

  .print-report-code,
  .print-report-meta{
    display:none !important;
  }

  .print-report-summary{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin:0 0 2.8mm !important;
    border-top:1px solid #000 !important;
    border-bottom:1px solid #000 !important;
  }

  .print-a4-chart-panel{
    display:none !important;
  }

  .print-report-summary div,
  .print-report-footer div{
    display:grid !important;
    grid-template-columns:var(--paper-label) minmax(0,1fr) !important;
    gap:2mm !important;
    padding:1.15mm 0 !important;
    border-bottom:1px dashed #000 !important;
  }

  .print-report-summary div:last-child,
  .print-report-footer div:last-child{
    border-bottom:0 !important;
  }

  .print-report-summary span,
  .print-report-footer span,
  .print-ledger-item span{
    font-weight:900 !important;
  }

  .print-report-summary b,
  .print-report-footer b,
  .print-ledger-item b{
    text-align:right !important;
    word-break:break-word !important;
  }

  .print-report-section{
    margin:0 0 3mm !important;
    break-inside:auto !important;
  }

  .print-report-section h2{
    margin:0 0 1.8mm !important;
    padding:1.2mm 0 !important;
    border-top:1px solid #000 !important;
    border-bottom:1px solid #000 !important;
    text-align:center !important;
    font-size:calc(var(--paper-title) * .82) !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
  }

  .print-ledger-item{
    display:block !important;
    margin:0 0 2.5mm !important;
    padding:0 0 2.5mm !important;
    border-bottom:1px dashed #000 !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .print-ledger-item div{
    display:grid !important;
    grid-template-columns:var(--paper-label) minmax(0,1fr) !important;
    gap:2mm !important;
    padding:.65mm 0 !important;
  }

  .print-report-footer{
    margin-top:3mm !important;
    padding-top:2mm !important;
    border-top:2px solid #000 !important;
  }

  .print-report-footer small,
  .print-empty{
    display:block !important;
    text-align:center !important;
    margin-top:2mm !important;
    font-size:var(--paper-font) !important;
  }

  .print-58 .print-report-summary div,
  .print-58 .print-report-footer div,
  .print-58 .print-ledger-item div{
    grid-template-columns:1fr !important;
    gap:.4mm !important;
  }

  .print-58 .print-report-summary b,
  .print-58 .print-report-footer b,
  .print-58 .print-ledger-item b{
    text-align:left !important;
  }

  .print-80 .print-report-summary div,
  .print-80 .print-report-footer div,
  .print-80 .print-ledger-item div{
    grid-template-columns:24mm minmax(0,1fr) !important;
  }

  .print-a4 .print-report-shell{
    font-family:"Segoe UI", Arial, sans-serif !important;
    width:var(--a4-content-width) !important;
    max-width:var(--a4-content-width) !important;
    margin:0 auto !important;
    padding:0 !important;
    border:1px solid #d8e3f5 !important;
  }

  .print-a4 .print-report-header{
    position:relative !important;
    overflow:hidden !important;
    min-height:48mm !important;
    margin:0 0 7mm !important;
    padding:8mm 9mm 6mm !important;
    border:0 !important;
    text-align:left !important;
    background:linear-gradient(135deg,#073b91 0%,#0a63df 58%,#0bb0a7 100%) !important;
    color:#fff !important;
  }

  .print-a4 .print-a4-logo-hero{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    place-items:center !important;
    width:30mm !important;
    height:30mm !important;
    margin:0 auto 5mm !important;
    overflow:hidden !important;
    border:1.3mm solid rgba(255,255,255,.28) !important;
    border-radius:8mm !important;
    background:#fff !important;
    box-shadow:0 8mm 18mm rgba(7,25,67,.22) !important;
  }

  .print-a4 .print-a4-logo-hero img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:3.5mm !important;
  }

  .print-a4 .print-a4-logo-hero span{
    color:#0a63df !important;
    font-size:30pt !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  .print-a4 .print-report-header:after{
    content:"" !important;
    position:absolute !important;
    right:-18mm !important;
    top:-22mm !important;
    width:70mm !important;
    height:70mm !important;
    border:1px solid rgba(255,255,255,.32) !important;
    border-radius:50% !important;
  }

  .print-a4 .print-brand-row{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:1fr 42mm !important;
    align-items:center !important;
    gap:4mm !important;
  }

  .print-a4 .print-brand-mark{
    display:none !important;
  }

  .print-a4 .print-brand-copy b,
  .print-a4 .print-brand-copy span,
  .print-a4 .print-report-code span,
  .print-a4 .print-report-code b,
  .print-a4 .print-report-title h1,
  .print-a4 .print-report-title p{
    color:#fff !important;
  }

  .print-a4 .print-brand-copy b{
    font-size:17pt !important;
    letter-spacing:.02em !important;
    font-weight:900 !important;
  }

  .print-a4 .print-brand-copy span{
    margin-top:1mm !important;
    opacity:1 !important;
    font-size:10pt !important;
    font-weight:700 !important;
  }

  .print-a4 .print-report-code{
    display:block !important;
    justify-self:end !important;
    padding:3mm !important;
    border:1px solid rgba(255,255,255,.42) !important;
    border-radius:3mm !important;
    text-align:right !important;
    background:rgba(255,255,255,.12) !important;
  }

  .print-a4 .print-report-code span{
    display:block !important;
    font-size:7.8pt !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    opacity:1 !important;
    font-weight:800 !important;
  }

  .print-a4 .print-report-code b{
    display:block !important;
    margin-top:1mm !important;
    font-size:10.5pt !important;
    line-height:1.15 !important;
    font-weight:900 !important;
  }

  .print-a4 .print-report-title{
    position:relative !important;
    z-index:1 !important;
    margin-top:8mm !important;
  }

  .print-a4 .print-report-title h1{
    margin:0 !important;
    font-size:26pt !important;
    letter-spacing:.01em !important;
    font-weight:900 !important;
  }

  .print-a4 .print-report-title p{
    margin:2mm 0 0 !important;
    font-size:11pt !important;
    font-weight:800 !important;
  }

  .print-a4 .print-report-meta{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:2mm !important;
    margin-top:6mm !important;
  }

  .print-a4 .print-report-meta div{
    padding:2.4mm 3mm !important;
    border:1px solid rgba(255,255,255,.36) !important;
    border-radius:2.5mm !important;
    background:rgba(255,255,255,.12) !important;
  }

  .print-a4 .print-report-meta span,
  .print-a4 .print-report-meta b{
    display:block !important;
    color:#fff !important;
  }

  .print-a4 .print-report-meta span{
    font-size:7.5pt !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    opacity:1 !important;
    font-weight:800 !important;
  }

  .print-a4 .print-report-meta b{
    margin-top:.8mm !important;
    font-size:9pt !important;
    font-weight:900 !important;
  }

  .print-a4 .print-report-summary{
    grid-template-columns:repeat(5,1fr) !important;
    gap:3mm !important;
    border:0 !important;
    padding:0 8mm !important;
    margin-bottom:7mm !important;
  }

  .print-a4 .print-report-summary div{
    display:block !important;
    min-height:21mm !important;
    padding:2.8mm !important;
    border:1px solid #d8e3f5 !important;
    border-radius:3mm !important;
    background:#f8fbff !important;
  }

  .print-a4 .print-report-summary span,
  .print-a4 .print-report-summary b{
    color:#071943 !important;
  }

  .print-a4 .print-report-summary span{
    display:block !important;
    font-size:7.8pt !important;
    text-transform:uppercase !important;
    letter-spacing:.05em !important;
    color:#5c6b86 !important;
  }

  .print-a4 .print-report-summary b{
    display:block !important;
    margin-top:2.4mm !important;
    text-align:left !important;
    font-size:10.2pt !important;
    line-height:1.12 !important;
    white-space:nowrap !important;
    word-break:normal !important;
    letter-spacing:0 !important;
  }

  .print-a4 .print-a4-chart-panel{
    display:block !important;
    margin:0 8mm 7mm !important;
    padding:4mm !important;
    border:1px solid #d8e3f5 !important;
    border-radius:4mm !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  }

  .print-a4 .print-chart-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:4mm !important;
    margin-bottom:3mm !important;
    padding-bottom:2mm !important;
    border-bottom:1px solid #e3ecf8 !important;
  }

  .print-a4 .print-chart-head span{
    color:#0a63df !important;
    font-size:8pt !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }

  .print-a4 .print-chart-head b{
    color:#071943 !important;
    font-size:12pt !important;
    font-weight:900 !important;
  }

  .print-a4 .print-chart-row{
    display:grid !important;
    grid-template-columns:28mm minmax(0,1fr) 36mm !important;
    align-items:center !important;
    gap:3mm !important;
    padding:1.8mm 0 !important;
  }

  .print-a4 .print-chart-row span{
    color:#31446f !important;
    font-size:8.5pt !important;
    font-weight:900 !important;
  }

  .print-a4 .print-chart-row i{
    display:block !important;
    min-width:4mm !important;
    height:4.2mm !important;
    border-radius:99mm !important;
    background:linear-gradient(90deg,#0a63df,#0bb0a7) !important;
  }

  .print-a4 .print-chart-row.expense i{
    background:linear-gradient(90deg,#ef3b3b,#f7b733) !important;
  }

  .print-a4 .print-chart-row.net.positive i{
    background:linear-gradient(90deg,#16b65f,#0bb0a7) !important;
  }

  .print-a4 .print-chart-row.net.negative i{
    background:linear-gradient(90deg,#ef3b3b,#c9182b) !important;
  }

  .print-a4 .print-chart-row b{
    color:#071943 !important;
    text-align:right !important;
    font-size:8.8pt !important;
    font-weight:900 !important;
  }

  .print-a4 .print-report-section{
    margin:0 8mm 7mm !important;
    padding:0 !important;
    border:1px solid #d8e3f5 !important;
    border-radius:3mm !important;
    overflow:hidden !important;
  }

  .print-a4 .print-report-section h2{
    margin:0 !important;
    padding:3mm 4mm !important;
    border:0 !important;
    background:#f0f6ff !important;
    color:#071943 !important;
    text-align:left !important;
    font-size:12pt !important;
    letter-spacing:.02em !important;
  }

  .print-a4 .print-ledger-item{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:1.4mm 4mm !important;
    margin:0 !important;
    padding:3.2mm 4mm !important;
    border:0 !important;
    border-top:1px solid #e6eefb !important;
  }

  .print-a4 .print-ledger-item div{
    grid-template-columns:24mm minmax(0,1fr) !important;
    gap:2mm !important;
    padding:0 !important;
  }

  .print-a4 .print-ledger-item span{
    color:#63718a !important;
    font-size:8pt !important;
    font-weight:800 !important;
  }

  .print-a4 .print-ledger-item b{
    color:#071943 !important;
    text-align:left !important;
    font-size:8.7pt !important;
    font-weight:800 !important;
  }

  .print-a4 .print-report-footer{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:3mm !important;
    margin:0 8mm 8mm !important;
    padding-top:0 !important;
    border-top:0 !important;
  }

  .print-a4 .print-report-footer div{
    display:block !important;
    border:1px solid #d8e3f5 !important;
    border-radius:3mm !important;
    padding:3.2mm !important;
    background:#071943 !important;
  }

  .print-a4 .print-report-footer span,
  .print-a4 .print-report-footer b{
    color:#fff !important;
  }

  .print-a4 .print-report-footer b{
    display:block !important;
    margin-top:2mm !important;
    text-align:left !important;
  }

  .print-a4 .print-report-footer small{
    grid-column:1/-1 !important;
    margin-top:1mm !important;
    color:#64748b !important;
    text-align:right !important;
  }

  body:not(.print-58):not(.print-80) .print-report-shell{
    font-family:"Segoe UI", Arial, sans-serif !important;
    width:var(--a4-content-width) !important;
    max-width:var(--a4-content-width) !important;
    margin:0 auto !important;
    padding:0 !important;
    border:1px solid #d8e3f5 !important;
  }

  body:not(.print-58):not(.print-80) .print-report-header{
    position:relative !important;
    overflow:hidden !important;
    min-height:48mm !important;
    margin:0 0 7mm !important;
    padding:8mm 9mm 6mm !important;
    border:0 !important;
    text-align:left !important;
    background:linear-gradient(135deg,#073b91 0%,#0a63df 58%,#0bb0a7 100%) !important;
    color:#fff !important;
  }

  body:not(.print-58):not(.print-80) .print-a4-logo-hero{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    place-items:center !important;
    width:30mm !important;
    height:30mm !important;
    margin:0 auto 5mm !important;
    overflow:hidden !important;
    border:1.3mm solid rgba(255,255,255,.28) !important;
    border-radius:8mm !important;
    background:#fff !important;
    box-shadow:0 8mm 18mm rgba(7,25,67,.22) !important;
  }

  body:not(.print-58):not(.print-80) .print-a4-logo-hero img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding:3.5mm !important;
  }

  body:not(.print-58):not(.print-80) .print-a4-logo-hero span{
    color:#0a63df !important;
    font-size:30pt !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  body:not(.print-58):not(.print-80) .print-brand-row{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:1fr 42mm !important;
    align-items:center !important;
    gap:4mm !important;
  }

  body:not(.print-58):not(.print-80) .print-brand-mark{
    display:none !important;
  }

  body:not(.print-58):not(.print-80) .print-brand-copy b,
  body:not(.print-58):not(.print-80) .print-brand-copy span,
  body:not(.print-58):not(.print-80) .print-report-code span,
  body:not(.print-58):not(.print-80) .print-report-code b,
  body:not(.print-58):not(.print-80) .print-report-title h1,
  body:not(.print-58):not(.print-80) .print-report-title p{
    color:#fff !important;
  }

  body:not(.print-58):not(.print-80) .print-report-code{
    display:block !important;
    justify-self:end !important;
    padding:3mm !important;
    border:1px solid rgba(255,255,255,.42) !important;
    border-radius:3mm !important;
    text-align:right !important;
    background:rgba(255,255,255,.12) !important;
  }

  body:not(.print-58):not(.print-80) .print-report-title{
    position:relative !important;
    z-index:1 !important;
    margin-top:8mm !important;
  }

  body:not(.print-58):not(.print-80) .print-report-title h1{
    margin:0 !important;
    font-size:24pt !important;
    letter-spacing:.01em !important;
  }

  body:not(.print-58):not(.print-80) .print-report-meta{
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:2mm !important;
    margin-top:6mm !important;
  }

  body:not(.print-58):not(.print-80) .print-report-meta div{
    padding:2.4mm 3mm !important;
    border:1px solid rgba(255,255,255,.36) !important;
    border-radius:2.5mm !important;
    background:rgba(255,255,255,.12) !important;
  }

  body:not(.print-58):not(.print-80) .print-report-meta span,
  body:not(.print-58):not(.print-80) .print-report-meta b{
    display:block !important;
    color:#fff !important;
  }

  body:not(.print-58):not(.print-80) .print-a4-chart-panel{
    display:block !important;
    margin:0 8mm 7mm !important;
    padding:4mm !important;
    border:1px solid #d8e3f5 !important;
    border-radius:4mm !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  }

  body:not(.print-58):not(.print-80) .print-report-summary div{
    min-height:21mm !important;
    padding:2.8mm !important;
  }

  body:not(.print-58):not(.print-80) .print-report-summary b{
    font-size:10.2pt !important;
    line-height:1.12 !important;
    white-space:nowrap !important;
    word-break:normal !important;
    letter-spacing:0 !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    margin-bottom:3mm !important;
    padding-bottom:2mm !important;
    border-bottom:1px solid #e3ecf8 !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-head span{
    color:#0a63df !important;
    font-size:8pt !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-head b{
    color:#071943 !important;
    font-size:12pt !important;
    font-weight:900 !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row{
    display:grid !important;
    grid-template-columns:28mm minmax(0,1fr) 36mm !important;
    align-items:center !important;
    gap:3mm !important;
    padding:1.8mm 0 !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row span{
    color:#31446f !important;
    font-size:8.5pt !important;
    font-weight:900 !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row i{
    display:block !important;
    min-width:4mm !important;
    height:4.2mm !important;
    border-radius:99mm !important;
    background:linear-gradient(90deg,#0a63df,#0bb0a7) !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row.expense i{
    background:linear-gradient(90deg,#ef3b3b,#f7b733) !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row.net.positive i{
    background:linear-gradient(90deg,#16b65f,#0bb0a7) !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row.net.negative i{
    background:linear-gradient(90deg,#ef3b3b,#c9182b) !important;
  }

  body:not(.print-58):not(.print-80) .print-chart-row b{
    color:#071943 !important;
    text-align:right !important;
    font-size:8.8pt !important;
    font-weight:900 !important;
  }

  .print-a4 .print-report-header,
  body:not(.print-58):not(.print-80) .print-report-header{
    background:#fff !important;
    color:#000 !important;
    border-bottom:1.2mm solid #000 !important;
  }

  .print-a4 .print-report-header:after,
  body:not(.print-58):not(.print-80) .print-report-header:after{
    content:none !important;
  }

  .print-a4 .print-a4-logo-hero,
  body:not(.print-58):not(.print-80) .print-a4-logo-hero{
    border:1px solid #000 !important;
    box-shadow:none !important;
  }

  .print-a4 .print-brand-copy b,
  .print-a4 .print-brand-copy span,
  .print-a4 .print-report-code span,
  .print-a4 .print-report-code b,
  .print-a4 .print-report-title h1,
  .print-a4 .print-report-title p,
  .print-a4 .print-report-meta span,
  .print-a4 .print-report-meta b,
  body:not(.print-58):not(.print-80) .print-brand-copy b,
  body:not(.print-58):not(.print-80) .print-brand-copy span,
  body:not(.print-58):not(.print-80) .print-report-code span,
  body:not(.print-58):not(.print-80) .print-report-code b,
  body:not(.print-58):not(.print-80) .print-report-title h1,
  body:not(.print-58):not(.print-80) .print-report-title p,
  body:not(.print-58):not(.print-80) .print-report-meta span,
  body:not(.print-58):not(.print-80) .print-report-meta b{
    color:#000 !important;
  }

  .print-a4 .print-report-code,
  .print-a4 .print-report-meta div,
  .print-a4 .print-report-footer div,
  body:not(.print-58):not(.print-80) .print-report-code,
  body:not(.print-58):not(.print-80) .print-report-meta div,
  body:not(.print-58):not(.print-80) .print-report-footer div{
    background:#fff !important;
    border-color:#000 !important;
  }

  .print-a4 .print-report-footer,
  body:not(.print-58):not(.print-80) .print-report-footer{
    border-top:1px solid #000 !important;
    padding-top:4mm !important;
  }

  .print-a4 .print-report-footer span,
  .print-a4 .print-report-footer b,
  body:not(.print-58):not(.print-80) .print-report-footer span,
  body:not(.print-58):not(.print-80) .print-report-footer b{
    color:#000 !important;
  }

  .print-a4 .report-total-box,
  body:not(.print-58):not(.print-80) .report-total-box{
    background:#fff !important;
    border:1px solid #000 !important;
  }

  .print-a4 .report-total-box div,
  body:not(.print-58):not(.print-80) .report-total-box div{
    background:#fff !important;
    border-color:#000 !important;
  }

  .print-a4 .report-total-box span,
  .print-a4 .report-total-box b,
  body:not(.print-58):not(.print-80) .report-total-box span,
  body:not(.print-58):not(.print-80) .report-total-box b{
    color:#000 !important;
  }
}

/* Sidebar final polish: keep the active module clear and submenus secondary. */
.sidebar .system-menu{
  padding:0 12px 12px;
}

.sidebar .system-menu details{
  margin:0 0 5px;
  border:0;
  background:transparent !important;
}

.sidebar .system-menu summary,
.sidebar .system-menu details:nth-child(2n) summary,
.sidebar .system-menu details:nth-child(3n) summary{
  min-height:42px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent !important;
  color:#071943;
  font-size:13px;
  font-weight:900;
  box-shadow:none;
}

.sidebar .system-menu summary:hover,
.sidebar .system-menu details:not([open]) summary:hover{
  background:rgba(10,99,223,.06) !important;
  border-color:rgba(10,99,223,.08);
  color:#0a63df;
}

.sidebar .system-menu summary svg,
.sidebar .system-menu details:nth-child(2n) summary svg,
.sidebar .system-menu details:nth-child(3n) summary svg{
  width:19px;
  height:19px;
  color:#0a63df;
  filter:none;
}

.sidebar .system-menu details[open] summary{
  background:linear-gradient(135deg,#0a63df,#0544b5) !important;
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 24px rgba(10,99,223,.22);
}

.sidebar .system-menu details[open] summary svg{
  color:#fff;
}

.sidebar .system-menu summary:after{
  border-color:currentColor;
  opacity:.75;
}

.sidebar .system-menu details a{
  min-height:31px;
  margin:5px 0 0 34px;
  padding:7px 10px 7px 14px;
  border-radius:8px;
  background:rgba(10,99,223,.035);
  color:#334666;
  font-size:12.5px;
  font-weight:800;
}

.sidebar .system-menu details a:before{
  left:1px;
  width:5px;
  height:5px;
  background:#9bb1cf;
}

.sidebar .system-menu details a:hover{
  background:rgba(10,99,223,.09);
  color:#0a63df;
}

.sidebar .system-menu details a.active,
.sidebar .system-menu details a.active:hover{
  background:rgba(10,99,223,.13);
  color:#0544b5;
  box-shadow:inset 3px 0 0 #0a63df;
}

.sidebar .system-menu details a.active:before{
  background:#0a63df;
}

/* Mobile stability layer */
@media(max-width:1100px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .layout{
    display:block;
    min-width:0;
  }

  .sidebar,
  .sidebar.collapsed{
    width:min(88vw,320px) !important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:0 22px 56px rgba(7,25,67,.24);
  }

  .sidebar.open{
    transform:translateX(0);
  }

  .sidebar.collapsed .brand div:not(.brand-icon),
  .sidebar.collapsed .user-card div:not(.avatar),
  .sidebar.collapsed .menu span,
  .sidebar.collapsed .logout span{
    display:block;
  }

  .main,
  .sidebar.collapsed+.main{
    width:100%;
    margin-left:0 !important;
  }

  .topbar{
    height:auto;
    min-height:64px;
    padding:10px 12px;
    justify-content:flex-start;
    gap:10px;
  }

  .mobile-menu-btn{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 auto;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    border-radius:11px;
  }

  .topbar h1{
    max-width:calc(100% - 106px);
    margin:0;
    text-align:left;
    white-space:normal;
    line-height:1.18;
    font-size:17px;
  }

  .top-actions{
    display:flex;
    position:static;
    margin-left:auto;
    gap:8px;
  }

  .top-user div:not(.mini-avatar){
    display:none;
  }

  .content{
    width:100%;
    padding:16px 12px 24px;
  }

  .page-head,
  .dashboard-head,
  .table-title{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:12px;
  }

  .page-head h2,
  .dashboard-head h2{
    font-size:22px;
    line-height:1.15;
  }

  .dashboard-action-zone{
    align-items:stretch;
    min-width:0;
    width:100%;
  }

  .dashboard-action-zone .action-main{
    width:100%;
  }

  .dashboard-filter-row{
    justify-content:flex-start;
  }

  .actions,
  .panel-actions,
  .table-actions{
    width:100%;
    flex-wrap:wrap;
  }

  .actions .btn,
  .panel-actions .btn,
  .table-actions .btn,
  .table-actions form{
    flex:1 1 150px;
  }

  .dash-actions-grid,
  .dash-grid.top,
  .dash-grid.bottom,
  .grid-2,
  .grid-3,
  .form-grid,
  .open-cash-form,
  .reference-grid,
  .quick-grid,
  .quick-grid.three,
  .local-user-row,
  .session-access{
    grid-template-columns:1fr !important;
  }

  .dash-tile,
  .quick-tile,
  .kpi-tile{
    min-width:0;
  }

  .dash-panel,
  .card{
    border-radius:12px;
    padding:16px;
    min-width:0;
  }

  .chart-panel{
    min-height:300px;
  }

  .chart-panel canvas{
    width:100% !important;
    min-height:220px;
  }

  .operation-workspace{
    grid-template-columns:1fr !important;
  }

  .transaction-float{
    position:static;
    max-height:none;
  }

  .rate-row,
  .configured-rate-row{
    grid-template-columns:44px minmax(0,1fr) minmax(72px,.6fr) minmax(72px,.6fr) !important;
    gap:8px;
  }

  .rate-row b,
  .configured-currency b{
    overflow-wrap:anywhere;
  }

  .data{
    min-width:680px;
  }

  .card:has(.data){
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .mini-dropdown{
    right:0;
    max-width:calc(100vw - 24px);
  }
}

@media(max-width:640px){
  .brand{
    height:auto;
    padding:12px;
  }

  .brand strong{
    font-size:17px;
  }

  .user-card{
    margin:0 12px 10px;
  }

  .sidebar .system-menu summary,
  .sidebar .system-menu details:nth-child(2n) summary,
  .sidebar .system-menu details:nth-child(3n) summary{
    min-height:40px;
    font-size:13px;
  }

  .sidebar .system-menu details a{
    margin-left:28px;
    font-size:12.5px;
  }

  .dash-actions-grid{
    gap:10px;
  }

  .dash-tile{
    min-height:74px;
    padding:12px;
  }

  .tile-icon,
  .ico{
    width:42px;
    height:42px;
    border-radius:11px;
  }

  .summary-item{
    align-items:flex-start;
    gap:8px;
    flex-direction:column;
  }

  .operation-item{
    grid-template-columns:38px minmax(0,1fr);
    align-items:start;
  }

  .operation-item time,
  .operation-item em{
    grid-column:2;
    justify-self:start;
  }

  .rate-row,
  .configured-rate-row{
    grid-template-columns:38px minmax(0,1fr) !important;
  }

  .rate-row>div:nth-child(3),
  .rate-row>div:nth-child(4),
  .configured-rate-row .editable-rate,
  .configured-rate-row .rate-save{
    grid-column:2;
  }

  .session-access-icon{
    width:58px;
    height:58px;
  }

  .session-url{
    grid-template-columns:1fr;
  }
}

/* Sidebar recovery layer for the cloud-downloaded local copy. */
.sidebar{
  width:292px !important;
  background:#fff !important;
  border-right:1px solid #e6eefb !important;
  overflow:hidden;
}

.sidebar .brand{
  flex:0 0 auto;
  min-height:78px;
  padding:14px 16px;
  gap:12px;
  border-bottom:1px solid rgba(10,99,223,.08);
}

.sidebar .user-card{
  flex:0 0 auto;
  margin:14px 14px 12px;
  border-radius:14px;
}

.sidebar .system-menu{
  flex:1 1 auto;
  display:block;
  overflow-y:auto;
  padding:0 12px 14px !important;
}

.sidebar .system-menu details{
  display:block;
  margin:0 0 6px !important;
  border:0 !important;
  background:transparent !important;
}

.sidebar .system-menu .menu-direct{
  min-height:42px !important;
  margin:0 0 6px !important;
  padding:10px 12px !important;
  border:1px solid transparent;
  border-radius:10px;
  gap:11px;
  color:#071943;
  font-weight:800;
}

.sidebar .system-menu .menu-direct svg{
  flex:0 0 auto;
  width:19px !important;
  height:19px !important;
  color:#0a63df !important;
}

.sidebar .system-menu .menu-direct:hover{
  background:rgba(10,99,223,.06) !important;
  border-color:rgba(10,99,223,.08);
  color:#0a63df !important;
}

.sidebar .system-menu .menu-direct.active,
.sidebar .system-menu .menu-direct.active:hover{
  background:linear-gradient(135deg,#0a63df,#0544b5) !important;
  border-color:transparent;
  color:#fff !important;
  box-shadow:0 12px 22px rgba(10,99,223,.2) !important;
}

.sidebar .system-menu .menu-direct.active svg{
  color:#fff !important;
}

.sidebar .system-menu summary{
  position:relative;
  display:flex !important;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:43px !important;
  padding:10px 34px 10px 12px !important;
  border:1px solid transparent !important;
  border-radius:11px !important;
  background:transparent !important;
  color:#071943 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.1;
  cursor:pointer;
}

.sidebar .system-menu summary svg{
  flex:0 0 auto;
  width:19px !important;
  height:19px !important;
  color:#0a63df !important;
}

.sidebar .system-menu summary span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.sidebar .system-menu summary:after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-65%) rotate(45deg);
  opacity:.65;
}

.sidebar .system-menu details[open] summary{
  background:linear-gradient(135deg,#0a63df,#0544b5) !important;
  color:#fff !important;
  box-shadow:0 12px 22px rgba(10,99,223,.2) !important;
}

.sidebar .system-menu details[open] summary svg{
  color:#fff !important;
}

.sidebar .system-menu details[open] summary:after{
  transform:translateY(-35%) rotate(225deg);
}

.sidebar .system-menu details a{
  position:relative;
  display:flex !important;
  align-items:center;
  min-height:34px !important;
  margin:5px 0 0 36px !important;
  padding:8px 10px 8px 15px !important;
  border-radius:9px !important;
  background:rgba(10,99,223,.045) !important;
  color:#31435f !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.15;
}

.sidebar .system-menu details a:before{
  content:"";
  position:absolute;
  left:3px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:999px;
  background:#9bb1cf;
  transform:translateY(-50%);
}

.sidebar .system-menu details a:hover{
  background:rgba(10,99,223,.09) !important;
  color:#0a63df !important;
}

.sidebar .system-menu details a.active,
.sidebar .system-menu details a.active:hover{
  background:rgba(10,99,223,.14) !important;
  color:#0544b5 !important;
  box-shadow:inset 3px 0 0 #0a63df !important;
}

.sidebar .system-menu details a.active:before{
  background:#0a63df;
}

.sidebar .logout{
  flex:0 0 auto;
  margin:10px 14px 16px !important;
  padding:14px 12px !important;
}

.sidebar.collapsed{
  width:86px !important;
}

.sidebar.collapsed .brand{
  justify-content:center;
  padding:12px 8px;
}

.sidebar.collapsed .hamb{
  display:inline-grid !important;
  place-items:center;
  width:42px;
  height:42px;
  margin:0 auto;
  padding:0;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(10,99,223,.16);
  color:#0a63df;
  box-shadow:0 8px 18px rgba(10,99,223,.12);
}

.sidebar.collapsed .brand div:not(.brand-icon),
.sidebar.collapsed .user-card div:not(.avatar),
.sidebar.collapsed .system-menu span,
.sidebar.collapsed .logout span{
  display:none !important;
}

.sidebar.collapsed .brand .brand-icon{
  display:none !important;
}

.sidebar.collapsed .user-card{
  margin:12px 10px;
  padding:10px;
  justify-content:center;
}

.sidebar.collapsed .system-menu{
  padding:0 9px 12px !important;
  overflow:visible;
}

.sidebar.collapsed .system-menu summary{
  justify-content:center;
  padding:10px !important;
}

.sidebar.collapsed .system-menu summary:after,
.sidebar.collapsed .system-menu details a{
  display:none !important;
}

.sidebar.collapsed .system-menu .menu-direct{
  justify-content:center;
  padding:10px !important;
}

.sidebar.collapsed + .main{
  margin-left:86px !important;
}

.sidebar.collapsed.hover-expanded,
.sidebar.collapsed:hover{
  width:292px !important;
  z-index:90;
  box-shadow:0 22px 56px rgba(7,25,67,.20);
}

.sidebar.collapsed.hover-expanded .brand,
.sidebar.collapsed:hover .brand{
  justify-content:flex-start;
  padding:14px 16px;
}

.sidebar.collapsed.hover-expanded .hamb,
.sidebar.collapsed:hover .hamb{
  display:inline-grid !important;
  margin:0;
}

.sidebar.collapsed.hover-expanded .brand .brand-icon,
.sidebar.collapsed:hover .brand .brand-icon{
  display:grid !important;
}

.sidebar.collapsed.hover-expanded .brand div:not(.brand-icon),
.sidebar.collapsed.hover-expanded .user-card div:not(.avatar),
.sidebar.collapsed.hover-expanded .system-menu span,
.sidebar.collapsed.hover-expanded .logout span,
.sidebar.collapsed:hover .brand div:not(.brand-icon),
.sidebar.collapsed:hover .user-card div:not(.avatar),
.sidebar.collapsed:hover .system-menu span,
.sidebar.collapsed:hover .logout span{
  display:block !important;
}

.sidebar.collapsed.hover-expanded .user-card,
.sidebar.collapsed:hover .user-card{
  margin:14px;
  padding:16px;
  justify-content:flex-start;
}

.sidebar.collapsed.hover-expanded .system-menu,
.sidebar.collapsed:hover .system-menu{
  padding:0 12px 14px !important;
  overflow-y:auto;
}

.sidebar.collapsed.hover-expanded .system-menu summary,
.sidebar.collapsed:hover .system-menu summary{
  justify-content:flex-start;
  padding:10px 34px 10px 12px !important;
}

.sidebar.collapsed.hover-expanded .system-menu .menu-direct,
.sidebar.collapsed:hover .system-menu .menu-direct{
  justify-content:flex-start;
  padding:10px 12px !important;
}

.sidebar.collapsed.hover-expanded .system-menu summary:after,
.sidebar.collapsed:hover .system-menu summary:after{
  display:block !important;
}

.sidebar.collapsed.hover-expanded .system-menu details a,
.sidebar.collapsed:hover .system-menu details a{
  display:flex !important;
}

@media(max-width:1100px){
  .sidebar,
  .sidebar.collapsed{
    width:min(88vw,320px) !important;
    transform:translateX(-105%);
  }

  .sidebar.open{
    transform:translateX(0) !important;
  }

  .sidebar.collapsed .brand div:not(.brand-icon),
  .sidebar.collapsed .user-card div:not(.avatar),
  .sidebar.collapsed .system-menu span,
  .sidebar.collapsed .logout span{
    display:block !important;
  }

  .sidebar.collapsed .hamb{
    display:inline-grid;
  }

  .sidebar.collapsed .system-menu summary{
    justify-content:flex-start;
    padding:10px 34px 10px 12px !important;
  }

  .sidebar.collapsed .system-menu summary:after{
    display:block !important;
  }

  .sidebar.collapsed .system-menu details a{
    display:flex !important;
  }

  .sidebar.collapsed + .main{
    margin-left:0 !important;
  }
}

.accounting-filter{
  display:flex;
  align-items:end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.accounting-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px;
  padding:14px;
}

.accounting-tabs a{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 14px;
  font-weight:800;
  color:#243456;
  background:#fff;
}

.accounting-tabs a.active,
.accounting-tabs a:hover{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#0a63df,#0f766e);
}

.accounting-kpis{
  grid-template-columns:repeat(5,minmax(150px,1fr));
}

.accounting-card,
.accounting-grid{
  margin-bottom:20px;
}

.accounting-list{
  margin:0;
  padding-left:20px;
  color:#34405e;
  line-height:1.7;
  font-weight:650;
}

.accounting-checks{
  display:grid;
  gap:12px;
}

.accounting-checks > div{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#f8fbff;
}

.accounting-checks svg{
  flex:0 0 auto;
}

.accounting-checks .ok svg{
  color:var(--green);
}

.accounting-checks .warn svg{
  color:var(--orange);
}

.accounting-checks b,
.accounting-checks span{
  display:block;
}

.accounting-checks span{
  margin-top:3px;
  color:var(--muted);
  font-size:13px;
}

.accounting-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:12px;
}

.accounting-links a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fbff;
  color:#0a63df;
  font-weight:800;
}

.hint{
  color:var(--muted);
}

@media(max-width:1200px){
  .accounting-kpis,
  .accounting-links{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:720px){
  .accounting-kpis,
  .accounting-links{
    grid-template-columns:1fr;
  }

  .accounting-tabs a{
    width:100%;
  }
}

.srn-credit{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.srn-credit img{width:36px;height:24px;object-fit:contain;border-radius:5px;background:rgba(255,255,255,.72);padding:2px}
