:root{
  --bg:#050b12;
  --bg2:#07111b;
  --card:rgba(13,24,31,.78);
  --card2:rgba(17,30,38,.92);
  --line:rgba(255,255,255,.095);
  --line-strong:rgba(60,255,122,.28);
  --green:#3cff7a;
  --green2:#0fdc83;
  --gold:#ffc107;
  --orange:#ff9d18;
  --red:#ff4d4d;
  --text:#f6fff8;
  --muted:#a7b2aa;
  --soft:#d4ded8;
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;overflow-x:hidden;background:#02070c;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% -10%,rgba(60,255,122,.18),transparent 36%),radial-gradient(circle at 86% 5%,rgba(255,193,7,.11),transparent 34%),linear-gradient(180deg,#071016 0%,#03080d 50%,#010407 100%);pointer-events:none}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;cursor:pointer;background:none}
.phone-app{position:relative;z-index:1;width:min(100%,430px);min-height:100vh;margin:0 auto;padding:18px 12px calc(96px + var(--safe-bottom));overflow:hidden}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 14px;padding:0 4px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;font-size:31px;background:linear-gradient(145deg,rgba(60,255,122,.18),rgba(60,255,122,.03));border:1px solid var(--line-strong);box-shadow:0 0 24px rgba(60,255,122,.12)}
h1{margin:0;font-size:25px;line-height:1;font-weight:900;letter-spacing:-.04em;white-space:nowrap} .brand p{margin:4px 0 0;color:var(--soft);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:270px}.head-actions{display:flex;align-items:center;gap:10px}.round-btn{width:48px;height:48px;border-radius:50%;border:2px solid rgba(60,255,122,.76);color:var(--green);font-size:34px;line-height:1;display:grid;place-items:center;background:rgba(60,255,122,.05);box-shadow:0 0 28px rgba(60,255,122,.13)}.menu-btn{color:#81f9b1;font-size:33px;line-height:1;padding:6px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.stat-card{min-height:88px;padding:10px 5px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 34px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-card span{font-size:20px}.stat-card strong{display:block;font-size:27px;line-height:1.05;margin:5px 0 3px;font-weight:950;letter-spacing:-.05em}.stat-card small{font-size:9px;color:#dce5df;font-weight:850;letter-spacing:.02em}.warning-stat span,.warning-stat strong{color:var(--gold)}
.screen-title{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 10px;padding:0 2px}.screen-title h2{margin:0;font-size:24px;letter-spacing:-.04em}.screen-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.filter-btn{font-weight:850;color:#72ffa6;font-size:15px;padding:8px 3px;white-space:nowrap}.view{display:none}.view.active{display:block}
.plant-list{display:flex;flex-direction:column;gap:8px}.plant-card{position:relative;border-radius:20px;background:linear-gradient(135deg,rgba(16,31,35,.86),rgba(7,14,18,.88));border:1px solid var(--line);box-shadow:0 13px 34px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05);padding:10px 10px 9px;overflow:hidden}.plant-card:before{content:"";position:absolute;inset:auto -70px -80px auto;width:150px;height:150px;background:radial-gradient(circle,rgba(60,255,122,.12),transparent 65%)}.card-top{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:9px;align-items:start;position:relative}.plant-photo{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:32px;background:linear-gradient(145deg,rgba(60,255,122,.17),rgba(255,255,255,.035));border:1px solid rgba(60,255,122,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.plant-main{min-width:0}.plant-title-row{display:flex;align-items:center;gap:7px;min-width:0}.dot{width:9px;height:9px;border-radius:50%;background:#35d16f;box-shadow:0 0 18px rgba(60,255,122,.38);flex:0 0 auto}.dot.warn{background:var(--gold);box-shadow:0 0 18px rgba(255,193,7,.25)}.plant-name{font-weight:950;font-size:17px;line-height:1.08;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-meta{margin-top:5px;color:#d5ddd8;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seed-date{margin-top:5px;color:#74ff72;font-size:12px;font-weight:850}.plant-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:78px}.phase-badge{font-size:11px;font-weight:950;padding:6px 8px;border-radius:10px;border:1px solid var(--green);color:var(--green);background:rgba(60,255,122,.08);white-space:nowrap}.phase-badge.flower,.phase-badge.harvest{border-color:var(--gold);color:var(--gold);background:rgba(255,193,7,.08)}.phase-badge.controllo finale{border-color:var(--orange);color:var(--orange);background:rgba(255,157,24,.08)}.plant-day{color:#dfe8e1;font-size:12px}.plant-day strong{color:#9bff51;font-size:16px}.more-btn{position:absolute;right:2px;top:49px;color:#6d7670;font-size:21px;letter-spacing:1px}
.progress-wrap{margin:8px 0 7px;height:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06);border-radius:99px;overflow:hidden}.progress-bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--green),#8fff4f);transition:width .3s ease}.progress-bar.mid{background:linear-gradient(90deg,var(--green),var(--gold))}.progress-bar.high{background:linear-gradient(90deg,var(--gold),var(--orange))}.progress-bar.end{background:linear-gradient(90deg,var(--orange),var(--red))}.plant-alert{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;padding:6px 8px;border-radius:11px;border:1px solid rgba(255,193,7,.24);background:rgba(255,193,7,.075);font-size:11px;color:#ffe39b}.plant-alert b{color:var(--gold);font-weight:950}.plant-alert span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weeks-head{display:flex;align-items:center;justify-content:space-between;margin:1px 1px 5px;color:#82918a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.weeks-head b{color:#75ff91;text-transform:none;letter-spacing:0;font-size:9px}.weeks-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;width:100%;position:relative}.week-chip{height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.week-chip.done{border-color:rgba(60,255,122,.2);background:rgba(60,255,122,.09)}.week-chip.active-week{border-color:rgba(255,193,7,.55);background:rgba(255,193,7,.11)}.week-chip small{font-size:7px;line-height:1;color:#d8e1db;font-weight:900;white-space:nowrap}.week-chip strong{font-size:10px;line-height:1.1;margin-top:2px;color:#e9f1ee;font-weight:950;letter-spacing:-.04em}.week-chip.done strong{color:#74ff72}.week-chip.active-week strong{color:var(--gold)}.week-chip.extra-week{border-color:rgba(113,180,255,.16);background:rgba(113,180,255,.055)}.week-chip.extra-week small{color:#9cc5ff}.detail-weeks{margin:10px 0 14px}.form-hint{display:block;margin-top:5px;color:#7d8b84;font-size:10px;font-weight:650;line-height:1.25}
.calendar-view,.alerts-view,.settings-view{border-radius:20px;border:1px solid var(--line);background:rgba(13,24,31,.66);box-shadow:var(--shadow);padding:14px}.mini-list{display:flex;flex-direction:column;gap:8px}.mini-item{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:16px;padding:12px}.mini-item b{color:var(--green)}.mini-item small{display:block;color:var(--muted);margin-top:3px}.alert-item{display:flex;gap:10px;align-items:flex-start}.alert-icon{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.22)}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:30;width:min(100%,430px);padding:8px 10px calc(9px + var(--safe-bottom));background:linear-gradient(180deg,rgba(3,7,10,.55),rgba(2,5,8,.96) 28%);backdrop-filter:blur(22px);display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:end;border-top:1px solid rgba(255,255,255,.08)}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;color:#adb8b0;font-size:19px;padding:4px 0 1px}.nav-item small{font-size:11px}.nav-item.active{color:#61ff9c}.nav-add{width:58px;height:58px;border-radius:50%;justify-self:center;display:grid;place-items:center;background:linear-gradient(145deg,#56d875,#18743e);color:#fff;font-size:40px;margin-top:-22px;box-shadow:0 16px 38px rgba(60,255,122,.28)}.nav-item b{position:absolute;top:-2px;right:18px;min-width:18px;height:18px;border-radius:99px;background:#ff4d4d;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #061014}.nav-item b:empty{display:none}
.plant-dialog{width:min(94vw,430px);border:1px solid var(--line-strong);border-radius:30px;background:linear-gradient(145deg,rgba(10,19,26,.985),rgba(3,8,13,.985));color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 0 1px rgba(60,255,122,.05) inset;padding:0}.plant-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}.plant-form{padding:18px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.eyebrow{margin:0 0 3px;color:var(--green);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.dialog-head h3{margin:0;font-size:24px;letter-spacing:-.04em}.dialog-sub{margin:6px 0 0;color:#c5d1c9;font-size:12px;line-height:1.35;max-width:285px}.close-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.04));font-size:18px;font-weight:900;color:#dbe4de;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.24)}.mini-checklist,.notes-suggestions{display:flex;flex-wrap:wrap;gap:8px}.mini-checklist{margin:8px 0 12px}.notes-suggestions{margin-top:10px}.mini-checklist span,.notes-suggestions span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;border:1px solid rgba(60,255,122,.18);background:rgba(60,255,122,.08);color:#c9f8d9;font-size:11px;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.notes-suggestions span{background:rgba(255,193,7,.08);border-color:rgba(255,193,7,.16);color:#ffe29c}.live-preview{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:10px;margin:0 0 12px}.preview-card{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));padding:11px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.preview-card small{display:block;color:#97a79d;font-size:10px;font-weight:800;margin-bottom:4px}.preview-card strong{display:block;font-size:16px;letter-spacing:-.03em}.preview-card span{display:block;color:#d7e4db;font-size:11px;line-height:1.25;margin-top:2px}.preview-main{display:flex;align-items:center;gap:10px}.preview-emoji{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:rgba(60,255,122,.12);border:1px solid var(--line-strong)}.plant-form label{display:block;color:#bfcac2;font-size:12px;font-weight:800;margin:10px 0 0;padding:12px;border-radius:20px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.label-top{display:block}.label-top b{display:block;color:#f6fff8;font-size:14px;line-height:1.1}.label-top small{display:block;margin-top:3px;color:#8ef2b1;font-size:11px;font-weight:800;line-height:1.25}.plant-form input,.plant-form select,.plant-form textarea{width:100%;margin-top:10px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(4,12,18,.84);padding:12px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.plant-form input:focus,.plant-form select:focus,.plant-form textarea:focus{border-color:rgba(60,255,122,.46);box-shadow:0 0 0 3px rgba(60,255,122,.12),inset 0 1px 0 rgba(255,255,255,.04)}.plant-form textarea{resize:vertical;min-height:88px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-hint{display:block;margin-top:8px;color:#e8ffbd;font-size:11px;line-height:1.35;font-weight:800}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.save-btn,.danger-btn{height:50px;border-radius:18px;font-weight:950;padding:0 14px;letter-spacing:-.02em}.save-btn{flex:1;background:linear-gradient(145deg,#5dff88,#19b864);color:#041008;box-shadow:0 16px 34px rgba(25,184,100,.28)}.danger-btn{background:rgba(255,77,77,.1);color:#ff9a9a;border:1px solid rgba(255,77,77,.2)}.danger-btn.hidden{display:none}.detail-dialog{max-height:86vh;overflow:auto}.detail-card{padding:18px}.detail-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.detail-emoji{width:58px;height:58px;border-radius:18px;background:rgba(60,255,122,.12);display:grid;place-items:center;font-size:34px;border:1px solid var(--line-strong)}.detail-card h3{margin:0;font-size:24px}.detail-card p{color:var(--soft);line-height:1.4}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.timeline div{border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:10px 6px;text-align:center}.timeline b{display:block;font-size:21px}.timeline small{color:var(--muted);font-size:10px}.detail-actions{display:flex;gap:10px;margin-top:14px}.ghost-btn{height:44px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--line);padding:0 14px;font-weight:900}.edit-detail{background:rgba(60,255,122,.1);border-color:var(--line-strong);color:var(--green)}
.empty-state{text-align:center;padding:30px 16px;border:1px dashed rgba(60,255,122,.28);border-radius:22px;color:var(--muted)}.empty-state b{display:block;color:var(--green);font-size:22px;margin-bottom:6px}
@media(max-width:380px){.phone-app{padding-left:10px;padding-right:10px}.brand p{max-width:210px}.stats-grid{gap:6px}.stat-card{min-height:80px;border-radius:14px}.stat-card strong{font-size:24px}.stat-card small{font-size:8px}.plant-card{padding:9px 8px}.card-top{grid-template-columns:49px minmax(0,1fr) 72px;gap:8px}.plant-photo{width:49px;height:49px;border-radius:14px;font-size:29px}.plant-name{font-size:16px}.plant-meta,.seed-date,.plant-day{font-size:11px}.phase-badge{font-size:10px;padding:5px 6px}.plant-side{min-width:70px}.weeks-row{gap:2px}.week-chip{height:30px;border-radius:8px}.week-chip small{font-size:6px}.week-chip strong{font-size:9px}.bottom-nav{grid-template-columns:1fr 1fr 62px 1fr 1fr}.nav-add{width:54px;height:54px}.nav-item small{font-size:10px}}
@media(min-width:431px){body{display:flex;justify-content:center}.phone-app{border-left:1px solid rgba(255,255,255,.07);border-right:1px solid rgba(255,255,255,.07)}}
/* v3: memoria stabile + admin */
.code-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;border:1px solid rgba(60,255,122,.22);background:rgba(60,255,122,.075);color:#9dffbf;border-radius:9px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.settings-row{display:grid;gap:8px}.toggle-line{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:16px;padding:12px;color:#dfe8e1;font-weight:850;font-size:13px}.toggle-line input{accent-color:var(--green);width:18px;height:18px}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.import-label{display:grid;place-items:center;text-align:center}.admin-link{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:16px;text-decoration:none;font-weight:950;color:#051008;background:linear-gradient(145deg,#ffd76f,#f5b841);box-shadow:0 14px 32px rgba(255,193,7,.18)}

/* Tutorial prima accensione */
.hidden{display:none!important}
.tutorial-layer{position:fixed;inset:0;z-index:80;pointer-events:none}
.tutorial-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 12%,rgba(60,255,122,.15),transparent 34%),rgba(0,0,0,.34);backdrop-filter:blur(2px);pointer-events:none}
.tutorial-card{position:fixed;left:12px;right:12px;bottom:calc(84px + var(--safe-bottom));width:min(406px,calc(100vw - 24px));margin:0 auto;border:1px solid rgba(60,255,122,.32);border-radius:24px;background:linear-gradient(145deg,rgba(12,24,31,.96),rgba(4,10,16,.96));box-shadow:0 28px 88px rgba(0,0,0,.62),0 0 44px rgba(60,255,122,.12);padding:15px;pointer-events:auto;animation:tutorialIn .28s ease-out both}
.tutorial-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(60,255,122,.28);border-radius:999px;background:rgba(60,255,122,.08);color:#9dffbf;font-size:12px;font-weight:950;padding:6px 10px;margin-bottom:9px;text-transform:uppercase;letter-spacing:.05em}
.tutorial-card h3{margin:0 0 6px;font-size:22px;letter-spacing:-.04em;line-height:1.08;color:#f6fff8}
.tutorial-card p{margin:0;color:#d9e5df;font-size:14px;line-height:1.42}
.tutorial-actions{display:flex;justify-content:space-between;gap:10px;margin-top:13px}.tutorial-actions button{min-height:44px;flex:1}.tutorial-skip{opacity:.86}.tutorial-next{box-shadow:0 12px 32px rgba(60,255,122,.16)}
.tutorial-target{position:relative;z-index:90!important;box-shadow:0 0 0 4px rgba(60,255,122,.22),0 0 0 9px rgba(60,255,122,.08),0 0 36px rgba(60,255,122,.34)!important;animation:tutorialPulse 1.2s ease-in-out infinite;border-color:rgba(60,255,122,.95)!important}
.tutorial-form-help{border:1px solid rgba(255,193,7,.34);border-radius:18px;background:linear-gradient(145deg,rgba(255,193,7,.13),rgba(60,255,122,.05));padding:12px;margin:2px 0 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.tutorial-form-help b{display:block;color:#ffd76f;font-size:15px;margin-bottom:4px}.tutorial-form-help span{display:block;color:#eef8f1;font-size:13px;line-height:1.35}.plant-form.tutorial-mode label{border-color:rgba(60,255,122,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(60,255,122,.05)}.plant-form.tutorial-mode label[data-tip]::after{content:attr(data-tip);display:block;margin-top:6px;color:#9dffbf;font-size:11px;line-height:1.25;font-weight:750}.tutorial-complete-toast{position:fixed;left:12px;right:12px;bottom:calc(84px + var(--safe-bottom));z-index:100;width:min(406px,calc(100vw - 24px));margin:0 auto;border:1px solid rgba(60,255,122,.45);border-radius:24px;background:linear-gradient(145deg,rgba(14,35,25,.98),rgba(5,12,16,.98));padding:16px;text-align:center;box-shadow:0 28px 88px rgba(0,0,0,.62),0 0 44px rgba(60,255,122,.18);animation:tutorialIn .28s ease-out both}.tutorial-complete-toast b{display:block;font-size:22px;color:#9dffbf;margin-bottom:5px}.tutorial-complete-toast span{display:block;color:#e9f5ee;font-size:14px}
@keyframes tutorialIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tutorialPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(max-height:720px){.tutorial-card{bottom:calc(72px + var(--safe-bottom));padding:12px}.tutorial-card h3{font-size:20px}.tutorial-card p{font-size:13px}.tutorial-actions button{min-height:40px}.tutorial-form-help{padding:10px;margin-bottom:9px}.plant-form.tutorial-mode label[data-tip]::after{font-size:10.5px}.live-preview{grid-template-columns:1fr}.dialog-sub{font-size:11px}}

/* v5.1: Aggiungi pianta one-screen / iPhone friendly */
body:has(#plantDialog[open]){overflow:hidden}
#plantDialog.plant-dialog{width:min(calc(100vw - 8px),430px);max-width:430px;max-height:calc(100dvh - 10px);border-radius:24px;overflow:hidden;margin:auto;padding:0}
#plantDialog .plant-form{padding:10px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr auto auto;gap:7px;max-height:calc(100dvh - 10px);overflow:hidden;transform-origin:top center}
#plantDialog .dialog-head{margin:0;align-items:center;gap:8px;min-height:48px}
#plantDialog .eyebrow{font-size:9px;margin-bottom:1px;letter-spacing:.07em}
#plantDialog .dialog-head h3{font-size:20px;line-height:1.02}
#plantDialog .dialog-sub{font-size:10px;line-height:1.2;margin-top:3px;max-width:260px;color:#b9c6bf}
#plantDialog .close-btn{width:36px;height:36px;min-width:36px;font-size:16px;border-radius:14px}
#plantDialog .compact-checklist{margin:0;gap:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#plantDialog .compact-checklist span{justify-content:center;padding:5px 4px;font-size:10px;white-space:nowrap;border-radius:10px}
#plantDialog .compact-preview{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:6px;margin:0;min-height:54px}
#plantDialog .preview-card{border-radius:13px;padding:7px 8px;min-width:0}
#plantDialog .preview-main{gap:7px}
#plantDialog .preview-emoji{width:34px;height:34px;min-width:34px;border-radius:11px;font-size:20px}
#plantDialog .preview-card small{font-size:8.5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plantDialog .preview-card strong{font-size:13px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plantDialog .preview-card span{font-size:9.5px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plantDialog .compact-fields{display:grid;grid-template-columns:1.1fr .9fr;gap:6px;min-height:0;align-content:start}
#plantDialog .compact-fields label{margin:0;padding:7px;border-radius:13px;min-width:0}
#plantDialog .field-name{grid-column:1/2}
#plantDialog .field-emoji{grid-column:2/3}
#plantDialog .field-type{grid-column:1/2}
#plantDialog .field-breeder{grid-column:2/3}
#plantDialog .field-date{grid-column:1/2}
#plantDialog .field-harvest{grid-column:2/3}
#plantDialog .field-notes{grid-column:1/-1}
#plantDialog .label-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:5px}
#plantDialog .label-top b{font-size:12px;line-height:1;white-space:nowrap}
#plantDialog .label-top small{font-size:9px;line-height:1;margin:0;color:#89f6ae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plantDialog .plant-form input,#plantDialog .plant-form select,#plantDialog .plant-form textarea{margin:0;border-radius:11px;padding:8px 9px;font-size:14px;min-height:36px;background:rgba(4,12,18,.88)}
#plantDialog .plant-form textarea{min-height:54px;max-height:64px;resize:none;line-height:1.18}
#plantDialog .form-hint{margin-top:4px;font-size:9px;line-height:1.1;color:#ffe39b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#plantDialog .compact-suggestions{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#plantDialog .compact-suggestions span{justify-content:center;padding:5px 3px;font-size:9.5px;white-space:nowrap;border-radius:10px}
#plantDialog .compact-actions{margin:0;gap:7px;padding-top:1px}
#plantDialog .save-btn,#plantDialog .danger-btn{height:42px;min-height:42px;border-radius:14px;font-size:13px;padding:0 10px;white-space:nowrap}
#plantDialog .danger-btn.hidden{display:none!important}
#plantDialog.is-compressed .dialog-sub{display:none}
#plantDialog.is-compressed .compact-checklist,#plantDialog.is-compressed .compact-suggestions{display:none}

@media(max-width:380px){
  #plantDialog .plant-form{padding:8px;gap:6px}
  #plantDialog .dialog-head h3{font-size:18px}
  #plantDialog .compact-preview{grid-template-columns:1fr .72fr}
  #plantDialog .preview-mini:last-child{display:none}
  #plantDialog .compact-fields{gap:5px}
  #plantDialog .compact-fields label{padding:6px;border-radius:12px}
  #plantDialog .label-top b{font-size:11px}
  #plantDialog .label-top small{font-size:8.5px}
  #plantDialog .plant-form input,#plantDialog .plant-form select,#plantDialog .plant-form textarea{font-size:13px;min-height:34px;padding:7px 8px}
}
@media(max-height:740px){
  #plantDialog .dialog-sub{display:none}
  #plantDialog .compact-checklist{display:none}
  #plantDialog .compact-preview{grid-template-columns:1fr .72fr;min-height:48px}
  #plantDialog .preview-mini:last-child{display:none}
  #plantDialog .plant-form textarea{min-height:44px;max-height:48px}
  #plantDialog .compact-suggestions{display:none}
  #plantDialog .save-btn,#plantDialog .danger-btn{height:39px;min-height:39px}
}
@media(max-height:640px){
  #plantDialog .live-preview{display:none}
  #plantDialog .dialog-head{min-height:40px}
  #plantDialog .close-btn{width:32px;height:32px;min-width:32px}
  #plantDialog .compact-fields label{padding:5px}
  #plantDialog .label-top{margin-bottom:3px}
  #plantDialog .plant-form input,#plantDialog .plant-form select,#plantDialog .plant-form textarea{min-height:31px;padding:5px 7px;font-size:12px}
  #plantDialog .plant-form textarea{min-height:36px;max-height:40px}
  #plantDialog .form-hint{display:none}
}

/* Diario fotografico settimanale + statistiche compatte */
.plant-mini-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.mini-stat-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);color:#dfece4;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}
.mini-stat-pill b{color:#75ff91;font-size:10px}.mini-stat-pill small{color:#aebbb3;font-size:9px;font-weight:900}.mini-stat-pill.warn{border-color:rgba(255,193,7,.22);background:rgba(255,193,7,.08);color:#ffe3a6}.mini-stat-pill.warn b{color:var(--gold)}.mini-stat-pill.ok{border-color:rgba(60,255,122,.22);background:rgba(60,255,122,.09)}
.plant-card.week-mode{border-color:rgba(60,255,122,.27);box-shadow:0 14px 38px rgba(0,0,0,.3),0 0 0 1px rgba(60,255,122,.05) inset}.plant-photo.camera-ready{font-size:30px;background:linear-gradient(145deg,rgba(60,255,122,.24),rgba(255,193,7,.12));border-color:rgba(60,255,122,.48);box-shadow:0 0 24px rgba(60,255,122,.16),inset 0 1px 0 rgba(255,255,255,.11);animation:cameraPulse 1.6s ease-in-out infinite}.plant-photo.camera-ready:after{content:'scatta';position:absolute;margin-top:41px;font-size:8px;font-weight:950;text-transform:uppercase;color:#06120c;background:var(--green);border-radius:999px;padding:2px 5px;letter-spacing:.04em}@keyframes cameraPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.week-chip{position:relative;padding:0;cursor:pointer;appearance:none;-webkit-appearance:none}.week-chip.selected-week{border-color:rgba(60,255,122,.78);background:linear-gradient(145deg,rgba(60,255,122,.18),rgba(255,193,7,.12));box-shadow:0 0 0 1px rgba(60,255,122,.2),0 8px 18px rgba(0,0,0,.2)}.week-chip.has-photo{border-color:rgba(60,255,122,.35);background:rgba(60,255,122,.12)}.week-chip em{position:absolute;right:2px;bottom:1px;font-style:normal;font-size:8px;line-height:1;color:#04200d;background:#75ff91;border-radius:999px;padding:1px 3px;font-weight:950}.week-chip.selected-week strong{color:#75ff91}.week-chip.selected-week small{color:#effff4}
.week-photo-panel{margin-top:8px;border-radius:15px;border:1px solid rgba(60,255,122,.19);background:linear-gradient(145deg,rgba(60,255,122,.08),rgba(255,255,255,.035));padding:8px;position:relative;z-index:1}.week-photo-head{display:flex;align-items:center;gap:7px;margin-bottom:7px}.week-photo-head b{font-size:12px;color:#effff4}.week-photo-head span{margin-left:auto;font-size:10px;color:#9eaca5;font-weight:850}.week-photo-head button{height:28px;border-radius:10px;background:linear-gradient(145deg,#5dff88,#19b864);color:#041008;font-size:11px;font-weight:950;padding:0 9px;white-space:nowrap}.week-photo-grid{display:flex;gap:7px;overflow-x:auto;padding-bottom:1px;scroll-snap-type:x proximity}.week-thumb{position:relative;flex:0 0 72px;height:72px;border-radius:14px;overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);scroll-snap-align:start}.week-thumb img{width:100%;height:100%;object-fit:cover;display:block}.week-thumb figcaption{position:absolute;left:3px;bottom:3px;padding:2px 5px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:9px;font-weight:900}.week-thumb button{position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-weight:950;line-height:1}.week-photo-empty{flex:1;border:1px dashed rgba(255,193,7,.28);border-radius:13px;color:#ffe39b;background:rgba(255,193,7,.06);font-size:11px;font-weight:850;line-height:1.25;padding:10px;text-align:center}.photo-timeline div{overflow:hidden}.photo-timeline img{width:100%;height:58px;object-fit:cover;border-radius:10px;display:block;margin-bottom:5px}
@media(max-width:380px){.plant-mini-stats{gap:4px}.mini-stat-pill{font-size:9px;padding:3px 5px}.mini-stat-pill b{font-size:9px}.week-photo-panel{padding:7px}.week-thumb{flex-basis:64px;height:64px}.plant-photo.camera-ready:after{margin-top:38px;font-size:7px}.week-photo-head b{font-size:11px}.week-photo-head span{display:none}}
.plant-photo{position:relative}

/* v5.2: preset universali per tutte le piante */
#plantDialog .field-category{grid-column:1/-1;padding:6px 7px}
#plantDialog .field-category .label-top{margin-bottom:4px}
#plantDialog .field-hidden{display:none!important}
#plantDialog .compact-suggestions button{display:flex;align-items:center;justify-content:center;padding:5px 3px;font-size:9.5px;white-space:nowrap;border-radius:10px;border:1px solid rgba(255,193,7,.28);background:rgba(255,193,7,.08);color:#ffe39b;font-weight:900;min-width:0;min-height:26px}
#plantDialog .compact-suggestions button:active{transform:scale(.97);background:rgba(60,255,122,.14);color:#b6ffd0;border-color:rgba(60,255,122,.34)}
.plant-category-badge{display:inline-flex;align-items:center;gap:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.progress-goal-label{color:#dfece4}
@media(max-height:740px){#plantDialog .field-category{padding:5px 6px}#plantDialog .field-category .label-top{display:none}#plantDialog .field-category select{min-height:30px!important;padding-top:4px!important;padding-bottom:4px!important}}
@media(max-height:640px){#plantDialog .field-category{padding:4px}#plantDialog .field-category select{min-height:28px!important;font-size:12px!important}}

/* v6 Market: pubblicazione pianta -> marketplace */
.brand-market-word{color:var(--green);font-weight:900}.market-view{display:none}.market-view.active{display:block}.market-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-radius:24px;border:1px solid rgba(60,255,122,.24);background:radial-gradient(circle at 80% 0%,rgba(60,255,122,.18),transparent 40%),linear-gradient(145deg,rgba(11,27,23,.96),rgba(8,14,18,.88));box-shadow:0 18px 46px rgba(0,0,0,.28);overflow:hidden}.market-hero h2{margin:6px 0 4px;font-size:30px;letter-spacing:-.06em;line-height:1}.market-hero p{margin:0;color:#bcc9c1;font-size:13px;line-height:1.35}.market-hero-kicker{color:#73ffa4;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.market-refresh{width:42px;height:42px;border-radius:15px;border:1px solid rgba(60,255,122,.28);background:rgba(60,255,122,.08);color:var(--green);font-weight:950;font-size:20px}.market-stats-row{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;margin:10px 0}.market-stats-row div{border-radius:17px;border:1px solid var(--line);background:rgba(255,255,255,.045);padding:12px 8px;text-align:center}.market-stats-row b{display:block;color:#fff;font-size:19px;letter-spacing:-.04em}.market-stats-row small{color:#9fb0a7;font-size:10px;font-weight:850}.market-search-box{margin:10px 0}.market-search-box input{width:100%;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(8,16,22,.86);padding:14px 16px;color:#fff;outline:none}.market-search-box input:focus{border-color:rgba(60,255,122,.42);box-shadow:0 0 0 3px rgba(60,255,122,.08)}.market-filter-row{display:flex;gap:7px;overflow-x:auto;margin:8px 0 12px;padding-bottom:2px}.market-filter-row button{flex:0 0 auto;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#dbe6df;padding:8px 11px;font-size:12px;font-weight:900}.market-filter-row button.active{border-color:rgba(60,255,122,.72);background:rgba(60,255,122,.12);color:#72ffa5}.market-howto,.market-compliance-note{display:flex;gap:8px;align-items:flex-start;border:1px solid rgba(255,193,7,.22);background:rgba(255,193,7,.07);border-radius:16px;padding:10px 12px;color:#ffe5a5;font-size:12px;line-height:1.35;margin-bottom:12px}.market-howto b,.market-compliance-note b{color:var(--gold);white-space:nowrap}.market-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.market-product-card{position:relative;min-width:0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(15,26,31,.94),rgba(5,10,14,.94));box-shadow:0 12px 30px rgba(0,0,0,.24)}.market-product-card.mine{border-color:rgba(60,255,122,.34);box-shadow:0 0 0 1px rgba(60,255,122,.05),0 12px 30px rgba(0,0,0,.25)}.market-product-img{position:relative;height:128px;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(60,255,122,.14),transparent 60%),rgba(0,0,0,.22)}.market-product-img img{width:100%;height:100%;object-fit:cover;display:block}.market-product-img>span{font-size:58px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35))}.market-badge{position:absolute;left:8px;top:8px;border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:950;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.5);backdrop-filter:blur(8px)}.market-badge.available{color:#73ffa4;border-color:rgba(60,255,122,.4);background:rgba(15,80,42,.45)}.market-badge.preorder{color:#ffc842;border-color:rgba(255,193,7,.46);background:rgba(90,61,0,.45)}.market-badge.soon{color:#71b4ff;border-color:rgba(113,180,255,.46);background:rgba(21,57,101,.42)}.market-badge.soldout{color:#cad2cf}.market-product-body{padding:10px}.market-card-topline{display:flex;justify-content:space-between;gap:6px;align-items:center}.market-card-topline small{color:#aac0b2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-card-topline em{font-style:normal;font-size:9px;color:#06130c;background:var(--green);border-radius:999px;padding:2px 5px;font-weight:950}.market-product-card h3{font-size:16px;line-height:1.05;margin:5px 0 5px;letter-spacing:-.04em}.market-product-card p{margin:0;color:#9fabaa;font-size:11px;line-height:1.25;min-height:27px}.market-product-card p span{display:block;color:#d7e7dc}.market-price-row{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:9px}.market-price-row strong{font-size:18px;color:#fff}.market-price-row button{border:1px solid rgba(60,255,122,.54);color:#72ffa5;border-radius:12px;padding:8px 9px;font-size:11px;font-weight:950;background:rgba(60,255,122,.08)}.market-owner-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.market-owner-actions button{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 5px;font-size:10px;color:#dce6df;background:rgba(255,255,255,.045)}.market-empty{grid-column:1/-1;border:1px dashed rgba(60,255,122,.28);border-radius:20px;padding:22px;text-align:center;color:#c7d5ce;background:rgba(60,255,122,.055)}.market-empty b{display:block;color:#73ffa4;font-size:18px;margin-bottom:5px}.market-weeks-head{gap:6px}.market-weeks-head span{flex:0 0 auto}.market-weeks-head b{margin-left:auto;text-align:right}.market-chip-btn{flex:0 0 auto;border-radius:999px;border:1px solid rgba(60,255,122,.45);background:rgba(60,255,122,.1);color:#75ff9e;font-size:9px;font-weight:950;padding:4px 7px;text-transform:none;letter-spacing:0;white-space:nowrap}.market-chip-btn.listed{border-color:rgba(255,193,7,.38);background:rgba(255,193,7,.1);color:#ffe08b}.market-dialog .market-publish-form{padding:18px}.market-confirm-card{display:flex;align-items:center;gap:12px;border:1px solid rgba(60,255,122,.2);background:linear-gradient(145deg,rgba(60,255,122,.1),rgba(255,255,255,.035));border-radius:18px;padding:12px;margin:12px 0}.market-confirm-emoji{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(60,255,122,.1);border:1px solid rgba(60,255,122,.18);font-size:30px}.market-confirm-card b{display:block;font-size:18px}.market-confirm-card small{display:block;color:#aebdb5;margin-top:3px;line-height:1.3}.market-dialog-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px}.market-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-fields-grid label,.market-legal-check{border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:14px;padding:9px}.market-fields-grid input,.market-fields-grid select,.market-fields-grid textarea{width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(3,9,14,.9);border-radius:12px;padding:9px;outline:none}.market-fields-grid textarea{resize:vertical;min-height:70px}.market-full-field{grid-column:1/-1}.market-legal-check{display:flex;gap:9px;align-items:flex-start;margin-top:8px;color:#c7d5ce;font-size:12px;line-height:1.35}.market-legal-check input{margin-top:2px;accent-color:#3cff7a}.market-mini-preview{display:flex;align-items:center;gap:10px;border:1px solid rgba(60,255,122,.18);border-radius:16px;background:rgba(60,255,122,.06);padding:8px;margin-bottom:10px}.market-mini-preview img{width:56px;height:56px;border-radius:14px;object-fit:cover}.market-mini-preview span{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:rgba(60,255,122,.08)}.market-mini-preview b{display:block;color:#fff}.market-mini-preview small{display:block;color:#aab8b1;margin-top:2px}.hidden{display:none!important}
@media(max-width:380px){.market-products-grid{gap:8px}.market-product-img{height:112px}.market-product-card h3{font-size:14px}.market-price-row{align-items:flex-start;flex-direction:column}.market-price-row button{width:100%}.market-stats-row{grid-template-columns:1fr 1fr}.market-stats-row div:last-child{grid-column:1/-1}.market-fields-grid{grid-template-columns:1fr}.market-dialog-actions{grid-template-columns:1fr}.market-weeks-head{flex-wrap:wrap}.market-weeks-head b{width:100%;margin-left:0;text-align:left}}

/* Patch Market v6.1: market starts from the goods and uses real plant photos */
.market-products-first{margin-top:0}
.market-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:12px 14px;border-radius:19px;border:1px solid rgba(60,255,122,.20);background:linear-gradient(145deg,rgba(60,255,122,.085),rgba(255,255,255,.035))}
.market-section-head span{display:block;color:#73ffa4;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.market-section-head b{display:block;color:#fff;font-size:18px;letter-spacing:-.04em;margin-top:2px}
.market-search-after-goods{margin-top:12px}
.market-confirm-emoji.has-photo{padding:0;overflow:hidden;background:#06110d;border-color:rgba(60,255,122,.45)}
.market-confirm-emoji.has-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:17px}
.market-product-img img{background:#07110d}
.market-product-img:has(img)>span{display:none}

/* Patch Market v6.2: annunci 1:1 + messaggi locali */
.market-chip-btn.listed{border-color:rgba(255,193,7,.75)!important;background:linear-gradient(145deg,rgba(255,193,7,.22),rgba(255,255,255,.055))!important;color:#ffd66b!important;box-shadow:0 0 0 2px rgba(255,193,7,.06)}
.market-product-card.mine:before{content:'Annuncio collegato 1:1';position:absolute;right:8px;top:8px;z-index:3;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:950;color:#ffe29b;background:rgba(63,46,0,.78);border:1px solid rgba(255,193,7,.35);backdrop-filter:blur(8px)}
.market-product-card.mine .market-badge{top:32px}
.market-price-row a,.market-price-row button{border:1px solid rgba(60,255,122,.54);color:#72ffa5;border-radius:12px;padding:8px 9px;font-size:11px;font-weight:950;background:rgba(60,255,122,.08);text-decoration:none;white-space:nowrap}
.market-chat-hint{margin-top:8px;border:1px solid rgba(60,255,122,.16);border-radius:12px;background:rgba(60,255,122,.055);color:#bfe9cc;font-size:10.5px;line-height:1.25;padding:7px 8px}
.market-message-dialog .market-publish-form{padding:18px;max-height:min(86vh,760px);display:flex;flex-direction:column;gap:10px}
.market-message-thread{min-height:220px;max-height:42vh;overflow:auto;border:1px solid rgba(255,255,255,.10);background:rgba(3,9,14,.76);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:8px}
.market-message-bubble{max-width:86%;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);padding:9px 10px;color:#eaf5ef;line-height:1.25}
.market-message-bubble.me{align-self:flex-end;background:rgba(60,255,122,.12);border-color:rgba(60,255,122,.28)}
.market-message-bubble.other{align-self:flex-start;background:rgba(255,193,7,.08);border-color:rgba(255,193,7,.22)}
.market-message-bubble b{display:block;font-size:11px;color:#73ffa4;margin-bottom:3px}.market-message-bubble span{display:block;font-size:13px}.market-message-bubble small{display:block;margin-top:5px;color:#9cadA4;font-size:9.5px}.market-message-empty{margin:auto;width:100%}
.market-message-actions{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:stretch}.market-message-actions textarea{width:100%;resize:vertical;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(3,9,14,.9);color:#fff;padding:10px;outline:none}.market-message-actions textarea:focus{border-color:rgba(60,255,122,.45);box-shadow:0 0 0 3px rgba(60,255,122,.08)}
@media(max-width:430px){.market-message-actions{grid-template-columns:1fr}.market-message-bubble{max-width:96%}.market-product-card.mine:before{font-size:8.5px;right:6px}}

/* v6.3: fix tab Market pulita - le piante non devono restare visibili sotto/sopra il marketplace */
.view:not(.active){display:none!important}
.plant-list.view.active{display:flex!important;flex-direction:column;gap:8px}
.market-view.view.active{display:block!important}
.calendar-view.view.active,.alerts-view.view.active,.settings-view.view.active{display:block!important}
.phone-app.market-mode .stats-grid,.phone-app.market-mode .screen-title{display:none!important}
.phone-app.market-mode .market-view{padding-top:0}

/* v6.4 - Avvisi = centro messaggi market */
.alerts-view{display:flex;flex-direction:column;gap:14px}
.messages-center,.plant-reminders-panel{border:1px solid rgba(60,255,122,.16);background:linear-gradient(160deg,rgba(8,26,21,.92),rgba(4,11,16,.92));border-radius:22px;padding:12px;box-shadow:0 14px 34px rgba(0,0,0,.30)}
.messages-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.messages-hero span{display:block;color:#76ff9b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.messages-hero b{display:block;color:#fff;font-size:22px;line-height:1.05;margin:3px 0}.messages-hero small{display:block;color:#a8b8b0;font-size:11px;line-height:1.25}.messages-hero button{width:48px;height:48px;border-radius:17px;border:1px solid rgba(60,255,122,.26);background:rgba(60,255,122,.10);color:#5dff91;font-size:26px;font-weight:950}
.inbox-list{display:flex;flex-direction:column;gap:8px}.inbox-conversation{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:18px;padding:9px;text-align:left;color:#fff}.inbox-conversation.unread{border-color:rgba(60,255,122,.48);background:rgba(60,255,122,.11);box-shadow:0 0 0 3px rgba(60,255,122,.05)}.inbox-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.06);font-size:24px}.inbox-avatar img{width:100%;height:100%;object-fit:cover}.inbox-text{min-width:0}.inbox-text b{display:block;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-text small{display:block;color:#c9d7cf;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-text em{display:block;color:#80918a;font-size:9px;font-style:normal;margin-top:2px}.inbox-conversation strong{min-width:22px;height:22px;border-radius:999px;background:#ff4d4d;color:#fff;font-size:12px;display:grid;place-items:center}.inbox-conversation i{color:#74ff9c;font-style:normal;font-size:11px;font-weight:900}.inbox-empty{border:1px dashed rgba(255,255,255,.12);background:rgba(255,255,255,.035);border-radius:18px;padding:16px;color:#eaf5ef}.inbox-empty b{display:block;color:#70ff95}.inbox-empty span{display:block;color:#aab9b2;font-size:12px;margin-top:4px;line-height:1.35}.plant-reminders-panel h3{margin:2px 0 10px;color:#ffd85a;font-size:14px}.market-chat-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center}.market-chat-head em{min-width:24px;height:24px;border-radius:999px;background:#ff4d4d;color:#fff;display:grid;place-items:center;padding:0 7px;font-size:11px;font-style:normal;font-weight:950}.market-inbox-toast{position:fixed;left:50%;bottom:calc(86px + var(--safe-bottom));transform:translateX(-50%);z-index:70;width:min(calc(100% - 28px),390px);border:1px solid rgba(60,255,122,.42);background:linear-gradient(135deg,rgba(8,30,22,.98),rgba(9,15,20,.98));box-shadow:0 20px 55px rgba(0,0,0,.45),0 0 0 4px rgba(60,255,122,.08);border-radius:20px;padding:13px 15px;color:#fff;text-align:left}.market-inbox-toast b{display:block;color:#72ff96;font-size:14px}.market-inbox-toast span{display:block;color:#cad8d1;font-size:12px;margin-top:2px}.nav-item b{animation:badgePulse 1.8s ease-in-out infinite}@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.10)}}
@media(max-width:380px){.messages-hero b{font-size:19px}.inbox-conversation{grid-template-columns:42px minmax(0,1fr) auto}.inbox-avatar{width:42px;height:42px;border-radius:13px}.messages-center,.plant-reminders-panel{padding:10px;border-radius:19px}}
.market-certificate-badge{display:inline-flex;align-items:center;gap:5px;margin:2px 0 8px;padding:5px 8px;border-radius:999px;border:1px solid rgba(255,193,7,.34);background:rgba(255,193,7,.08);color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.02em}.market-product-card.mine .market-certificate-badge{border-color:rgba(60,255,122,.34);background:rgba(60,255,122,.08);color:var(--green)}

/* v6.5 local-first marketplace epico: filtri, offerte, prenotazioni, QR/link, venditore */
.market-search-advanced{display:grid;grid-template-columns:1.4fr .9fr .9fr;gap:8px}.market-search-advanced input{min-width:0}.market-product-card.featured{border-color:rgba(255,215,90,.55);box-shadow:0 18px 48px rgba(255,193,7,.10),var(--shadow)}.featured-ribbon{position:absolute;left:8px;top:8px;z-index:3;border-radius:999px;background:rgba(255,193,7,.88);color:#241700;font-size:9px;font-style:normal;font-weight:950;padding:4px 7px}.market-badge.reserved{background:rgba(255,193,7,.16);border-color:rgba(255,193,7,.42);color:#ffe07d}.market-badge.sold,.market-badge.soldout{background:rgba(255,95,95,.14);border-color:rgba(255,95,95,.38);color:#ffaaaa}.market-badge.hidden-status{background:rgba(160,160,170,.14);border-color:rgba(180,180,190,.25);color:#d6d6df}.market-badge.stale{background:rgba(255,150,30,.14);border-color:rgba(255,150,30,.42);color:#ffc27d}.market-location-pill{display:inline-flex;align-items:center;margin:0 0 7px;border:1px solid rgba(88,190,255,.22);background:rgba(88,190,255,.07);border-radius:999px;padding:5px 8px;color:#b8e7ff;font-size:10.5px;font-weight:850}.market-seller-card{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:14px;padding:8px;margin:4px 0 8px}.market-seller-card b{display:block;color:#eefcf1;font-size:12px}.market-seller-card small{display:block;color:#aebdb5;font-size:10px;margin-top:2px}.market-quality-row{display:flex;gap:5px;flex-wrap:wrap;margin:3px 0 8px}.market-quality-row span{border:1px solid rgba(60,255,122,.18);background:rgba(60,255,122,.065);border-radius:999px;color:#c9f4d4;font-size:9.5px;font-weight:850;padding:4px 6px}.market-quality-row b{color:#73ffa4}.market-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.market-action-grid button,.market-action-grid a{border:1px solid rgba(60,255,122,.26);background:rgba(60,255,122,.075);color:#dfffea;text-decoration:none;border-radius:12px;padding:8px 6px;font-size:10.5px;font-weight:900;text-align:center;cursor:pointer;line-height:1.15}.market-action-grid button:hover,.market-action-grid a:hover{border-color:rgba(60,255,122,.55);background:rgba(60,255,122,.13)}.market-qr-box{margin-top:8px;border:1px dashed rgba(255,255,255,.14);border-radius:14px;padding:8px;background:rgba(255,255,255,.025)}.market-qr-box summary{cursor:pointer;color:#ffd972;font-weight:950;font-size:11px}.qr-row{display:flex;align-items:center;gap:10px;margin-top:8px}.pseudo-qr{width:74px;height:74px;border-radius:12px;background:#fff;padding:7px;flex:0 0 auto}.pseudo-qr svg{width:100%;height:100%;display:block;fill:#09120d;shape-rendering:crispEdges}.qr-row small{font-size:10px;color:#c9d8cf;line-height:1.35;word-break:break-all}.market-stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}.market-owner-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.market-owner-actions button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#eefcf1;border-radius:11px;padding:7px 8px;font-size:10.5px;font-weight:900}.market-product-card .market-badge{max-width:calc(100% - 14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.market-search-advanced{grid-template-columns:1fr}.market-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-stats-row{grid-template-columns:1fr 1fr}.market-stats-row div:nth-child(3),.market-stats-row div:nth-child(4){grid-column:auto}.qr-row{align-items:flex-start}.pseudo-qr{width:64px;height:64px}.market-action-grid button,.market-action-grid a{font-size:10px;padding:8px 5px}}


.market-archive-strip{margin:10px 14px 12px;padding:12px;border:1px solid rgba(255,193,7,.28);background:linear-gradient(135deg,rgba(255,193,7,.12),rgba(60,255,122,.07));border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--shadow)}
.market-archive-strip b{display:block;color:#fff8d6;font-size:13px}.market-archive-strip small{display:block;color:#cdd7ce;font-size:11px;margin-top:3px}.market-archive-strip button{border:1px solid rgba(255,193,7,.42);background:rgba(255,193,7,.16);color:#fff4c7;border-radius:12px;padding:9px 12px;font-weight:950;white-space:nowrap}.market-archive-note{border:1px solid rgba(255,193,7,.22);background:rgba(255,193,7,.075);color:#ffe9a7;border-radius:12px;padding:7px 8px;font-size:10.5px;font-weight:850;margin:4px 0 8px;line-height:1.25}.certificate-history{margin-top:9px;border-top:1px solid rgba(255,255,255,.10);padding-top:8px;display:grid;gap:6px}.certificate-history>b{color:#fff6c8;font-size:11px}.certificate-history span{display:block;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:10px;padding:6px}.certificate-history em{display:block;color:#73ffa4;font-style:normal;font-weight:950;font-size:10.5px}.certificate-history small{display:block;color:#c9d8cf;font-size:9.5px;line-height:1.3;margin-top:2px}.certificate-history-empty{margin-top:8px;color:#aebdb5;font-size:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:7px}.market-product-card.mine{order:-1;border-color:rgba(60,255,122,.32)}
@media(max-width:560px){.market-archive-strip{align-items:stretch;flex-direction:column}.market-archive-strip button{width:100%}}

/* v6.8 proprietario: diario vivo anche dopo pubblicazione marketplace */
.market-live-diary-section{margin-top:12px;border:1px solid rgba(60,255,122,.18);background:linear-gradient(145deg,rgba(60,255,122,.055),rgba(255,193,7,.035));border-radius:22px;padding:10px;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.market-live-diary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 10px;padding:2px 3px 8px;border-bottom:1px solid rgba(255,255,255,.08)}
.market-live-diary-head b{display:block;color:#dfffe8;font-size:14px}.market-live-diary-head small{display:block;color:#adc5b8;font-size:11px;line-height:1.3;margin-top:2px;text-align:right;max-width:210px}
.market-live-plant-card{border-color:rgba(255,193,7,.34)!important;background:radial-gradient(circle at 90% 0%,rgba(255,193,7,.12),transparent 44%),linear-gradient(145deg,rgba(15,26,31,.96),rgba(5,10,14,.96))!important}
.plant-market-live-badge{position:absolute;z-index:3;right:10px;top:10px;border:1px solid rgba(255,193,7,.45);background:rgba(255,193,7,.14);color:#ffe39d;border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:950;box-shadow:0 5px 15px rgba(0,0,0,.22)}
.plant-market-live-note{margin:8px 0 7px;border:1px solid rgba(60,255,122,.22);background:rgba(60,255,122,.075);color:#dfffe8;border-radius:14px;padding:8px 10px;font-size:11px;font-weight:850;line-height:1.28}
.live-diary-strip{border-color:rgba(60,255,122,.28)!important;background:linear-gradient(135deg,rgba(60,255,122,.13),rgba(255,193,7,.08))!important}
.market-owner-actions-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.market-owner-actions-4 button{font-size:9.5px!important;padding:7px 3px!important}
.detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-actions .ghost-btn{width:100%}
@media(max-width:430px){.market-live-diary-section{padding:8px;border-radius:18px}.market-live-diary-head{display:block}.market-live-diary-head small{text-align:left;max-width:none}.plant-market-live-badge{position:static;display:inline-flex;margin:8px 8px 0}.market-owner-actions-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.detail-actions{grid-template-columns:1fr}}


/* v6.9: sfondo jungle responsive con immagine allegata */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.50) 34%,rgba(0,0,0,.58) 50%,rgba(0,0,0,.50) 66%,rgba(0,0,0,.12) 100%),
    linear-gradient(180deg,rgba(0,6,8,.34) 0%,rgba(0,4,7,.18) 42%,rgba(0,0,0,.70) 100%),
    url("assets/grow-bg-desktop.webp") center center/cover no-repeat;
  transform:translateZ(0);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 0%,rgba(60,255,122,.16),transparent 32%),
    radial-gradient(circle at 84% 4%,rgba(0,210,130,.13),transparent 34%),
    linear-gradient(180deg,rgba(1,8,10,.18),rgba(1,4,6,.52));
}
.phone-app,.public-market-wrap,.admin-wrap,.dash,.login-box{position:relative;z-index:1}
.phone-app{isolation:isolate}
@media(min-width:760px){
  .phone-app{
    margin-top:0;
    background:linear-gradient(180deg,rgba(1,8,12,.34),rgba(1,6,9,.18));
    box-shadow:0 0 0 1px rgba(60,255,122,.07),0 34px 95px rgba(0,0,0,.38);
    backdrop-filter:blur(1.5px);
  }
  .bottom-nav{
    box-shadow:0 -18px 60px rgba(0,0,0,.42),0 0 0 1px rgba(60,255,122,.05);
  }
}
@media(max-width:720px){
  body::before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.64) 28%,rgba(0,0,0,.72) 50%,rgba(0,0,0,.64) 72%,rgba(0,0,0,.04) 100%),
      linear-gradient(180deg,rgba(0,6,8,.15) 0%,rgba(0,0,0,.40) 66%,rgba(0,0,0,.82) 100%),
      url("assets/grow-bg-mobile.webp") center top/cover no-repeat;
  }
  body::after{
    background:
      radial-gradient(circle at 20% 0%,rgba(60,255,122,.12),transparent 30%),
      radial-gradient(circle at 84% 100%,rgba(60,255,122,.08),transparent 36%),
      linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.48));
  }
  .phone-app{
    background:linear-gradient(180deg,rgba(1,7,10,.20),rgba(1,5,8,.30));
    width:min(100%,430px);
  }
  .app-header{padding-top:max(0px,env(safe-area-inset-top,0px))}
}
@media(max-width:430px){
  body::before{background-position:center top}
}


/* FIX v6.11: calendario settimane uniforme anche dopo SETT 9 + loading settimana corrente */
.weeks-row{
  grid-template-columns:repeat(9,minmax(0,1fr));
  align-items:stretch;
}
.week-chip{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:32px;
  border-radius:9px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.025));
}
.week-chip.extra-week{
  border-color:rgba(255,255,255,.08);
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.025));
}
.week-chip.extra-week small{
  color:#d8e1db;
}
.week-chip.extra-week.done{
  border-color:rgba(60,255,122,.2);
  background:rgba(60,255,122,.09);
}
.week-chip.extra-week.done strong{
  color:#74ff72;
}
.week-chip.extra-week.active-week{
  border-color:rgba(255,193,7,.62);
  background:rgba(255,193,7,.105);
  box-shadow:0 0 0 1px rgba(255,193,7,.08),0 8px 18px rgba(0,0,0,.24);
}
.week-chip.extra-week.active-week strong{
  color:var(--gold);
}
.week-chip small,
.week-chip strong,
.week-chip em{
  position:relative;
  z-index:2;
}
.week-chip small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:-.02em;
}
.week-chip.active-week::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 auto 0 0;
  width:var(--week-progress,0%);
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,193,7,.32),rgba(60,255,122,.28));
  box-shadow:0 0 16px rgba(255,193,7,.22);
  transition:width .7s ease;
}
.week-chip.active-week::after{
  content:"";
  position:absolute;
  z-index:1;
  top:-35%;
  bottom:-35%;
  width:18px;
  left:calc(var(--week-progress,0%) - 9px);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);
  opacity:.72;
  animation:weekLoadShine 1.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes weekLoadShine{
  0%,100%{opacity:.35;transform:translateX(-2px) skewX(-18deg)}
  50%{opacity:.86;transform:translateX(2px) skewX(-18deg)}
}
@media(max-width:380px){
  .week-chip small{font-size:5.8px}
}
