:root{color-scheme:light;--ink:#132f33;--muted:#506a6e;--rail:#102c30;--mint:#b5f1db;--teal:#126454;--line:#d5e5e1;--soft:#e7f1ee;--paper:#f0f5f4;--white:#fff;font:16px/1.45 "Segoe UI",system-ui,sans-serif}
*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}
button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line);border-radius:.65rem;padding:.68rem 1rem;background:var(--soft);cursor:pointer;min-height:44px;font-weight:650;transition:background .15s,border-color .15s}
button:hover:not(:disabled){background:#d4e8e0}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.primary:hover:not(:disabled){background:#0b5043}button:disabled{opacity:.55;cursor:default}a{color:var(--teal);font-weight:650}
:focus-visible{outline:3px solid #1f8774;outline-offset:2px}h1,h2,h3,p{margin:0}p+form{margin-top:1rem}h1{font-size:clamp(1.85rem,4vw,2.7rem);letter-spacing:-.045em;line-height:1.12}h2{font-size:clamp(1.4rem,3vw,1.95rem);letter-spacing:-.025em}h3{font-size:1.05rem;margin:1rem 0 .55rem}h2+p,p#context,small{color:var(--muted)}
.eyebrow{color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:.42rem}
.shell{display:grid;grid-template-columns:14.3rem minmax(0,1fr);min-height:100dvh}.rail{background:var(--rail);color:white;display:flex;flex-direction:column;padding:1.4rem 1rem;gap:1.6rem;position:sticky;top:0;min-height:100dvh;max-height:100dvh}
.rail-brand,.login-brand{display:flex;align-items:center;gap:.7rem}.rail-brand small{display:block;color:var(--mint);font-size:.58rem;letter-spacing:.12em}.monogram{display:inline-grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.75rem;background:var(--mint);color:var(--rail);font-weight:900;flex:none}
.rail nav{display:grid;gap:.5rem}.rail button{background:#193e42;color:#e6f4f0;border-color:#315256;text-align:left}.rail button[aria-pressed=true],.rail button:hover:not(:disabled){background:#285b54;border-color:#497b72}.rail-bottom{margin-top:auto;display:grid;gap:.7rem}.status-pill{background:#243f40;color:#ffd6a3;padding:.4rem .6rem;border-radius:.6rem;font-size:.75rem}.status-pill.online{color:var(--mint)}
main{max-width:1110px;width:100%;margin:0 auto;padding:clamp(.85rem,3vw,2rem);min-width:0}.workspace,.section-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.workspace h1{margin-bottom:.25rem}.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.42rem;margin-bottom:.8rem}.steps button{font-size:.85rem;padding:.55rem .4rem;background:#f9fbfa;text-align:center}.steps b{display:inline-grid;place-items:center;background:var(--soft);border-radius:100%;min-width:1.35rem;height:1.35rem;color:var(--teal);margin-right:.12rem}.steps button[aria-current=step]{background:#d9f1e8;border-color:#a6cfc1;color:#0a5247}
.client-line,.row,.buttons{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.client-line{margin-bottom:.85rem}.client-line label{min-width:min(13rem,100%);max-width:23rem}.panel{background:white;border:1px solid var(--line);border-radius:1.05rem;padding:clamp(1rem,3vw,1.8rem);box-shadow:0 8px 24px #183b3510}.notice{border:1px solid #dbb67e;background:#fff3dd;color:#654411;border-radius:.65rem;padding:.6rem .75rem;margin:.5rem 0 1rem;overflow-wrap:anywhere}.notice:empty{display:none}.catalog,.cards{display:grid;gap:.65rem}.catalog{grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr))}.card{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem;border:1px solid var(--line);border-radius:.75rem;background:#fbfdfc;min-width:0}.card div{min-width:0;overflow-wrap:anywhere}.card small{display:block;margin-top:.12rem}.catalog .card{align-items:start;flex-direction:column}.card.active{background:#e8f5f0;border-color:#98c9ba}.tag{display:inline-block;padding:.25rem .55rem;background:#e2f3ed;color:#12584d;border-radius:1rem;font-size:.72rem;font-weight:750}.search{max-width:12rem}
label{display:block;font-size:.89rem;font-weight:650}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:.25rem;border:1px solid #bfd4ce;border-radius:.5rem;padding:.57rem .65rem;background:#fbfdfc;min-height:43px}label small{display:block;font-weight:400;margin-top:.2rem}form>label,details>label{margin-bottom:.66rem}.check{display:flex;align-items:center;gap:.5rem}.check input{width:1.05rem;height:1.05rem;accent-color:var(--teal)}.row label{flex:1 1 10rem}.row button,.buttons button{max-width:100%}
.brand-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(15rem,.95fr);gap:1rem;margin-top:.9rem}.colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.7rem 0}.colors input[type=color]{padding:.24rem}.preview{background:#eef5f2;border-radius:.8rem;padding:1rem;align-self:start}.phone{max-width:17rem;margin:auto;border-radius:1.25rem;background:var(--phone-bg,#201536);color:white;padding:.8rem;box-shadow:0 8px 16px #102c3033;overflow-wrap:anywhere}.phone-header{display:flex;align-items:center;gap:.6rem;font-weight:750;min-height:2.3rem}.phone-header img{width:2.1rem;height:2.1rem;object-fit:contain}.phone-inner{background:#ffffff14;border-radius:.75rem;padding:.65rem;margin:.7rem 0}.phone-inner small{color:var(--phone-secondary,#c6a8ff);font-weight:700}.phone-inner div{padding:.38rem .55rem;background:#ffffff16;margin-top:.35rem;border-radius:.4rem;color:var(--phone-accent,#ffbd69);font-size:.87rem}.phone-foot{font-size:.72rem;text-align:center}iframe{width:100%;height:240px;border:1px solid var(--line);border-radius:.65rem;background:white}.preview a,.preview small{display:block;margin-top:.35rem}
details{border:1px solid var(--line);border-radius:.7rem;padding:.6rem .8rem;margin:.8rem 0}summary{cursor:pointer;font-weight:650}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.7rem}.profile-grid .buttons{grid-column:1/-1}.profile-grid>label{margin:0}.plan-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.26rem .8rem;padding:.8rem;background:#f0f7f4;border-radius:.65rem;font-size:.9rem}.plan-grid dt{color:var(--muted)}.plan-grid dd{margin:0;overflow-wrap:anywhere}ol,ul{padding-left:1.3rem}.job-note{padding:.7rem;background:#eaf4f0;border-radius:.6rem;margin:.7rem 0;white-space:pre-line;overflow-wrap:anywhere}.job-log{display:grid;gap:.3rem;font-size:.83rem}.job-log span{color:var(--muted)}footer{padding:1.2rem 0 0;color:var(--muted);font-size:.77rem}
.login{max-width:29rem;margin:clamp(2rem,10vh,7rem) auto;padding:1rem}.login-brand{margin-bottom:1rem;color:var(--teal);font-size:.8rem;font-weight:850;letter-spacing:.11em}.login form p{margin-bottom:.65rem}.login form button{width:100%;margin-top:.25rem}dialog{width:min(90vw,26rem);border:1px solid var(--line);border-radius:.9rem;padding:1.1rem;color:var(--ink)}dialog::backdrop{background:#102c3080}
@media(max-width:880px){.shell{grid-template-columns:1fr}.rail{position:static;min-height:auto;padding:.85rem;gap:.65rem}.rail nav{grid-template-columns:1fr 1fr}.rail nav button{text-align:center;padding:.5rem}.rail-bottom{display:flex;align-items:center;justify-content:space-between}.rail-bottom button{padding:.25rem .55rem;min-height:36px}.brand-grid{grid-template-columns:minmax(0,1fr) minmax(13rem,.8fr)}}
@media(max-width:570px){.brand-grid{grid-template-columns:1fr}.preview{grid-row:1}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.steps button{font-size:.74rem}.workspace,.section-header{align-items:start;flex-direction:column;gap:.5rem}.search{max-width:none;width:100%}.catalog{grid-template-columns:1fr}.catalog .card{flex-direction:row;align-items:center}.profile-grid{grid-template-columns:1fr}.row{align-items:stretch}.row button{width:100%}.card{align-items:flex-start}.client-line label{flex:1 1 10rem}.colors label{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Contesto compatto e navigazione utilizzabili con testo ingrandito. */
.workspace .current-project { min-width: 0; }
.workspace h1 { font-size: clamp(1.25rem, 2.7vw, 2rem); overflow-wrap: anywhere; }
.quick-nav { display: flex; gap: .4rem; flex-shrink: 0; }
.quick-nav button { padding: .5rem .7rem; }
.quick-nav [aria-current] { background: #d9f1e8; border-color: #8dbdae; }
.steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.steps button { overflow-wrap: anywhere; }
.client-switch { margin: .7rem 0 1rem; padding: 0; background: #fff; }
.client-switch > summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: .7rem; padding: .65rem .85rem; min-height: 48px;
}
.client-switch summary > span:first-child { min-width: 0; }
.client-switch small { display: block; font-size: .63rem; letter-spacing: .1em; }
.client-switch strong { font-size: .95rem; overflow-wrap: anywhere; }
.change-label { color: var(--teal); font-size: .8rem; }
.client-switch .client-line { padding: .3rem .85rem .75rem; margin: 0; }
.client-switch .client-line label { flex: 1 1 12rem; }
.studio-tools { margin-top: auto; padding: .5rem; border-color: #315256; }
.studio-tools summary { min-height: 44px; display: flex; align-items: center; }
.studio-tools:not([open]) > :not(summary) { display: none; }
.studio-tools[open] > :not(summary) { display: block; margin-top: .5rem; }
.preview { margin: 0; }
.preview > summary { margin-bottom: .65rem; }
.customer-settings { margin: 0 0 .7rem; padding: .45rem .65rem; }
.customer-settings label { margin-top: .6rem; }
.connection-notice {
  margin: 0; padding: .65rem 1rem; background: #fff0d5; color: #654411;
  border-bottom: 1px solid #d5b77f; font-weight: 650; overflow-wrap: anywhere;
}
input, select { min-width: 0; max-width: 100%; }
.screen, .brand-grid > *, form, .plan-grid { min-width: 0; }
.screen p, .screen li, .screen a { overflow-wrap: anywhere; }
.plan-grid { grid-template-columns: minmax(5rem, max-content) minmax(0, 1fr); }
@media (max-width: 880px) {
  .rail { padding: .35rem .7rem; gap: .15rem; max-height: none; }
  .rail-brand { display: none; }
  .rail nav { gap: .35rem; }
  .rail nav button { min-height: 44px; font-size: .85rem; padding: .4rem; }
  .studio-tools { margin: 0; padding: 0; border: 0; }
  .studio-tools summary { min-height: 30px; font-size: .75rem; color: #cce5dd; }
  .studio-tools[open] { padding-bottom: .5rem; }
  .studio-tools[open] > :not(summary) { display: inline-block; margin: .15rem .6rem .15rem 0; }
  main { padding: .65rem .7rem 1rem; }
  .workspace { flex-direction: row; align-items: center; gap: .5rem; margin-bottom: .55rem; }
  .workspace .eyebrow, .workspace #context { display: none; }
  .workspace h1 { font-size: 1.15rem; margin: 0; letter-spacing: -.02em; }
  .quick-nav button { padding: .4rem .55rem; min-height: 44px; font-size: .8rem; }
  .steps { gap: .25rem; margin-bottom: .5rem; }
  .steps button { padding: .4rem .2rem; font-size: .78rem; min-height: 48px; }
  .steps b { display: block; margin: 0 auto .1rem; width: 1.3rem; font-size: .75rem; }
  .client-switch { margin: .5rem 0 .6rem; }
  .client-switch > summary { padding: .45rem .7rem; }
  .panel { padding: .85rem; border-radius: .85rem; box-shadow: 0 3px 12px #183b350b; }
  .panel > .eyebrow { margin-bottom: .15rem; font-size: .65rem; }
  .panel h2 { font-size: 1.35rem; }
  .section-header { gap: .5rem; margin-bottom: .65rem; }
  .search input { margin-top: .15rem; }
  .card { padding: .65rem; gap: .55rem; }
  .card h3 { margin: .3rem 0; }
  .card button, .card a { flex-shrink: 0; }
  .tag { padding: .18rem .4rem; }
  .brand-grid { gap: .7rem; margin-top: .6rem; }
  .preview { padding: .65rem; }
}
@media (max-width: 570px) {
  .phone { max-width: none; border-radius: .85rem; padding: .65rem; }
  .phone-header { min-height: 2rem; font-size: .95rem; }
  .phone-header img { width: 1.8rem; height: 1.8rem; }
  .phone-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; margin: .45rem 0; padding: .45rem; }
  .phone-inner small { grid-column: 1 / -1; font-size: .63rem; }
  .phone-inner div { margin: 0; font-size: .73rem; padding: .35rem .2rem; text-align: center; }
  .phone-foot { font-size: .62rem; }
  .colors { gap: .35rem; }
  .plan-grid { grid-template-columns: 1fr; gap: .1rem; }
  .plan-grid dd { margin-bottom: .45rem; font-weight: 600; }
  .quick-nav button span { display: inline; }
  .quick-nav button { min-width: 44px; font-size: .75rem; padding: .35rem .45rem; }
  .client-line button { flex: 1; }
  .preview iframe { height: 190px; }
}
@media (max-height: 480px) and (max-width: 1000px) {
  .rail { padding-top: .2rem; }
  .rail nav button { min-height: 44px; }
  .workspace { margin-bottom: .3rem; }
}
#agent-form { margin-block: .5rem 1rem; }
#agent-form code { overflow-wrap: anywhere; }

#catalog-import, #agent-consult { margin-block: .6rem; }
#catalog-import p { color: var(--muted); margin-bottom: .6rem; }
#agent-consult textarea {
  display: block; width: 100%; margin-top: .25rem; padding: .6rem;
  border: 1px solid #bfd4ce; border-radius: .5rem; font: inherit; resize: vertical;
}
#agent-consult details { margin-block: .5rem; }
#agent-answer { margin-block: .5rem; white-space: pre-line; overflow-wrap: anywhere; }
