/**
 * Amanda Estética — Tema Premium iOS rosa e glassmorphism.
 * Ordem de carregamento importante: este arquivo faz parte da cascata modular.
 */

/* v1.2.0 — Visual premium iOS / glassmorphism rosa */
:root{
  --bg:#f8f1f5;
  --surface:rgba(255,255,255,.56);
  --surface-soft:rgba(255,246,250,.78);
  --surface-rose:rgba(252,227,236,.72);
  --ink:#2d2330;
  --muted:#7d6d76;
  --line:rgba(214,186,198,.48);
  --rose:#d45f92;
  --rose-dark:#ab3f6d;
  --rose-light:#f5c8da;
  --gold:#d2aa67;
  --success:#4c8b6f;
  --warn:#bb8240;
  --danger:#c25566;
  --shadow:0 24px 70px rgba(117,73,91,.14);
  --shadow-sm:0 10px 28px rgba(117,73,91,.10);
  --glass-blur:blur(22px) saturate(145%);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 12% 15%, rgba(255,225,238,.92), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(255,238,247,.78), transparent 24%),
    radial-gradient(circle at 85% 88%, rgba(242,215,228,.72), transparent 28%),
    linear-gradient(180deg, #fcf7fa 0%, #f8eff4 100%);
}
body::before,body::after{
  content:"";position:fixed;inset:auto;pointer-events:none;z-index:0;border-radius:50%;filter:blur(55px);opacity:.55;
}
body::before{width:280px;height:280px;left:-70px;top:90px;background:rgba(255,211,228,.85)}
body::after{width:320px;height:320px;right:-110px;bottom:40px;background:rgba(244,206,222,.75)}
#root,#modal-root,#toast-root{position:relative;z-index:1}

.sidebar,
.topbar,
.mobile-bottom-nav,
.panel,
.list-panel,
.client-card,
.protocol-card,
.record-card,
.package-card,
.photo-card,
.client-compact-card,
.protocol-compact-card,
.product-compact-card,
.product-card,
.agenda-day,
.mini-summary>div,
.stat-card,
.hero-card,
.login-card,
.profile-photo-editor,
.backup-list>div,
.check-field,
.empty-state,
.inline-filter,
.global-search,
.view-switcher,
.filter-segmented{
  background:rgba(255,255,255,.58)!important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:var(--shadow-sm)!important;
}

.sidebar{
  background:linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,248,251,.50) 100%)!important;
  border-right:1px solid rgba(255,255,255,.46)!important;
}
.sidebar-brand{border-bottom:1px solid rgba(255,255,255,.36)}
.topbar{
  background:rgba(251,245,248,.52)!important;
  border-bottom:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 28px rgba(132,88,106,.08);
}
.mobile-bottom-nav{
  background:rgba(255,251,253,.72)!important;
  border-top:1px solid rgba(255,255,255,.48)!important;
}
.hero-card{
  background:
    linear-gradient(135deg, rgba(255,255,255,.65) 0%, rgba(255,243,248,.60) 55%, rgba(247,215,229,.58) 100%)!important;
  border-radius:30px;
  box-shadow:0 28px 70px rgba(167,98,126,.16)!important;
}
.hero-card:before{
  content:"";position:absolute;inset:auto auto -80px -40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 70%);
}
.hero-card:after{border-color:rgba(214,97,145,.16)}

.brand-mark,.mobile-brand-mark{
  background:linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(246,220,231,.92) 100%);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 12px 28px rgba(185,112,143,.17), inset 0 1px 0 rgba(255,255,255,.72);
}

.nav-item,.icon-btn,.btn,.profile-mini,.profile-login,.view-mode-button,.filter-segmented button,.mobile-bottom-nav button,.compact-card-main,.client-card-main,.text-button,.list-row,.appointment-card,.agenda-day>header,.product-card,.protocol-card,.package-card,.client-card,.protocol-compact-card,.product-compact-card,.client-compact-card{
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    box-shadow .32s cubic-bezier(.22,1,.36,1),
    background-color .28s ease,
    border-color .28s ease,
    opacity .28s ease,
    color .28s ease;
  will-change:transform;
}
.nav-item:hover,.profile-mini:hover,.profile-login:hover,.view-mode-button:hover,.filter-segmented button:hover,.mobile-bottom-nav button:hover,
.client-card-main:hover,.compact-card-main:hover,.list-row:hover,.appointment-card:hover{
  transform:translateY(-1px);
}
.client-card:hover,.protocol-card:hover,.package-card:hover,.product-card:hover,.client-compact-card:hover,.protocol-compact-card:hover,.product-compact-card:hover,.panel:hover,.stat-card:hover,.agenda-day:hover,.list-panel:hover,.photo-card:hover,.record-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(135,86,105,.14)!important;
}
.nav-item.active,.mobile-bottom-nav button.active{
  background:linear-gradient(135deg, rgba(249,219,231,.86), rgba(255,243,248,.72))!important;
  box-shadow:inset 0 0 0 1px rgba(229,178,199,.55), 0 8px 22px rgba(209,115,154,.12);
}

.icon-btn,
.btn,
.fab{
  border-color:rgba(255,255,255,.44)!important;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}
.icon-btn{
  background:rgba(255,255,255,.36)!important;
  box-shadow:0 8px 20px rgba(134,85,104,.08);
}
.icon-btn:hover{
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 14px 28px rgba(134,85,104,.14);
}
.btn{
  border-radius:14px;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(135,86,104,.08);
}
.btn:active,.icon-btn:active,.fab:active,.view-mode-button:active,.filter-segmented button:active,.nav-item:active{transform:scale(.985)}
.btn.primary,.fab{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg, rgba(220,103,150,.96) 0%, rgba(198,85,131,.96) 100%)!important;
  box-shadow:0 18px 35px rgba(209,96,144,.30), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.btn.primary::before,.fab::before{
  content:"";position:absolute;left:8%;right:8%;top:2px;height:48%;border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0));pointer-events:none;
}
.btn.primary:hover,.fab:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(209,96,144,.36), inset 0 1px 0 rgba(255,255,255,.35)!important}
.btn.secondary,.filter-segmented,.view-switcher{
  background:rgba(255,255,255,.45)!important;
}
.btn.ghost{
  background:rgba(255,255,255,.40)!important;
}

.global-search,
.inline-filter,
.field input,.field select,.field textarea{
  background:rgba(255,255,255,.48)!important;
  border:1px solid rgba(255,255,255,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48), 0 8px 20px rgba(130,84,102,.05);
}
.field input,.field select,.field textarea{border-radius:14px;padding:11px 12px}
.field input:focus,.field select:focus,.field textarea:focus,.inline-filter input:focus,.global-search input:focus{
  border-color:rgba(214,102,148,.65)!important;
  box-shadow:0 0 0 4px rgba(212,95,146,.10), inset 0 1px 0 rgba(255,255,255,.55)!important;
}
.inline-filter input{background:rgba(255,255,255,.50)!important}
.check-field{background:rgba(255,255,255,.42)!important}

.stat-card,
.panel,
.list-panel,
.client-card,
.protocol-card,
.record-card,
.package-card,
.photo-card,
.agenda-day,
.client-compact-card,
.protocol-compact-card,
.product-compact-card,
.product-card,
.empty-state,
.login-card,
.modal{
  border-radius:22px!important;
}
.list-panel{overflow:clip}
.list-row,.appointment-card{border-bottom:1px solid rgba(229,213,220,.54)!important}
.client-metrics,.package-details span,.product-card-values span,.compact-protocol-values span,.compact-stock span,.compact-metrics>span,.protocol-numbers span,.client-card-actions,.agenda-day>header,.mini-summary>div,.soft-empty,.date-badge,.protocol-icon,.record-icon,.stat-icon{
  background:rgba(255,255,255,.42)!important;
  border:1px solid rgba(255,255,255,.28);
}
.client-metrics{backdrop-filter:blur(10px)}
.protocol-icon,.record-icon,.date-badge,.stat-icon,.small-icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 18px rgba(144,88,112,.08);
}
.date-badge,.stat-icon,.protocol-icon,.record-icon,.small-icon{
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(248,228,236,.84))!important;
}

.profile-avatar{
  box-shadow:0 16px 30px rgba(206,105,147,.26), inset 0 1px 0 rgba(255,255,255,.35);
  border:2px solid rgba(255,255,255,.55);
}
.profile-avatar.large,.profile-avatar.xlarge{outline:6px solid rgba(255,255,255,.22)}

.modal-backdrop{
  background:rgba(46,34,41,.26)!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
}
.modal{
  background:linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,249,252,.68) 100%)!important;
  border:1px solid rgba(255,255,255,.46)!important;
  box-shadow:0 40px 100px rgba(58,38,47,.24)!important;
}
.modal-header,.modal-footer{background:rgba(255,255,255,.20)}

.toast{
  background:rgba(52,39,46,.84)!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  border:1px solid rgba(255,255,255,.12);
}
.toast.error{background:rgba(143,57,69,.88)!important}
.toast.warn{background:rgba(139,100,46,.88)!important}

.finance-type.income,.chip.success{background:rgba(228,242,234,.82)!important}
.finance-type.expense,.chip.danger{background:rgba(250,227,230,.82)!important}
.chip.warn{background:rgba(255,240,218,.86)!important}
.chip{border:1px solid rgba(255,255,255,.36)}

.login-page{
  background:
    radial-gradient(circle at 18% 18%, rgba(255,224,236,.92) 0, transparent 33%),
    radial-gradient(circle at 86% 12%, rgba(255,238,246,.82) 0, transparent 28%),
    radial-gradient(circle at 82% 88%, rgba(244,214,226,.78) 0, transparent 32%),
    linear-gradient(180deg,#fdf8fb 0%,#f7eef4 100%);
}
.login-shell{padding-block:56px}
.login-brand h1{letter-spacing:-.06em}

@media (prefers-reduced-motion:no-preference){
  .hero-card,.panel,.list-panel,.client-card,.protocol-card,.package-card,.product-card,.client-compact-card,.protocol-compact-card,.product-compact-card,.stat-card,.agenda-day,.photo-card,.record-card{animation:floatIn .55s cubic-bezier(.22,1,.36,1) both}
  @keyframes floatIn{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:860px){
  .sidebar{background:linear-gradient(180deg, rgba(255,252,253,.82), rgba(255,245,250,.72))!important}
  .topbar{background:rgba(252,246,249,.68)!important}
  .fab{box-shadow:0 18px 40px rgba(209,96,144,.34)!important}
}
