:root{
  --bg:#070b10;
  --bg2:#0b1119;
  --card:rgba(255,255,255,.045);
  --card-b:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.16);
  --chip:rgba(255,255,255,.07);
  --chip-2:rgba(0,0,0,.34);
  --glass:rgba(7,11,16,.97);
  --bar:#070b10;
  --overlay:rgba(5,8,12,.95);
  --txt:#eef3f8;
  --mut:#8fa0b3;
  --soft:#b3c1d0;
  --hero-soft:#c6d3e0;
  --acc:#2ee6a8;
  --acc-fill:#2ee6a8;
  --on-acc:#04140f;
  --acc2:#ffc861;
  --gold-tx:#ffc861;
  --acc3:#ff6f7d;
  --warn-bg:rgba(255,111,125,.13);
  --warn-bd:rgba(255,111,125,.34);
  --warn-tx:#ffb6bd;
  --nord:#5ec8ff;  --nord-tx:#9fe0ff;  --nord-bg:rgba(94,200,255,.16);
  --centro:#b98cff; --centro-tx:#d7bcff; --centro-bg:rgba(185,140,255,.16);
  --sud:#ffb454;   --sud-tx:#ffd39b;   --sud-bg:rgba(255,180,84,.16);
  --green-tx:#7ff2cd; --green-bg:rgba(46,230,168,.14);
  --shadow:0 8px 26px rgba(46,230,168,.14);
  --orb-op:.32;
  --r:20px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
  --tab-h:64px;
  --top-h:74px;
}
html[data-theme="light"]{
  --bg:#eef2f7;
  --bg2:#f7f9fc;
  --card:rgba(255,255,255,.92);
  --card-b:rgba(14,28,44,.11);
  --line:rgba(14,28,44,.12);
  --line-2:rgba(14,28,44,.2);
  --chip:rgba(14,28,44,.055);
  --chip-2:rgba(14,28,44,.06);
  --glass:rgba(247,250,253,.98);
  --bar:#eef2f7;
  --overlay:rgba(240,244,249,.97);
  --txt:#0d1620;
  --mut:#5c6c7e;
  --soft:#3e4d5e;
  --hero-soft:#33465a;
  --acc:#0a9e6f;
  --acc-fill:#0a9e6f;
  --on-acc:#ffffff;
  --acc2:#d99400;
  --gold-tx:#9a6600;
  --acc3:#e04b5c;
  --warn-bg:rgba(224,75,92,.1);
  --warn-bd:rgba(224,75,92,.35);
  --warn-tx:#b32b3c;
  --nord-tx:#0b6ea8;  --nord-bg:rgba(11,110,168,.12);
  --centro-tx:#6a3fc4; --centro-bg:rgba(106,63,196,.12);
  --sud-tx:#a45f00;   --sud-bg:rgba(255,150,40,.16);
  --green-tx:#06795a; --green-bg:rgba(10,158,111,.13);
  --shadow:0 8px 26px rgba(10,158,111,.14);
  --orb-op:.14;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;min-height:100%}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  background:var(--bg);color:var(--txt);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.5;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  touch-action:manipulation;
  padding-bottom:calc(var(--tab-h) + var(--safe-b) + 36px);
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;font-size:inherit;color:inherit}
/* iOS non deve mai zoomare: niente pinch, niente doppio tap, niente auto-zoom sugli input */
input,select,textarea{font-family:inherit;font-size:16px}
::selection{background:var(--acc-fill);color:var(--on-acc)}

.bg-orbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--orb-op)}
.o1{width:340px;height:340px;background:#0e8f6d;top:-120px;left:-90px}
.o2{width:300px;height:300px;background:#7a4dd6;top:32%;right:-130px;opacity:calc(var(--orb-op) * .75)}
.o3{width:320px;height:320px;background:#ff8a4c;bottom:6%;left:-120px;opacity:calc(var(--orb-op) * .55)}

.topbar{
  position:fixed;top:0;left:0;right:0;z-index:40;
  background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border-bottom:1px solid var(--line);
  padding-top:var(--safe-t);
  transition:transform .2s ease;
}
/* tastiera aperta: la topbar fixed "salta" sopra il contenuto → la nascondiamo */
body.kb-open .topbar,
body.kb-open .tabbar{transform:translateY(-120%);pointer-events:none}
body.kb-open .tabbar{transform:translateY(120%)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 8px}
.icon-btn[hidden]{display:none}
.back-btn{flex:none;color:var(--acc);font-size:26px;line-height:1;font-weight:600;width:36px;height:36px;padding:0;border-radius:11px}
.back-btn:focus,.back-btn:focus-visible{outline:none;border-color:var(--acc)}
body.has-back .brand-mark{display:none}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.brand-mark{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  background:linear-gradient(140deg,rgba(46,230,168,.22),rgba(255,200,97,.16));
  border:1px solid var(--line-2);flex:none;
}
.brand-mark .flag{
  display:block;width:23px;height:15px;border-radius:2.5px;overflow:hidden;position:relative;
  background:linear-gradient(90deg,#006847 0 33.4%,#fff 33.4% 66.7%,#ce1126 66.7% 100%);
  box-shadow:0 1px 4px rgba(0,0,0,.35);
}
.brand-mark .flag::after{
  content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;
  transform:translate(-50%,-50%);background:#7a5230;box-shadow:0 0 0 1.5px rgba(255,255,255,.55);
}
.brand-txt{display:flex;flex-direction:column;min-width:0}
.brand-txt strong{font-size:15.5px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-txt span{font-size:11px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:7px}
.icon-btn{
  width:44px;height:44px;border-radius:14px;border:1px solid var(--line-2);
  background:var(--chip);color:var(--txt);font-size:19px;display:grid;place-items:center;cursor:pointer;
}
.icon-btn:active{transform:scale(.94)}
.countdown{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:52px;padding:5px 9px;border-radius:13px;
  background:linear-gradient(150deg,rgba(46,230,168,.2),rgba(255,200,97,.14));
  border:1px solid rgba(46,230,168,.3);
}
.cd-num{font-size:15px;font-weight:800;line-height:1;color:var(--on-acc);background:var(--acc-fill);padding:3px 6px;border-radius:7px}
.cd-lbl{font-size:8.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut);margin-top:3px}
.trip-progress{height:3px;background:var(--line)}
.trip-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc-fill),var(--acc2),var(--acc3));transition:width .7s cubic-bezier(.2,.8,.2,1)}

.app{position:relative;z-index:1;padding:calc(var(--top-h) + var(--safe-t) + 16px) 16px 30px;max-width:760px;margin:0 auto}

.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:var(--bar);backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);
  border-top:1px solid var(--line-2);
  padding-bottom:var(--safe-b);
  overflow:hidden;
  transition:transform .2s ease;
}
.tabbar a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  height:var(--tab-h);color:var(--mut);letter-spacing:.3px;position:relative;z-index:2;
}
.tabbar a .ti{display:grid;place-items:center;line-height:1;transition:.22s}
.tabbar a .ti svg{width:22px;height:22px;display:block}
.tabbar a em{font-style:normal;font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.tabbar a.on{color:var(--acc)}
.tabbar a.on .ti{transform:translateY(-2px)}
.tabbar a.on .ti svg{stroke-width:2.15}
.tabbar a.on em{letter-spacing:.6px}
.tabbar a:active .ti{transform:translateY(-2px) scale(.92)}
/* il tab Giorni è il più importante: lo rendiamo subito riconoscibile */
.tabbar a[data-tab="days"] .ti{
  padding:5px 10px;border-radius:12px;
  background:color-mix(in srgb,var(--acc) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--acc) 22%,transparent);
}
.tabbar a[data-tab="days"] em{color:var(--txt);font-weight:800}
.tabbar a[data-tab="days"].on .ti{
  background:transparent;border-color:transparent;box-shadow:none;color:var(--acc);
}
.tabbar a[data-tab="days"].on em{color:var(--acc)}
.tabbar::after{
  content:"";position:absolute;top:7px;height:calc(var(--tab-h) - 15px);
  width:calc(20% - 14px);left:calc(var(--ind,0) * 20% + 7px);z-index:1;
  border-radius:16px;pointer-events:none;
  background:linear-gradient(165deg,color-mix(in srgb,var(--acc) 24%,transparent),color-mix(in srgb,var(--acc) 7%,transparent));
  border:1px solid color-mix(in srgb,var(--acc) 42%,transparent);
  box-shadow:0 6px 18px color-mix(in srgb,var(--acc) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.07);
  transition:left .34s cubic-bezier(.2,.8,.2,1);
}

h1{font-size:27px;line-height:1.12;letter-spacing:-.9px;margin:4px 0 6px;font-weight:800}
h2{font-size:14px;text-transform:uppercase;letter-spacing:1.4px;color:var(--mut);margin:26px 0 12px;font-weight:700;display:flex;align-items:center;gap:8px}
h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.lead{color:var(--mut);font-size:14.5px;margin:0 0 4px;text-wrap:pretty;hyphens:auto;overflow-wrap:anywhere}

.card{
  background:var(--card);border:1px solid var(--card-b);border-radius:var(--r);
  padding:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.card+.card{margin-top:12px}

.hero{
  position:relative;overflow:hidden;border-radius:26px;padding:22px 18px 18px;
  margin-bottom:16px;
  background-color:var(--card);
  background-image:linear-gradient(145deg,rgba(46,230,168,.16),rgba(255,200,97,.09) 45%,rgba(255,111,125,.12));
  border:1px solid var(--line-2);
}
.hero::after{
  content:"";position:absolute;right:-40px;top:-50px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,200,97,.4),transparent 70%);
}
.hero .k{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--acc);font-weight:800}
.hero h1{margin:8px 0 4px}
.hero p{margin:0;font-size:13.5px;color:var(--hero-soft)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;position:relative;z-index:2}
.hero-stats div{
  background:var(--chip-2);border:1px solid var(--line-2);border-radius:14px;
  padding:9px 4px;text-align:center;
}
.hero-stats b{display:block;font-size:18px;letter-spacing:-.5px}
.hero-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.quick a{
  display:flex;flex-direction:column;gap:6px;padding:15px 14px;border-radius:18px;
  background:var(--card);border:1px solid var(--card-b);transition:.18s;
}
.quick a:active{transform:scale(.97);border-color:var(--acc)}
.quick .qi{font-size:22px}
.quick b{font-size:14.5px}
.quick span{font-size:11.5px;color:var(--mut);line-height:1.35}

.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 16px 8px;margin:0 -16px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:none;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:9px 15px;border-radius:13px;
  background:var(--chip);border:1px solid var(--line-2);
  font-size:13px;font-weight:700;color:var(--mut);cursor:pointer;white-space:nowrap;transition:.15s;
}
a.chip{display:inline-flex}
.chip.on{background:var(--acc-fill);color:var(--on-acc);border-color:transparent;box-shadow:var(--shadow)}
.chip small{display:block;font-size:9.5px;font-weight:500;opacity:.75}

.daycard{
  display:flex;gap:13px;align-items:center;padding:13px;border-radius:19px;
  background:var(--card);border:1px solid var(--card-b);margin-bottom:11px;transition:.16s;
}
.daycard:active{transform:scale(.985);border-color:var(--acc)}
.daycard.today{border-color:var(--acc);background-color:var(--card);background-image:linear-gradient(120deg,rgba(46,230,168,.13),transparent);box-shadow:var(--shadow)}
.daycard.past{opacity:.55}
.d-date{
  flex:none;width:56px;height:56px;border-radius:16px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;background:var(--chip-2);border:1px solid var(--line-2);
}
.d-date b{font-size:19px;line-height:1;letter-spacing:-.6px}
.d-date span{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--mut);margin-top:3px}
.d-body{min-width:0;flex:1}
.d-body .t{font-size:15.5px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:6px}
.d-body .s{font-size:12px;color:var(--mut);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.d-meta{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
.d-quick{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.dchip{
  display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:34px;padding:7px 11px;
  border-radius:12px;background:var(--chip);border:1px solid var(--line-2);
  font-size:11.5px;font-weight:800;color:var(--soft);cursor:pointer;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.dchip:active{transform:scale(.96);border-color:var(--acc)}
.dchip.more{background:var(--acc-fill);color:var(--on-acc);border-color:transparent}
.tag{
  font-size:9.5px;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.6px;
  background:var(--chip);border:1px solid var(--line);color:var(--mut);font-weight:700;
}
.tag.nord{background:var(--nord-bg);border-color:color-mix(in srgb,var(--nord) 35%,transparent);color:var(--nord-tx)}
.tag.centro{background:var(--centro-bg);border-color:color-mix(in srgb,var(--centro) 35%,transparent);color:var(--centro-tx)}
.tag.sud{background:var(--sud-bg);border-color:color-mix(in srgb,var(--sud) 35%,transparent);color:var(--sud-tx)}
.tag.hotel{background:var(--green-bg);border-color:rgba(46,230,168,.28);color:var(--green-tx)}
.tag.money{background:var(--green-bg);border-color:rgba(46,230,168,.3);color:var(--green-tx)}
.chev{color:var(--mut);font-size:16px;flex:none}

.dayhead{
  border-radius:26px;padding:20px 17px;margin-bottom:16px;position:relative;overflow:hidden;
  background-color:var(--card);
  background-image:linear-gradient(145deg,var(--line),transparent);
  border:1px solid var(--line-2);
}
.dayhead.nord{background-image:linear-gradient(145deg,var(--nord-bg),transparent)}
.dayhead.centro{background-image:linear-gradient(145deg,var(--centro-bg),transparent)}
.dayhead.sud{background-image:linear-gradient(145deg,var(--sud-bg),transparent)}
.dayhead .dh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:2}
.dayhead .dh-emoji{font-size:38px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.dayhead .k{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--acc)}
.dayhead h1{font-size:24px;margin:10px 0 6px;position:relative;z-index:2}
.dayhead .dh-sum{font-size:13.5px;color:var(--hero-soft);margin:0;position:relative;z-index:2}
.dh-nav{display:flex;gap:8px;margin-top:14px;position:relative;z-index:2}
.dh-nav>*{flex:1 1 104px;min-width:0}
.dh-nav a,.dh-nav button{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;
  min-height:46px;padding:11px 12px;border-radius:14px;font-size:13.5px;font-weight:700;
  background:var(--chip);border:1px solid var(--line-2);color:var(--txt);cursor:pointer;
}
.dh-nav .primary{background:var(--acc-fill);color:var(--on-acc);border-color:transparent}
.dh-nav3>*{flex:1 1 0}
.dh-list{font-size:12.5px !important}

.timeline{position:relative;padding-left:0;margin-top:6px}
.tl-item{display:flex;gap:13px;position:relative;padding-bottom:4px}
.tl-rail{flex:none;width:64px;position:relative;display:flex;flex-direction:column;align-items:flex-end;padding-right:4px}
.tl-time{
  font-size:11.5px;font-weight:800;letter-spacing:.2px;color:var(--gold-tx);
  background:var(--sud-bg);border:1px solid color-mix(in srgb,var(--acc2) 40%,transparent);
  padding:3px 7px;border-radius:8px;white-space:nowrap;position:relative;z-index:2;
}
.tl-dot{width:11px;height:11px;border-radius:50%;background:var(--acc-fill);box-shadow:0 0 0 4px var(--green-bg);margin-top:8px;flex:none}
.tl-line{position:absolute;left:53.5px;top:6px;bottom:-4px;width:2px;background:var(--line)}
.tl-item:last-child .tl-line{display:none}
.tl-card{
  flex:1;min-width:0;background:var(--card);border:1px solid var(--card-b);border-radius:17px;
  padding:13px 13px 13px 14px;margin-bottom:12px;transition:.15s;
}
.tl-card.done{opacity:.6;border-color:rgba(46,230,168,.35)}
.tl-card.done .tl-title{text-decoration:line-through}
.tl-title{font-size:15px;font-weight:700;letter-spacing:-.25px;display:flex;align-items:center;gap:7px;margin:0 0 5px}
.tl-desc{font-size:13.2px;color:var(--soft);margin:0;line-height:1.55}
.tl-warn{
  margin-top:9px;font-size:12.2px;padding:9px 11px;border-radius:12px;
  background:var(--warn-bg);border:1px solid var(--warn-bd);color:var(--warn-tx);font-weight:600;
}
.tl-actions{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}
.tl-actions>*{flex:1 1 82px;min-width:0}
.tl-actions .btn{font-size:13.5px;padding:11px 8px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;text-align:center;
  min-height:46px;padding:11px 14px;border-radius:14px;font-size:14px;font-weight:700;letter-spacing:-.1px;
  line-height:1.2;cursor:pointer;background:var(--chip);border:1px solid var(--line-2);color:var(--txt);transition:.15s;
}
.btn:active{transform:scale(.97)}
.btn.acc{background:var(--acc-fill);color:var(--on-acc);border-color:transparent}
.btn.chk{background:var(--green-bg);border-color:rgba(46,230,168,.4);color:var(--green-tx)}
.btn.big{min-height:54px;width:100%;padding:14px 18px;font-size:15px;border-radius:16px}

.hotel-strip{
  display:flex;gap:11px;align-items:center;padding:14px;border-radius:18px;
  background-color:var(--card);background-image:linear-gradient(120deg,var(--green-bg),transparent);
  border:1px solid rgba(46,230,168,.28);margin-top:14px;
}
.hotel-strip .hi{font-size:24px}
.hotel-strip b{display:block;font-size:14.5px}
.hotel-strip span{font-size:12px;color:var(--mut)}

.list{display:flex;flex-direction:column;gap:11px}
.row{
  display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;
  background:var(--card);border:1px solid var(--card-b);
}
.row .ri{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:19px;
  background:var(--chip-2);border:1px solid var(--line-2);flex:none}
.row .rb{flex:1;min-width:0}
.row .rb b{display:block;font-size:14.8px;letter-spacing:-.2px}
.row .rb .m{font-size:12.3px;color:var(--mut);margin-top:2px;line-height:1.45;word-break:break-word}
.row .rv{font-size:14.5px;font-weight:800;color:var(--gold-tx);white-space:nowrap;text-align:right}
.row .rv small{display:block;font-size:9.5px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
a.row:active,.row.tap:active{transform:scale(.985);border-color:var(--acc)}
.row.del .rb b{color:var(--txt)}

.x-btn{
  width:34px;height:34px;flex:none;border-radius:11px;border:1px solid var(--line-2);
  background:var(--chip);color:var(--warn-tx);font-size:15px;cursor:pointer;display:grid;place-items:center;
}
.x-btn:active{transform:scale(.9)}

.money-card{
  padding:20px 17px;border-radius:24px;text-align:center;position:relative;overflow:hidden;
  background-color:var(--card);
  background-image:linear-gradient(145deg,rgba(255,200,97,.17),rgba(46,230,168,.1));
  border:1px solid var(--line-2);
}
.money-card .k{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-tx);font-weight:800}
.money-card .big{font-size:44px;font-weight:800;letter-spacing:-2px;margin:6px 0 2px;
  background:linear-gradient(120deg,var(--txt),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.money-card .sub{font-size:12.5px;color:var(--mut)}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}
.mini-stats div{background:var(--chip-2);border:1px solid var(--line-2);border-radius:15px;padding:10px 5px}
.mini-stats b{display:block;font-size:16.5px;letter-spacing:-.4px}
.mini-stats span{font-size:8.8px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut)}
.mini-stats .ok b{color:var(--green-tx)}
.mini-stats .no b{color:var(--warn-tx)}

.bar{height:9px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:9px}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--acc-fill),var(--acc2))}

.budget-item{padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--card-b);margin-bottom:11px}
.budget-head{display:flex;align-items:center;gap:11px;cursor:pointer}
.budget-head .bi{font-size:20px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--chip-2);border:1px solid var(--line-2)}
.budget-head .bt{flex:1;min-width:0}
.budget-head .bt b{font-size:14.5px;display:block}
.budget-head .bt span{font-size:11.5px;color:var(--mut)}
.budget-head .bv{font-size:17px;font-weight:800;color:var(--gold-tx)}
.budget-rows{margin-top:11px;border-top:1px dashed var(--line-2);padding-top:10px;display:none}
.budget-item.open .budget-rows{display:block}
.budget-rows div{display:flex;justify-content:space-between;gap:12px;font-size:12.6px;padding:5px 0;color:var(--soft)}
.budget-rows div span:last-child{color:var(--txt);font-weight:700;white-space:nowrap}

.ex-sum{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.ex-sum div{background:var(--chip-2);border:1px solid var(--line-2);border-radius:15px;padding:10px 5px;text-align:center}
.ex-sum b{display:block;font-size:16px;letter-spacing:-.4px}
.ex-sum span{font-size:8.6px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut);display:block;margin-top:2px}
.ex-sum .ok b{color:var(--green-tx)}
.ex-sum .no b{color:var(--warn-tx)}
.ex-sum .tot b{color:var(--gold-tx)}
.ex-fixed{font-size:10px;font-weight:800;letter-spacing:.6px;color:var(--mut);background:var(--chip);
  border:1px solid var(--line);padding:3px 7px;border-radius:7px;text-transform:uppercase;flex:none}

.ex-form{
  background:var(--card);border:1px solid var(--card-b);border-radius:18px;padding:13px;margin-top:12px;
  display:flex;flex-direction:column;gap:9px;
}
.ex-form .lbl{font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut)}
.ex-line{display:flex;gap:8px}
.ex-form input,.ex-form select{
  background:var(--chip);border:1px solid var(--line-2);border-radius:12px;padding:12px;
  font-size:16px;outline:none;color:var(--txt);min-width:0;
}
.ex-form input:focus,.ex-form select:focus{border-color:var(--acc)}
.ex-form input.desc{flex:1}
.ex-form input.amt{width:92px;text-align:right;font-weight:700}
.ex-line select{width:82px;font-weight:700;padding:12px 8px}
.ex-line-2{display:flex;gap:8px}
.toggle{
  flex:1;padding:12px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;
  background:var(--chip);border:1px solid var(--line-2);color:var(--mut);transition:.15s;
}
.toggle.on{background:var(--green-bg);border-color:rgba(46,230,168,.4);color:var(--green-tx)}
.toggle.on.no{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-tx)}
.ex-form .btn.acc{padding:12px 16px;font-size:14px}

.maproute{position:relative;padding-left:26px}
.maproute::before{content:"";position:absolute;left:8px;top:12px;bottom:12px;width:2px;
  background:linear-gradient(180deg,var(--nord),var(--centro),var(--sud));border-radius:2px}
.stop{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 0}
.stop::before{
  content:"";position:absolute;left:-24px;top:18px;width:13px;height:13px;border-radius:50%;
  background:var(--bg);border:3px solid var(--acc-fill);box-shadow:0 0 0 4px var(--green-bg)
}
.stop .sb{flex:1;min-width:0;background:var(--card);border:1px solid var(--card-b);border-radius:17px;padding:13px}
.stop .sb b{font-size:15.5px;letter-spacing:-.3px}
.stop .sb .d{font-size:11.5px;color:var(--mut);margin:3px 0 8px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.stop .sb p{margin:0 0 9px;font-size:13px;color:var(--soft)}
.stop .sb .acts{display:flex;gap:7px;flex-wrap:wrap}

.tips-grid{display:grid;gap:11px}
.tip{padding:15px;border-radius:18px;background:var(--card);border:1px solid var(--card-b)}
.tip .th{display:flex;gap:10px;align-items:center;margin-bottom:7px}
.tip .th .te{font-size:21px}
.tip .th b{font-size:14.6px;letter-spacing:-.2px}
.tip p{margin:0;font-size:13.2px;color:var(--soft);line-height:1.55}

/* ---------- ricerca ---------- */
.search-sheet{
  position:fixed;inset:0;z-index:80;background:var(--overlay);
  backdrop-filter:blur(22px) saturate(1.1);-webkit-backdrop-filter:blur(22px) saturate(1.1);
  padding:calc(var(--safe-t) + 12px) 14px calc(var(--safe-b) + 14px);
  display:flex;flex-direction:column;
}
.search-sheet[hidden]{display:none}
.search-top{display:flex;flex-direction:column;gap:11px}
.search-box{
  display:flex;gap:8px;align-items:center;padding:5px 5px 5px 14px;
  background:var(--card);border:1px solid var(--card-b);border-radius:18px;
  box-shadow:var(--shadow);
}
.search-box .si{font-size:19px;color:var(--mut);flex:none;line-height:1}
.search-box input{
  flex:1;min-width:0;padding:12px 4px;border:0;background:transparent;
  color:var(--txt);outline:none;font-size:16px;
}
.search-box input::placeholder{color:var(--mut)}
.search-box input::-webkit-search-cancel-button,
.search-box input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.search-box input:focus{outline:none}
.search-box .search-x{width:40px;height:40px;flex:none;border-radius:13px}
.schips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.schips::-webkit-scrollbar{display:none}
.schips .chip{flex:none}
.search-results{margin-top:14px;overflow-y:auto;flex:1;padding-bottom:30px;-webkit-overflow-scrolling:touch}
.sgroup{margin-bottom:18px}
.sgroup-h{
  display:flex;align-items:center;gap:8px;margin:0 2px 9px;
  font-size:10.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--mut);
}
.sgroup-h b{color:var(--txt);font-size:11.5px;letter-spacing:.6px}
.sres{
  display:flex;gap:11px;padding:12px 13px;border-radius:16px;background:var(--card);
  border:1px solid var(--card-b);margin-bottom:8px;align-items:center;width:100%;text-align:left;
}
.sres .si{font-size:19px;flex:none;line-height:1;width:26px;text-align:center}
.sres .sb{flex:1;min-width:0}
.sres b{font-size:14.4px;display:block;letter-spacing:-.2px}
.sres .ss{font-size:12.2px;color:var(--mut);display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sres .sd{font-size:10px;font-weight:800;color:var(--gold-tx);text-transform:uppercase;letter-spacing:.7px;display:block;margin-bottom:2px}
.sres .chev{color:var(--mut);font-size:17px;flex:none}
.sug{display:flex;flex-wrap:wrap;gap:8px;margin:0 2px}
.sug button{
  border:1px dashed var(--line-2);background:var(--chip);color:var(--soft);
  padding:10px 13px;border-radius:13px;font-size:13px;font-weight:700;cursor:pointer;
}
.sug button:active{transform:scale(.97)}
.dquick{display:grid;grid-template-columns:1fr;gap:10px;margin:-4px 0 18px}
.dq{
  display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;min-width:0;min-height:66px;
  background:var(--card);border:1px solid var(--card-b);text-align:left;cursor:pointer;transition:.15s;
}
.dq:active{transform:scale(.98);border-color:var(--acc)}
.dqi{
  flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:var(--chip-2);border:1px solid var(--line-2);font-size:21px;
}
.dqb{min-width:0;flex:1}
.dqb b{display:block;font-size:14.5px;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dqb span{display:block;font-size:12.2px;color:var(--mut);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dq .chev{flex:none;font-size:20px;color:var(--mut);margin-left:2px}
.dq-hint{font-size:11.8px;color:var(--mut);margin:-2px 0 9px;line-height:1.45}
.dq.more{background:var(--chip);border-style:dashed;border-color:color-mix(in srgb,var(--acc) 35%,transparent)}
.dq.more .dqi{background:var(--acc-fill);color:var(--on-acc);border-color:transparent;font-size:14px;font-weight:800}
.quick-list{display:flex;flex-direction:column;gap:8px}
.quick-list.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qgrid .quick{
  flex-direction:column;align-items:flex-start;gap:6px;padding:13px 12px;min-height:0;
}
.qgrid .quick .qi{font-size:21px}
.qgrid .quick .qb{flex:none;min-width:0}
.qgrid .quick .chev{position:absolute;top:11px;right:11px;color:var(--mut)}
.qgrid .quick{position:relative}
.quick{
  display:flex;align-items:center;gap:11px;padding:13px;border-radius:16px;
  background:var(--card);border:1px solid var(--card-b);width:100%;text-align:left;cursor:pointer;
}
.quick .qi{font-size:19px;flex:none}
.quick .qb{flex:1;min-width:0}
.quick b{display:block;font-size:14.5px;letter-spacing:-.2px}
.quick span{display:block;font-size:12.2px;color:var(--mut);margin-top:1px}
.recent{display:flex;flex-wrap:wrap;gap:7px;margin:0 2px}
.recent button{
  display:inline-flex;align-items:center;gap:6px;background:var(--chip-2);border:1px solid var(--line-2);
  color:var(--soft);padding:8px 11px;border-radius:11px;font-size:12.5px;font-weight:700;cursor:pointer;
}

.toast{
  position:fixed;left:50%;bottom:calc(var(--tab-h) + var(--safe-b) + 18px);transform:translate(-50%,20px) scale(.96);
  background:var(--acc-fill);color:var(--on-acc);font-weight:700;font-size:13.5px;
  padding:12px 17px;border-radius:16px;z-index:90;opacity:0;pointer-events:none;transition:.28s cubic-bezier(.2,.8,.3,1);
  box-shadow:0 10px 30px rgba(0,0,0,.34);max-width:min(360px,88vw);text-align:left;line-height:1.35;
  display:flex;align-items:center;gap:9px;
}
.toast .tk{font-size:15px;line-height:1;flex:none}
.toast .tm{min-width:0}
.toast.on{opacity:1;transform:translate(-50%,0) scale(1)}
.toast.err{background:var(--acc3);color:#fff}
.toast.info{background:var(--chip);color:var(--txt);border:1px solid var(--line-2);backdrop-filter:blur(12px)}

.empty{text-align:center;color:var(--mut);padding:34px 16px;font-size:14px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  background:var(--chip-2);border:1px solid var(--line-2);font-size:11.5px;font-weight:700;color:var(--soft)}
.section-note{font-size:12.5px;color:var(--mut);margin:-4px 0 12px;overflow-wrap:anywhere}
.copy-code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:700;
  background:var(--sud-bg);border:1px dashed color-mix(in srgb,var(--acc2) 45%,transparent);color:var(--gold-tx);
  padding:9px 13px;border-radius:11px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;
}
.fade{animation:fade .3s cubic-bezier(.2,.8,.2,1)}
@keyframes fade{from{transform:translateY(7px)}to{transform:none}}

/* ---------- liquid glass (come un'app iOS nativa) ---------- */
.topbar{
  background:var(--glass);
  backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 10px 30px rgba(0,0,0,.12);
}
.card,.daycard,.wg,.stop-item,.dayhead,.tip,.ex-form,.hcard,.stop-item.on{
  backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 10px 26px rgba(0,0,0,.09);
}
:where(.card,.daycard,.wg,.stop-item,.dayhead,.tip,.ex-form,.hcard){
  background-image:linear-gradient(160deg,rgba(255,255,255,.05),transparent 46%);
}
html[data-theme="light"] :where(.card,.daycard,.wg,.stop-item,.dayhead,.tip,.ex-form,.hcard){
  background-image:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.4) 46%);
}
.btn,.chip,.dchip,.tl-actions .btn,.tag,.dh-place,.mgr-row,.mapbox{
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.btn,.chip,.dchip,.dh-place{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
html[data-theme="light"] .btn,html[data-theme="light"] .chip,html[data-theme="light"] .dchip,html[data-theme="light"] .dh-place{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 2px 8px rgba(16,24,40,.05);
}
.sheet-card{
  backdrop-filter:blur(34px) saturate(1.7);-webkit-backdrop-filter:blur(34px) saturate(1.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 24px 60px rgba(0,0,0,.4);
}
.search-box,.ex-form{
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
}
@media (min-width:900px){
  .app{padding-left:24px;padding-right:24px}
  .grid2,.quick-list.qgrid{grid-template-columns:repeat(4,1fr)}
  .tips-grid{grid-template-columns:1fr 1fr}
  .daycard{padding:16px}
  .tabbar{max-width:520px;left:50%;transform:translateX(-50%);border-radius:24px 24px 0 0;border:1px solid var(--line-2)}
}
@media (max-width:370px){
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .tl-rail{width:56px}
  .tl-line{left:45.5px}
  .ex-sum,.mini-stats{grid-template-columns:1fr 1fr}
}
.ex-sum{gap:10px}
.ex-sum div{padding:12px 6px}
.ex-sum b{font-size:17px}

/* ---------- mappa reale ---------- */
.map-sticky{
  position:sticky;top:calc(var(--safe-t) + var(--top-h));z-index:20;
  background:var(--bg);
  padding-top:0;padding-bottom:6px;
  /* gronda opaca verso l'alto: copre il contenuto che traspare sotto la topbar glass */
  box-shadow:0 -10px 0 -2px var(--bg);
}
.map-sticky.is-mini{padding-bottom:2px}
.mapbox{
  height:min(58vh,460px);border-radius:20px;overflow:hidden;position:relative;z-index:1;
  background:#dfe6ea;border:1px solid var(--line-2);
}
.map-sticky.is-mini .mapbox{height:min(30vh,230px);border-radius:16px}
.mapbox .leaflet-container{width:100%;height:100%;background:#dfe6ea;font:inherit;touch-action:manipulation}
html[data-theme="dark"] .mapbox,
html[data-theme="dark"] .mapbox .leaflet-container{background:#1b2430}
.leaflet-popup-content-wrapper{border-radius:14px;background:var(--card);color:var(--txt);box-shadow:var(--shadow)}
.leaflet-popup-content{margin:11px 14px;font-size:13.5px;line-height:1.45}
.leaflet-popup-tip{background:var(--card)}
.leaflet-popup-content a{color:var(--acc);font-weight:800;text-decoration:none}
.leaflet-bar a{background:var(--card);color:var(--txt);border-color:var(--line-2);
  width:40px !important;height:40px !important;line-height:40px !important;font-size:20px !important}
.map-note{font-size:12.5px;color:var(--mut);margin:10px 0 0;text-align:center}

.stop-list{margin-top:14px}

/* modifica voce Recap */
.trip-card{position:relative}
.trip-edit{
  position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:11px;
  border:1px solid var(--line-2);background:var(--chip);color:var(--acc);font-size:15px;
  display:grid;place-items:center;cursor:pointer;z-index:2;
}
.trip-edit:active{transform:scale(.9)}
.trip-row{display:flex;align-items:stretch;gap:8px}
.trip-row>.row{flex:1;min-width:0}
.trip-row .trip-edit{position:static;align-self:center;flex:none}
.tips-grid .tip{position:relative}
.tips-grid .tip .trip-edit{top:8px;right:8px}
.days-foot{margin-top:16px}
.days-foot .btn{width:100%;justify-content:center}
.stop-item{
  display:flex;gap:10px;align-items:center;padding:12px 13px;border-radius:16px;
  background:var(--card);border:1px solid var(--card-b);margin-bottom:9px;transition:.16s;
  width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.stop-item:active{transform:scale(.985)}
.stop-item.on{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-fill),0 10px 26px rgba(0,0,0,.12);background:var(--card)}
.stop-item .se{
  font-size:19px;width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;
  background:var(--chip-2);border:1px solid color-mix(in srgb,var(--sc,var(--acc)) 45%,transparent);
}
.stop-item .sb{flex:1;min-width:0}
.stop-item .sd{font-size:10.5px;font-weight:800;letter-spacing:.7px;color:var(--gold-tx);text-transform:uppercase}
.stop-item b{display:block;font-size:15px;letter-spacing:-.3px;margin-top:1px}
.stop-item span{display:block;font-size:12.4px;color:var(--mut);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stop-item .stop-go{
  display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;
  background:var(--chip-2);color:var(--acc);font-size:16px;margin-top:0;
}
.stop-item.on .stop-go{background:var(--acc);color:#04140e}

/* ---------- mappa interattiva ---------- */
.map-tools{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-bottom:11px}
.map-tools::-webkit-scrollbar{display:none}
.map-tools .chip{flex:none}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 2px 0;font-size:11px;font-weight:800;color:var(--mut)}
.map-legend span{display:inline-flex;align-items:center;gap:6px}
.map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.map-export{display:flex;gap:9px;margin-top:12px}
.map-export .btn{flex:1;justify-content:center;min-height:46px}
.map-legend .ml-line{color:var(--acc)}
.mk-pin{background:none;border:none}
.mk-b{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--mk,var(--acc));color:#04140e;font-weight:900;font-size:13px;
  border:2.5px solid #fff;box-shadow:0 5px 14px rgba(0,0,0,.4);
}
.mk-pop{display:flex;flex-direction:column;gap:4px;min-width:150px}
.mk-pop b{font-size:14px;letter-spacing:-.2px}
.mk-pop span{font-size:11.5px;color:#666}
.mk-acts{display:flex;gap:12px;margin-top:5px}
.mk-acts a{font-size:12.5px;font-weight:800;color:#0a7d55;text-decoration:none}
.leaflet-popup-content{margin:12px 14px}

/* ---------- gestione itinerario ---------- */
.days-foot{margin:22px 0 6px}
.days-foot .btn{width:100%;min-height:52px;font-size:14.5px}
.mgr-list{display:flex;flex-direction:column;gap:8px}
.mgr-row{
  display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:15px;
  background:var(--chip);border:1px solid var(--line-2);
}
.mgr-row .x-btn{flex:none;width:40px;height:40px;font-size:15px}
.mgr-day{display:flex;gap:10px;align-items:center;flex:1;min-width:0;color:inherit;text-decoration:none}
.mgr-n{
  flex:none;width:28px;height:28px;border-radius:10px;background:var(--acc-fill);color:var(--on-acc);
  display:grid;place-items:center;font-size:12px;font-weight:900;
}
.mgr-b{min-width:0}
.mgr-b b{display:block;font-size:14px;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mgr-b span{display:block;font-size:11.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- luogo sul giorno (chip mappa) ---------- */
.dh-place{
  display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 13px;border-radius:14px;
  background:var(--chip-2);border:1px solid var(--line-2);color:var(--txt);text-decoration:none;
  font-size:12.5px;font-weight:800;cursor:pointer;transition:.15s;
}
.dh-place:active{transform:scale(.96);border-color:var(--acc)}
.dh-place .dh-emoji{font-size:26px;line-height:1}
.dh-place .dh-pl{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dh-place .dpin{color:var(--acc);font-size:12px}
.edit-toggle::-webkit-scrollbar{display:none}
.daycard .card-tools{display:flex;gap:7px;margin-top:9px}

/* ---------- fogli modali (foglio = contenitore, card centrata) ---------- */
.sheet{
  position:fixed;inset:0;z-index:95;background:var(--overlay);
  backdrop-filter:blur(22px) saturate(1.05);-webkit-backdrop-filter:blur(22px) saturate(1.05);
  padding:calc(var(--safe-t) + 10px) 12px calc(var(--safe-b) + 10px);
  display:flex;align-items:center;justify-content:center;
}
.sheet-card{
  width:100%;max-width:540px;max-height:100%;display:flex;flex-direction:column;overflow:hidden;
  background:var(--glass);border:1px solid var(--card-b);border-radius:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.sheet.wide .sheet-card{max-width:600px}
.sheet-head{
  display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;
  border-bottom:1px solid var(--line-2);flex:none;
}
.sheet-head .sh-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.sheet-head b{font-size:15.5px;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sheet-head .sh-s{font-size:11.5px;color:var(--mut);margin-top:2px}
.sheet-head .icon-btn{width:40px;height:40px;flex:none;border-radius:13px;font-size:15px}
.sheet-body{padding:16px 16px 6px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sheet-foot{
  flex:none;display:flex;gap:9px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--line-2);background:var(--glass);
}
.sheet-foot .btn{flex:1;justify-content:center;min-width:0}
.sheet-rail{flex:none;display:flex;gap:8px;padding:11px 16px;overflow-x:auto;border-bottom:1px solid var(--line-2);scrollbar-width:none}
.sheet-rail.more-x{
  padding-right:30px;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
}
.sheet-rail::-webkit-scrollbar{display:none}
.sheet-rail button{
  flex:none;border:1px solid var(--line-2);background:var(--chip);color:var(--soft);
  padding:9px 13px;border-radius:12px;font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap;
}
.sheet-rail button:active{transform:scale(.97)}
.sheet-note{font-size:11.5px;color:var(--mut);text-align:center;padding:0 16px 12px;margin:0;flex:none}

.es-sec{
  font-size:10.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:var(--acc);
  display:flex;align-items:center;gap:8px;
}
.es-sec::after{content:"";flex:1;height:1px;background:var(--line-2)}
.es-f{display:flex;flex-direction:column;gap:6px}
.es-f>span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--mut)}
.es-f input,.es-f textarea,.es-f select{
  width:100%;height:46px;padding:0 14px;border-radius:14px;background:var(--chip);border:1px solid var(--line-2);
  color:var(--txt);outline:none;font-family:inherit;min-width:0;font-size:15px;
}
.es-f input:focus,.es-f textarea:focus,.es-f select:focus{border-color:var(--acc);background:var(--card)}
.es-f textarea{height:auto;resize:vertical;min-height:94px;padding:11px 13px;line-height:24px}
.es-f select{appearance:none;font-weight:600;
  background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 1px),calc(100% - 15px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px;
}
.es-f.check{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.es-f.check input{width:auto;min-width:0}
.es-hint{font-size:12px;color:var(--mut);margin:0}
.es-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px}
.es-f{min-width:0;max-width:100%}
.es-f input,.es-f select,.es-f textarea{max-width:100%;box-sizing:border-box}
.date-row{display:flex;gap:8px}
.date-row select{flex:1;min-width:0;text-align:center;font-weight:700}
.es-f input[type=date]{font-size:14px;padding:0 10px;min-width:0;overflow:hidden}
.es-grid>*{min-width:0}
.sheet-body>*{max-width:100%}
.es-grid .full{grid-column:1/-1}
.es-actions{display:flex;gap:9px;flex-wrap:wrap}
.es-actions .btn{flex:1 1 130px;justify-content:center}

.rowcode{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;
  background:var(--sud-bg);border:1px dashed color-mix(in srgb,var(--acc2) 45%,transparent);
  color:var(--gold-tx);padding:8px 13px;border-radius:13px;cursor:pointer;
}
a.rowcode{
  font-family:inherit;font-size:13.5px;background:var(--chip);border:1px solid var(--line-2);color:var(--txt);
}
.hcard b{font-size:15.5px}
.hcard .hm{font-size:11.5px;color:var(--mut);margin-top:3px}
.hcard p{font-size:13px;color:var(--soft);margin:9px 0 0;line-height:1.5}
.code-row{display:flex;gap:9px;flex-wrap:wrap}

/* ---------- righe compatte + popup di dettaglio ---------- */
.drows{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.drow{
  display:flex;gap:11px;align-items:center;padding:11px 12px;
  background:var(--card);border:1px solid var(--card-b);border-radius:15px;
}
.drow .di{font-size:17px;flex:none;line-height:1}
.drow .db{flex:1;min-width:0}
.drow .db b{display:block;font-size:14.5px;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow .db>span{display:block;font-size:11.5px;color:var(--mut);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drow .dp{flex:none;font-size:12.5px;font-weight:800;color:var(--gold-tx);white-space:nowrap}
.mini-btn{
  flex:none;min-height:38px;padding:9px 15px;border-radius:12px;cursor:pointer;
  background:var(--chip-2);border:1px solid var(--line-2);color:var(--txt);
  font-size:13px;font-weight:800;transition:.12s;
}
.mini-btn:active{transform:scale(.95)}
.dt-meta{font-size:12.5px;font-weight:700;color:var(--mut)}
.dt-price{font-size:19px;font-weight:900;letter-spacing:-.4px;color:var(--gold-tx)}
.dt-p{font-size:13.5px;line-height:1.55;color:var(--soft);margin:0}

.btn.del{color:var(--warn-tx);border-color:color-mix(in srgb,var(--warn-tx) 45%,transparent)}
.tl-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}

/* ---------- topbar: design omogeneo, bottoni grandi ---------- */
.topbar-right{gap:8px}
.icon-btn{
  width:50px;height:50px;border-radius:16px;font-size:24px;
  background:linear-gradient(150deg,var(--chip),var(--chip-2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.icon-btn:active{transform:scale(.95)}
.prof-btn .pa{font-size:23px;line-height:1}
.prof-btn:active{transform:scale(.92)}
.countdown{
  height:50px;min-width:64px;border-radius:16px;padding:0 11px;
  background:linear-gradient(150deg,rgba(46,230,168,.2),rgba(255,200,97,.14));
}
.brand-mark{width:46px;height:46px;border-radius:15px}
.brand-mark .flag{width:26px;height:17px}
.brand-txt strong{font-size:16px}
.brand-txt span{font-size:11.5px}

/* ---------- widget home ---------- */
.cfg-list{display:flex;flex-direction:column;gap:8px}
.cfg-row{
  display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:15px;
  background:var(--chip-2);border:1px solid var(--line-2);
}
.cfg-row.off{opacity:.52}
.cfg-i{font-size:17px;width:26px;text-align:center;flex:none}
.cfg-t{flex:1;font-size:14.5px;letter-spacing:-.2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfg-mv{
  width:34px;height:34px;display:grid;place-items:center;border-radius:11px;flex:none;
  background:var(--chip);border:1px solid var(--line-2);font-size:15px;font-weight:800;color:var(--soft);
}
.cfg-mv.dim{opacity:.3}
.cfg-sw{
  width:52px;height:31px;border-radius:999px;border:1px solid var(--line-2);flex:none;
  background:var(--chip);position:relative;cursor:pointer;padding:0;
}
.cfg-sw i{position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:var(--mut);transition:.2s}
.cfg-sw.on{background:color-mix(in srgb,var(--acc) 28%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.cfg-sw.on i{left:24px;background:var(--acc)}
.wg{
  background:var(--card);border:1px solid var(--card-b);border-radius:20px;
  padding:15px 15px 16px;margin-bottom:13px;box-shadow:var(--shadow);
}
.wg-h{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.wg-h .wi{font-size:17px}
.wg-h b{font-size:14.4px;letter-spacing:-.25px;flex:1}
.wg-h .lnk{
  display:inline-flex;align-items:center;gap:5px;flex:none;min-height:34px;padding:7px 11px;
  font-size:11.5px;font-weight:800;color:var(--acc);text-decoration:none;letter-spacing:.3px;
  background:var(--chip);border:1px solid var(--line-2);border-radius:11px;margin:-5px 0;
}
.wg-day{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.wg-emoji{font-size:30px;width:54px;height:54px;display:grid;place-items:center;flex:none;
  background:var(--chip-2);border:1px solid var(--line-2);border-radius:16px}
.wg-day-txt{display:flex;flex-direction:column;min-width:0}
.wg-day-txt b{font-size:16.5px;letter-spacing:-.35px}
.wg-day-txt span{font-size:13px;color:var(--mut);margin-top:3px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.stat{background:var(--chip-2);border:1px solid var(--line-2);border-radius:15px;padding:11px 12px}
.stat b{display:block;font-size:17px;letter-spacing:-.5px}
.stat span{display:block;font-size:9.6px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--mut);margin-top:3px}
.stat.ok b{color:var(--green-tx)}
.stat.no b{color:var(--warn-tx)}
.mini-stats .tot b{color:var(--gold-tx)}

.wg-sub{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  margin-top:16px;padding-top:13px;border-top:1px dashed var(--line-2);
}
.wg-sub b{font-size:11.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--gold-tx)}
.wg-sub span{font-size:11.5px;color:var(--mut);font-weight:700}

.mini-list{display:flex;flex-direction:column}
.mini-line{
  display:flex;gap:11px;align-items:center;padding:10px 0;text-decoration:none;color:inherit;
  border-top:1px solid var(--line-2);
}
.mini-line:first-child{border-top:0}
.mini-line b{font-size:13.5px;font-weight:800;color:var(--gold-tx);min-width:52px;letter-spacing:.2px}
.mini-line span{flex:1;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-line em{font-style:normal;font-size:15px;color:var(--acc);padding:4px 8px;border-radius:9px;background:var(--chip-2)}
.mini-line em.dim{color:var(--mut);background:none}
.mini-line .x-btn{padding:6px 9px}

.alert-list{display:flex;flex-direction:column;gap:9px}
.alert{
  display:flex;gap:11px;align-items:center;padding:11px 12px;text-decoration:none;color:inherit;
  background:var(--chip-2);border:1px solid var(--line-2);border-radius:15px;
  width:100%;font-family:inherit;text-align:left;cursor:pointer;
}
.alert .ai{font-size:18px;flex:none}
.alert>span:nth-child(2){flex:1;min-width:0}
.alert b{display:block;font-size:14px;letter-spacing:-.2px}
.alert span span{display:block;font-size:12.2px;color:var(--mut);margin-top:2px;line-height:1.4}
.alert .chev{font-size:20px;color:var(--mut)}

/* ---------- avvertenze + consigli (vista giorno) ---------- */
.wt-block{
  border:1px solid var(--card-b);border-radius:20px;padding:13px 13px 14px;margin:-2px 0 20px;
  background:linear-gradient(160deg,color-mix(in srgb,#f5a524 9%,var(--card)),var(--card) 55%);
}
.wt-head{display:flex;gap:11px;align-items:center;margin-bottom:11px}
.wt-ic{
  width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:19px;
  background:color-mix(in srgb,#f5a524 22%,transparent);border:1px solid color-mix(in srgb,#f5a524 40%,transparent);
}
.wt-t{min-width:0}
.wt-t b{display:block;font-size:15px;letter-spacing:-.3px}
.wt-t span{display:block;font-size:11.8px;color:var(--mut);margin-top:2px}
.wt-alerts{margin-bottom:10px}
.wt-alerts .alert{background:var(--card);border-color:var(--line-2)}
.wt-alerts .alert i{font-style:normal;font-weight:800;color:var(--acc)}
.wt-tips{display:flex;flex-direction:column;gap:8px}
.wt-sheet{width:100%;justify-content:center;margin-top:12px;min-height:48px}
.wt-tip{
  display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;cursor:pointer;
  font-family:inherit;color:inherit;background:var(--chip);border:1px dashed color-mix(in srgb,var(--acc) 34%,transparent);
  border-radius:14px;padding:11px 12px;font-size:13.2px;line-height:1.5;
}
.wt-tip .wt-dot{flex:none;font-size:15px;line-height:1.3}
.wt-tip>span:nth-child(2){flex:1;min-width:0}
.wt-tip .chev{flex:none;font-size:19px;color:var(--mut)}
.wt-tip:active{transform:scale(.99)}
.h2-1line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.4px}
.h2-1line span{letter-spacing:0}
.tl-card.flash{animation:cardFlash 1.4s ease}
@keyframes cardFlash{
  0%,100%{box-shadow:none;border-color:var(--card-b)}
  20%,60%{box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 55%,transparent);border-color:var(--acc)}
}

/* ---------- fuso orario ---------- */
.tz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tz-card{
  display:flex;flex-direction:column;gap:2px;padding:13px 13px 12px;border-radius:16px;
  background:var(--chip);border:1px solid var(--line-2);min-width:0;
}
.tz-card .tz-flag{font-size:16px}
.tz-card b{
  font-size:29px;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.1;
}
.tz-card span:last-child{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-card.now{border-color:color-mix(in srgb,var(--acc) 40%,transparent);background:var(--chip)}
.tz-card.now b{color:var(--acc)}
.tz-card.now .tz-flag{color:var(--txt)}

/* ---------- cambio valuta ---------- */
.fx-conv{margin-top:12px;padding:13px;border-radius:16px;background:var(--chip);border:1px solid var(--line-2);display:flex;flex-direction:column;gap:9px}
.fx-title{font-size:13px;font-weight:800;color:var(--mut)}
.fx-row{display:flex;align-items:center;gap:11px}
.fx-side{flex:1;display:flex;align-items:center;gap:7px;min-width:0}
.fx-side input{
  width:100%;min-width:0;padding:9px 11px;border-radius:11px;border:1px solid var(--line-2);
  background:var(--bg);color:var(--txt);font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;
}
.fx-side span{font-size:12.5px;font-weight:800;color:var(--mut);flex-shrink:0}
.fx-side.out b{font-size:22px;font-weight:900;color:var(--acc);font-variant-numeric:tabular-nums}
.fx-eq{font-size:19px;font-weight:900;color:var(--mut);flex-shrink:0}
.fx-rate{font-size:11.5px;color:var(--mut)}

/* ---------- utenti ---------- */
.users{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.uchip{
  display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:999px;
  background:var(--chip);border:1px solid var(--line-2);color:var(--txt);
  font-size:14px;font-weight:700;cursor:pointer;transition:.18s;
}
.uchip.on{
  background:linear-gradient(140deg,rgba(46,230,168,.24),rgba(255,200,97,.16));
  border-color:var(--acc);box-shadow:0 0 0 3px rgba(46,230,168,.12);
}
.sync-chip{
  margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;
  background:var(--chip-2);border:1px solid var(--line-2);font-size:11.8px;font-weight:700;color:var(--mut);
}
.sync-chip.on{color:var(--green-tx);border-color:color-mix(in srgb,var(--green-tx) 45%,transparent)}
.sync-chip i{font-style:normal;font-size:14px}

/* ---------- diario ---------- */
.dy-sel{display:flex;flex-direction:column;gap:6px;margin-bottom:9px}
.dy-sel span{font-size:11.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--mut)}
.dy-sel select{
  width:100%;padding:12px 13px;border-radius:13px;background:var(--chip);border:1px solid var(--line-2);
  color:var(--txt);font-size:15px;font-weight:700;outline:none;font-family:inherit;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.dy-sel select:focus{border-color:var(--acc)}
.dy-sel-fix{
  display:flex;align-items:center;min-height:44px;width:100%;padding:12px 13px;border-radius:13px;
  background:var(--chip);border:1px solid var(--line-2);color:var(--txt);font-size:15px;font-weight:700;
}
.diary-form textarea{
  width:100%;padding:12px 13px;border-radius:14px;background:var(--chip);border:1px solid var(--line-2);
  color:var(--txt);font-family:inherit;font-size:15px;outline:none;resize:vertical;min-height:56px;line-height:1.5;
}
.diary-form textarea:focus{border-color:var(--acc)}
.diary-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}
.diary-actions .who{font-size:12.5px;font-weight:800;color:var(--gold-tx)}
.diary-list{margin-top:13px;display:flex;flex-direction:column;gap:9px}
.diary-item{background:var(--chip-2);border:1px solid var(--line-2);border-radius:15px;padding:11px 13px}
.diary-item .dy-top{display:flex;align-items:center;gap:9px}
.diary-item .dy-top b{font-size:13.4px}
.diary-item .dy-top span{font-size:11px;color:var(--mut);flex:1}
.diary-item p{margin:7px 0 0;font-size:13.6px;line-height:1.5;color:var(--soft);white-space:pre-wrap}
.diary-item .dy-day{display:inline-flex;align-items:center;min-height:34px;margin-top:9px;padding:7px 12px;
  font-size:11.5px;font-weight:800;color:var(--acc);text-decoration:none;
  background:var(--chip);border:1px solid var(--line-2);border-radius:11px}

.rowcode{max-width:100%}


/* ================= nuova UI: modifica, profili, export, giorno ================= */

/* --- barra azioni del giorno --- */
.dh-actions{display:flex;gap:8px;margin-top:12px;position:relative;z-index:2}
.dh-actions>*{flex:1 1 0;min-width:0;justify-content:center;font-size:13px;min-height:46px}
.dh-meta{
  display:flex;flex-wrap:wrap;gap:6px 10px;margin:11px 0 0;font-size:12px;font-weight:800;
  color:var(--soft);position:relative;z-index:2;
}

/* --- matita sul giorno --- */
.dc-pencil{
  width:36px;height:36px;flex:none;border-radius:12px;border:1px solid var(--line-2);
  background:var(--chip);color:var(--mut);font-size:16px;cursor:pointer;display:grid;place-items:center;transition:.15s;
}
.dc-pencil.on{background:var(--acc-fill);color:var(--on-acc);border-color:transparent;box-shadow:var(--shadow)}
.dc-pencil:active{transform:scale(.88)}
.dh-pencil{
  width:46px;height:46px;border-radius:15px;border:1px solid var(--line-2);
  background:linear-gradient(150deg,var(--chip),var(--chip-2));color:var(--txt);
  font-size:21px;cursor:pointer;display:grid;place-items:center;transition:.15s;
}
.dh-pencil.on{background:var(--acc-fill);color:var(--on-acc);border-color:transparent;box-shadow:var(--shadow)}
.dh-pencil:active{transform:scale(.9)}

/* --- testa giorno: numero gigante --- */
.dayhead .dh-top{align-items:center}
.dh-num{display:flex;align-items:center;gap:11px;min-width:0;overflow:hidden}
.dh-num span{min-width:0;overflow:hidden}
.dh-num b{
  font-size:58px;line-height:.82;font-weight:900;letter-spacing:-3.5px;
  background:linear-gradient(160deg,var(--txt) 20%,var(--acc));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 16px rgba(46,230,168,.25));
}
.dh-num span{display:flex;flex-direction:column;font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:var(--acc)}
.dh-num span i{font-style:normal;font-size:9.5px;letter-spacing:.7px;color:var(--mut);font-weight:700;margin-top:3px}
.dh-tools{display:flex;align-items:center;gap:9px;flex:none}
.dayhead h1{font-size:25px}
.wx-chip{
  display:none;align-items:center;gap:6px;font-size:12px;font-weight:700;
  background:var(--chip-2);border:1px solid var(--line-2);padding:6px 11px;border-radius:999px;color:var(--soft);
}
.wx-chip.on{display:inline-flex}
.wx-chip b{color:var(--gold-tx);font-size:14px}
.wx-chip span{color:var(--mut);font-weight:600}
.dh-extra{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;position:relative;z-index:2}
.dh-extra>*{flex:1 1 104px;min-width:0}

/* --- hero home: countdown grande + rotta --- */
.hero-row{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;position:relative;z-index:2}
.hero-txt{min-width:0}
.hero-cd{
  flex:none;text-align:center;background:var(--chip-2);border:1px solid rgba(46,230,168,.35);
  border-radius:18px;padding:10px 12px;min-width:84px;
}
.hero-cd b{display:block;font-size:27px;font-weight:900;letter-spacing:-1.2px;color:var(--acc);line-height:1}
.hero-cd span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut);margin-top:5px;max-width:74px}
.hero-route{
  display:flex;flex-wrap:nowrap;gap:6px;align-items:center;margin-top:14px;position:relative;z-index:2;
  overflow-x:auto;scrollbar-width:none;padding-bottom:2px;
  -webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);
  mask-image:linear-gradient(90deg,#000 92%,transparent);
}
.hero-route::-webkit-scrollbar{display:none}
.hero-route span,.hero-route a{flex:none;font-size:11px;font-weight:800;background:var(--chip-2);border:1px solid var(--line-2);
  padding:6px 9px;border-radius:9px;color:var(--soft);white-space:nowrap}
.hero-route a{display:inline-flex;align-items:center;min-height:34px;min-width:34px;justify-content:center;
  text-decoration:none;color:var(--on-acc);border-color:transparent;
  background:var(--acc-fill);transition:.15s}
.hero-route a:active{transform:scale(.94)}
.hero-route i{flex:none;font-style:normal;color:var(--mut);font-size:11px}

/* --- editor completo del giorno --- */
.ed-list,#edItems{display:flex;flex-direction:column;gap:10px}
.ed-item{
  background:var(--chip);border:1px solid var(--line-2);border-radius:16px;
  padding:11px;display:flex;flex-direction:column;gap:9px;
}
.ed-i-top{display:flex;gap:7px;align-items:center}
.ed-num{
  flex:none;width:36px;height:36px;border-radius:11px;background:var(--acc-fill);color:var(--on-acc);
  display:grid;place-items:center;font-size:13.5px;font-weight:900;
}
.ed-i-top .ed-time{flex:1;min-width:0;height:36px;padding:0 12px;font-weight:800;text-align:center}
.ed-i-tools{display:flex;gap:5px;flex:none;margin-left:auto}
.ed-i-tools .x-btn{width:36px;height:36px;font-size:13px;padding:0}
.ed-item input,.ed-item textarea,.ed-item select{
  width:100%;height:46px;padding:0 13px;border-radius:12px;background:var(--card);border:1px solid var(--line-2);
  color:var(--txt);outline:none;font-family:inherit;min-width:0;font-size:15px;
}
.ed-item textarea{height:auto;resize:none;padding:11px 13px;line-height:24px;font-size:15px}
.ed-item .ed-desc{min-height:70px;overflow:hidden}
.ed-item .ed-time{height:36px}
.ed-item select.ed-tag{height:46px;appearance:none;font-weight:700;
  background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px;
}
.ed-more{
  align-self:flex-start;border:1px dashed var(--line-2);background:transparent;color:var(--mut);
  padding:8px 12px;border-radius:11px;font-size:12px;font-weight:800;cursor:pointer;
}
.ed-more:active{transform:scale(.97)}
.ed-extra{display:flex;flex-direction:column;gap:9px;border-top:1px dashed var(--line-2);padding-top:10px}
.ed-extra[hidden]{display:none}
.ed-i-bot{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.ed-i-bot input{flex:1 1 140px}
.ed-i-bot .ed-geo{flex:none}
.ed-geo{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;
  background:var(--card);border:1px solid var(--line-2);padding:11px 13px;border-radius:12px;color:var(--mut);cursor:pointer;
}
.ed-geo input{width:18px;height:18px;min-width:0;accent-color:var(--acc)}
.ed-geo:has(input:checked){background:var(--acc-fill);color:var(--on-acc);border-color:transparent}
.ed-add{
  width:100%;justify-content:center;border-style:dashed;background:var(--chip);color:var(--soft);
}
.sheet-foot .del{color:var(--warn-tx);border-color:color-mix(in srgb,var(--warn-tx) 40%,transparent);flex:0 0 auto}

/* --- profili --- */
.prof-card{max-width:460px}
.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prof{
  display:flex;flex-direction:column;align-items:center;gap:5px;padding:20px 10px 16px;
  border-radius:20px;background:var(--chip);border:1px solid var(--line-2);color:var(--txt);cursor:pointer;transition:.18s;
}
.prof:active{transform:scale(.96)}
.prof.on{background:linear-gradient(140deg,rgba(46,230,168,.24),rgba(255,200,97,.16));border-color:var(--acc);box-shadow:0 0 0 3px rgba(46,230,168,.12)}
.prof .pe{font-size:42px;line-height:1}
.prof b{font-size:17px;letter-spacing:-.4px}
.prof .ps{font-size:11px;color:var(--mut)}

/* --- export testo (Note) --- */
.exp-pre{
  background:var(--chip-2);border:1px solid var(--line-2);border-radius:16px;padding:14px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.4px;line-height:1.6;
  white-space:pre-wrap;word-break:break-word;color:var(--soft);margin:0;max-height:62vh;overflow:auto;
}

@media (max-width:380px){
  .es-grid{grid-template-columns:1fr}
  .prof-grid{grid-template-columns:1fr 1fr}
  .dh-num b{font-size:48px}
}


/* ---------- Chi siamo: profili allineati ---------- */
.who-lead{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--mut);margin:0 0 9px}
.who-grid{gap:10px}
.who-grid .prof{padding:14px 8px 12px;border-radius:16px;gap:3px}
.who-grid .prof .pe{font-size:30px}
.who-grid .prof b{font-size:15px}
.who-grid .prof .ps{font-size:10.5px}
.wg-h .sync-chip{margin-left:auto;padding:6px 11px;font-size:11px;border-radius:999px}
.uchip.wide{flex:1;justify-content:center}
