
:root{--bg:#07080C;--panel:#0D1016;--panel2:#121722;--text:#F7F8FB;--muted:#9CA6B5;--line:#202633;--teal:#8B7CFF;--accent2:#5B8CFF;--warn:#F6B94A;--danger:#FF6B7A;--ok:#39D98A}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#090B10,#0D1017 60%,#090B10);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{border:0;border-radius:14px;padding:12px 14px;font-weight:800;background:var(--teal);color:#FFFFFF;cursor:pointer}button:disabled{opacity:.45}
.secondary{background:#1D2330;color:var(--text)}.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.danger{background:var(--danger);color:white}.warn{background:var(--warn);color:#261700}
input,select,textarea{width:100%;padding:13px 14px;border-radius:13px;border:1px solid #303746;background:#0D1118;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--teal)}
.app{max-width:760px;margin:auto;min-height:100vh;padding-bottom:92px}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.84rem}
.top{position:sticky;top:0;z-index:30;background:rgba(7,17,31,.94);backdrop-filter:blur(16px);padding:16px;border-bottom:1px solid var(--line)}
.topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.top h1{font-size:1.4rem;margin:0}.row{display:flex;gap:9px;align-items:center}.row>*{flex:1}
.hero{padding:30px 18px 8px}.hero h2{font-size:2.25rem;letter-spacing:-.04em;margin:8px 0}.pill{display:inline-block;padding:7px 10px;border-radius:999px;background:#1A2030;color:#D9D3FF;font-size:.8rem;font-weight:800}
.card{margin:12px 14px;padding:16px;border-radius:19px;background:linear-gradient(180deg,var(--panel),#0F131B);border:1px solid var(--line);box-shadow:0 10px 25px #0002}
h2,h3{margin:0 0 10px}.field{margin:10px 0 5px;font-size:.82rem;font-weight:750;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 14px}.stat{padding:14px;border-radius:17px;background:var(--panel);border:1px solid var(--line)}.stat b{display:block;font-size:1.75rem;margin-top:3px}
.section{display:none}.section.active{display:block}.nav{position:fixed;bottom:0;left:0;right:0;max-width:760px;margin:auto;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 5px max(7px,env(safe-area-inset-bottom));background:rgba(8,17,30,.97);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.nav button{background:transparent;color:var(--muted);padding:8px 2px;font-size:.73rem}.nav button.active{color:var(--teal);background:#171D2B}.nav .plus{font-size:1.25rem;background:var(--teal);color:#FFFFFF}
.product{display:flex;gap:11px;align-items:center}.thumb{width:52px;height:52px;border-radius:13px;object-fit:cover;background:#171C27;flex:0 0 auto}.product-main{flex:1;min-width:0}.product-name{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qty{display:flex;gap:6px;align-items:center}.qty button{width:38px;height:38px;padding:0}.qty strong{min-width:26px;text-align:center}
.tag{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.72rem;margin-top:5px;background:#1d2b42}.tag.low{background:#4a3211;color:#ffd58a}.tag.out{background:#4b171a;color:#ffb3b3}.tag.ok{background:#123926;color:#a7f3c2}.tag.exp{background:#48243b;color:#ffc1e8}
.list-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.check{width:22px;height:22px;accent-color:var(--teal);flex:0 0 auto}.price{max-width:95px}
.search{margin:12px 14px}.filters{display:flex;gap:7px;overflow:auto;padding:0 14px 5px}.filters button{white-space:nowrap;padding:8px 11px;font-size:.78rem;background:#171C27;color:#c9d6e7}.filters button.active{background:var(--teal);color:#FFFFFF}
.notice{margin:12px 14px;padding:13px 14px;border-radius:15px;background:#171D2B;border:1px solid #333A57;color:#D8DCFF;line-height:1.45}.success{color:#86efac}.error{color:#fca5a5}
.budget{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.budget div{padding:10px;text-align:center;border-radius:12px;background:#0D1118}.budget b{display:block}
.calc{position:fixed;left:0;right:0;bottom:69px;max-width:760px;margin:auto;z-index:35;background:#10141D;border-top:1px solid var(--line);transform:translateY(calc(100% - 54px));transition:.22s}.calc.open{transform:translateY(0)}.calc-head{height:54px;padding:8px 14px;display:flex;justify-content:space-between;align-items:center}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 14px 14px}.calc-grid button{background:#1D2330;color:white}.calc-grid .op{background:var(--warn);color:#261700}
.modal{position:fixed;inset:0;z-index:80;background:#000a;display:grid;place-items:end center}.sheet{width:100%;max-width:760px;max-height:92vh;overflow:auto;padding:18px 16px max(24px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#0b1727;border:1px solid var(--line)}.sheethead{display:flex;justify-content:space-between;align-items:center}.iconbtn{width:42px;height:42px;padding:0;background:#1D2330;color:white}
.code{font-family:ui-monospace,monospace;letter-spacing:.1em;text-align:center;padding:12px;border-radius:12px;border:1px dashed #34506d;background:#090B10;font-weight:900}
.scanner{position:relative;overflow:hidden;border-radius:18px;background:#000;aspect-ratio:3/4}.scanner video{width:100%;height:100%;object-fit:cover}.scanline{position:absolute;left:10%;right:10%;top:50%;height:2px;background:#7C5CFF;box-shadow:0 0 14px #7C5CFF}.photo-preview{width:100%;max-height:220px;object-fit:cover;border-radius:15px;margin-top:8px}
.empty{text-align:center;padding:30px 18px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:17px 0}
@media(min-width:640px){.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}}


/* ---------- Finitions visuelles ---------- */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overscroll-behavior-y:none;
}
.top{
  padding-top:max(16px,env(safe-area-inset-top));
}
.brandblock h1{
  letter-spacing:-.035em;
}
.header-sub{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:3px;
}
.live-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 0 4px rgba(45,212,191,.10);
  flex:0 0 auto;
}
.card{
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
button{
  min-height:44px;
  transition:transform .12s ease,filter .12s ease,opacity .12s ease;
  -webkit-tap-highlight-color:transparent;
}
button:active{transform:scale(.97)}
.nav button:active{transform:none;background:#171D2B}
.actions{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.actions button{
  min-height:54px;
  font-size:.92rem;
}
.stat{
  position:relative;
  overflow:hidden;
}
.stat:after{
  content:"";
  position:absolute;
  width:64px;height:64px;
  right:-24px;top:-24px;
  border-radius:50%;
  background:rgba(45,212,191,.06);
}
.stat b{letter-spacing:-.04em}
.form-card{padding-bottom:20px}
.form-intro{margin:-4px 0 2px;line-height:1.35}
.scan-btn{white-space:nowrap}
.product{
  padding-top:14px;
  padding-bottom:14px;
}
.product .thumb{
  border:1px solid #2a3b52;
  box-shadow:0 6px 18px #0003;
}
.product-name{font-size:1.02rem}
.filters{
  scrollbar-width:none;
}
.filters::-webkit-scrollbar{display:none}
.filters button{
  border:1px solid transparent;
}
.filters button.active{
  box-shadow:0 0 0 3px rgba(45,212,191,.08);
}
.notice{
  font-weight:650;
}
.scanner{
  border:1px solid #27435a;
  box-shadow:inset 0 0 0 1px #0005,0 14px 40px #0005;
}
.scan-target{
  position:absolute;
  inset:18% 10%;
  pointer-events:none;
}
.scan-target i{
  position:absolute;
  width:34px;height:34px;
  border-color:var(--teal);
  border-style:solid;
  filter:drop-shadow(0 0 8px rgba(45,212,191,.6));
}
.scan-target i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:12px 0 0 0}
.scan-target i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 12px 0 0}
.scan-target i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 12px}
.scan-target i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 12px 0}
.scanline{
  animation:scanmove 2.2s ease-in-out infinite alternate;
}
@keyframes scanmove{
  from{top:34%}
  to{top:66%}
}
.toast{
  position:fixed;
  left:50%;
  bottom:calc(92px + env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(calc(100% - 28px),560px);
  z-index:120;
  background:#171D2B;
  border:1px solid #2c4865;
  box-shadow:0 14px 35px #0007;
  color:#edf8ff;
  border-radius:15px;
  padding:13px 15px;
  font-weight:750;
  text-align:center;
}
.toast.success{border-color:#3B2F73;background:#17152A;color:#E6E0FF}
.toast.error{border-color:#6b2e35;background:#35171b;color:#ffd0d4}
.empty:before{
  content:"📦";
  display:block;
  font-size:2rem;
  margin-bottom:8px;
  opacity:.75;
}
#shoppingList .empty:before{content:"🛒"}
#historyList .empty:before{content:"↺"}
.sheet{
  box-shadow:0 -20px 60px #0008;
}
.sheethead h3{
  letter-spacing:-.02em;
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Modern theme override */
body {
  background:
    radial-gradient(circle at 20% 0%, rgba(124,92,255,.14), transparent 32%),
    radial-gradient(circle at 100% 20%, rgba(79,124,255,.10), transparent 28%),
    linear-gradient(180deg,#090B10,#0D1017 60%,#090B10);
}
button {
  background:linear-gradient(135deg,#7C5CFF,#4F7CFF);
  color:white;
  box-shadow:0 8px 24px rgba(92,92,255,.18);
}
button.secondary {
  background:#1A1F2A;
  color:#F5F7FB;
  box-shadow:none;
  border:1px solid #2A3040;
}
button.ghost {
  background:transparent;
  border:1px solid #2A3040;
  color:#98A2B3;
  box-shadow:none;
}
.nav button.active {
  color:#CFC7FF;
  background:#17182A;
}
.nav .plus {
  background:linear-gradient(135deg,#7C5CFF,#4F7CFF);
  color:white;
  box-shadow:0 8px 26px rgba(124,92,255,.28);
}
.pill {
  background:#17182A;
  color:#DAD4FF;
  border:1px solid #2C2D49;
}
.live-dot {
  background:#7C5CFF;
  box-shadow:0 0 0 4px rgba(124,92,255,.12);
}
.stat:after {
  background:rgba(124,92,255,.07);
}
.filters button.active {
  background:linear-gradient(135deg,#7C5CFF,#4F7CFF);
  color:white;
  box-shadow:0 0 0 3px rgba(124,92,255,.08);
}
.tag.ok {
  background:#10271F;
  color:#A7F3D0;
}
.tag.low {
  background:#332613;
  color:#FFD38A;
}
.tag.out {
  background:#35181D;
  color:#FFB8C0;
}
.tag.exp {
  background:#281B39;
  color:#D8C0FF;
}
.scan-target i {
  border-color:#9B8CFF;
  filter:drop-shadow(0 0 8px rgba(124,92,255,.65));
}
.scanline {
  background:linear-gradient(90deg,transparent,#9B8CFF,transparent);
  box-shadow:0 0 16px rgba(124,92,255,.7);
}

/* ===== ULTRA PREMIUM UI ===== */
html{
  background:#07080C;
}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(139,124,255,.14), transparent 28%),
    radial-gradient(circle at 100% 10%, rgba(91,140,255,.10), transparent 24%),
    linear-gradient(180deg,#07080C 0%,#0A0D13 55%,#07080C 100%);
  color:#F7F8FB;
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display","SF Pro Text","Segoe UI", sans-serif;
  letter-spacing:-.01em;
}
.app{
  max-width:760px;
}
.top{
  background:rgba(7,8,12,.72);
  backdrop-filter:blur(22px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 35px rgba(0,0,0,.18);
}
.top h1{
  font-weight:850;
  font-size:1.48rem;
  letter-spacing:-.045em;
}
.header-sub{
  gap:8px;
}
.live-dot{
  width:6px;height:6px;
  background:#8B7CFF;
  box-shadow:0 0 0 5px rgba(139,124,255,.10),0 0 18px rgba(139,124,255,.6);
}
.card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012)),
    rgba(13,16,22,.92);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:
    0 18px 50px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.025);
  border-radius:22px;
}
.stat{
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012)),
    rgba(13,16,22,.92);
  border:1px solid rgba(255,255,255,.07);
  border-radius:20px;
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.stat b{
  font-size:2rem;
  font-weight:850;
  letter-spacing:-.06em;
}
.stat span{
  font-weight:650;
}
button{
  border-radius:15px;
  background:linear-gradient(135deg,#8B7CFF 0%,#5B8CFF 100%);
  color:white;
  font-weight:800;
  box-shadow:
    0 10px 24px rgba(104,104,255,.22),
    inset 0 1px 0 rgba(255,255,255,.16);
}
button.secondary{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.075);
  color:#EFF2F7;
  box-shadow:none;
  backdrop-filter:blur(12px);
}
button.ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.08);
  color:#AAB3C2;
  box-shadow:none;
}
button.danger{
  background:linear-gradient(135deg,#FF6B7A,#E44859);
  box-shadow:0 10px 24px rgba(228,72,89,.18);
}
input,select,textarea{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  color:#F7F8FB;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(139,124,255,.8);
  box-shadow:0 0 0 4px rgba(139,124,255,.10);
}
.pill{
  background:rgba(139,124,255,.10);
  color:#E3DFFF;
  border:1px solid rgba(139,124,255,.20);
  backdrop-filter:blur(12px);
}
.actions{
  gap:10px;
}
.actions button{
  min-height:58px;
  border-radius:17px;
}
.nav{
  background:rgba(8,10,15,.80);
  backdrop-filter:blur(24px) saturate(150%);
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 -12px 38px rgba(0,0,0,.24);
}
.nav button{
  border-radius:13px;
}
.nav button.active{
  background:rgba(139,124,255,.10);
  color:#D8D2FF;
}
.nav .plus{
  background:linear-gradient(135deg,#8B7CFF,#5B8CFF);
  box-shadow:0 12px 30px rgba(104,104,255,.30);
}
.product{
  padding-top:15px;
  padding-bottom:15px;
}
.product .thumb{
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.product-name{
  font-size:1.05rem;
  font-weight:820;
}
.tag{
  border:1px solid rgba(255,255,255,.05);
  font-weight:700;
}
.tag.ok{
  background:rgba(57,217,138,.10);
  color:#9FF3C8;
}
.tag.low{
  background:rgba(246,185,74,.10);
  color:#FFD58C;
}
.tag.out{
  background:rgba(255,107,122,.10);
  color:#FFB4BD;
}
.tag.exp{
  background:rgba(139,124,255,.10);
  color:#D7CEFF;
}
.filters button{
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.06);
}
.filters button.active{
  background:linear-gradient(135deg,#8B7CFF,#5B8CFF);
  box-shadow:0 8px 18px rgba(104,104,255,.20);
}
.notice{
  background:rgba(139,124,255,.08);
  border:1px solid rgba(139,124,255,.16);
  color:#E2DEFF;
  border-radius:17px;
}
.sheet{
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),
    rgba(10,13,19,.98);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 -24px 70px rgba(0,0,0,.55);
  border-radius:28px 28px 0 0;
}
.scanner{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.44);
}
.scan-target i{
  border-color:#9D91FF;
  filter:drop-shadow(0 0 10px rgba(139,124,255,.72));
}
.scanline{
  background:linear-gradient(90deg,transparent,#9D91FF,transparent);
  box-shadow:0 0 18px rgba(139,124,255,.72);
}
.toast{
  background:rgba(18,23,34,.92);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  border-radius:17px;
}
.calc{
  background:rgba(10,13,19,.92);
  backdrop-filter:blur(20px);
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 -18px 50px rgba(0,0,0,.32);
}
.calc-grid button{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
  color:#F7F8FB;
  box-shadow:none;
}
.calc-grid .op{
  background:rgba(139,124,255,.16);
  color:#E6E1FF;
}
.empty{
  padding:38px 18px;
}
.empty:before{
  filter:saturate(.85);
}
@media (min-width:640px){
  .grid{grid-template-columns:repeat(4,1fr)}
}

.ambient{
  position:fixed;
  pointer-events:none;
  filter:blur(40px);
  opacity:.36;
  z-index:-1;
}
.ambient-a{
  width:220px;height:220px;
  top:-80px;left:-70px;
  background:radial-gradient(circle,rgba(139,124,255,.45),transparent 68%);
}
.ambient-b{
  width:260px;height:260px;
  top:180px;right:-110px;
  background:radial-gradient(circle,rgba(91,140,255,.26),transparent 68%);
}
.stat-warn b{color:#FFD58C}
.stat-danger b{color:#FF9BA6}
.stat-exp b{color:#D8D1FF}
.stat-shop b{color:#A9BEFF}

/* ===== Face ID / Passkeys ===== */
.auth-separator{
  display:flex;
  align-items:center;
  gap:12px;
  color:#7F8998;
  font-size:.78rem;
  margin:15px 0 12px;
}
.auth-separator:before,.auth-separator:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(255,255,255,.07);
}
.passkey-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
.face-symbol{
  display:inline-grid;
  place-items:center;
  width:25px;height:25px;
  border:1.5px solid rgba(216,210,255,.75);
  border-radius:8px;
  color:#D8D2FF;
  font-size:.9rem;
  box-shadow:inset 0 0 12px rgba(139,124,255,.08);
}
.passkey-hint{
  text-align:center;
  margin:8px 0 0;
}
.security-card{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:center;
  padding:14px;
  margin:12px 0 16px;
  border-radius:18px;
  border:1px solid rgba(139,124,255,.18);
  background:linear-gradient(135deg,rgba(139,124,255,.10),rgba(91,140,255,.055));
}
.security-icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:14px;
  font-size:1.15rem;
  background:rgba(139,124,255,.13);
  border:1px solid rgba(139,124,255,.20);
  color:#DDD7FF;
}
.security-copy b{font-size:.98rem}
.security-copy p{margin:4px 0 0;line-height:1.35}
.security-card button{
  grid-column:1/-1;
  width:100%;
}

.notification-card .security-icon{
  background:linear-gradient(135deg,rgba(139,124,255,.15),rgba(91,140,255,.10));
}


/* ===== STOCK MAISON — FAMILY HOME EDITION ===== */
:root{
  --bg:#F4F1E8;--panel:#FFFDF8;--panel2:#F8F5EC;--text:#18352E;--muted:#718079;
  --line:#E4E1D7;--teal:#2F725E;--accent2:#315E73;--warn:#D29A45;--danger:#C75E55;--ok:#4A8A6A;
  --cream:#F4F1E8;--sage:#DDE9E1;--navy:#22485A;--terracotta:#D98967;
}
html{background:var(--bg)}
body{background:linear-gradient(180deg,#F8F6EF 0%,#F2EFE6 100%);color:var(--text);letter-spacing:-.012em}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 3%,rgba(85,137,111,.14),transparent 26%),radial-gradient(circle at 96% 18%,rgba(49,94,115,.10),transparent 25%);z-index:-2}
.ambient{display:none}
.app{max-width:760px;padding-bottom:108px}
.top{background:rgba(248,246,239,.88);border-bottom:1px solid rgba(51,80,70,.08);box-shadow:0 8px 30px rgba(44,72,62,.06);padding-left:18px;padding-right:18px}
.brand-wrap{display:flex;align-items:center;gap:11px}.brandblock h1{color:#173B31;font-weight:900}.header-sub .muted{color:#718079}.live-dot{background:#4A8A6A;box-shadow:0 0 0 4px rgba(74,138,106,.12)}
.app-logo{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#2F725E,#244F43);box-shadow:0 9px 18px rgba(47,114,94,.22),inset 0 1px 0 rgba(255,255,255,.24);color:#fff;overflow:hidden}.app-logo.large{width:76px;height:76px;border-radius:25px;margin-bottom:16px}.logo-house{font-size:1.7rem;line-height:1;transform:translateY(-2px)}.large .logo-house{font-size:2.8rem}.logo-box{position:absolute;right:7px;bottom:6px;background:#E6B75C;color:#244F43;width:17px;height:17px;border-radius:5px;font-size:.72rem;display:grid;place-items:center;font-weight:900;border:2px solid #2F725E}.large .logo-box{width:25px;height:25px;right:11px;bottom:10px;border-radius:7px;font-size:.95rem}
.auth-hero{padding-top:44px;text-align:left}.hero h2{color:#173B31}.pill{background:#E6EFEA;color:#2F725E;border:1px solid #D2E4DA;box-shadow:none}
.card,.stat{background:rgba(255,253,248,.94);border:1px solid rgba(50,84,72,.09);box-shadow:0 12px 35px rgba(44,72,62,.075),inset 0 1px 0 rgba(255,255,255,.8)}
.card{border-radius:24px}.grid{gap:11px}.stat{min-height:118px;border-radius:22px;position:relative;padding:15px}.stat:after{display:none}.stat-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;margin-bottom:10px;font-weight:900;background:#EDF3EF;color:#2F725E}.stat-warn .stat-icon{background:#FBF1DD;color:#AD7726}.stat-danger .stat-icon{background:#F8E7E4;color:#B24E47}.stat-exp .stat-icon{background:#E8EEF2;color:#315E73}.stat-shop .stat-icon{background:#E6EFEA;color:#2F725E}.stat b{color:#18352E!important}.stat span{color:#718079!important}
button{background:linear-gradient(145deg,#347B65,#2A6655);color:#fff;box-shadow:0 8px 18px rgba(47,114,94,.18);border-radius:16px}button.secondary{background:#F5F3EC;color:#26463D;border:1px solid #E2E0D7;box-shadow:none}button.ghost{color:#718079;border:1px solid #DDDAD0}.iconbtn{background:#EFF2ED!important;color:#284A40!important;border:1px solid #DEE4DE!important;box-shadow:none!important}
input,select,textarea{background:#FBFAF6;color:#18352E;border:1px solid #DCDAD2;box-shadow:none}input::placeholder{color:#A2AAA5}input:focus,select:focus,textarea:focus{border-color:#6E9C89;box-shadow:0 0 0 4px rgba(47,114,94,.09)}.field{color:#66766F}
.welcome-card{margin:16px 14px 4px;padding:20px;border-radius:26px;background:linear-gradient(135deg,#234E42,#316C59);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 18px 38px rgba(35,78,66,.18);position:relative;overflow:hidden}.welcome-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-75px;background:rgba(255,255,255,.08)}.welcome-card h2{font-size:1.45rem;margin:4px 0 5px}.welcome-card .muted{color:#D6E4DE}.welcome-orb{width:48px;height:48px;border-radius:17px;background:#E5B85F;color:#244F43;display:grid;place-items:center;font-size:1.45rem;font-weight:1000;flex:0 0 auto;z-index:1}.eyebrow{font-size:.69rem;font-weight:900;letter-spacing:.11em;color:#6F897F}.welcome-card .eyebrow{color:#BFD5CC}
.page-head{display:flex;gap:13px;align-items:center;margin:18px 16px 8px}.page-head h2{font-size:1.55rem;margin:2px 0 2px;color:#173B31}.page-head p{margin:0;line-height:1.35}.page-icon,.title-icon{display:grid;place-items:center;flex:0 0 auto;background:#E4EEE8;color:#2F725E}.page-icon{width:48px;height:48px;border-radius:16px;font-size:1.28rem;font-weight:900}.section-title{display:flex;align-items:center;gap:11px;margin-bottom:12px}.section-title h3{margin:0;color:#1D4036}.section-title p{margin:3px 0 0}.section-title.compact{margin:0}.title-icon{width:39px;height:39px;border-radius:13px;font-weight:900}.feature-card{padding:17px}
.actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px}.action-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.05rem}.actions .secondary .action-icon{background:#E3EBE6;color:#2F725E}
.search input{background:#FFFDF9;border-radius:18px;padding:14px 16px;box-shadow:0 7px 22px rgba(44,72,62,.055)}.filters button{background:#F9F7F0;border:1px solid #E0DDD4;color:#65746E}.filters button.active{background:#2F725E;color:#fff;box-shadow:0 7px 16px rgba(47,114,94,.16)}
.product{background:#FFFDF8}.product .thumb{background:#EDF1EC;border:1px solid #E1E5DF;box-shadow:none}.category-thumb{display:grid!important;place-items:center!important;font-size:1.55rem!important}.product-name{color:#1D4036}.tag{border:0}.tag.ok{background:#E5F0EA;color:#3C775B}.tag.low{background:#FAEFD9;color:#A36E20}.tag.out{background:#F8E2E0;color:#B04B46}.tag.exp{background:#E6EDF1;color:#315E73}
.list-item{border-bottom:1px solid #EBE8DF}.muted{color:#718079}.notice{background:#E9F0EC;border:1px solid #D4E3DA;color:#315B4E}.success{color:#3B7C5B}.error{color:#B94F49}
.budget div{background:#F7F4EC;border:1px solid #E7E3D8}.budget b{color:#244F43}.check{accent-color:#2F725E}.price{background:#FBFAF6}
.nav{max-width:720px;left:14px;right:14px;bottom:10px;border:1px solid rgba(47,87,73,.09);border-radius:24px;padding:8px max(7px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));background:rgba(255,253,248,.93);box-shadow:0 16px 40px rgba(37,67,57,.17);backdrop-filter:blur(24px) saturate(140%)}.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#829089;background:transparent;box-shadow:none;border-radius:15px;font-size:.68rem;min-height:50px;padding:5px 2px}.nav button.active{background:#E5EFE9;color:#2D6B59}.nav-icon{font-size:1.2rem;line-height:1}.nav .plus{background:#2F725E;color:#fff;box-shadow:0 9px 20px rgba(47,114,94,.22);transform:translateY(-9px);border-radius:18px}.nav .plus:active{transform:translateY(-9px) scale(.97)}
.calc{bottom:86px;background:rgba(255,253,248,.97);border-top:1px solid #E0DED5;box-shadow:0 -15px 35px rgba(44,72,62,.10)}.calc-grid button{background:#F0EEE7;color:#284A40;border:1px solid #E1DED5}.calc-grid .op{background:#E6EFEA;color:#2F725E}.calc-head b{color:#18352E}
.sheet{background:#FFFDF8;border:1px solid #E4E1D8;box-shadow:0 -24px 70px rgba(45,65,57,.20)}.sheethead h3{color:#1D4036}.code{background:#F7F4EC;color:#234D41;border-color:#B8CABF}.security-card{background:linear-gradient(135deg,#E9F1EC,#F6F7F1);border-color:#D6E4DA}.security-icon{background:#DCEBE2;border-color:#CADFD3;color:#2F725E}.face-symbol{color:#2F725E;border-color:#7DA690}.scanner{border-color:#CBD9D1}.scan-target i{border-color:#E3B35B;filter:drop-shadow(0 0 8px rgba(227,179,91,.5))}.scanline{background:linear-gradient(90deg,transparent,#E3B35B,transparent);box-shadow:0 0 15px rgba(227,179,91,.55)}
.toast{background:#244F43;border-color:#376A5A;color:#fff}.toast.success{background:#244F43;color:#fff;border-color:#376A5A}.toast.error{background:#7D3936;color:#fff;border-color:#A34A45}.empty:before{filter:none}
@media(min-width:640px){.grid{grid-template-columns:repeat(4,1fr)}.actions{grid-template-columns:repeat(4,1fr)!important}}

.mini-product-icon{width:38px;height:38px;border-radius:12px;background:#EEF2ED;display:grid;place-items:center;flex:0 0 auto;font-size:1.15rem}.photo-preview{border:1px solid #E3E1D8}.danger{background:linear-gradient(145deg,#C75E55,#B64F48)!important;color:#fff!important}.form-intro{color:#718079}

/* ===== v9 — Mockup exact palette + calculator touch fix ===== */
:root{
  --bg:#FBF7EE;
  --panel:#FFFFFF;
  --panel2:#F7F4EC;
  --text:#173F32;
  --muted:#747B76;
  --line:#EAE5DA;
  --teal:#275E49;
  --accent2:#315E73;
  --warn:#D89A32;
  --danger:#D95C55;
  --ok:#4A8A6A;
  --cream:#FBF7EE;
  --sage:#E7F0E8;
  --navy:#284E5E;
  --terracotta:#D98967;
}
html{background:#FBF7EE}
body{
  background:linear-gradient(180deg,#FFFCF6 0%,#FBF7EE 58%,#F7F2E8 100%);
  color:#173F32;
}
body:before{
  background:radial-gradient(circle at 10% 0%,rgba(89,135,105,.08),transparent 24%),radial-gradient(circle at 96% 20%,rgba(214,180,113,.08),transparent 24%);
}
.top{
  background:rgba(255,252,246,.94);
  border-bottom:1px solid rgba(39,94,73,.07);
  box-shadow:0 7px 25px rgba(53,77,66,.045);
}
.brandblock h1,.page-head h2,.section-title h3,.product-name{color:#174330}
.app-logo{background:linear-gradient(145deg,#3F7659,#285944)}
.logo-box{background:#E8C272;color:#285944;border-color:#2E654D}
.card,.stat,.product{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(65,91,80,.075);
  box-shadow:0 10px 30px rgba(67,79,71,.065),inset 0 1px 0 rgba(255,255,255,.9);
}
.welcome-card{
  background:linear-gradient(135deg,#315F49,#3E745A);
  box-shadow:0 17px 34px rgba(39,94,73,.16);
}
.welcome-orb{background:#F1C96F;color:#285944}
.page-icon,.title-icon,.stat-icon{background:#EEF4ED;color:#32684F}
button{background:linear-gradient(145deg,#347054,#285D47);box-shadow:0 8px 18px rgba(39,94,73,.15)}
button.secondary{background:#F8F6F0;color:#315144;border-color:#E9E4DA}
input,select,textarea,.price{background:#FFFEFB;border-color:#E6E1D7;color:#173F32}
.search input{background:#FFFFFF}
.filters button{background:#FFFDF9;border-color:#E8E3D9;color:#6F7772}
.filters button.active{background:#2E684F;color:#fff}
.budget div{background:#FBF8F1;border-color:#ECE6DA}
.nav{
  background:rgba(255,255,255,.96);
  border-color:rgba(39,94,73,.08);
  box-shadow:0 14px 36px rgba(53,77,66,.15);
}
.nav button{color:#727A76}
.nav button.active{background:#EAF2EC;color:#2E684F}
.nav .plus{background:#356D53;color:#fff}

/* Calculator: keep the entire grab handle inside the safe touch area. */
.calc{
  left:14px;
  right:14px;
  width:auto;
  max-width:732px;
  bottom:calc(88px + env(safe-area-inset-bottom));
  margin:0 auto;
  border:1px solid #E6E1D7;
  border-radius:22px 22px 0 0;
  overflow:hidden;
  background:rgba(255,255,255,.985);
  box-shadow:0 -12px 32px rgba(53,77,66,.12);
  transform:translateY(calc(100% - 60px));
}
.calc.open{transform:translateY(0)}
.calc-head{
  height:60px;
  min-height:60px;
  padding:7px 10px 7px 16px;
  gap:10px;
}
#calcToggle{
  width:46px;
  min-width:46px;
  height:46px;
  min-height:46px;
  padding:0;
  margin:0;
  border-radius:15px;
  display:grid;
  place-items:center;
  font-size:1.28rem;
  line-height:1;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.calc-grid{padding:2px 12px 14px}
.calc-grid button{min-height:48px;background:#F6F3EC;color:#294A3D;border-color:#E8E2D8}
.calc-grid .op{background:#EAF2EC;color:#2E684F}
@media(max-width:430px){
  .calc{left:10px;right:10px;bottom:calc(86px + env(safe-area-inset-bottom))}
  .calc-head{padding-right:8px}
  #calcToggle{width:44px;min-width:44px;height:44px;min-height:44px}
}


/* ===== v10 — ICONS EXACTEMENT COMME LA MAQUETTE ===== */
.mock-logo{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.mock-logo img{width:100%;height:100%;object-fit:contain;display:block}
.mock-home{padding:4px 0 120px}
.mock-greeting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px 7px}
.mock-greeting h2{font-size:1.55rem;color:#28583f;margin:0 0 3px;letter-spacing:-.03em}.mock-greeting p{margin:0;color:#333b37;font-size:.95rem}.house-pill{flex:0 0 auto;background:#fffaf3!important;color:#315c47!important;border:1px solid #eee8de!important;border-radius:999px!important;box-shadow:0 5px 16px rgba(64,73,67,.08)!important;padding:10px 13px!important;min-height:42px!important}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}
.mock-stat-card{background:#fff!important;color:#222!important;border:1px solid #eee9df!important;border-radius:24px!important;box-shadow:0 8px 20px rgba(55,63,58,.08)!important;padding:14px 8px 13px!important;display:flex;flex-direction:column;align-items:center;min-height:206px!important}
.mock-stat-card img{width:67px;height:67px;object-fit:cover;border-radius:50%;margin-bottom:7px}.mock-stat-card span{font-weight:700;font-size:.88rem;white-space:nowrap}.mock-stat-card b{font-size:2rem;color:#315f49;line-height:1.1;margin-top:7px}.mock-stat-card small{color:#777;font-size:.78rem}.mock-stat-card em{font-style:normal;color:#2f6a4d;font-weight:700;font-size:.76rem;margin-top:auto;padding-top:10px}
.mock-shop-banner{margin:13px 14px 22px;padding:16px 14px;border-radius:26px;background:linear-gradient(135deg,#eef5eb,#e8f0e6);display:grid;grid-template-columns:70px 1fr 58px;align-items:center;gap:10px;border:1px solid #e3e9df}.mock-shop-banner h3{color:#28583f;margin:0 0 4px}.mock-shop-banner p{font-size:.85rem;color:#464e49;margin:0 0 10px;line-height:1.35}.mock-shop-banner button{min-height:38px;padding:8px 14px;border-radius:999px;background:#2d674b;box-shadow:none;font-size:.82rem}.banner-emoji{font-size:2.7rem;text-align:center}.banner-emoji.right{font-size:2.4rem}
.mock-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 18px 8px}.mock-section-head h3{color:#315f49;font-size:1.2rem;margin:0}.mock-section-head button{background:transparent!important;color:#2f684d!important;box-shadow:none!important;padding:5px!important;min-height:0!important;font-size:.8rem}
.mock-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:15px 6px;padding:8px 15px 24px}.mock-categories button{background:transparent!important;color:#222!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;gap:5px;font-weight:500;font-size:.72rem}.mock-categories img{width:68px;height:68px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 4px 6px rgba(45,55,49,.08))}.mock-categories span{line-height:1.08;min-height:24px;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.mock-recent{margin:4px 14px 16px;background:#fff;border:1px solid #eee9df;border-radius:23px;overflow:hidden;box-shadow:0 8px 20px rgba(55,63,58,.06)}.mock-recent-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-bottom:1px solid #eeeae3}.mock-recent-row:last-child{border-bottom:0}.mock-recent-icon{width:48px;height:48px;flex:0 0 auto}.mock-inline-icon{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.mock-recent-row .product-main b{display:block;color:#202723}.mock-recent-row .product-main small{display:block;color:#8a8d8a;margin-top:2px}.mock-recent-meta{font-size:.78rem;color:#777;text-align:right}.home-hidden-tools{display:none!important}
.category-thumb{padding:0!important;overflow:hidden}.category-thumb .mock-inline-icon{width:100%;height:100%}.mini-product-icon{width:42px;height:42px}.mini-product-icon .mock-inline-icon{width:42px;height:42px}
.mock-nav img{width:30px;height:30px;object-fit:cover;border-radius:0}.mock-nav .plus img{width:54px;height:54px;border-radius:50%;margin-top:-12px}.mock-nav .plus{background:transparent!important;box-shadow:none!important;transform:none!important}.mock-nav .plus:active{transform:scale(.97)!important}.mock-nav button.active{background:transparent!important;color:#2f6a4d!important}.mock-nav button{gap:1px!important}
@media(max-width:390px){.mock-greeting{align-items:flex-start}.house-pill{font-size:.72rem;padding:8px 10px!important}.mock-stat-card{min-height:190px!important}.mock-stat-card span{font-size:.76rem}.mock-stat-card img{width:58px;height:58px}.mock-categories img{width:61px;height:61px}.mock-categories{gap:14px 4px}.mock-shop-banner{grid-template-columns:52px 1fr 42px}.banner-emoji{font-size:2.1rem}.banner-emoji.right{font-size:1.9rem}}

/* ===== v11 — SAME MOCKUP DESIGN ON EVERY TAB ===== */
.mock-page{padding:5px 0 126px}.mock-page-hero{display:flex;align-items:center;gap:13px;padding:18px 18px 12px}.mock-page-hero h2{font-size:1.62rem;line-height:1.05;color:#28583f;margin:1px 0 5px;letter-spacing:-.035em}.mock-page-hero p{margin:0;color:#68716c;font-size:.88rem;line-height:1.35}.mock-page-hero .eyebrow{font-size:.67rem;letter-spacing:.11em;font-weight:850;color:#7f9186}.mock-page-icon{width:68px;height:68px;flex:0 0 68px;border-radius:50%;background:#fff;border:1px solid #eee9df;box-shadow:0 7px 18px rgba(55,63,58,.07);display:grid;place-items:center;overflow:hidden}.mock-page-icon img{width:100%;height:100%;object-fit:cover}.mock-page-icon.add-hero-icon{overflow:visible;background:transparent;border:0;box-shadow:none}.mock-page-icon.add-hero-icon img{width:68px;height:68px}.history-hero-icon{background:#eef5ef;color:#315f49;font-size:2rem;font-weight:700}.mock-hint{color:#8a908c;font-size:.72rem}.list-title{padding-top:12px}

/* Stock */
.mock-page-tools{padding:0 14px}.mock-search{margin:4px 0 12px;position:relative}.mock-search:before{content:"⌕";position:absolute;left:15px;top:50%;transform:translateY(-52%);font-size:1.35rem;color:#809087;z-index:2}.mock-search input{height:50px;border-radius:18px;padding-left:45px;background:#fff;border:1px solid #eee8de;box-shadow:0 5px 15px rgba(55,63,58,.05);font-size:.9rem}.mock-mini-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:2px 14px 12px}.mock-mini-categories button{background:transparent!important;color:#272c29!important;box-shadow:none!important;padding:2px!important;min-height:0!important;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.68rem;font-weight:600}.mock-mini-categories img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid transparent;transition:.15s}.mock-mini-categories button.active img{border-color:#356d53;box-shadow:0 0 0 3px #e2ede6}.mock-filters{padding:0 14px 8px}.mock-filters button{background:#fff!important;color:#64716a!important;border:1px solid #ece7dd!important;box-shadow:none!important}.mock-filters button.active{background:#356d53!important;color:#fff!important;border-color:#356d53!important}.mock-stock-list{padding-bottom:5px}.mock-stock-list .card.product{margin:9px 14px;padding:11px 12px;border-radius:21px;box-shadow:0 7px 18px rgba(55,63,58,.055);border-color:#eee9df}.mock-stock-list .thumb{width:56px;height:56px;border-radius:50%;border:0!important;box-shadow:none!important;background:#f5f3ec}.mock-stock-list .product-name{color:#222923;font-size:.94rem}.mock-stock-list .tag{font-size:.65rem;padding:3px 7px;border-radius:999px}.mock-stock-list .tag.ok{background:#e9f3ec;color:#387054}.mock-stock-list .tag.low{background:#fff3d9;color:#9b6b18}.mock-stock-list .tag.out{background:#fde7e5;color:#b14f49}.mock-stock-list .qty{background:#f8f6f0;border-radius:14px;padding:3px;gap:4px}.mock-stock-list .qty button{width:34px;height:34px;min-height:34px;border-radius:11px;padding:0;box-shadow:none}.mock-stock-list .qty .secondary{background:#fff!important}.mock-stock-list .qty strong{color:#315f49;font-size:.88rem}

/* Add */
.mock-scan-banner{margin:2px 14px 18px;width:calc(100% - 28px);display:grid;grid-template-columns:54px 1fr 28px;align-items:center;text-align:left;gap:11px;padding:13px 14px;border-radius:23px;background:linear-gradient(135deg,#eaf3e9,#f2f6ee)!important;color:#28583f!important;border:1px solid #e0e9df!important;box-shadow:0 7px 20px rgba(55,63,58,.07)!important}.scan-visual{width:50px;height:50px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:1.55rem;box-shadow:0 5px 15px rgba(55,63,58,.06)}.mock-scan-banner b{display:block;font-size:.93rem}.mock-scan-banner small{display:block;color:#717a75;font-weight:500;font-size:.72rem;margin-top:3px;line-height:1.25}.mock-scan-banner em{font-style:normal;font-size:1.3rem}.form-section-title{padding-top:0}.mock-form-card{border-radius:25px!important;padding:17px 16px 20px!important}.form-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mock-form-card .field{color:#5d6c64;font-size:.76rem;margin-top:13px}.mock-form-card input,.mock-form-card select{background:#fbfaf6;border-color:#eae5dc;border-radius:15px;min-height:48px}.mock-form-card .row{gap:10px}.mock-form-card #saveProductBtn{background:#315f49!important;border-radius:16px;min-height:50px}.mock-form-card #cancelEditBtn{border-radius:16px;min-height:50px}

/* Shopping */
.mock-budget-card{margin:4px 14px 13px;padding:13px;border-radius:24px;background:#fff;border:1px solid #eee9df;box-shadow:0 8px 20px rgba(55,63,58,.06);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mock-budget-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 3px;background:#fbf9f4;border-radius:17px}.mock-budget-stat img,.budget-bubble{width:34px;height:34px;border-radius:50%;object-fit:cover}.budget-bubble{display:grid;place-items:center;background:#f5e8c7;color:#936b1e;font-weight:900}.budget-bubble.green{background:#e5f0e8;color:#397057}.mock-budget-stat small{font-size:.68rem;color:#8b8f8c}.mock-budget-stat b{font-size:.88rem;color:#28583f}.mock-budget-edit{grid-column:1/-1;display:flex;gap:8px;margin-top:3px}.mock-budget-edit input{height:44px;border-radius:14px;background:#fbfaf6;border-color:#ece7dd}.mock-budget-edit button{flex:0 0 60px;min-height:44px;border-radius:14px}.mock-add-shop{margin:0 14px 8px;background:#fff;border:1px solid #eee9df;border-radius:22px;box-shadow:0 7px 18px rgba(55,63,58,.05);display:grid;grid-template-columns:54px 1fr 48px;gap:9px;align-items:center;padding:10px}.mock-add-shop-icon{width:52px;height:52px}.mock-add-shop-icon img{width:100%;height:100%;border-radius:50%;object-fit:cover}.mock-add-shop-fields{display:grid;grid-template-columns:1fr 70px;gap:7px}.mock-add-shop-fields input{height:44px;border-radius:14px;background:#fbfaf6;border-color:#ece7dd;padding:9px 11px;min-width:0}.mock-add-shop button{width:46px;height:46px;min-height:46px;padding:0;border-radius:16px;background:#356d53!important;font-size:1.35rem;box-shadow:none}.mock-shopping-list{margin:1px 14px 12px;background:#fff;border:1px solid #eee9df;border-radius:23px;overflow:hidden;box-shadow:0 7px 18px rgba(55,63,58,.05)}.mock-shopping-row{display:flex;align-items:center;gap:8px;padding:10px 10px;border-bottom:1px solid #efebe3}.mock-shopping-row:last-child{border-bottom:0}.mock-shopping-row.checked{opacity:.58}.mock-shopping-row.checked .product-main b{text-decoration:line-through}.mock-shop-product-icon{width:44px;height:44px;flex:0 0 44px}.mock-shop-product-icon img{width:44px!important;height:44px!important}.mock-shopping-row .check{width:20px;height:20px;accent-color:#356d53}.mock-shopping-row .product-main b{font-size:.88rem;color:#262d29}.mock-shopping-row .price{max-width:72px;height:39px;padding:7px;border-radius:12px;background:#fbfaf6;border-color:#ebe5dc;text-align:center}.mock-delete{width:34px;height:34px;min-height:34px;flex:0 0 34px;border-radius:11px;padding:0;background:#fbefed!important;color:#b95b54!important;box-shadow:none!important;font-size:1rem}.mock-empty{margin:8px 14px 16px;padding:31px 18px;border-radius:24px;background:#fff;border:1px solid #eee9df;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;color:#818883}.mock-empty img{width:72px;height:72px;border-radius:50%;object-fit:cover}.mock-empty b{color:#315f49;font-size:1rem}.mock-empty span{font-size:.78rem}

/* History */
.mock-history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 14px 9px}.mock-history-summary>div{background:#fff;border:1px solid #eee9df;border-radius:20px;padding:12px 8px;text-align:center;box-shadow:0 6px 16px rgba(55,63,58,.045)}.mock-history-summary b{display:block;color:#315f49;font-size:.76rem;margin:5px 0 2px}.mock-history-summary small{display:block;color:#8a908c;font-size:.61rem;line-height:1.15}.history-dot{display:inline-block;width:31px;height:31px;border-radius:50%;position:relative}.history-dot:after{position:absolute;inset:0;display:grid;place-items:center;font-size:.95rem;font-weight:900}.history-dot.add{background:#e4f0e7;color:#397057}.history-dot.add:after{content:"+"}.history-dot.use{background:#f8e5df;color:#b65d4c}.history-dot.use:after{content:"−"}.history-dot.adjust{background:#e7edf1;color:#315e73}.history-dot.adjust:after{content:"↺"}.mock-history-card{margin:2px 14px 12px;background:#fff;border:1px solid #eee9df;border-radius:23px;overflow:hidden;box-shadow:0 7px 18px rgba(55,63,58,.05)}.mock-history-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #efebe3}.mock-history-row:last-child{border-bottom:0}.mock-history-product{width:46px;height:46px;flex:0 0 46px}.mock-history-product img{width:46px!important;height:46px!important}.mock-history-row b{display:block;color:#272e2a;font-size:.86rem}.movement-badge{flex:0 0 auto;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:850}.movement-badge.add{background:#e5f1e8;color:#397057}.movement-badge.use{background:#f9e6e1;color:#b65d4c}.movement-badge.adjust{background:#e8eff2;color:#315e73}.history-empty-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#edf4ee;color:#315f49;font-size:1.8rem}

/* Keep calculator above the premium navigation */
.mock-shopping-page .calc{border-radius:22px;left:10px;right:10px;bottom:calc(86px + env(safe-area-inset-bottom));max-width:700px}

@media(max-width:390px){
 .mock-page-icon{width:60px;height:60px;flex-basis:60px}.mock-page-hero h2{font-size:1.48rem}.mock-mini-categories img{width:50px;height:50px}.mock-mini-categories{gap:4px}.mock-add-shop{grid-template-columns:47px 1fr 43px}.mock-add-shop-icon{width:45px;height:45px}.mock-add-shop-fields{grid-template-columns:1fr 62px}.mock-shopping-row{gap:6px;padding-left:8px;padding-right:8px}.mock-shop-product-icon{width:39px;height:39px;flex-basis:39px}.mock-shop-product-icon img{width:39px!important;height:39px!important}.mock-shopping-row .price{max-width:62px}.mock-history-summary{gap:6px}.mock-history-summary>div{padding:10px 5px}
}

/* ===== NOTRE FOYER V12 ===== */
.family-home,.family-page{padding-bottom:118px}.family-welcome{padding:22px 16px 10px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.family-welcome h2,.family-page-head h2{margin:4px 0;font-size:2rem;letter-spacing:-.05em}.family-welcome p,.family-page-head p{margin:0;color:var(--muted);line-height:1.4}.today-card{margin:10px 14px 14px;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(139,124,255,.18),rgba(91,140,255,.08)),rgba(255,255,255,.025);border:1px solid rgba(139,124,255,.22);display:flex;justify-content:space-between;align-items:end;gap:12px}.today-card>div{display:grid;gap:5px}.today-label,.eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.13em;color:#A99FFF}.today-card b{font-size:1.15rem;text-transform:capitalize}.today-card small{color:#B9C1CF}.today-card button{padding:9px 12px;min-height:38px;font-size:.78rem}.family-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 14px 8px}.family-kpis button{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);box-shadow:none;padding:10px 5px;display:grid;justify-items:center;gap:2px}.family-kpis b{font-size:1.35rem}.family-kpis small{font-size:.68rem;color:#AEB7C6}.family-kpi-icon{font-size:1.15rem}.module-grid{padding:0 14px 8px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-grid button{min-height:118px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)),#0D1119;border:1px solid rgba(255,255,255,.075);box-shadow:0 14px 30px rgba(0,0,0,.16);text-align:left;padding:16px;display:flex;flex-direction:column;align-items:flex-start}.module-grid button>span{font-size:1.65rem}.module-grid button b{margin-top:8px;font-size:1rem}.module-grid button small{color:#8F99A9;font-weight:600;margin-top:3px}.family-timeline{margin:0 14px 12px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.timeline-row{width:100%;min-height:66px;border-radius:0;background:transparent;box-shadow:none;border:0;border-bottom:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:36px 1fr 18px;gap:8px;text-align:left;align-items:center}.timeline-row:last-child{border-bottom:0}.timeline-row>span{font-size:1.25rem}.timeline-row div{display:grid;gap:3px}.timeline-row small{color:#929CAB}.timeline-row em{font-style:normal;color:#747E8F;font-size:1.4rem}.stock-mini-card{margin:14px;padding:18px;border-radius:24px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}.stock-mini-card h3{margin:5px 0 13px}.stock-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stock-mini-stats button{background:#121722;border:1px solid rgba(255,255,255,.06);box-shadow:none;display:grid;gap:2px;padding:10px}.stock-mini-stats b{font-size:1.35rem}.stock-mini-stats small{color:#8E99A9}.family-page-head{padding:22px 16px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.family-add-btn{width:48px;height:48px;min-height:48px;padding:0;border-radius:16px;font-size:1.5rem;flex:0 0 auto}.family-filter-row{display:flex;gap:7px;overflow:auto;padding:0 14px 12px;scrollbar-width:none}.family-filter-row::-webkit-scrollbar{display:none}.family-filter-row button{white-space:nowrap;background:rgba(255,255,255,.035);box-shadow:none;border:1px solid rgba(255,255,255,.07);padding:8px 11px;min-height:38px;font-size:.75rem}.family-filter-row button.active{background:rgba(139,124,255,.16);border-color:rgba(139,124,255,.35);color:#E0DCFF}.family-list{margin:0 14px;display:grid;gap:9px}.family-row{padding:13px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);display:flex;gap:10px;align-items:center}.family-row.done{opacity:.58}.family-row.done .family-row-main b{text-decoration:line-through}.family-row-icon{width:42px;height:42px;border-radius:14px;background:rgba(139,124,255,.11);display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto}.family-row-main{min-width:0;flex:1;display:grid;gap:3px}.family-row-main small{color:#929CAB;line-height:1.35}.family-row-main p{margin:3px 0 0;color:#B6BECA;font-size:.8rem}.row-delete{width:35px;height:35px;min-height:35px;padding:0;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);box-shadow:none;color:#8E98A8}.pay-btn{width:38px;height:38px;min-height:38px;padding:0}.vehicle-grid{display:grid;gap:10px;margin:0 14px 18px}.vehicle-card{padding:16px;border-radius:22px;background:linear-gradient(135deg,rgba(139,124,255,.12),rgba(255,255,255,.025));border:1px solid rgba(139,124,255,.16);display:grid;grid-template-columns:52px 1fr 35px;align-items:center;gap:10px}.vehicle-card>span{font-size:2rem}.vehicle-card>div{display:grid;gap:3px}.vehicle-card small{color:#9AA4B3}.vehicle-card strong{margin-top:4px;color:#E6E2FF}.bill-summary{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;margin:0 14px 14px}.bill-summary>div{padding:16px;border-radius:19px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);display:grid;gap:4px}.bill-summary small{color:#929CAB}.bill-summary b{font-size:1.35rem}.privacy-note,.migration-card{margin:0 14px 14px;padding:13px 14px;border-radius:16px;background:rgba(139,124,255,.08);border:1px solid rgba(139,124,255,.16);color:#CFC9FF;font-size:.8rem;line-height:1.45}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 14px}.document-card{position:relative;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);overflow:hidden}.document-card>button:first-child{width:100%;min-height:138px;background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px}.document-card span{font-size:2rem}.document-card b{margin-top:10px}.document-card small{margin-top:4px;color:#929CAB}.document-card .row-delete{position:absolute;right:9px;top:9px}.family-sheet{padding-bottom:max(30px,env(safe-area-inset-bottom))}.family-form{display:grid;gap:12px;margin-top:16px}.family-form label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#AEB7C6}.family-form input,.family-form select,.family-form textarea{width:100%;box-sizing:border-box}.family-submit{margin-top:4px;width:100%}.stock-tools-row{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:center}.stock-add-shortcut{white-space:nowrap;height:48px}.family-nav .nav-emoji{font-size:1.22rem;line-height:1}.family-nav button[data-tab="agenda"].active .nav-emoji{filter:drop-shadow(0 0 7px rgba(139,124,255,.65))}.more-grid{margin-top:2px}
@media(max-width:390px){.family-kpis{grid-template-columns:repeat(2,1fr)}.family-welcome{display:block}.family-welcome .house-pill{margin-top:12px}.stock-tools-row{grid-template-columns:1fr}.stock-add-shortcut{width:100%}}


/* V12.1 — Scanner intelligent de documents */
.smart-scan-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);margin-bottom:14px}
.smart-scan-btn{grid-row:1/3;width:52px;height:52px;border-radius:16px;border:0;font-size:25px;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.smart-scan-card b{font-size:15px}.smart-scan-card small{opacity:.72;line-height:1.35}
.scan-status{margin:0 0 12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);font-size:13px;line-height:1.4}
.scan-status.hidden{display:none}.scan-status strong{display:block;margin-bottom:3px}
.scan-preview{width:100%;max-height:210px;object-fit:contain;border-radius:15px;margin:0 0 12px;background:#111}
.doc-type-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.09);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.document-card .doc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}

/* ===== NOTRE FOYER — PREMIUM UI 2026 ===== */
:root{
  --bg:#F6F7FB;
  --panel:#FFFFFF;
  --panel2:#F0F2F7;
  --text:#171923;
  --muted:#7A7F8D;
  --line:#E7E9F0;
  --teal:#6C5CE7;
  --accent2:#8B7CF6;
  --warn:#F2A65A;
  --danger:#E96868;
  --ok:#4FAF83;
  --accent:#6C5CE7;
  --accent-soft:#EFEDFF;
  --shadow:0 10px 35px rgba(39,43,58,.07);
  --shadow-soft:0 3px 14px rgba(39,43,58,.055);
}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 0% -10%,rgba(108,92,231,.085),transparent 30%),
    radial-gradient(circle at 100% 7%,rgba(255,119,148,.055),transparent 24%),
    var(--bg);
  color:var(--text);
  letter-spacing:-.014em;
}
body:before{display:none!important}
.app{max-width:760px;background:transparent}
.ambient{display:none!important}

/* Header */
.top{
  background:rgba(246,247,251,.84)!important;
  border-bottom:1px solid rgba(23,25,35,.055)!important;
  box-shadow:none!important;
  backdrop-filter:blur(22px) saturate(1.35);
  -webkit-backdrop-filter:blur(22px) saturate(1.35);
  padding-left:18px;padding-right:18px;
}
.brand-wrap{gap:10px}.brandblock h1{color:var(--text)!important;font-size:1.22rem!important;font-weight:860!important;letter-spacing:-.035em}
.header-sub .muted{color:var(--muted)!important}.live-dot{background:var(--ok)!important;box-shadow:0 0 0 4px rgba(79,175,131,.12)!important}
.app-logo{
  background:linear-gradient(145deg,#7B6AF0,#5E4FD1)!important;
  box-shadow:0 8px 20px rgba(108,92,231,.22)!important;
  border:1px solid rgba(255,255,255,.65)!important;
}
.house-pill{background:#fff!important;color:#555B69!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}

/* Typography / structure */
.eyebrow,.today-label{color:#7A6DE2!important;letter-spacing:.12em!important}
.family-welcome{padding:26px 18px 12px!important}.family-welcome h2,.family-page-head h2{color:var(--text)!important;font-size:2.08rem!important;font-weight:860!important;letter-spacing:-.055em!important}
.family-welcome p,.family-page-head p{color:var(--muted)!important}
.family-page-head{padding:27px 18px 17px!important}
.mock-section-head{padding-left:18px!important;padding-right:18px!important}.mock-section-head h3{color:var(--text)!important;letter-spacing:-.03em!important}

/* Main dashboard */
.today-card{
  margin:10px 16px 16px!important;padding:18px!important;border-radius:24px!important;
  background:linear-gradient(135deg,#6C5CE7,#887AF2)!important;
  border:0!important;box-shadow:0 16px 36px rgba(108,92,231,.20)!important;color:#fff!important;
}
.today-card .today-label,.today-card small,.today-card b{color:#fff!important}.today-card .today-label{opacity:.72}.today-card small{opacity:.78}
.today-card button{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important;backdrop-filter:blur(10px)}
.family-kpis{gap:9px!important;padding:0 16px 10px!important}
.family-kpis button{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:var(--shadow-soft)!important;
  color:var(--text)!important;padding:12px 6px!important;
}
.family-kpis b{color:var(--text)!important}.family-kpis small{color:var(--muted)!important}.family-kpi-icon{filter:none!important}
.module-grid{padding:0 16px 10px!important;gap:11px!important}
.module-grid button{
  min-height:126px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;
  box-shadow:var(--shadow-soft)!important;color:var(--text)!important;padding:17px!important;
}
.module-grid button>span{width:42px;height:42px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;font-size:1.35rem!important}
.module-grid button b{color:var(--text)!important;font-size:1rem!important}.module-grid button small{color:var(--muted)!important}
.module-grid button:active{background:#FAFAFE!important}
.family-timeline{margin:0 16px 13px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:var(--shadow-soft)!important}
.timeline-row{color:var(--text)!important;border-bottom:1px solid var(--line)!important;padding-left:14px!important;padding-right:14px!important}.timeline-row small{color:var(--muted)!important}.timeline-row em{color:#B1B5C0!important}
.stock-mini-card{margin:14px 16px!important;padding:18px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}
.stock-mini-stats button{background:#F7F7FA!important;border:0!important;color:var(--text)!important}.stock-mini-stats small{color:var(--muted)!important}

/* Buttons */
button{background:var(--accent)!important;color:#fff!important;box-shadow:none!important;border-radius:14px!important;font-weight:780!important}
button.secondary{background:#F0F1F6!important;color:#363A46!important;border:1px solid #E6E8EE!important}
button.ghost{background:transparent!important;color:#686D79!important;border:1px solid var(--line)!important}
button.danger{background:#FFF0F0!important;color:#C84D4D!important;border:1px solid #FFDCDC!important}
.family-add-btn{border-radius:16px!important;background:var(--accent)!important;box-shadow:0 8px 18px rgba(108,92,231,.18)!important}
.row-delete{background:#F5F6F9!important;border:1px solid var(--line)!important;color:#A0A4AF!important}

/* Lists / cards */
.family-filter-row{padding:0 16px 13px!important}.family-filter-row button{background:#fff!important;color:#6D7280!important;border:1px solid var(--line)!important}.family-filter-row button.active{background:var(--accent-soft)!important;color:#5C4FD0!important;border-color:#DCD6FF!important}
.family-list{margin:0 16px!important;gap:10px!important}
.family-row{background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:var(--shadow-soft)!important;padding:14px!important}
.family-row-icon{background:var(--accent-soft)!important;color:#6658D7!important}.family-row-main b{color:var(--text)!important}.family-row-main small,.family-row-main p{color:var(--muted)!important}
.vehicle-grid{margin:0 16px 18px!important}.vehicle-card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;border-radius:22px!important;color:var(--text)!important}.vehicle-card small{color:var(--muted)!important}.vehicle-card strong{color:#5F52D1!important}
.bill-summary{margin:0 16px 14px!important}.bill-summary>div{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;color:var(--text)!important}.bill-summary small{color:var(--muted)!important}
.privacy-note,.migration-card{margin-left:16px!important;margin-right:16px!important;background:#F1EFFF!important;border:1px solid #E1DCFF!important;color:#6257BA!important}
.document-grid{margin:0 16px!important;gap:11px!important}.document-card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}.document-card>button:first-child{color:var(--text)!important}.document-card small{color:var(--muted)!important}

/* Inputs & sheets */
input,select,textarea{background:#F8F9FB!important;color:var(--text)!important;border:1px solid #E2E4EA!important;border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
input:focus,select:focus,textarea:focus{border-color:#A89DF5!important;box-shadow:0 0 0 4px rgba(108,92,231,.08)!important}
.field,.family-form label{color:#696E7B!important}.sheet{background:#fff!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:0 -24px 70px rgba(31,34,46,.18)!important}.iconbtn{background:#F0F1F5!important;color:#515661!important;border:1px solid var(--line)!important}
.security-card{background:#F7F6FF!important;border-color:#E2DEFF!important}.security-icon{background:#ECE9FF!important;color:#6255D1!important;border-color:#DDD7FF!important}.security-copy b{color:var(--text)!important}.security-copy p{color:var(--muted)!important}
.smart-scan-card{background:#F7F6FF!important;border:1px solid #E3DFFF!important;color:var(--text)!important}.smart-scan-btn{background:var(--accent)!important;color:white!important}.scan-status{background:#F3F4F7!important;color:#555B68!important}.scan-preview{background:#ECEEF2!important}

/* Stock Maison pages: neutralize old beige/green skin */
.mock-page,.mock-home,.mock-shopping-page,.mock-history-page{background:transparent!important;color:var(--text)!important}
.mock-page-hero{color:var(--text)!important}.mock-page-hero p,.mock-hint{color:var(--muted)!important}.mock-page-icon{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}
.mock-summary-card,.mock-budget-card,.mock-add-shop,.mock-history-summary,.mock-history-card,.mock-stock-card,.mock-shopping-card{background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;color:var(--text)!important}
.mock-mini-categories button,.filters button{background:#fff!important;color:#666B78!important;border:1px solid var(--line)!important;box-shadow:none!important}.mock-mini-categories button.active,.filters button.active{background:var(--accent-soft)!important;color:#5F52D1!important;border-color:#DBD5FF!important}
.mock-add-shop input,.mock-add-shop-fields input{background:#F8F9FB!important}.mock-shopping-row,.mock-history-row{border-color:var(--line)!important}.mock-shopping-row b,.mock-history-row b,.product-name{color:var(--text)!important}
.tag.ok{background:#EAF7F1!important;color:#3C8B67!important}.tag.low{background:#FFF5E8!important;color:#B47A2B!important}.tag.out{background:#FFF0F0!important;color:#C75858!important}.tag.exp{background:#FFF0F7!important;color:#B75984!important}

/* Nav — floating iOS style */
.nav.mock-nav.family-nav{
  left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;
  width:auto!important;max-width:736px!important;border:1px solid rgba(226,228,235,.94)!important;border-radius:25px!important;
  background:rgba(255,255,255,.90)!important;box-shadow:0 14px 45px rgba(34,38,52,.14)!important;
  backdrop-filter:blur(24px) saturate(1.35)!important;-webkit-backdrop-filter:blur(24px) saturate(1.35)!important;
  padding:7px 8px!important;
}
.nav button{color:#979BA6!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:17px!important;min-height:54px!important;font-weight:700!important}
.nav button.active{color:#5E51D0!important;background:#F0EEFF!important}.nav button span{font-size:.69rem!important}.family-nav .nav-emoji{font-size:1.28rem!important}
.nav .plus{background:var(--accent)!important;width:50px!important;height:50px!important;min-height:50px!important;border-radius:17px!important;margin:2px auto!important;box-shadow:0 8px 18px rgba(108,92,231,.24)!important;color:white!important}.nav .plus span:last-child{display:none!important}.nav .plus .nav-glyph{font-size:1.65rem!important;color:#fff!important}

/* Toast / modal backdrop */
.modal{background:rgba(23,25,35,.34)!important;backdrop-filter:blur(7px)}
.toast{background:#20222B!important;color:#fff!important;border:0!important;box-shadow:0 12px 35px rgba(23,25,35,.24)!important}.toast.success{background:#216B50!important}.toast.error{background:#9B3E45!important}

/* Scanner */
.scanner{border:1px solid #D9DCE5!important;box-shadow:0 15px 40px rgba(23,25,35,.14)!important}.scanline{background:#8B7CF6!important;box-shadow:0 0 14px rgba(139,124,246,.8)!important}.scan-target i{border-color:#8B7CF6!important;filter:drop-shadow(0 0 8px rgba(139,124,246,.5))!important}

@media(max-width:390px){
  .family-welcome h2,.family-page-head h2{font-size:1.85rem!important}
  .module-grid button{min-height:116px!important;padding:15px!important}
  .nav.mock-nav.family-nav{left:8px!important;right:8px!important}
}


/* V12.3 — Chromatic mature icon system */
:root{
 --c-agenda:#5B6EF5;--c-car:#20A7A0;--c-task:#39A66F;--c-bill:#E58A3A;
 --c-doc:#8A63D2;--c-stock:#D55E7A;--c-health:#D45B69;--c-home:#4C8DCC;
}
body{background:
 radial-gradient(circle at 10% 0%,rgba(91,110,245,.08),transparent 25rem),
 radial-gradient(circle at 95% 18%,rgba(32,167,160,.07),transparent 24rem),
 #F5F6F9!important}
.module-grid{gap:12px!important}
.module-grid button{
 position:relative;overflow:hidden;text-align:left!important;align-items:flex-start!important;
 border:1px solid rgba(30,35,50,.07)!important;border-radius:24px!important;
 box-shadow:0 8px 28px rgba(35,40,60,.07)!important;padding:17px!important;
 background:#fff!important;min-height:138px!important;
}
.module-grid button:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;top:-38px;opacity:.12}
.module-grid button:nth-child(1):after{background:var(--c-agenda)}
.module-grid button:nth-child(2):after{background:var(--c-car)}
.module-grid button:nth-child(3):after{background:var(--c-task)}
.module-grid button:nth-child(4):after{background:var(--c-bill)}
.module-grid button:nth-child(5):after{background:var(--c-doc)}
.module-grid button:nth-child(6):after{background:var(--c-stock)}
.module-grid button>span:first-child{
 display:grid!important;place-items:center;width:46px;height:46px;border-radius:15px!important;
 font-size:1.5rem!important;margin:0 0 13px!important;box-shadow:none!important
}
.module-grid button:nth-child(1)>span:first-child{background:#EEF0FF!important}
.module-grid button:nth-child(2)>span:first-child{background:#E9F8F6!important}
.module-grid button:nth-child(3)>span:first-child{background:#EAF7F0!important}
.module-grid button:nth-child(4)>span:first-child{background:#FFF2E6!important}
.module-grid button:nth-child(5)>span:first-child{background:#F2EDFB!important}
.module-grid button:nth-child(6)>span:first-child{background:#FBEAF0!important}
.module-grid button b{font-size:1rem!important;letter-spacing:-.01em}
.module-grid button small{line-height:1.3!important;margin-top:3px!important}

/* Mature colorful page identities */
#agenda .eyebrow{color:var(--c-agenda)!important} #agenda .family-add-btn{background:var(--c-agenda)!important}
#vehicles .eyebrow{color:var(--c-car)!important} #vehicles .family-add-btn{background:var(--c-car)!important}
#tasks .eyebrow{color:var(--c-task)!important} #tasks .family-add-btn{background:var(--c-task)!important}
#bills .eyebrow{color:var(--c-bill)!important} #bills .family-add-btn{background:var(--c-bill)!important}
#documents .eyebrow{color:var(--c-doc)!important} #documents .family-add-btn{background:var(--c-doc)!important}
.family-page-head{position:relative;padding:10px 2px 6px!important}
.family-page-head h2{letter-spacing:-.045em!important}
.family-add-btn{border-radius:16px!important;box-shadow:0 8px 18px rgba(40,45,70,.12)!important}

/* Icon chips in common cards */
.family-list>*,.vehicle-grid>*{border-radius:20px!important}
.family-filter-row button{border-radius:14px!important}
.family-filter-row button.active{box-shadow:0 5px 14px rgba(50,55,80,.08)!important}

/* Colorful, still restrained bottom navigation */
.nav button .nav-emoji{
 display:grid!important;place-items:center!important;width:31px;height:31px;margin:auto!important;
 border-radius:10px;font-size:1.16rem!important;filter:saturate(.85)
}
.nav button[data-tab="home"].active .nav-emoji{background:#EAF3FC}
.nav button[data-tab="agenda"].active .nav-emoji{background:#EEF0FF}
.nav button[data-tab="stock"].active .nav-emoji{background:#FBEAF0}
.nav button[data-tab="more"].active .nav-emoji{background:#F2EDFB}
.nav button.active{background:transparent!important}
.nav .plus{background:linear-gradient(145deg,#695CEB,#8276F1)!important}

/* Softer category / status palette */
.family-kpi:nth-child(1){background:linear-gradient(145deg,#fff,#F1F3FF)!important}
.family-kpi:nth-child(2){background:linear-gradient(145deg,#fff,#EDF9F6)!important}
.family-kpi:nth-child(3){background:linear-gradient(145deg,#fff,#FFF5EA)!important}
.family-kpi:nth-child(4){background:linear-gradient(145deg,#fff,#F8EFFB)!important}
.stock-mini-card{background:linear-gradient(135deg,#fff 30%,#FFF1F5)!important}
.smart-scan-card{background:linear-gradient(135deg,#F7F5FF,#EFF6FF)!important}
.security-icon{background:#F1EEFF!important;border-radius:14px!important}
@media(max-width:390px){.module-grid button{min-height:128px!important}}


/* V12.4 — mature illustrated identity */
.illustrated-page .family-page-head{
 min-height:148px;padding:20px 126px 18px 18px!important;margin:0 0 16px!important;
 border-radius:28px;overflow:hidden;border:1px solid rgba(30,35,50,.055);
 background:#fff;box-shadow:0 10px 34px rgba(35,40,60,.055)
}
.illustrated-page .family-page-head>div:first-child{position:relative;z-index:2}
.illustrated-page .family-page-head p{max-width:390px!important}
.illustrated-page .family-add-btn{position:absolute!important;right:18px!important;bottom:17px!important;z-index:4}
.page-art{position:absolute;right:16px;top:14px;width:104px;height:104px;border-radius:28px;
 display:grid;place-items:center;transform:rotate(2deg);z-index:1}
.page-art:before,.page-art:after{content:"";position:absolute;border-radius:50%}
.page-art:before{width:68px;height:68px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.page-art:after{width:14px;height:14px;right:6px;bottom:12px;background:rgba(255,255,255,.8)}
.art-main{position:relative;z-index:2;font-size:2.55rem;filter:saturate(.78);transform:rotate(-2deg)}
.art-dot{position:absolute;z-index:3;width:28px;height:28px;border-radius:10px;background:#fff;
 display:grid;place-items:center;font-style:normal;font-size:.8rem;box-shadow:0 7px 18px rgba(35,40,60,.12)}
.art-dot.a{left:-5px;bottom:4px;transform:rotate(-8deg)} .art-dot.b{right:-3px;top:4px;transform:rotate(7deg)}
.page-agenda .family-page-head{background:linear-gradient(135deg,#fff 25%,#F0F2FF)}
.page-agenda .page-art{background:linear-gradient(145deg,#DCE1FF,#EEF0FF)}
.page-vehicles .family-page-head{background:linear-gradient(135deg,#fff 25%,#EAF8F6)}
.page-vehicles .page-art{background:linear-gradient(145deg,#CDEFEA,#E9F8F6)}
.page-tasks .family-page-head{background:linear-gradient(135deg,#fff 25%,#ECF8F1)}
.page-tasks .page-art{background:linear-gradient(145deg,#D5F0DF,#ECF8F1)}
.page-bills .family-page-head{background:linear-gradient(135deg,#fff 25%,#FFF2E5)}
.page-bills .page-art{background:linear-gradient(145deg,#FFE0BF,#FFF1E3)}
.page-documents .family-page-head{background:linear-gradient(135deg,#fff 25%,#F3EEFC)}
.page-documents .page-art{background:linear-gradient(145deg,#E3D8F7,#F3EEFC)}

/* Empty states become visual, not dead space */
.family-list .empty,.vehicle-grid .empty{
 min-height:150px!important;border:1px dashed #DDE0E8!important;border-radius:22px!important;background:#FAFBFC!important;
 display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:50px 24px 22px!important;
 position:relative;color:#777D89!important
}
.family-list .empty:before,.vehicle-grid .empty:before{
 position:absolute;top:19px;font-size:1.7rem;opacity:.75
}
#agendaList .empty:before{content:"📅"} #vehicleList .empty:before,#maintenanceList .empty:before{content:"🚙"}
#taskList .empty:before{content:"✓"} #billList .empty:before{content:"🧾"} #documentList .empty:before{content:"📁"}

/* More tactile illustration language across utility cards */
.stock-mini-stats button{position:relative;overflow:hidden}
.stock-mini-stats button:after{content:"";position:absolute;width:38px;height:38px;border-radius:50%;right:-15px;top:-15px;background:rgba(213,94,122,.09)}
.smart-scan-card:before{content:"📷";display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;
 box-shadow:0 6px 16px rgba(35,40,60,.07);font-size:1.25rem;margin-bottom:9px}
.security-card{position:relative;overflow:hidden}.security-card:after{content:"";position:absolute;width:75px;height:75px;border-radius:50%;
 right:-32px;top:-32px;background:rgba(138,99,210,.06);pointer-events:none}
@media(max-width:430px){
 .illustrated-page .family-page-head{min-height:142px;padding:18px 105px 16px 16px!important}
 .page-art{width:84px;height:84px;right:12px;top:13px;border-radius:23px}.page-art:before{width:56px;height:56px}
 .art-main{font-size:2.05rem}.art-dot{width:24px;height:24px;font-size:.7rem}
 .illustrated-page .family-page-head p{font-size:.86rem!important}
}

/* V12.5 — récupération du mot de passe */
.forgot-password-btn{background:transparent!important;color:#5f52d9!important;box-shadow:none!important;border:0!important;width:100%;padding:12px 8px 4px!important;font-weight:800;text-decoration:none}
.forgot-password-btn:disabled{opacity:.55}
#resetPasswordModal .sheet input{width:100%;margin-bottom:14px}
