.dashboard-shortcuts{
  --ink:#273755;
  --soft-text:#7b8a9c;
  --icon-document:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 12h6M9 16h6'/%3E%3C/svg%3E");
  --icon-tag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12l9-9h7v7l-9 9z'/%3E%3Ccircle cx='16' cy='7' r='1'/%3E%3C/svg%3E");
  --icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E");
  --icon-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --icon-cube:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 4.5v11L12 22l-8-4.5v-11zM4 6.5l8 4.5 8-4.5M12 11v11'/%3E%3C/svg%3E");
  --icon-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1'/%3E%3C/svg%3E");
  --icon-factory:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10l6 3V9l6 3V5h4v16zM7 17h2M12 17h2M17 17h2'/%3E%3C/svg%3E");
  --icon-qr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h2v2h-2zM18 14h2v6h-2zM14 18h2v2h-2z'/%3E%3C/svg%3E");
  --icon-register:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v5H6zM5 8h14l2 12H3zM7 12h2M11 12h2M15 12h2M7 16h10'/%3E%3C/svg%3E");
  --icon-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E");
  --icon-chart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%3E%3C/svg%3E");
  --icon-list:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12M4 6h.01M4 12h.01M4 18h.01'/%3E%3C/svg%3E");
  --icon-money:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 8.5c-.8-.7-1.8-1-3-1-1.7 0-3 1-3 2.4 0 3.6 6 1.5 6 5.1 0 1.4-1.3 2.5-3.1 2.5-1.2 0-2.4-.4-3.2-1.2M12 5.5v13'/%3E%3C/svg%3E");
  --icon-undo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M5 12h8a6 6 0 010 12'/%3E%3C/svg%3E");
  --icon-user:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c.8-4.2 3.3-6.5 8-6.5s7.2 2.3 8 6.5'/%3E%3C/svg%3E");
  --icon-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-13a7 7 0 10-14 0c0 6.8 7 13 7 13z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
  --icon-gear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9L7 7M17 17l2.1 2.1M19.1 4.9L17 7M7 17l-2.1 2.1'/%3E%3C/svg%3E");
  margin:20px 0 30px;
}

.shortcut-section{
  --accent:#ff2e63;
  --accent2:#f41f55;
  margin-top:14px;
  padding:16px;
  border:1px solid #e7ebf0;
  border-radius:18px;
  background:#fff;
}
.shortcut-section:first-child{margin-top:0}
.shortcut-section:nth-child(1){--accent:#ff2d63;--accent2:#ef1f56}
.shortcut-section:nth-child(2){--accent:#ffc23b;--accent2:#f5ad19}
.shortcut-section:nth-child(3){--accent:#4d91b7;--accent2:#3d7fa4}
.shortcut-section:nth-child(4){--accent:#65d0c5;--accent2:#4ebeb3}
.shortcut-section:nth-child(5){--accent:#8a78df;--accent2:#715fca}

.shortcut-section-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}
.shortcut-section-head h2{
  margin:0;
  color:var(--ink);
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.02em;
  text-transform:none;
  white-space:nowrap;
  font-weight:850;
}
.shortcut-section-head::after{
  content:"";
  height:2px;
  flex:1;
  min-width:28px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--accent),transparent);
  opacity:.95;
}

.shortcut-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:10px;
}
.shortcut-card{
  --shortcut-icon:var(--icon-grid);
  appearance:none;
  min-width:0;
  min-height:116px;
  border:0;
  border-radius:12px;
  background:linear-gradient(145deg,var(--accent),var(--accent2))!important;
  color:#fff!important;
  padding:14px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(35,52,74,.14);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
  overflow:hidden;
  position:relative;
}
.shortcut-card::after{
  content:"";
  position:absolute;
  width:78px;
  height:78px;
  right:-34px;
  bottom:-38px;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.shortcut-card:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 22px rgba(35,52,74,.2);
  filter:saturate(1.03);
}
.shortcut-card:active{transform:translateY(0) scale(.985)}
.shortcut-card:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:3px}
.shortcut-card.hidden{display:none}

.shortcut-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.17)!important;
  border:1px solid rgba(255,255,255,.18);
  color:#fff!important;
  font-size:0;
  flex:0 0 auto;
}
.shortcut-icon::before{
  content:"";
  width:25px;
  height:25px;
  background:currentColor;
  -webkit-mask:var(--shortcut-icon) center/contain no-repeat;
  mask:var(--shortcut-icon) center/contain no-repeat;
}
.shortcut-label{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:13px;
  line-height:1.22;
  font-weight:800;
  text-wrap:balance;
  overflow-wrap:anywhere;
}

/* Iconografía limpia y específica por función */
.shortcut-section:nth-child(1) .shortcut-card:nth-child(1),
.shortcut-section:nth-child(1) .shortcut-card:nth-child(2),
.shortcut-section:nth-child(1) .shortcut-card:nth-child(4){--shortcut-icon:var(--icon-document)}
.shortcut-section:nth-child(1) .shortcut-card:nth-child(3){--shortcut-icon:var(--icon-tag)}
.shortcut-section:nth-child(1) .shortcut-card:nth-child(5){--shortcut-icon:var(--icon-search)}

.shortcut-section:nth-child(2) .shortcut-card:nth-child(1){--shortcut-icon:var(--icon-plus)}
.shortcut-section:nth-child(2) .shortcut-card:nth-child(2){--shortcut-icon:var(--icon-cube)}
.shortcut-section:nth-child(2) .shortcut-card:nth-child(3){--shortcut-icon:var(--icon-grid)}
.shortcut-section:nth-child(2) .shortcut-card:nth-child(4){--shortcut-icon:var(--icon-factory)}
.shortcut-section:nth-child(2) .shortcut-card:nth-child(5){--shortcut-icon:var(--icon-qr)}

.shortcut-section:nth-child(3) .shortcut-card:nth-child(1),
.shortcut-section:nth-child(3) .shortcut-card:nth-child(2){--shortcut-icon:var(--icon-register)}
.shortcut-section:nth-child(3) .shortcut-card:nth-child(3){--shortcut-icon:var(--icon-tag)}
.shortcut-section:nth-child(3) .shortcut-card:nth-child(4){--shortcut-icon:var(--icon-eye)}

.shortcut-section:nth-child(4) .shortcut-card:nth-child(1){--shortcut-icon:var(--icon-chart)}
.shortcut-section:nth-child(4) .shortcut-card:nth-child(2){--shortcut-icon:var(--icon-list)}
.shortcut-section:nth-child(4) .shortcut-card:nth-child(3){--shortcut-icon:var(--icon-money)}
.shortcut-section:nth-child(4) .shortcut-card:nth-child(4){--shortcut-icon:var(--icon-undo)}

.shortcut-section:nth-child(5) .shortcut-card:nth-child(1){--shortcut-icon:var(--icon-user)}
.shortcut-section:nth-child(5) .shortcut-card:nth-child(2){--shortcut-icon:var(--icon-pin)}
.shortcut-section:nth-child(5) .shortcut-card:nth-child(3){--shortcut-icon:var(--icon-gear)}

.dashboard-summary-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:28px 0 14px;
}
.dashboard-summary-title h2{
  margin:0;
  color:var(--ink);
  font-size:15px;
  letter-spacing:.01em;
  text-transform:none;
  white-space:nowrap;
}
.dashboard-summary-title::after{
  content:"";
  height:1px;
  background:#dbe2e9;
  flex:1;
}

@media(max-width:780px){
  .shortcut-section{padding:14px}
  .shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shortcut-card{min-height:108px}
}

@media(max-width:560px){
  #page-dashboard .page-title{
    display:block;
    margin:8px 0 14px;
  }
  #page-dashboard .page-title h1{
    margin:0!important;
    font-size:0!important;
    line-height:1!important;
  }
  #page-dashboard .page-title h1::before{
    content:"Hola";
    display:block;
    color:#2c3952;
    font-size:40px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
  }
  #page-dashboard .page-title h1::after{
    content:"¿Qué deseas hacer hoy?";
    display:block;
    margin-top:12px;
    color:#2e3b52;
    font-size:20px;
    line-height:1.2;
    font-weight:500;
    letter-spacing:-.02em;
  }
  #page-dashboard #companyRuc{display:none}
  .dashboard-shortcuts{margin-top:12px}
  .shortcut-section{margin-top:10px;padding:12px;border-radius:15px}
  .shortcut-section-head{margin-bottom:10px}
  .shortcut-section-head h2{font-size:17px}
  .shortcut-section-head::after{height:2px}
  .shortcut-section:nth-child(1) .shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .shortcut-section:nth-child(2) .shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shortcut-section:nth-child(3) .shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .shortcut-section:nth-child(4) .shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .shortcut-section:nth-child(5) .shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shortcut-grid{gap:7px}
  .shortcut-card{
    min-height:108px;
    border-radius:10px;
    padding:10px 5px;
    gap:7px;
    box-shadow:0 5px 12px rgba(35,52,74,.13);
  }
  .shortcut-icon{width:40px;height:40px;border-radius:10px}
  .shortcut-icon::before{width:23px;height:23px}
  .shortcut-label{font-size:11.5px;line-height:1.18}
  .dashboard-summary-title{margin-top:22px}
}

@media(max-width:390px){
  .shortcut-section{padding:10px}
  .shortcut-grid{gap:6px}
  .shortcut-card{min-height:104px;padding:9px 4px}
  .shortcut-icon{width:38px;height:38px}
  .shortcut-icon::before{width:22px;height:22px}
  .shortcut-label{font-size:11px}
}
