:root{
  --ios-bg:#f3e5e7;
  --ios-burdigala:#781428;
  --ios-muted:#8b7a80;
  --safe-top:env(safe-area-inset-top);
  --safe-bottom:env(safe-area-inset-bottom);
}

html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  background:var(--ios-bg);
  -webkit-text-size-adjust:100%;
}

body{
  background:
    radial-gradient(circle at 22% 4%, rgba(120,20,40,.16), transparent 18rem),
    radial-gradient(circle at 90% 22%, rgba(210,80,115,.16), transparent 16rem),
    linear-gradient(180deg,#f4e6e8 0%,#fff7f3 100%)!important;
  -webkit-font-smoothing:antialiased;
  overscroll-behavior-y:none;
  touch-action:manipulation;
}

body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,sans-serif!important;
}

.app-shell{
  width:100%;
  max-width:100%;
  padding:max(10px,calc(var(--safe-top) + 8px)) 14px calc(116px + var(--safe-bottom)) 14px!important;
  box-sizing:border-box;
}

.content{padding-top:0!important;animation:iosFadeUp .22s ease both}
@keyframes iosFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.glass-panel{
  background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(255,255,255,.52))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 20px 60px rgba(120,20,40,.10),inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(24px) saturate(165%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(165%)!important;
}

.topbar,.topbar-minimal{
  position:sticky!important;
  top:max(8px,env(safe-area-inset-top))!important;
  z-index:90!important;
  min-height:62px!important;
  padding:9px 11px!important;
  margin:0 0 12px!important;
  border-radius:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}

.brand,.brand-minimal{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;min-width:0}
.brand-orb{
  width:44px!important;height:44px!important;border-radius:15px!important;
  background:radial-gradient(circle at 30% 20%,#df5d7a 0%,rgba(223,93,122,0) 36%),linear-gradient(145deg,#bd294e 0%,#781428 75%)!important;
  box-shadow:0 10px 28px rgba(120,20,40,.20),inset 0 1px 1px rgba(255,255,255,.22)!important;
  color:#fff!important;display:grid!important;place-items:center!important;font-size:17px!important;font-weight:950!important;letter-spacing:-.04em;flex:0 0 auto;
}

.brand strong,.brand-minimal strong{display:block;color:#781428;font-size:16px!important;line-height:1!important;font-weight:850;letter-spacing:-.03em;white-space:nowrap}
.brand small,.brand-minimal small{display:block;margin-top:3px;color:var(--ios-muted);font-size:12px!important;font-weight:600;white-space:nowrap}

.quick-actions{position:relative!important;z-index:1000!important;flex:0 0 auto}
.quick-actions-trigger{
  width:50px!important;height:50px!important;border-radius:18px!important;border:1px solid rgba(120,20,40,.08)!important;
  background:rgba(255,255,255,.72)!important;color:#781428!important;display:grid!important;place-items:center!important;
  box-shadow:0 10px 28px rgba(120,20,40,.12),inset 0 1px 0 rgba(255,255,255,.8)!important;
  backdrop-filter:blur(22px) saturate(160%)!important;-webkit-backdrop-filter:blur(22px) saturate(160%)!important;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.quick-actions-trigger span{display:block;font-size:20px!important;letter-spacing:2px!important;line-height:1!important;transform:translateY(-1px)}

.quick-actions-panel{
  position:fixed!important;top:calc(env(safe-area-inset-top) + 82px)!important;left:14px!important;right:14px!important;width:auto!important;max-width:430px!important;margin:0 auto!important;
  padding:12px!important;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important;border-radius:30px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.66))!important;border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 28px 90px rgba(120,20,40,.24),inset 0 1px 0 rgba(255,255,255,.8)!important;
  backdrop-filter:blur(32px) saturate(180%)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important;
  opacity:0!important;visibility:hidden!important;transform:translateY(-8px) scale(.97)!important;transition:.22s cubic-bezier(.2,.8,.2,1)!important;pointer-events:none;
}
.quick-actions.open .quick-actions-panel{opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important;pointer-events:auto}

.quick-action-card{
  min-height:88px!important;border-radius:23px!important;padding:12px!important;
  background:radial-gradient(circle at top right,rgba(120,20,40,.13),transparent 70%),rgba(255,255,255,.72)!important;
  border:1px solid rgba(120,20,40,.08)!important;box-shadow:0 12px 30px rgba(120,20,40,.08)!important;color:#781428!important;
  display:flex!important;flex-direction:column!important;justify-content:space-between!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent;
}
.quick-action-card span,.quick-action-form span{
  width:36px!important;height:36px!important;border-radius:14px!important;display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,#781428,#a92845)!important;color:#fff!important;font-size:18px!important;box-shadow:0 12px 24px rgba(120,20,40,.20)!important;
}
.quick-action-card strong{font-size:13px!important;font-weight:850;letter-spacing:-.02em}
.quick-action-form{padding:0!important}
.quick-action-form button{width:100%!important;height:100%!important;border:0!important;background:transparent!important;padding:12px!important;cursor:pointer!important;color:#781428!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;text-align:left!important;font:inherit!important;font-weight:850!important}

.page-heading,.dashboard-hero,.dashboard-header,.home-hero{padding-top:0!important;margin-top:0!important;margin-bottom:14px!important}
.page-heading h1,.dashboard-hero h1,.home-hero h1{font-size:clamp(38px,10.4vw,54px)!important;line-height:.92!important;letter-spacing:-.075em!important;margin:6px 0 8px!important}
.page-heading p,.dashboard-hero p,.home-hero p{margin:0!important;font-size:18px!important;line-height:1.25!important}

.hero-card,.finance-hero,.compta-hero,.section-card,.form-card,.expense-card,.finance-card,.compta-alert,.export-card{border-radius:30px!important}

.bottom-nav{
  position:fixed!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;height:74px!important;z-index:100!important;border-radius:32px!important;padding:8px!important;
  display:grid!important;grid-template-columns:1fr 1fr 86px 1fr 1fr!important;align-items:center!important;
}
.bottom-nav a{min-width:0!important;min-height:56px!important;border-radius:24px!important;display:grid!important;place-items:center!important;gap:2px!important;text-decoration:none!important;color:#8b7a80!important;font-weight:850!important;-webkit-tap-highlight-color:transparent}
.bottom-nav a span{font-size:23px!important;line-height:1!important}
.bottom-nav a small{font-size:11px!important;font-weight:850!important}
.bottom-nav a.active{background:rgba(120,20,40,.08)!important;color:#781428!important}
.bottom-nav .fab{
  width:74px!important;height:74px!important;min-height:74px!important;border-radius:29px!important;transform:translateY(-20px)!important;
  background:linear-gradient(145deg,#a01639,#781428)!important;box-shadow:0 18px 44px rgba(120,20,40,.28),inset 0 1px 0 rgba(255,255,255,.22)!important;color:#fff!important;
}
.bottom-nav .fab span{font-size:42px!important;font-weight:750!important}

input,select,textarea,.field{border-radius:20px!important;font-size:16px!important}
.primary-btn,.secondary-btn,.ghost-btn{border-radius:22px!important;min-height:52px!important;-webkit-tap-highlight-color:transparent}

@media(max-width:390px){
  .brand strong,.brand-minimal strong,.brand small,.brand-minimal small{display:none!important}
  .bottom-nav{left:10px!important;right:10px!important;grid-template-columns:1fr 1fr 78px 1fr 1fr!important}
  .bottom-nav .fab{width:68px!important;height:68px!important;min-height:68px!important}
}
