/* SIARSIP Taste Layer: premium layout, glass, bento cards, motion-safe animation */
:root{
  --taste-ink:#0b1220;
  --taste-muted:#64748b;
  --taste-primary:#2563eb;
  --taste-accent:#14b8a6;
  --taste-violet:#7c3aed;
  --taste-gold:#f59e0b;
  --taste-surface:rgba(255,255,255,.78);
  --taste-border:rgba(148,163,184,.24);
  --taste-shadow:0 24px 80px rgba(15,23,42,.13);
}
html{scroll-behavior:smooth}
body{letter-spacing:-.01em;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:-25%;z-index:-2;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(37,99,235,.20),transparent 28%),radial-gradient(circle at 88% 4%,rgba(20,184,166,.16),transparent 26%),radial-gradient(circle at 50% 100%,rgba(124,58,237,.11),transparent 30%);filter:saturate(1.15)}
::selection{background:rgba(37,99,235,.18)}
.navbar,.header,.sidebar,.card,.doc-card,.soft-card,.hero-card,.dropdown-menu,.alert,.login-hero{backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
.navbar{box-shadow:0 18px 55px rgba(15,23,42,.08)!important}
.navbar-brand,.sidebar-brand{letter-spacing:-.035em}.navbar .nav-link{position:relative}.navbar .nav-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.25rem;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--taste-primary),var(--taste-accent));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.navbar .nav-link:hover::after{transform:scaleX(1)}
.hero,.page-hero{position:relative;overflow:hidden;isolation:isolate}.hero::before,.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 20%,rgba(255,255,255,.34),transparent 24%),radial-gradient(circle at 75% 15%,rgba(255,255,255,.18),transparent 20%),linear-gradient(110deg,rgba(255,255,255,.10),transparent 40%);z-index:-1}.hero::after,.page-hero::after{content:"";position:absolute;width:28rem;height:28rem;border-radius:999px;right:-9rem;bottom:-13rem;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);z-index:-1;animation:tasteFloat 9s ease-in-out infinite alternate}
.display-4,.display-5,.display-6,.section-title,h1,h2,h3,h4{letter-spacing:-.055em}.lead{color:rgba(255,255,255,.78)}
.soft-card,.hero-card,.doc-card,.card{border:1px solid var(--taste-border)!important;background:var(--taste-surface)!important;box-shadow:var(--taste-shadow)!important}.doc-card,.soft-card,.card{position:relative;overflow:hidden}.doc-card::before,.soft-card::before,.card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.34),transparent 38%);pointer-events:none}.doc-card:hover,.soft-card:hover,.card:hover{transform:translateY(-4px);transition:transform .24s ease,box-shadow .24s ease;box-shadow:0 30px 95px rgba(15,23,42,.17)!important}.card-stat{background:linear-gradient(135deg,#1d4ed8,#0f766e 55%,#7c3aed)!important;color:#fff!important}.card-stat::after{content:"";position:absolute;width:9rem;height:9rem;right:-3rem;top:-3rem;border-radius:999px;background:rgba(255,255,255,.16)}
.btn{position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(37,99,235,.13);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(37,99,235,.22)}.btn:active{transform:translateY(0)}.btn-primary,.btn-success{background:linear-gradient(135deg,var(--taste-primary),var(--taste-accent))!important;border:0!important}.btn-outline-primary{border-color:rgba(37,99,235,.36)!important}.badge,.page-link,.form-control,.form-select,.input-group-text{border-color:var(--taste-border)!important}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .25rem rgba(37,99,235,.10)!important;border-color:rgba(37,99,235,.45)!important}
.table{--cui-table-bg:transparent}.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;border-bottom-color:rgba(148,163,184,.25)}.table tbody tr{transition:background .18s ease}.table tbody tr:hover{background:rgba(37,99,235,.045)}.pagination .page-link{border-radius:999px!important;margin:.12rem;color:var(--taste-primary)}.pagination .active .page-link{background:linear-gradient(135deg,var(--taste-primary),var(--taste-accent));border:0;color:#fff}.public-pdf-preview{border-radius:1.25rem;box-shadow:var(--taste-shadow);background:#fff}.iconbox,.brand-icon,.brand-badge{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 35px rgba(37,99,235,.20)}
.sidebar{background:linear-gradient(180deg,#0b1220,#111827 55%,#0f172a)!important}.sidebar-nav .nav-link{border-radius:.85rem;margin:.12rem .7rem;transition:background .2s ease,transform .2s ease}.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:linear-gradient(135deg,rgba(37,99,235,.36),rgba(20,184,166,.24))!important;transform:translateX(3px)}.header{background:rgba(255,255,255,.82)!important}.footer{background:linear-gradient(135deg,#0b1220,#111827)!important}
.taste-reveal{opacity:0;transform:translateY(18px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1)}.taste-reveal.in-view{opacity:1;transform:none}.taste-reveal:nth-child(2){transition-delay:.06s}.taste-reveal:nth-child(3){transition-delay:.12s}.taste-reveal:nth-child(4){transition-delay:.18s}
@keyframes tasteFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2rem,-1rem,0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.taste-reveal{opacity:1!important;transform:none!important}.doc-card:hover,.soft-card:hover,.card:hover,.btn:hover{transform:none!important}}
@media(max-width:767.98px){.soft-card,.hero-card,.doc-card,.card{box-shadow:0 16px 45px rgba(15,23,42,.10)!important}.doc-card:hover,.soft-card:hover,.card:hover{transform:none}.navbar{backdrop-filter:blur(10px)}body::before{inset:-10%}}

/* Backend icon spacing polish */
.sidebar-nav .nav-link{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:48px!important;
  padding:.82rem 1rem!important;
}
.sidebar-nav .nav-icon{
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  margin-right:0!important;
  font-size:1.12rem!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.95;
}
.sidebar-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.sidebar-brand .brand-icon{margin-right:0!important;flex:0 0 34px}
.sidebar-nav .nav-title{
  padding:.9rem 1.2rem .35rem!important;
  margin-top:.8rem!important;
  letter-spacing:.08em!important;
}
.header-nav{display:flex!important;align-items:center!important;gap:8px!important}
.header-nav .nav-link{
  min-width:42px!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
}
.header-nav .nav-link:hover{background:rgba(37,99,235,.08)!important}
.dropdown-item,.dropdown-item-text{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.dropdown-item-text{display:block!important}
.dropdown-item i{width:20px!important;min-width:20px!important;text-align:center!important;margin-right:0!important}
.card .card-title i,.card-header i,.content-title i,.breadcrumb i{
  margin-right:.6rem!important;
}
.btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.btn i,.btn .icon{
  margin-right:0!important;
  width:1.05em!important;
  min-width:1.05em!important;
  text-align:center!important;
}
.btn-group,.action-icons,.table .btn-group{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.btn-group>.btn{border-radius:.55rem!important;margin-left:0!important}
.table .btn,.action-icons .btn{min-width:36px!important;min-height:36px!important;padding:.45rem .65rem!important}
.input-group-text i,.form-label i{
  margin-right:.5rem!important;
}
.card-stat .card-body{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
}
.card-stat .icon,.card-stat i{
  margin-right:0!important;
}
@media(max-width:991.98px){
  .sidebar-nav .nav-link{min-height:50px!important;gap:14px!important}
  .header-nav{gap:6px!important}
  .table .btn,.action-icons .btn{min-width:38px!important;min-height:38px!important}
}
