/* A360 CRM — form e viste frontend */
.a360f{--c-ink:#12161C;--c-ink2:#414A56;--c-line:#DCE1E8;--c-acc:#0F5CC4;--c-acc-s:#E3EDFB;--c-bad:#CE342A;
  max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:26px 28px;
  box-shadow:0 1px 2px rgba(20,24,36,.05),0 8px 26px rgba(20,24,36,.06);color:var(--c-ink)}
.a360f-title{margin:0 0 18px;font-size:26px;font-weight:600;line-height:1.15}
.a360f-step{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c-acc);color:#fff;font-size:12px;font-weight:700;margin-right:8px;vertical-align:1px}
.a360f-group{border:0;border-top:1px solid var(--c-line);margin:22px 0 0;padding:18px 0 0}
.a360f-group legend{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-ink2);padding:0}
.a360f-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:12px}
.a360f-field{grid-column:span 12}
.a360f-w-half{grid-column:span 6}
.a360f-w-third{grid-column:span 4}
.a360f-w-quarter{grid-column:span 3}
@media (max-width:760px){.a360f-w-half,.a360f-w-third,.a360f-w-quarter{grid-column:span 12}}
.a360f label{display:block;font-size:12.5px;font-weight:600;color:var(--c-ink2);margin-bottom:5px}
.a360f label span{color:var(--c-bad)}
.a360f input,.a360f select,.a360f textarea{width:100%;border:1px solid var(--c-line);border-radius:9px;padding:9px 11px;font:inherit;font-size:14px;background:#fff;color:var(--c-ink)}
.a360f input:focus,.a360f select:focus,.a360f textarea:focus{outline:none;border-color:var(--c-acc);box-shadow:0 0 0 3px var(--c-acc-s)}
.a360f small{display:block;margin-top:4px;font-size:11.5px;color:#8A90A2}
.a360f .is-invalid input,.a360f .is-invalid select{border-color:var(--c-bad);background:#FDF6F5}
.a360f-msg{margin-top:4px;font-size:12px;color:var(--c-bad);font-weight:600}
.a360f-chips{display:flex;flex-wrap:wrap;gap:8px}
.a360f-chips label{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--c-line);border-radius:99px;margin:0;font-weight:500;cursor:pointer}
.a360f-chips input{width:auto}
.a360f-submit{margin:24px 0 0}
.a360f-submit button{background:#0F5CC4;color:#fff;border:0;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer}
.a360f-submit button:hover{background:#0A408A}
.a360f-ok{max-width:920px;margin:0 auto 14px;padding:12px 16px;border-radius:10px;background:#DEF0E7;color:#0E7C4A;font-weight:600}
.a360f-err{max-width:920px;margin:0 auto 14px;padding:12px 16px;border-radius:10px;background:#FBE3E1;color:#B22A21}
.a360f-err ul{margin:6px 0 0 18px}

.a360f-table{width:100%;border-collapse:collapse;font-size:14px}
.a360f-table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5B6172;padding:10px 12px;border-bottom:1px solid #DFE2E9}
.a360f-table td{padding:11px 12px;border-bottom:1px solid #EEF0F4}
.a360f-scheda{max-width:820px}
.a360f-scheda h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#5B6172;margin:22px 0 8px}
.a360f-scheda dl{display:grid;grid-template-columns:220px 1fr;gap:6px 16px;margin:0}
.a360f-scheda dt{font-size:12.5px;color:#8A90A2}
.a360f-scheda dd{margin:0;font-size:14px}
.a360f-tipo{color:#0F5CC4;font-weight:600}

/* ================================================================
   [a360_crm] — CRM completo in frontend
   ================================================================ */
.a360app{
  --ink:#12161C; --ink-2:#414A56; --ink-3:#737D8B;
  --bg:#EDF0F4; --paper:#fff; --paper-2:#F3F5F8; --line:#DCE1E8; --line-2:#BFC7D2;
  --accent:#0F5CC4; --accent-2:#0A408A; --accent-soft:#E3EDFB;
  --good:#0E7C4A; --good-soft:#DEF0E7; --bad:#CE342A; --bad-soft:#FBE3E1;
  --warn:#C07A00; --warn-soft:#FBF0D9; --info:#1477C8; --info-soft:#E2EFFB;
  --neutral:#5C6672; --neutral-soft:#EDEFF2; --secure:#6B3FC4; --secure-soft:#EDE6FB;
  --r:9px; --shadow:0 1px 2px rgba(27,26,23,.05),0 8px 24px rgba(27,26,23,.06);
  font-family:Manrope,system-ui,sans-serif;color:var(--ink);font-size:15px;line-height:1.55;
  max-width:1180px;margin:0 auto
}
@media (prefers-color-scheme:dark){
  .a360app:not([data-tema="chiaro"]){--ink:#E9EDF3;--ink-2:#A3ACBA;--ink-3:#6C7683;--bg:#0D1014;--paper:#161A20;--paper-2:#1C2129;
    --line:#272D36;--line-2:#39404B;--accent:#5A9BF0;--accent-2:#8FBDF7;--accent-soft:#12233C;
    --good:#3FBE84;--good-soft:#0F2A1E;--bad:#E8695E;--bad-soft:#2F1917;
    --warn:#DCA231;--warn-soft:#2E2410;--info:#5A9BF0;--info-soft:#12233C;
    --neutral:#8892A0;--neutral-soft:#1C2129;--secure:#A583F0;--secure-soft:#211932;
    --shadow:0 1px 2px rgba(0,0,0,.5),0 10px 28px rgba(0,0,0,.4)}
}
.a360app *{box-sizing:border-box}
.a360app a{color:inherit;text-decoration:none}
.a360app h2,.a360app h3,.a360app h4{margin:0}

.a360app-gate{background:var(--paper,#fff);border:1px solid #DFE3E9;border-radius:14px;padding:34px;text-align:center}

.a360app-btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:7px;
  padding:9px 16px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.a360app-btn:hover{opacity:.88}
.a360app-btn.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line-2)}

.a360app-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:0;
  background:var(--paper);border:1px solid var(--line);border-bottom:0;border-radius:var(--r) var(--r) 0 0}
.a360app-tabs{background:var(--paper);border:1px solid var(--line);border-top:0;
  border-radius:0 0 var(--r) var(--r);padding:0 8px;margin-bottom:18px!important}
.a360app-brand{display:flex;align-items:center;gap:11px}
.a360app-mark{width:34px;height:34px;border-radius:7px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}
.a360app-brand h2{font-size:19px;font-weight:700;line-height:1.1}
.a360app-brand small{color:var(--ink-3);font-size:12px}
.a360app-search{flex:1;min-width:220px}
.a360app-search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 14px;
  font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.a360app-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}

.a360app-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}
.a360app-tabs a{padding:9px 14px;font-weight:600;font-size:14px;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px}
.a360app-tabs a:hover{color:var(--ink)}
.a360app-tabs a.on{color:var(--ink);border-bottom-color:var(--accent)}

.a360app-flash{border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:14px}
.a360app-flash.ok{background:var(--good-soft);color:var(--good);font-weight:600}
.a360app-flash.ko{background:var(--bad-soft);color:var(--bad)}
.a360app-flash ul{margin:6px 0 0 18px}

.a360app-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.a360app-chips a{padding:5px 12px;border:1px solid var(--line);border-radius:99px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--paper)}
.a360app-chips a:hover{border-color:var(--c,var(--accent));color:var(--ink)}
.a360app-chips a.on{background:var(--accent);color:#fff;border-color:var(--accent)}

.a360app-note{color:var(--ink-3);font-size:13px;margin:0 0 12px}
.a360app-note.secure{background:var(--accent-soft);color:var(--accent-2);border-radius:9px;padding:10px 13px;font-weight:500}
.a360app-dim{color:var(--ink-3)}
.a360app-empty{background:var(--paper);border:1px dashed var(--line-2);border-radius:var(--r);padding:34px;text-align:center;color:var(--ink-2)}

.a360app-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.a360app-cards a{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:13px 15px;box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
.a360app-cards a:hover{transform:translateY(-1px);border-color:var(--c,var(--accent))}
.a360app-avatar{flex:none;width:38px;height:38px;border-radius:8px;background:var(--c,#6B7280);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:13px}
.a360app-cardtxt{min-width:0}
.a360app-cardtxt b{display:block;font-size:14.5px;font-weight:700}
.a360app-cardtxt em{display:block;font-style:normal;font-size:11.5px;color:var(--c,var(--ink-3));font-weight:600;margin:1px 0}
.a360app-cardtxt small{display:block;color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.a360app-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.a360app-head h3{font-size:23px;font-weight:700}
.a360app-back{color:var(--ink-3);font-size:13.5px;font-weight:600}
.a360app-back:hover{color:var(--ink)}
.a360app-badge{font-size:12px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--c) 30%,transparent);padding:3px 10px;border-radius:99px}
.a360app-head .a360app-btn{margin-left:auto}

.a360app-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;align-items:start}
.a360app-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.a360app-panel h4{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:800;margin-bottom:12px}
.a360app-panel dl{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:7px 14px;margin:0}
.a360app-panel dt{font-size:12.5px;color:var(--ink-3)}
.a360app-panel dd{margin:0;font-size:14px;font-weight:500;word-break:break-word}
.a360app-secret{display:inline-flex;align-items:center;gap:8px}
.a360app-secret code,.a360app-locked{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;
  background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.a360app-reveal{border:0;background:none;color:var(--accent-2);font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}
.a360app-rel{list-style:none;margin:0;padding:0}
.a360app-rel li{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.a360app-rel li:last-child{border-bottom:0}
.a360app-rel .tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--accent-2);
  background:var(--accent-soft);padding:2px 7px;border-radius:5px;flex:none}
.a360app-rel em{margin-left:auto;font-style:normal;color:var(--ink-3);font-size:12.5px}

/* Form */
.a360app-form .a360app-panel{margin-bottom:12px}
.a360app-lead{display:block;font-size:16px;font-weight:700;margin-bottom:10px}
.a360app-step{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:800;margin-right:8px}
.a360app-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:13px}
.a360app-field{grid-column:span 12}
.a360app-field.w-half{grid-column:span 6}
.a360app-field.w-third{grid-column:span 4}
.a360app-field.w-quarter{grid-column:span 3}
@media (max-width:720px){.a360app-field.w-half,.a360app-field.w-third,.a360app-field.w-quarter{grid-column:span 12}}
.a360app-field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:5px}
.a360app-field label span{color:var(--bad)}
.a360app-field input,.a360app-field select,.a360app-field textarea{width:100%;border:1px solid var(--line);
  border-radius:9px;padding:9px 11px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.a360app-field input:focus,.a360app-field select:focus,.a360app-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a360app-field.ok input{border-color:var(--good)}
.a360app-field.ko input{border-color:var(--bad);background:var(--bad-soft)}
.a360app-field small{display:block;margin-top:4px;font-size:11.5px;color:var(--ink-3)}
.a360app-msg{margin:4px 0 0;font-size:12px;color:var(--bad);font-weight:700}
.a360app-chipset{display:flex;flex-wrap:wrap;gap:7px}
.a360app-chipset label{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);
  border-radius:99px;margin:0;font-weight:500;cursor:pointer;background:var(--paper)}
.a360app-chipset input,.a360app-check input{width:auto}
.a360app-check{display:inline-flex;align-items:center;gap:7px;font-weight:500!important}
.a360app-actions{margin:18px 0 0}
#a360app-tipo{font-size:15px;padding:11px 13px}

/* Pipeline */
.a360app-pipe{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:0;overflow-x:auto;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
@media (max-width:1000px){.a360app-pipe{grid-template-columns:repeat(7,minmax(160px,1fr))}}
.a360app-stage{padding:14px;border-right:1px solid var(--line);min-width:0}
.a360app-stage:last-child{border-right:0}
.a360app-stage .h{display:flex;justify-content:space-between;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink-3);font-weight:800}
.a360app-stage .amt{font-size:18px;font-weight:800;margin:4px 0 10px;font-variant-numeric:tabular-nums}
.a360app-deal{display:block;border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-bottom:7px;
  background:var(--paper-2);font-size:12.5px}
.a360app-deal:hover{border-color:var(--accent);background:var(--paper)}
.a360app-deal b{display:block;font-weight:600}
.a360app-deal span{color:var(--ink-3);font-size:11.5px}

/* Attività */
.a360app-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.a360app-tasks small{color:var(--ink-3);font-size:12px}

/* ---------- Ricerca indirizzi / comuni su OpenStreetMap ---------- */
.a360-osm{position:relative}
.a360-osm input{width:100%}
.a360-osm-spin{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;
  border:2px solid #D5DAE2;border-top-color:#0F5CC4;border-radius:50%;opacity:0}
.a360-osm.is-loading .a360-osm-spin{opacity:1;animation:a360spin .7s linear infinite}
@keyframes a360spin{to{transform:translateY(-50%) rotate(360deg)}}
.a360-osm-list{position:absolute;z-index:999;left:0;right:0;top:calc(100% + 5px);margin:0;padding:4px;
  list-style:none;background:#fff;border:1px solid #C3C9D4;border-radius:11px;
  box-shadow:0 12px 34px rgba(27,26,23,.16);max-height:280px;overflow-y:auto}
.a360-osm-list li{padding:9px 11px;border-radius:8px;cursor:pointer;line-height:1.35}
.a360-osm-list li b{display:block;font-size:14px;font-weight:600;color:#1B1A17}
.a360-osm-list li span{display:block;font-size:12px;color:#7C8494}
.a360-osm-list li:hover,.a360-osm-list li.on{background:#E3EDFB}
.a360-osm-none{color:#7C8494;font-size:12.5px;cursor:default!important}
.a360-osm-none:hover{background:none!important}
@media (prefers-color-scheme:dark){
  .a360-osm-list{background:#171B21;border-color:#39414D;box-shadow:0 12px 34px rgba(0,0,0,.55)}
  .a360-osm-list li b{color:#E8EBF0}
  .a360-osm-list li span{color:#6E7686}
  .a360-osm-list li:hover,.a360-osm-list li.on{background:#16263A}
}

/* Campi compilati automaticamente */
.a360app-field.is-sub label,.a360f-field.is-sub label{color:var(--ink-3,#8B857A);font-weight:500}
.a360app-field.is-sub label::after{content:"auto";font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--paper-2);border:1px solid var(--line);color:var(--ink-3);
  padding:1px 5px;border-radius:99px;margin-left:6px;vertical-align:1px}
.a360app-field.is-sub input,.a360app-field.is-sub select{background:var(--paper-2)}
.a360app-field.just-filled input,.a360app-field.just-filled select{border-color:var(--good);transition:border-color .5s}

/* ================================================================
   Schede in frontend
   ================================================================ */
.a360app-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;line-height:1.7;
  padding:1px 8px;border-radius:5px;white-space:nowrap;color:var(--c,var(--neutral));
  background:color-mix(in srgb,var(--c,var(--neutral)) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--c,var(--neutral)) 32%,transparent)}
.a360app-pill::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor}
.a360app-pill.is-ok{--c:var(--good)}
.a360app-pill.is-warn{--c:var(--warn)}
.a360app-pill.is-bad{--c:var(--bad)}
.a360app-pill.is-info{--c:var(--info)}

.a360app-schede{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.a360app-schede a{display:flex;gap:14px;align-items:flex-start;background:var(--paper);
  border:1px solid var(--line);border-left:4px solid var(--c,var(--neutral));
  border-radius:var(--r);padding:13px 16px;box-shadow:var(--shadow);transition:border-color .12s,transform .12s}
.a360app-schede a:hover{transform:translateX(2px);border-color:var(--accent);border-left-color:var(--c,var(--accent))}
.a360app-schede .num{flex:none;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;font-weight:600;
  color:var(--ink-3);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.a360app-schede .body{min-width:0;flex:1}
.a360app-schede .body b{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.a360app-schede .tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.a360app-schede .body small{color:var(--ink-3);font-size:12px}

.a360app-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:14px;font-weight:600;
  color:var(--ink-3);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:2px 8px;margin-right:6px}
.a360app-wide{grid-column:1 / -1}
.a360app-prose{font-size:14.5px;line-height:1.65}
.a360app-prose p{margin:0 0 10px}
.a360app-tags{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 0}
.a360app-rel .tag{color:var(--c,var(--accent-2));background:color-mix(in srgb,var(--c,var(--accent)) 12%,transparent)}
.a360app-rel em{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--accent);
  background:var(--accent-soft);padding:1px 6px;border-radius:4px;margin-left:6px}

.a360app-files{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.a360app-files a{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper-2)}
.a360app-files a:hover{border-color:var(--accent)}
.a360app-files img{display:block;width:100%;height:100px;object-fit:cover}
.a360app-files .ext{display:flex;align-items:center;justify-content:center;height:100px;font-weight:800;
  font-size:15px;letter-spacing:.06em;color:var(--ink-3)}
.a360app-files span:last-child{display:block;padding:7px 10px;font-size:12px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}

.a360app-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line)}
.a360app-timeline li{position:relative;padding:0 0 14px 12px}
.a360app-timeline li::before{content:"";position:absolute;left:-25px;top:5px;width:9px;height:9px;border-radius:3px;
  background:var(--accent);border:2px solid var(--paper)}
.a360app-timeline .t{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;color:var(--ink-3)}
.a360app-timeline .u{font-size:11px;font-weight:700;color:var(--accent-2);margin-left:8px}
.a360app-timeline p{margin:3px 0 0;font-size:13.5px}

/* ================================================================
   Agenda attività — gestione completa in frontend
   ================================================================ */
.a360app-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;
  background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--r);padding:10px 12px;box-shadow:var(--shadow)}
.a360app-quick input[type=text]{flex:1;min-width:200px;border:1px solid var(--line);border-radius:7px;
  padding:9px 12px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.a360app-quick select,.a360app-quick input[type=datetime-local]{border:1px solid var(--line);border-radius:7px;
  padding:8px 10px;font:inherit;font-size:13px;background:var(--paper);color:var(--ink)}
.a360app-quick input:focus,.a360app-quick select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a360app-more{font-size:12.5px;color:var(--accent-2);font-weight:600;white-space:nowrap}

.a360app-chips.sub a{font-size:11.5px;padding:3px 10px}
.a360app-chips.sub{margin-top:-6px;margin-bottom:16px;opacity:.9}

.a360app-agenda{display:flex;flex-direction:column;gap:4px}
.a360app-daygroup{margin:16px 0 6px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:800;color:var(--ink-3);display:flex;align-items:center;gap:9px}
.a360app-daygroup::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--neutral)}
.a360app-daygroup::after{content:"";flex:1;height:1px;background:var(--line)}
.a360app-daygroup.is-bad{color:var(--bad)}   .a360app-daygroup.is-bad::before{background:var(--bad)}
.a360app-daygroup.is-warn{color:var(--warn)} .a360app-daygroup.is-warn::before{background:var(--warn)}
.a360app-daygroup.is-info{color:var(--info)} .a360app-daygroup.is-info::before{background:var(--info)}

.a360app-tasks li{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);
  border-left:3px solid var(--line-2);border-radius:8px;padding:10px 13px;box-shadow:none;transition:border-color .12s}
.a360app-tasks li:hover{border-color:var(--line-2);border-left-color:var(--accent)}
.a360app-tasks li.late{border-left-color:var(--bad)}
.a360app-tasks li.done{opacity:.6;border-left-color:var(--good)}
.a360app-tasks li.done .txt b{text-decoration:line-through}
.a360app-tasks form.tick{margin:0;display:flex}
.a360app-tick{width:20px;height:20px;border:2px solid var(--line-2);border-radius:5px;background:none;
  cursor:pointer;padding:0;position:relative;flex:none}
.a360app-tick:hover{border-color:var(--good);background:var(--good-soft)}
.a360app-tasks li.done .a360app-tick{border-color:var(--good);background:var(--good)}
.a360app-tasks li.done .a360app-tick::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.a360app-tasks .txt{flex:1;min-width:0}
.a360app-tasks .txt b{display:block;font-size:14px;font-weight:600;margin-bottom:3px}
.a360app-tasks .tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.a360app-link{font-size:11.5px;font-weight:600;color:var(--accent-2);border-bottom:1px dotted var(--line-2)}
.a360app-link:hover{border-bottom-style:solid}
.a360app-who{font-size:11px;color:var(--ink-3);background:var(--paper-2);border:1px solid var(--line);
  padding:1px 7px;border-radius:4px}
.a360app-tasks .when{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12.5px;font-weight:600;
  color:var(--ink-2);white-space:nowrap}
.a360app-tasks li.late .when{color:var(--bad)}
.a360app-tasks .act{display:flex;gap:8px;align-items:center;opacity:0;transition:opacity .12s}
.a360app-tasks li:hover .act,.a360app-tasks li:focus-within .act{opacity:1}
.a360app-tasks .act a,.a360app-tasks .act .del{font-size:11.5px;font-weight:600;color:var(--ink-3);
  background:none;border:0;cursor:pointer;padding:0;font-family:inherit}
.a360app-tasks .act a:hover{color:var(--accent)}
.a360app-tasks .act .del:hover{color:var(--bad)}
.a360app-tasks .act form{margin:0}
@media (max-width:700px){
  .a360app-tasks .act{opacity:1}
  .a360app-tasks li{flex-wrap:wrap}
  .a360app-tasks .when{order:3}
}
.a360app-flash.info{background:var(--info-soft);color:var(--info);font-weight:600}

/* ================================================================
   Campo "Allegati con etichette"
   ================================================================ */
.a360-files-zone{display:flex;flex-direction:column;align-items:center;gap:5px;padding:20px 18px;text-align:center;
  border:2px dashed var(--line-2,#BFC7D2);border-radius:10px;background:var(--paper-2,#F3F5F8);color:var(--ink-2,#414A56);cursor:pointer;transition:.15s}
.a360-files-zone:hover,.a360-files-zone:focus{border-color:var(--accent,#0F5CC4);background:var(--accent-soft,#E3EDFB);outline:none}
.a360-files-zone.over{border-color:var(--accent,#0F5CC4);background:var(--accent-soft,#E3EDFB)}
.a360-files-zone.pasted{border-color:var(--good,#0E7C4A);background:var(--good-soft,#DEF0E7)}
.a360-files-zone svg{color:var(--accent,#0F5CC4)}
.a360-files-zone p{margin:0;font-size:13px}
.a360-files-zone small{color:var(--ink-3,#737D8B);font-size:11.5px}
.a360-files-pick{border:0;background:none;color:var(--accent,#0F5CC4);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}

.a360-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none}
.a360-files-grid li{position:relative;display:flex;gap:10px;padding:8px;border:1px solid var(--line,#DCE1E8);border-radius:9px;
  background:var(--paper,#fff);box-shadow:var(--shadow,0 1px 2px rgba(18,22,28,.06))}
.a360-files-grid .thumb{flex:none;width:56px;height:56px;border-radius:7px;overflow:hidden;background:var(--paper-2,#F3F5F8);
  display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line,#DCE1E8)}
.a360-files-grid .thumb img{width:100%;height:100%;object-fit:cover}
.a360-files-grid .ext{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--ink-3,#737D8B)}
.a360-files-grid .info{min-width:0;flex:1}
.a360-files-grid .info b{display:block;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360-files-grid .info small{display:block;font-size:10.5px;color:var(--ink-3,#737D8B);margin-bottom:5px}
.a360-files-grid .tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.a360-files-grid .tag{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;
  padding:1px 4px 1px 7px;border-radius:4px;background:var(--accent-soft,#E3EDFB);color:var(--accent-2,#0A408A);border:1px solid var(--line,#DCE1E8)}
.a360-files-grid .tag .x{border:0;background:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;padding:0 2px;opacity:.6}
.a360-files-grid .tag .x:hover{opacity:1;color:var(--bad,#CE342A)}
.a360-files-grid .tag-add{width:82px;border:1px dashed var(--line-2,#BFC7D2)!important;border-radius:4px!important;
  padding:1px 6px!important;font-size:10.5px!important;background:transparent!important;color:var(--ink-2,#414A56)!important}
.a360-files-grid .tag-add:focus{width:130px;border-style:solid!important;border-color:var(--accent,#0F5CC4)!important;box-shadow:none!important}
.a360-files-grid .rm{position:absolute;top:5px;right:5px;width:20px;height:20px;border:0;border-radius:5px;
  background:transparent;color:var(--ink-3,#737D8B);cursor:pointer;font-size:11px;line-height:1;opacity:0;transition:.12s}
.a360-files-grid li:hover .rm{opacity:1}
.a360-files-grid .rm:hover{background:var(--bad-soft,#FBE3E1);color:var(--bad,#CE342A)}
.a360-files-grid li.is-loading{opacity:.7}
.a360-files-grid li.is-error{border-color:var(--bad,#CE342A)}
.a360-files-grid li.is-error small{color:var(--bad,#CE342A);font-weight:700}
.a360-files-grid .bar{display:block;width:70%;height:4px;border-radius:99px;background:var(--line,#DCE1E8);overflow:hidden}
.a360-files-grid .bar i{display:block;width:40%;height:100%;background:var(--accent,#0F5CC4);border-radius:99px;animation:a360bar 1s ease-in-out infinite}

/* Sola lettura */
.a360app-files .ftags,.a360-ro-files .ftags{display:flex;flex-wrap:wrap;gap:4px;padding:0 9px 8px}
.a360app-files .ftag,.a360-ro-files .ftag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;
  background:var(--accent-soft,#E3EDFB);color:var(--accent-2,#0A408A);border:1px solid var(--line,#DCE1E8)}
.a360app-files .nome,.a360-ro-files .nome{display:block;padding:7px 9px 4px;font-size:12px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}

/* ================================================================
   Console CRM — barra laterale, topbar, cruscotto
   ================================================================ */
.a360c{max-width:1420px;display:grid;grid-template-columns:236px 1fr;gap:0;align-items:stretch;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(18,22,28,.06),0 10px 30px rgba(18,22,28,.07)}
.a360c .a360app-top,.a360c .a360app-tabs{display:none}

/* --- Barra laterale --- */
.a360c-side{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;
  padding:14px 12px;gap:16px;min-height:640px}
.a360c-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 12px;border-bottom:1px solid var(--line)}
.a360c-brand .dot{width:9px;height:9px;border-radius:50%;background:var(--good);flex:none;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 22%,transparent)}
.a360c-brand b{display:block;font-size:14.5px;font-weight:700;line-height:1.2}
.a360c-brand small{display:block;font-size:11.5px;color:var(--ink-3)}

.a360c-nav{display:flex;flex-direction:column;gap:1px}
.a360c-sez{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--ink-3);
  padding:14px 10px 5px}
.a360c-sez:first-child{padding-top:0}
.a360c-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;
  color:var(--ink-2);font-size:13.5px;font-weight:600;border-left:3px solid transparent}
.a360c-nav a svg{width:17px;height:17px;flex:none;opacity:.85}
.a360c-nav a span{flex:1;min-width:0}
.a360c-nav a em{font-style:normal;font-size:11px;font-weight:700;color:var(--ink-3);
  background:var(--paper-2);border:1px solid var(--line);padding:0 6px;border-radius:99px;font-variant-numeric:tabular-nums}
.a360c-nav a:hover{background:var(--paper-2);color:var(--ink)}
.a360c-nav a.on{background:var(--accent-soft);color:var(--accent-2);border-left-color:var(--accent)}
.a360c-nav a.on em{background:var(--paper);border-color:var(--accent-soft);color:var(--accent-2)}

.a360c-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.a360c-quality{padding:4px 6px}
.a360c-quality .lab{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--ink-3)}
.a360c-quality .val{display:block;font-size:22px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.a360c-quality .val small{font-size:12px;font-weight:600;color:var(--ink-3)}
.a360c-quality .meter{display:block;height:5px;border-radius:99px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.a360c-quality .meter i{display:block;height:100%;background:var(--accent);border-radius:99px}

/* --- Topbar --- */
.a360c-main{min-width:0;display:flex;flex-direction:column;background:var(--bg)}
.a360c-top{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--paper);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;flex-wrap:wrap}
.a360c-burger{display:none;width:32px;height:32px;border:1px solid var(--line);background:var(--paper);
  border-radius:7px;cursor:pointer;position:relative}
.a360c-burger span,.a360c-burger::before,.a360c-burger::after{content:"";position:absolute;left:8px;right:8px;
  height:2px;background:var(--ink-2);border-radius:2px}
.a360c-burger span{top:15px}.a360c-burger::before{top:10px}.a360c-burger::after{top:20px}
.a360c-title{min-width:120px}
.a360c-title h2{font-size:16px;font-weight:700;line-height:1.2}
.a360c-title small{font-size:11.5px;color:var(--ink-3)}
.a360c-search{flex:1;min-width:200px;position:relative;display:flex;align-items:center}
.a360c-search svg{position:absolute;left:11px;width:15px;height:15px;color:var(--ink-3);pointer-events:none}
.a360c-search input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 12px 8px 33px;
  font:inherit;font-size:13.5px;background:var(--paper-2);color:var(--ink)}
.a360c-search input:focus{outline:none;border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 3px var(--accent-soft)}
.a360c-top .a360app-btn{display:inline-flex;align-items:center;gap:6px}
.a360c-top .a360app-btn svg{width:15px;height:15px}
.a360c-body{padding:16px;min-width:0}

/* --- Tessere numeriche --- */
.a360c-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
@media (max-width:1200px){.a360c-tiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.a360c-tiles{grid-template-columns:repeat(2,1fr)}}
.a360c-tile{display:block;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--line-2);
  border-radius:9px;padding:12px 13px;text-decoration:none;transition:border-color .12s,transform .12s}
a.a360c-tile:hover{transform:translateY(-1px);border-color:var(--accent);border-top-color:var(--accent)}
.a360c-tile .k{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--ink-3)}
.a360c-tile .v{display:block;font-size:27px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--ink)}
.a360c-tile .s{display:block;font-size:11.5px;color:var(--ink-3)}
.a360c-tile.is-bad{border-top-color:var(--bad)}   .a360c-tile.is-bad .v{color:var(--bad)}
.a360c-tile.is-warn{border-top-color:var(--warn)} .a360c-tile.is-warn .v{color:var(--warn)}
.a360c-tile.is-ok{border-top-color:var(--good)}

/* --- Riquadri --- */
.a360c-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;overflow:hidden}
.a360c-card > header{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 15px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.a360c-card h3{font-size:13.5px;font-weight:700}
.a360c-card header small{display:block;font-size:11.5px;color:var(--ink-3);font-weight:400;margin-top:1px}
.a360c-card .more{font-size:12px;font-weight:700;color:var(--accent-2);white-space:nowrap}
.a360c-clean{margin:0;padding:20px 15px;color:var(--ink-3);font-size:13.5px}
.a360c-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media (max-width:900px){.a360c-cols{grid-template-columns:1fr}}

/* --- Segnalazioni --- */
.a360c-alertlist{list-style:none;margin:0;padding:0}
.a360c-alertlist li{display:flex;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line);
  border-left:3px solid var(--neutral)}
.a360c-alertlist li:last-child{border-bottom:0}
.a360c-alertlist li.is-bad{border-left-color:var(--bad)}
.a360c-alertlist li.is-warn{border-left-color:var(--warn)}
.a360c-alertlist li.is-info{border-left-color:var(--info)}
.a360c-alertlist .ico{flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;
  font-size:12px;font-weight:800;color:#fff;background:var(--neutral)}
.a360c-alertlist li.is-bad .ico{background:var(--bad)}
.a360c-alertlist li.is-warn .ico{background:var(--warn)}
.a360c-alertlist li.is-info .ico{background:var(--info)}
.a360c-alertlist .txt{flex:1;min-width:0}
.a360c-alertlist .txt b{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:7px}
.a360c-alertlist .txt .n{font-size:11px;font-weight:800;background:var(--paper-2);border:1px solid var(--line);
  padding:0 7px;border-radius:99px;font-variant-numeric:tabular-nums}
.a360c-alertlist .txt small{display:block;font-size:12px;color:var(--ink-3)}
.a360c-alertlist .lvl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--ink-3);white-space:nowrap}
.a360c-alertlist .go{font-size:12px;font-weight:700;color:var(--accent-2);white-space:nowrap;
  border:1px solid var(--line);padding:4px 10px;border-radius:6px}
.a360c-alertlist .go:hover{background:var(--accent-soft);border-color:var(--accent)}
@media (max-width:700px){.a360c-alertlist .lvl{display:none}}

/* --- Barre: una misura, una tinta --- */
.a360c-bars{padding:12px 15px;display:flex;flex-direction:column;gap:9px}
.a360c-bars .row{display:grid;grid-template-columns:minmax(96px,34%) 1fr auto;gap:11px;align-items:center;
  text-decoration:none;color:inherit;padding:2px;border-radius:6px}
a.a360c-bars-row:hover,.a360c-bars a.row:hover{background:var(--paper-2)}
.a360c-bars .lab{font-size:12.5px;color:var(--ink-2);font-weight:600;display:flex;align-items:center;gap:7px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360c-bars .cdot{width:9px;height:9px;border-radius:2px;flex:none}
.a360c-bars .track{height:8px;border-radius:3px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.a360c-bars .track i{display:block;height:100%;background:var(--accent);border-radius:0 3px 3px 0}
.a360c-bars .val{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);min-width:34px;text-align:right}
.a360c-bars .val small{color:var(--ink-3);font-weight:500}

/* --- Barra impilata --- */
.a360c-stack{padding:16px 15px}
.a360c-stack .bar{display:flex;gap:2px;height:12px;border-radius:3px;overflow:hidden;background:var(--paper-2)}
.a360c-stack .bar i{display:block;height:100%}
.a360c-stack .bar .is-ok{background:var(--good)}
.a360c-stack .bar .is-neutral{background:var(--neutral)}
.a360c-stack .legend{list-style:none;display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 0;padding:0;font-size:12.5px;color:var(--ink-2)}
.a360c-stack .legend li{display:flex;align-items:center;gap:7px}
.a360c-stack .legend b{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.a360c-stack .legend .k{width:10px;height:10px;border-radius:2px}
.a360c-stack .legend .k.is-ok{background:var(--good)}
.a360c-stack .legend .k.is-neutral{background:var(--neutral)}

/* --- Mini elenchi --- */
.a360c-mini{list-style:none;margin:0;padding:6px 15px 12px}
.a360c-mini li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.a360c-mini li:last-child{border-bottom:0}
.a360c-mini a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.a360c-mini a:hover{color:var(--accent-2)}
.a360c-mini .num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;color:var(--ink-3);
  background:var(--paper-2);border:1px solid var(--line);padding:1px 6px;border-radius:4px;margin-right:6px}

/* --- Mobile: la barra laterale scorre via --- */
@media (max-width:860px){
  .a360c{grid-template-columns:1fr}
  .a360c-side{position:fixed;top:0;bottom:0;left:0;width:250px;z-index:60;transform:translateX(-102%);
    transition:transform .2s ease;box-shadow:0 0 40px rgba(0,0,0,.25)}
  .a360c.menu-aperto .a360c-side{transform:none}
  .a360c-burger{display:block}
  .a360c-title small{display:none}
}

/* ================================================================
   Preferenze: stile, tema, layout, densità
   ================================================================ */

/* --- Tema scelto a mano --- */
.a360app[data-tema="scuro"]{
  --ink:#E9EDF3; --ink-2:#A3ACBA; --ink-3:#6C7683; --bg:#0D1014; --paper:#161A20; --paper-2:#1C2129;
  --line:#272D36; --line-2:#39404B;
  --good:#3FBE84; --good-soft:#0F2A1E; --bad:#E8695E; --bad-soft:#2F1917;
  --warn:#DCA231; --warn-soft:#2E2410; --info:#5A9BF0; --info-soft:#12233C;
  --neutral:#8892A0; --neutral-soft:#1C2129; --secure:#A583F0; --secure-soft:#211932;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 10px 28px rgba(0,0,0,.4);
}
.a360app[data-tema="scuro"][data-stile="aurora"]{--accent:#5A9BF0;--accent-2:#9CC4F2;--accent-soft:#12233C}

/* --- Otto stili: cambia solo l'accento --- */
.a360app[data-stile="aurora"]  {--accent:#0F5CC4;--accent-2:#0A408A;--accent-soft:#E3EDFB}
.a360app[data-stile="tramonto"]{--accent:#C4442A;--accent-2:#8E2F1B;--accent-soft:#FBE7E2}
.a360app[data-stile="foresta"] {--accent:#0E7C4A;--accent-2:#0A5735;--accent-soft:#DEF0E7}
.a360app[data-stile="oceano"]  {--accent:#0E6E86;--accent-2:#0A4E5F;--accent-soft:#DDEEF3}
.a360app[data-stile="neon"]    {--accent:#6B3FC4;--accent-2:#4C2B8C;--accent-soft:#EDE6FB}
.a360app[data-stile="oro"]     {--accent:#8F6300;--accent-2:#664700;--accent-soft:#F7EDD5}
.a360app[data-stile="grafite"] {--accent:#39414C;--accent-2:#232932;--accent-soft:#E7EAEE}
.a360app[data-stile="rosa"]    {--accent:#B02A6E;--accent-2:#7E1E4E;--accent-soft:#F9E3EE}
/* Nel buio l'accento si schiarisce, altrimenti sparisce */
@media (prefers-color-scheme:dark){
 .a360app:not([data-tema="chiaro"])[data-stile="aurora"]  {--accent:#5A9BF0;--accent-2:#9CC4F2;--accent-soft:#12233C}
 .a360app:not([data-tema="chiaro"])[data-stile="tramonto"]{--accent:#E87B63;--accent-2:#F2A48F;--accent-soft:#331913}
 .a360app:not([data-tema="chiaro"])[data-stile="foresta"] {--accent:#3FBE84;--accent-2:#79D6AC;--accent-soft:#0F2A1E}
 .a360app:not([data-tema="chiaro"])[data-stile="oceano"]  {--accent:#4FB3CC;--accent-2:#8AD0E1;--accent-soft:#0D2830}
 .a360app:not([data-tema="chiaro"])[data-stile="neon"]    {--accent:#A583F0;--accent-2:#C4AEF7;--accent-soft:#211932}
 .a360app:not([data-tema="chiaro"])[data-stile="oro"]     {--accent:#D7A83A;--accent-2:#E9C776;--accent-soft:#2C2310}
 .a360app:not([data-tema="chiaro"])[data-stile="grafite"] {--accent:#98A2AF;--accent-2:#BFC7D2;--accent-soft:#22272F}
 .a360app:not([data-tema="chiaro"])[data-stile="rosa"]    {--accent:#E27BAC;--accent-2:#F0A9CA;--accent-soft:#2E1421}
}
.a360app[data-tema="scuro"][data-stile="tramonto"]{--accent:#E87B63;--accent-2:#F2A48F;--accent-soft:#331913}
.a360app[data-tema="scuro"][data-stile="foresta"] {--accent:#3FBE84;--accent-2:#79D6AC;--accent-soft:#0F2A1E}
.a360app[data-tema="scuro"][data-stile="oceano"]  {--accent:#4FB3CC;--accent-2:#8AD0E1;--accent-soft:#0D2830}
.a360app[data-tema="scuro"][data-stile="neon"]    {--accent:#A583F0;--accent-2:#C4AEF7;--accent-soft:#211932}
.a360app[data-tema="scuro"][data-stile="oro"]     {--accent:#D7A83A;--accent-2:#E9C776;--accent-soft:#2C2310}
.a360app[data-tema="scuro"][data-stile="grafite"] {--accent:#98A2AF;--accent-2:#BFC7D2;--accent-soft:#22272F}
.a360app[data-tema="scuro"][data-stile="rosa"]    {--accent:#E27BAC;--accent-2:#F0A9CA;--accent-soft:#2E1421}

/* --- Animazioni spente --- */
.a360app[data-anim="0"] *{transition:none!important;animation:none!important}
.a360app[data-anim="0"] .a360app-cards a:hover{transform:none}

/* --- Barra laterale stretta --- */
.a360c[data-sidebar="stretta"]{grid-template-columns:62px 1fr}
.a360c[data-sidebar="stretta"] .a360c-nav a span,
.a360c[data-sidebar="stretta"] .a360c-nav a em,
.a360c[data-sidebar="stretta"] .a360c-brand div,
.a360c[data-sidebar="stretta"] .a360c-sez,
.a360c[data-sidebar="stretta"] .a360c-admin span,
.a360c[data-sidebar="stretta"] .a360c-quality .lab,
.a360c[data-sidebar="stretta"] .a360c-quality .val{display:none}
.a360c[data-sidebar="stretta"] .a360c-nav a{justify-content:center;padding:10px 0}
.a360c[data-sidebar="stretta"] .a360c-side{padding:12px 8px;align-items:center}
.a360c[data-sidebar="stretta"] .a360c-brand{justify-content:center;padding:2px 0 12px}
.a360c[data-sidebar="stretta"] .a360c-admin{justify-content:center}
@media (max-width:860px){.a360c[data-sidebar="stretta"]{grid-template-columns:1fr}}

/* --- Densità --- */
.a360app[data-densita="stretta"] .a360app-tasks li{padding:6px 11px}
.a360app[data-densita="stretta"] .a360app-cards a{padding:9px 11px}
.a360app[data-densita="stretta"] .a360c-mini li{padding:5px 0}
.a360app[data-densita="stretta"] .a360c-bars{gap:6px}

/* --- Cinque layout per l'elenco --- */
.a360app[data-layout="lista"] .a360app-cards{grid-template-columns:1fr}
.a360app[data-layout="lista"] .a360app-cards a{align-items:center}
.a360app[data-layout="compatto"] .a360app-cards{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:7px}
.a360app[data-layout="compatto"] .a360app-cards a{padding:8px 10px;gap:9px}
.a360app[data-layout="compatto"] .a360app-avatar{width:28px;height:28px;font-size:11px;border-radius:6px}
.a360app[data-layout="compatto"] .a360app-cardtxt b{font-size:13px}
.a360app[data-layout="compatto"] .a360app-cardtxt small{display:none}
.a360app[data-layout="grande"] .a360app-cards{grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:12px}
.a360app[data-layout="grande"] .a360app-cards a{padding:18px 20px;gap:16px}
.a360app[data-layout="grande"] .a360app-avatar{width:54px;height:54px;font-size:17px;border-radius:11px}
.a360app[data-layout="grande"] .a360app-cardtxt b{font-size:17px}
.a360app[data-layout="icone"] .a360app-cards{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:9px}
.a360app[data-layout="icone"] .a360app-cards a{flex-direction:column;align-items:center;text-align:center;padding:14px 9px}
.a360app[data-layout="icone"] .a360app-avatar{width:46px;height:46px;font-size:15px;border-radius:50%}
.a360app[data-layout="icone"] .a360app-cardtxt b{font-size:12.5px;white-space:normal}
.a360app[data-layout="icone"] .a360app-cardtxt em,
.a360app[data-layout="icone"] .a360app-cardtxt small{display:none}

/* --- Avatar --- */
.a360app-avatar.ha-foto{background:var(--paper-2);padding:0;overflow:hidden}
.a360app-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.a360app-avatar.grande{width:52px;height:52px;border-radius:11px;font-size:17px}

/* --- Pulsante Amministrazione --- */
.a360c-admin{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;margin-bottom:10px;
  border:1px solid var(--line-2);border-radius:7px;background:var(--paper);color:var(--ink-2);
  font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.a360c-admin svg{width:16px;height:16px}
.a360c-admin:hover{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}

/* ================================================================
   Pannello Amministrazione
   ================================================================ */
.a360-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.a360-modal[hidden]{display:none}
.a360-modal-sfondo{position:absolute;inset:0;background:rgba(13,16,20,.5);backdrop-filter:blur(2px)}
.a360-modal-box{position:relative;width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line-2);border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(13,16,20,.35);font-family:Manrope,system-ui,sans-serif;color:var(--ink)}
.a360-modal-top{display:flex;align-items:center;gap:12px;padding:18px 20px 14px}
.a360-modal-top .ico{width:38px;height:38px;border-radius:10px;background:var(--accent);color:#fff;
  display:grid;place-items:center;flex:none}
.a360-modal-top .ico svg{width:20px;height:20px}
.a360-modal-top h2{font-size:21px;font-weight:700;flex:1}
.a360-modal-top .chiudi{width:32px;height:32px;border:0;background:none;color:var(--ink-3);cursor:pointer;
  border-radius:8px;display:grid;place-items:center}
.a360-modal-top .chiudi svg{width:18px;height:18px}
.a360-modal-top .chiudi:hover{background:var(--paper-2);color:var(--ink)}

.a360-modal-tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--line);overflow-x:auto}
.a360-modal-tabs button{display:flex;align-items:center;gap:7px;padding:10px 13px;border:0;background:none;
  font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-3);cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.a360-modal-tabs button svg{width:16px;height:16px}
.a360-modal-tabs button:hover{color:var(--ink)}
.a360-modal-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}

.a360-modal-corpo{padding:20px;overflow-y:auto;flex:1}
.a360-tab{display:none}
.a360-tab.on{display:block}
.a360-modal-corpo h3{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;
  color:var(--ink-3);margin:0 0 11px}
.a360-modal-corpo h3:not(:first-child){margin-top:24px}
.a360-desc{font-size:12.5px;color:var(--ink-3);margin:0 0 10px}

/* Stili */
.a360-stili{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media (max-width:700px){.a360-stili{grid-template-columns:repeat(3,1fr)}}
.a360-stile{display:block;text-align:left;padding:9px;border:1.5px solid var(--line);border-radius:12px;
  background:var(--paper);cursor:pointer;font:inherit}
.a360-stile:hover{border-color:var(--line-2)}
.a360-stile.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a360-stile .anteprima{display:block;height:56px;border-radius:8px;padding:9px;position:relative;margin-bottom:8px}
.a360-stile .anteprima i{display:block;width:18px;height:18px;border-radius:6px}
.a360-stile .anteprima u{position:absolute;top:11px;right:9px;width:26px;height:7px;border-radius:99px;display:block}
.a360-stile .anteprima b{display:block;height:6px;border-radius:99px;margin-top:7px;width:100%}
.a360-stile .nome{display:block;font-size:13px;font-weight:700;color:var(--ink)}
.a360-stile .sub{display:block;font-size:11px;color:var(--ink-3)}

/* Layout */
.a360-layout{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media (max-width:700px){.a360-layout{grid-template-columns:repeat(3,1fr)}}
.a360-lay{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 8px;border:1.5px solid var(--line);
  border-radius:12px;background:var(--paper);cursor:pointer;font:inherit}
.a360-lay .dis{color:var(--accent);width:40px;height:34px;display:grid;place-items:center}
.a360-lay .dis svg{width:34px;height:26px;fill:currentColor;stroke:none}
.a360-lay .nome{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.a360-lay:hover{border-color:var(--line-2)}
.a360-lay.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a360-lay.on .nome{color:var(--ink)}

/* Segmenti (tema, scelte) */
.a360-segm{display:inline-flex;gap:3px;padding:3px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px}
.a360-segm button{display:flex;align-items:center;gap:6px;padding:7px 13px;border:0;background:none;border-radius:7px;
  font:inherit;font-size:13px;font-weight:600;color:var(--ink-3);cursor:pointer}
.a360-segm button svg{width:15px;height:15px}
.a360-segm button:hover{color:var(--ink)}
.a360-segm button.on{background:var(--paper);color:var(--accent);box-shadow:0 1px 2px rgba(18,22,28,.1)}
.a360-segm.piccolo button{padding:5px 11px;font-size:12.5px}

/* Righe con interruttore */
.a360-riga{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.a360-riga:last-child{border-bottom:0}
.a360-riga .txt{flex:1;min-width:0}
.a360-riga .txt b{display:block;font-size:14px;font-weight:600}
.a360-riga .txt small{display:block;font-size:12.5px;color:var(--ink-3)}
.a360-switch{width:46px;height:26px;border-radius:99px;border:0;background:var(--line-2);cursor:pointer;
  padding:3px;flex:none;transition:background .15s}
.a360-switch span{display:block;width:20px;height:20px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.a360-switch.on{background:var(--accent)}
.a360-switch.on span{transform:translateX(20px)}

/* Profilo */
.a360-profilo{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;
  background:var(--paper-2);margin-bottom:6px}
.a360-profilo .av{width:52px;height:52px;border-radius:12px;background:var(--accent);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}
.a360-profilo b{display:block;font-size:15.5px}
.a360-profilo small{display:block;font-size:12.5px;color:var(--ink-3)}
.a360-profilo .ruoli{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.a360-profilo .ruoli em{font-style:normal;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:5px;
  background:var(--accent-soft);color:var(--accent-2)}
.a360-profilo .a360app-btn{margin-left:auto}
.a360-permessi{list-style:none;margin:0;padding:0}
.a360-permessi li{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:13.5px;border-bottom:1px solid var(--line)}
.a360-permessi li:last-child{border-bottom:0}
.a360-permessi li::before{content:"";width:16px;height:16px;border-radius:5px;flex:none;
  background:var(--bad-soft);border:1px solid var(--bad)}
.a360-permessi li.si::before{background:var(--good);border-color:var(--good)}
.a360-permessi li.no{color:var(--ink-3)}
.a360-campo{width:100%;border:1.5px solid var(--line-2);border-radius:9px;padding:9px 11px;
  font:inherit;font-size:13.5px;background:var(--paper);color:var(--ink);resize:vertical}
.a360-campo:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}

/* Privacy */
.a360-info{list-style:none;margin:0;padding:0}
.a360-info li{padding:9px 0;font-size:13.5px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.a360-info li:last-child{border-bottom:0}
.a360-info b{color:var(--ink)}
.a360-info span{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:5px;margin-left:6px}
.a360-info .ok{background:var(--good-soft);color:var(--good)}
.a360-info .warn{background:var(--warn-soft);color:var(--warn)}

/* Dati */
.a360-datigrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
@media (max-width:600px){.a360-datigrid{grid-template-columns:repeat(2,1fr)}}
.a360-datigrid div{padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}
.a360-datigrid .k{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--ink-3)}
.a360-datigrid .v{display:block;font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}
.a360-azioni{margin:10px 0 0}
.a360-prova{border:1px solid var(--line-2);background:var(--paper);border-radius:7px;padding:4px 11px;
  font:inherit;font-size:12px;font-weight:600;color:var(--accent-2);cursor:pointer;margin-left:6px}

.a360-modal-piede{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;
  border-top:1px solid var(--line);background:var(--paper-2)}
.a360-salvato{font-size:12.5px;font-weight:700;color:var(--good);margin-right:auto}

/* ================================================================
   Bordi dei campi più definiti
   ================================================================ */
.a360app-field input,.a360app-field select,.a360app-field textarea,
.a360app-search input,.a360c-search input,.a360app-quick input,.a360app-quick select,
.a360app-quick input[type=datetime-local]{border-width:1.5px;border-color:var(--line-2)}
.a360app-field input:hover,.a360app-field select:hover,.a360app-field textarea:hover{border-color:var(--ink-3)}
.a360app-field.ok input{border-color:var(--good);border-width:1.5px}
.a360app-field.ko input{border-color:var(--bad);border-width:1.5px}
.a360-files-grid li,.a360app-panel,.a360c-card,.a360c-tile{border-color:var(--line-2)}

/* Allegati: titolo, descrizione, invio */
.a360-files-grid .f-titolo{width:100%;border:1.5px solid var(--line-2);border-radius:7px;padding:5px 8px;
  font:inherit;font-size:12.5px;font-weight:600;background:var(--paper);color:var(--ink);margin-bottom:5px}
.a360-files-grid .f-descr{width:100%;border:1.5px solid var(--line-2);border-radius:7px;padding:5px 8px;
  font:inherit;font-size:12px;background:var(--paper);color:var(--ink-2);resize:vertical;margin-bottom:5px}
.a360-files-grid .f-titolo:focus,.a360-files-grid .f-descr:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 2px var(--accent-soft)}
.a360-files-grid .f-meta{display:block;font-size:10.5px;color:var(--ink-3);margin-bottom:5px}
.a360-files-grid .invio{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.a360-files-grid .send{border:1px solid var(--line-2);background:var(--paper);border-radius:6px;padding:3px 9px;
  font:inherit;font-size:11px;font-weight:700;color:var(--ink-2);cursor:pointer}
.a360-files-grid .send:hover{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}
.a360-files-grid .send[data-via="whatsapp"]:hover{border-color:#128C7E;color:#0B6157;background:#E4F3F0}
.a360-files-grid li{flex-direction:column}
.a360-files-grid li .thumb{width:100%;height:104px;border-radius:7px}

/* Archivio in sola lettura */
.a360-ro-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.a360-ro-files li{display:flex;gap:11px;padding:9px;border:1px solid var(--line-2);border-radius:9px;background:var(--paper-2)}
.a360-ro-files .anteprima{flex:none;width:52px;height:52px;border-radius:7px;overflow:hidden;background:var(--paper);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.a360-ro-files .anteprima img{width:100%;height:100%;object-fit:cover}
.a360-ro-files .ext{font-size:11px;font-weight:800;color:var(--ink-3)}
.a360-ro-files .dett{min-width:0;flex:1}
.a360-ro-files .nome{display:block;font-size:13.5px;font-weight:600}
.a360-ro-files .dett small{display:block;font-size:12px;color:var(--ink-3);margin:2px 0 4px}

/* Filtro etichette sugli archivi in sola lettura */
.a360-ro-filtri{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.a360-ro-filtri button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-2,#BFC7D2);
  background:var(--paper,#fff);border-radius:99px;padding:3px 10px;font:inherit;font-size:11.5px;font-weight:700;
  color:var(--ink-2,#414A56);cursor:pointer}
.a360-ro-filtri button em{font-style:normal;font-size:10px;font-weight:800;color:var(--ink-3,#737D8B)}
.a360-ro-filtri button:hover{border-color:var(--accent,#0F5CC4);color:var(--accent-2,#0A408A)}
.a360-ro-filtri button.on{background:var(--accent,#0F5CC4);border-color:var(--accent,#0F5CC4);color:#fff}
.a360-ro-filtri button.on em{color:rgba(255,255,255,.75)}

/* ================================================================
   Filtri a tessere — icona, nome, conteggio
   ================================================================ */
.a360-filtri{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;margin-bottom:12px;overflow:hidden}
.a360-filtri > header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:11px 15px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.a360-filtri h4{font-size:13px;font-weight:700;color:var(--ink);margin:0}
.a360-filtri > header small{font-size:11.5px;color:var(--ink-3)}
.a360-filtri-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px;padding:13px 15px}
@media (max-width:760px){.a360-filtri-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:7px;padding:10px 11px}}

.a360-ft{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-2);
  border-radius:9px;background:var(--paper);text-decoration:none;color:var(--ink-2);
  transition:border-color .12s,background .12s,transform .12s}
.a360-ft:hover{border-color:var(--c,var(--accent));background:var(--paper-2);transform:translateY(-1px)}
.a360-ft .ico{flex:none;width:22px;height:22px;display:grid;place-items:center;color:var(--c,var(--accent))}
.a360-ft .ico svg{width:19px;height:19px}
.a360-ft .ico .pallino{display:block;width:11px;height:11px;border-radius:3px;background:var(--c,var(--neutral))}
.a360-ft .ico.tutti{color:var(--ink-3)}
.a360-ft .lab{flex:1;min-width:0;font-size:12.5px;font-weight:600;line-height:1.25;color:var(--ink)}
.a360-ft .n{flex:none;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-2);
  min-width:20px;text-align:right}
.a360-ft.vuoto{opacity:.5}
.a360-ft.vuoto .n{color:var(--ink-3)}
.a360-ft.on{border-color:var(--c,var(--accent));border-width:1.5px;
  background:color-mix(in srgb,var(--c,var(--accent)) 9%,transparent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--c,var(--accent)) 16%,transparent)}
.a360-ft.on .lab{color:var(--ink);font-weight:700}
.a360-ft.on .n{color:var(--c,var(--accent-2))}
.a360-ft.on.vuoto{opacity:1}

/* Densità stretta: tessere più basse */
.a360app[data-densita="stretta"] .a360-ft{padding:6px 10px}
.a360app[data-densita="stretta"] .a360-filtri-grid{gap:6px;padding:10px 12px}

/* Le vecchie pastiglie restano solo dove servono davvero */
.a360app-chips.sub{display:none}

/* Filtro etichette allegati: stesse tessere, in piccolo */
.a360-ro-filtri{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin-bottom:10px}
.a360-ro-filtri button{display:flex;align-items:center;gap:7px;border:1px solid var(--line-2,#BFC7D2);
  background:var(--paper,#fff);border-radius:8px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;
  color:var(--ink-2,#414A56);cursor:pointer;text-align:left}
.a360-ro-filtri button::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--ink-3,#737D8B);flex:none}
.a360-ro-filtri button em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:700;
  font-variant-numeric:tabular-nums;color:var(--ink-3,#737D8B)}
.a360-ro-filtri button:hover{border-color:var(--accent,#0F5CC4)}
.a360-ro-filtri button.on{border-color:var(--accent,#0F5CC4);border-width:1.5px;
  background:var(--accent-soft,#E3EDFB);color:var(--accent-2,#0A408A)}
.a360-ro-filtri button.on::before{background:var(--accent,#0F5CC4)}
.a360-ro-filtri button.on em{color:var(--accent-2,#0A408A)}

/* ================================================================
   Calendario
   ================================================================ */
.a360-cal-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.a360-cal-nav{display:inline-flex;gap:3px;padding:3px;background:var(--paper);border:1px solid var(--line-2);border-radius:9px}
.a360-cal-nav a{display:grid;place-items:center;min-width:32px;height:30px;border-radius:6px;font-size:16px;
  font-weight:700;color:var(--ink-2)}
.a360-cal-nav .oggi{font-size:12.5px;padding:0 12px}
.a360-cal-nav a:hover{background:var(--accent-soft);color:var(--accent-2)}
.a360-cal-titolo{font-size:19px;font-weight:700;flex:1;min-width:160px}
.a360-segm a{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:7px;font-size:13px;
  font-weight:600;color:var(--ink-3)}
.a360-segm a.on{background:var(--paper);color:var(--accent);box-shadow:0 1px 2px rgba(18,22,28,.1)}

.a360-cal{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;overflow:hidden}
.a360-cal-mese .intestazione{display:grid;grid-template-columns:repeat(7,1fr);background:var(--paper-2);
  border-bottom:1px solid var(--line)}
.a360-cal-mese .intestazione span{padding:8px 10px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:800;color:var(--ink-3);text-align:left}
.a360-cal-mese .griglia{display:grid;grid-template-columns:repeat(7,1fr)}
.a360-cal-mese .cella{min-height:118px;padding:6px 7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:3px;min-width:0}
.a360-cal-mese .cella:nth-child(7n){border-right:0}
.a360-cal-mese .cella.fuori{background:var(--paper-2)}
.a360-cal-mese .cella.fuori .num{color:var(--ink-3);opacity:.6}
.a360-cal-mese .num{align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--ink-2);
  min-width:22px;height:22px;display:grid;place-items:center;border-radius:6px;text-decoration:none}
.a360-cal-mese .num:hover{background:var(--accent-soft);color:var(--accent-2)}
.a360-cal-mese .cella.oggi .num{background:var(--accent);color:#fff}

.a360-ev{display:flex;align-items:center;gap:5px;padding:2px 6px;border-radius:5px;font-size:11.5px;
  background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--ink);text-decoration:none;
  border-left:3px solid var(--c);min-width:0}
.a360-ev:hover{background:color-mix(in srgb,var(--c) 22%,transparent)}
.a360-ev .h{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;font-weight:700;color:var(--c);flex:none}
.a360-ev .pt{width:6px;height:6px;border-radius:50%;background:var(--c);flex:none}
.a360-ev .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.a360-ev.fatto{opacity:.55}
.a360-ev.fatto .t{text-decoration:line-through}
.a360-ev-piu{font-size:11px;font-weight:700;color:var(--accent-2);padding:1px 6px}

.a360-cal-settimana{display:grid;grid-template-columns:repeat(7,1fr);min-height:420px}
.a360-cal-settimana .colonna{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.a360-cal-settimana .colonna:last-child{border-right:0}
.a360-cal-settimana .colonna.oggi{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.a360-cal-settimana header{display:flex;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid var(--line);
  background:var(--paper-2)}
.a360-cal-settimana header b{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.a360-cal-settimana header a{font-size:15px;font-weight:800;color:var(--ink)}
.a360-cal-settimana .colonna.oggi header a{color:var(--accent)}
.a360-cal-settimana header em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:800;color:var(--ink-3);
  background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:0 6px}
.a360-cal-settimana .corpo{padding:7px;display:flex;flex-direction:column;gap:4px}
.a360-cal-settimana .niente{color:var(--ink-3);font-size:12px;text-align:center;padding:8px 0}

.a360-cal-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.a360-cal-lista li{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line-2);
  border-radius:9px;padding:11px 14px}
.a360-cal-lista li.fatto{opacity:.6}
.a360-cal-lista .ora{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12.5px;font-weight:700;
  color:var(--ink-2);min-width:88px}
.a360-cal-lista .barra{width:4px;align-self:stretch;border-radius:99px;background:var(--c)}
.a360-cal-lista .txt{flex:1;min-width:0}
.a360-cal-lista .txt b{display:block;font-size:14px;font-weight:600}
.a360-cal-lista .txt small{color:var(--ink-3);font-size:12px}

.a360-cal-anno{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1000px){.a360-cal-anno{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.a360-cal-anno{grid-template-columns:1fr}}
.a360-cal-anno .mese{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;padding:11px}
.a360-cal-anno h4{font-size:12.5px;font-weight:700;margin-bottom:7px}
.a360-cal-anno h4 a:hover{color:var(--accent-2)}
.a360-cal-anno .mini-int,.a360-cal-anno .mini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.a360-cal-anno .mini-int span{font-size:9px;font-weight:800;color:var(--ink-3);text-align:center;padding-bottom:3px}
.a360-cal-anno .g{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:5px;
  font-size:10.5px;color:var(--ink-2);text-decoration:none}
.a360-cal-anno .g:hover{background:var(--paper-2)}
.a360-cal-anno .g.pieno{font-weight:800;color:var(--ink)}
.a360-cal-anno .g.oggi{background:var(--accent);color:#fff;font-weight:800}
.a360-cal-anno .punti{position:absolute;bottom:1px;display:flex;gap:1px}
.a360-cal-anno .punti i{width:3px;height:3px;border-radius:50%}

/* ================================================================
   Mappa
   ================================================================ */
.a360-geo-avviso{display:flex;align-items:center;gap:13px;padding:12px 15px;margin-bottom:12px;
  background:var(--warn-soft);border:1px solid var(--warn);border-left-width:4px;border-radius:9px}
.a360-geo-avviso.finito{background:var(--good-soft);border-color:var(--good)}
.a360-geo-avviso .ico{width:24px;height:24px;border-radius:7px;background:var(--warn);color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.a360-geo-avviso.finito .ico{background:var(--good)}
.a360-geo-avviso .txt{flex:1;min-width:0}
.a360-geo-avviso b{display:block;font-size:13.5px}
.a360-geo-avviso small{display:block;font-size:12px;color:var(--ink-2)}

.a360-mappa-wrap{display:grid;grid-template-columns:1fr 290px;gap:12px;align-items:stretch}
@media (max-width:900px){.a360-mappa-wrap{grid-template-columns:1fr}}
.a360-mappa{height:560px;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;z-index:1}
.a360-mappa-lato{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;display:flex;
  flex-direction:column;max-height:560px;overflow:hidden}
.a360-mappa-lato header{padding:11px 14px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.a360-mappa-lato header b{display:block;font-size:13.5px}
.a360-mappa-lato header small{font-size:11.5px;color:var(--ink-3)}
.a360-mappa-lato ul{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}
.a360-mappa-lato li{padding:8px 10px;border-radius:8px;cursor:pointer;border-left:3px solid var(--c,var(--neutral));
  margin-bottom:3px}
.a360-mappa-lato li:hover{background:var(--paper-2)}
.a360-mappa-lato li.on{background:var(--accent-soft)}
.a360-mappa-lato li b{display:block;font-size:13px;font-weight:600}
.a360-mappa-lato li em{display:block;font-style:normal;font-size:11px;font-weight:600;color:var(--c)}
.a360-mappa-lato li small{display:block;font-size:11.5px;color:var(--ink-3)}
.a360-mappa-lato .niente{color:var(--ink-3);cursor:default;border-left-color:transparent}

.a360-marker .pin{display:block;width:26px;height:34px;position:relative}
.a360-marker .pin::before{content:"";position:absolute;inset:0 0 6px 0;border-radius:50% 50% 50% 50%/55% 55% 45% 45%;
  background:var(--c);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.a360-marker .pin::after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  width:0;height:0;border:6px solid transparent;border-top-color:var(--c)}
.a360-marker .pin i{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:9px;height:9px;
  border-radius:50%;background:#fff;z-index:2}
.a360-marker.evidenziato .pin{transform:scale(1.22);transition:transform .12s}
.a360-pop{font-family:Manrope,system-ui,sans-serif;min-width:190px}
.a360-pop .tit{display:block;font-size:14.5px;font-weight:700;margin-bottom:3px}
.a360-pop .cat{display:inline-block;font-size:11px;font-weight:700;color:var(--c);
  background:color-mix(in srgb,var(--c) 12%,transparent);padding:1px 7px;border-radius:5px;margin-bottom:5px}
.a360-pop .ind,.a360-pop .ruoli{display:block;font-size:12px;color:#4A515E;line-height:1.45}
.a360-pop .azioni{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;padding-top:8px;border-top:1px solid #DCE1E8}
.a360-pop .azioni a{font-size:11.5px;font-weight:700;color:#0A408A;border:1px solid #DCE1E8;border-radius:6px;
  padding:3px 8px;text-decoration:none}
.a360-pop .azioni a:hover{background:#E3EDFB;border-color:#0F5CC4}

/* ================================================================
   Contatti verso l'esterno
   ================================================================ */
.a360-contatta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;position:relative}
.a360-ct{position:relative}
.a360-ct .principale{display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:9px;
  border:1.5px solid var(--line-2);background:var(--paper);text-decoration:none;color:var(--ink);
  border-left-width:4px;border-left-color:var(--c);transition:.12s}
.a360-ct .principale:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent)}
.a360-ct .principale svg{width:19px;height:19px;color:var(--c);flex:none}
.a360-ct .lab{font-size:13px;font-weight:700;line-height:1.2}
.a360-ct .principale small{display:block;font-size:11px;color:var(--ink-3);font-weight:500}
.a360-ct .apri{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:20px;height:20px;
  border:0;background:none;color:var(--ink-3);cursor:pointer;font-size:11px;border-radius:5px}
.a360-ct .apri:hover{background:var(--paper-2);color:var(--ink)}
.a360-ct:has(.apri) .principale{padding-right:28px}
.a360-ct .altri{position:absolute;z-index:40;top:calc(100% + 5px);left:0;min-width:220px;margin:0;padding:4px;
  list-style:none;background:var(--paper);border:1px solid var(--line-2);border-radius:9px;
  box-shadow:0 12px 30px rgba(18,22,28,.18);display:none}
.a360-ct.aperto .altri{display:block}
.a360-ct .altri a{display:block;padding:7px 10px;border-radius:6px;text-decoration:none}
.a360-ct .altri a:hover{background:var(--accent-soft)}
.a360-ct .altri b{display:block;font-size:12.5px;font-weight:700;color:var(--ink)}
.a360-ct .altri span{display:block;font-size:11.5px;color:var(--ink-3)}
.a360-ct-log{font-size:12px;font-weight:700;color:var(--good);background:var(--good-soft);
  padding:4px 10px;border-radius:6px}
.a360-contatta.compatta{flex-direction:column;align-items:stretch;gap:5px;margin:0}
.a360-contatta.compatta .principale{padding:7px 11px}
.a360-contatta.compatta .lab{font-size:12.5px}

/* Videochiamata */
.a360-video-invita{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;margin-bottom:12px;
  background:var(--paper);border:1px solid var(--line-2);border-left:4px solid #6B3FC4;border-radius:10px}
.a360-video-invita .txt{flex:1;min-width:220px}
.a360-video-invita b{display:block;font-size:14px}
.a360-video-invita code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12.5px;
  background:var(--paper-2);border:1px solid var(--line);padding:1px 7px;border-radius:5px}
.a360-video-invita small{display:block;font-size:12px;color:var(--ink-3);margin-top:3px}
.a360-video-invita .azioni{display:flex;gap:7px;flex-wrap:wrap}
.a360-video-riquadro{border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#111}
.a360-video-riquadro iframe{display:block;width:100%;height:620px;border:0}

/* ==========================================================================
   2.0 — Posta, Marketing, Importazione, Archivio tecnico
   ========================================================================== */

/* --- Impalcature condivise ------------------------------------------------ */

.a360app .a360-due{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:22px;align-items:start}
@media (max-width:900px){.a360app .a360-due{grid-template-columns:1fr}}

.a360app .a360-h3{margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:.02em;
  text-transform:uppercase;color:var(--ink-3)}

.a360app .a360-form-riq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:18px;box-shadow:var(--shadow);margin-bottom:22px}
.a360app .a360-form-riq.largo{max-width:900px}

.a360app .a360-cmp{display:block;margin-bottom:14px}
.a360app .a360-cmp>span{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:5px}
.a360app .a360-cmp input[type=text],.a360app .a360-cmp input[type=email],
.a360app .a360-cmp input[type=password],.a360app .a360-cmp input[type=number],
.a360app .a360-cmp input[type=search],.a360app .a360-cmp select,.a360app .a360-cmp textarea{
  width:100%;padding:9px 11px;border:1.5px solid var(--line-2);border-radius:7px;
  background:var(--paper);color:var(--ink);font:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}
.a360app .a360-cmp input:focus,.a360app .a360-cmp select:focus,.a360app .a360-cmp textarea:focus{
  outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.a360app .a360-cmp.riga{display:flex;align-items:center;gap:8px}
.a360app .a360-cmp.riga>span{margin:0;font-weight:500;font-size:13px}
.a360app .a360-mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.65}

.a360app .a360-griglia2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:640px){.a360app .a360-griglia2{grid-template-columns:1fr}}

.a360app .a360-form-azioni{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.a360app .a360-form-azioni>.a360-barra{flex:1 1 160px;margin:0;min-width:120px}
.a360app .a360-form-azioni>.a360-cmp{flex:1 1 220px;margin-bottom:0}
.a360app .a360-nota{font-size:12px;color:var(--ink-3);line-height:1.55;margin:-6px 0 14px}
.a360app .a360-nota code{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:11.5px}

.a360app .a360-avanzate{margin:6px 0 14px;border-top:1px solid var(--line);padding-top:12px}
.a360app .a360-avanzate summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);user-select:none}
.a360app .a360-avanzate[open] summary{margin-bottom:12px}

.a360app .a360-fieldset{border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:0 0 16px}
.a360app .a360-fieldset legend{font-size:12px;font-weight:700;color:var(--ink-2);padding:0 6px}

.a360app .a360-chips{display:flex;flex-wrap:wrap;gap:8px}
.a360app .a360-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1.5px solid var(--line-2);
  border-radius:999px;cursor:pointer;font-size:13px;transition:.12s}
.a360app .a360-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}
.a360app .a360-chip small{color:var(--ink-3);font-size:11px}

.a360app .a360-esito{margin-top:12px;padding:11px 14px;border-radius:8px;font-size:13px;line-height:1.55;border:1px solid}
.a360app .a360-esito.ok{background:var(--good-soft);border-color:var(--good);color:var(--good)}
.a360app .a360-esito.ko{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}
.a360app .a360-esito p{margin:0 0 6px}.a360app .a360-esito p:last-child{margin:0}
.a360app .a360-esito p.ok{color:var(--good)}.a360app .a360-esito p.ko{color:var(--bad)}

.a360app .a360-vuoto{text-align:center;padding:56px 20px;background:var(--paper);
  border:1px dashed var(--line-2);border-radius:var(--r)}
.a360app .a360-vuoto h3{margin:0 0 8px;font-size:17px}
.a360app .a360-vuoto p{margin:0 auto 16px;max-width:460px;color:var(--ink-3);font-size:14px;line-height:1.6}
.a360app .a360-vuoto-riga{color:var(--ink-3);font-size:13px;padding:20px 4px;margin:0}

.a360app .a360-scheda-riga{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow)}
.a360app .a360-scheda-riga.spento{opacity:.6}
.a360app .a360-sr-testa{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.a360app .a360-sr-sotto{margin:0 0 6px;font-size:12.5px;color:var(--ink-3);word-break:break-word}
.a360app .a360-sr-nota{margin:0 0 6px;font-size:12px;color:var(--ink-3)}
.a360app .a360-sr-errore{margin:0 0 6px;font-size:12.5px;color:var(--bad);
  background:var(--bad-soft);border-radius:6px;padding:7px 10px;line-height:1.5}
.a360app .a360-sr-azioni{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.a360app .a360-inline{display:inline}

.a360app .a360-mini{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--line-2);
  border-radius:6px;background:var(--paper);color:var(--ink-2);font-size:12px;font-weight:600;
  cursor:pointer;text-decoration:none;transition:.12s;font-family:inherit}
.a360app .a360-mini:hover{border-color:var(--accent);color:var(--accent)}
.a360app .a360-mini.rosso:hover{border-color:var(--bad);color:var(--bad)}

.a360app .a360-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;
  background:var(--neutral-soft);color:var(--ink-2);font-size:11px;font-weight:600;white-space:nowrap}
.a360app .a360-tag.ok{background:var(--good-soft);color:var(--good)}
.a360app .a360-tag.info{background:var(--info-soft);color:var(--info)}
.a360app .a360-tag.no{background:var(--bad-soft);color:var(--bad)}
.a360app .a360-tag.attesa{background:var(--warn-soft);color:var(--warn)}
.a360app .a360-tag.st-invio{background:var(--info-soft);color:var(--info)}
.a360app .a360-tag.st-pausa{background:var(--warn-soft);color:var(--warn)}
.a360app .a360-tag.st-inviata{background:var(--good-soft);color:var(--good)}

.a360app .a360-tabella-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow)}
.a360app .a360-tabella{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.a360app .a360-tabella th{text-align:left;padding:11px 14px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);border-bottom:1px solid var(--line);
  background:var(--paper-2)}
.a360app .a360-tabella td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.a360app .a360-tabella tr:last-child td{border-bottom:0}
.a360app .a360-tabella tr.ignorata{opacity:.5}
.a360app .a360-tabella .a360-esempio{color:var(--ink-3);font-size:12px;max-width:200px}
.a360app .a360-tabella select{padding:5px 8px;border:1px solid var(--line-2);border-radius:6px;
  background:var(--paper);color:var(--ink);font:inherit;font-size:12.5px;max-width:220px}

.a360app .a360-barra{height:6px;background:var(--neutral-soft);border-radius:999px;overflow:hidden;margin:8px 0}
.a360app .a360-barra span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s}

/* --- Posta ---------------------------------------------------------------- */

.a360app .a360-posta-barra{display:flex;justify-content:space-between;align-items:center;
  gap:14px;flex-wrap:wrap;margin-bottom:16px}
.a360app .a360-posta-azioni{display:flex;gap:8px;flex-wrap:wrap}

.a360app .a360-seg{display:inline-flex;background:var(--paper-2);border:1px solid var(--line);
  border-radius:8px;padding:3px;gap:2px}
.a360app .a360-seg a{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;
  color:var(--ink-2);text-decoration:none;transition:.12s}
.a360app .a360-seg a.on{background:var(--paper);color:var(--accent);box-shadow:var(--shadow)}

.a360app .a360-posta-corpo{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:18px;align-items:start}
@media (max-width:940px){.a360app .a360-posta-corpo{grid-template-columns:1fr}}

.a360app .a360-posta-lista{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow);max-height:70vh;overflow-y:auto}
.a360app .a360-msg{display:grid;grid-template-columns:20px 1fr auto;grid-template-areas:
  "d chi quando" "d ogg ogg" "d ant ant";gap:1px 9px;width:100%;text-align:left;padding:12px 14px;
  border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;font-family:inherit;
  border-left:3px solid transparent;transition:background .12s}
.a360app .a360-msg:hover{background:var(--paper-2)}
.a360app .a360-msg.on{background:var(--accent-soft);border-left-color:var(--accent)}
.a360app .a360-msg.nuovo{border-left-color:var(--info)}
.a360app .a360-msg.nuovo .ogg{font-weight:700;color:var(--ink)}
.a360app .a360-msg .dir{grid-area:d;font-size:13px;color:var(--ink-3);line-height:1.3}
.a360app .a360-msg .dir.out{color:var(--good)}
.a360app .a360-msg .chi{grid-area:chi;font-size:12.5px;font-weight:600;color:var(--ink-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360app .a360-msg .quando{grid-area:quando;font-size:11px;color:var(--ink-3);white-space:nowrap}
.a360app .a360-msg .ogg{grid-area:ogg;font-size:13.5px;color:var(--ink-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360app .a360-msg .ant{grid-area:ant;font-size:12px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360app .a360-msg .chi{display:flex;align-items:center;gap:6px}
.a360app .a360-msg .leg{width:6px;height:6px;border-radius:50%;background:var(--good);flex:0 0 auto}

.a360app .a360-posta-lettura{background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:22px;box-shadow:var(--shadow);min-height:260px}
.a360app .a360-lt-testa{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.a360app .a360-lt-testa h3{margin:0 0 8px;font-size:17px;line-height:1.35}
.a360app .a360-lt-testa p{margin:0 0 4px;font-size:12.5px;color:var(--ink-3);word-break:break-word}
.a360app .a360-lt-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.a360app .a360-lt-corpo{font-size:14px;line-height:1.65;overflow-x:auto}
.a360app .a360-lt-corpo img{max-width:100%;height:auto}
.a360app .a360-lt-corpo table{max-width:100%}
.a360app .a360-mail-testo{white-space:pre-wrap;word-break:break-word;font-family:"JetBrains Mono",monospace;font-size:12.5px}
.a360app .a360-alleg{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}

.a360app .a360-scrivi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:22px;box-shadow:var(--shadow);max-width:820px}
.a360app .a360-firma-prova{border:1px dashed var(--line-2);border-radius:7px;padding:12px;
  margin:8px 0;background:var(--paper-2);font-size:13px}

/* --- Campagne ------------------------------------------------------------- */

.a360app .a360-camp-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.a360app .a360-camp{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:16px;box-shadow:var(--shadow)}
.a360app .a360-camp-testa{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.a360app .a360-camp-nome{font-size:15px;font-weight:700;color:var(--ink);text-decoration:none}
.a360app .a360-camp-nome:hover{color:var(--accent)}
.a360app .a360-camp-ogg{margin:0 0 8px;font-size:13px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360app .a360-camp-num{margin:0 0 10px;font-size:11.5px;color:var(--ink-3)}

/* --- Importazione --------------------------------------------------------- */

.a360app .a360-passi{display:flex;gap:0;list-style:none;margin:0 0 22px;padding:0;
  border-bottom:1px solid var(--line)}
.a360app .a360-passi li{display:flex;align-items:center;gap:9px;padding:11px 20px 13px;
  font-size:13px;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px}
.a360app .a360-passi li.on{color:var(--accent);border-bottom-color:var(--accent)}
.a360app .a360-passi li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--neutral-soft);color:var(--ink-3);font-size:11.5px;font-weight:700}
.a360app .a360-passi li.on span{background:var(--accent);color:#fff}

.a360app .a360-drop{border:2px dashed var(--line-2);border-radius:14px;padding:52px 24px;
  text-align:center;background:var(--paper);transition:.15s}
.a360app .a360-drop.sopra{border-color:var(--accent);background:var(--accent-soft)}
.a360app .a360-drop .grande{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--ink)}
.a360app .a360-drop .a360-nota{max-width:520px;margin:0 auto 18px}
.a360app .a360-import-nome{margin-top:14px;padding:11px 14px;border-radius:8px;
  background:var(--info-soft);color:var(--info);font-size:13px;font-weight:600}

.a360app .a360-conta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;margin-bottom:20px}
.a360app .a360-conta-t{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--neutral);
  border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow)}
.a360app .a360-conta-t.ok{border-left-color:var(--good)}
.a360app .a360-conta-t.info{border-left-color:var(--info)}
.a360app .a360-conta-t.attesa{border-left-color:var(--warn)}
.a360app .a360-conta-t.no{border-left-color:var(--bad)}
.a360app .a360-conta-t .n{display:block;font-size:24px;font-weight:800;line-height:1.15;color:var(--ink)}
.a360app .a360-conta-t .e{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px}

.a360app .a360-gruppi{margin-bottom:18px}
.a360app .a360-gruppi tr.st-scartato{opacity:.55}
.a360app .a360-nota-pulito{display:inline-block;font-size:11px;color:var(--good);
  background:var(--good-soft);border-radius:4px;padding:1px 6px;margin:1px 0}
.a360app .a360-nota-attenzione{display:inline-block;font-size:11px;color:var(--warn);
  background:var(--warn-soft);border-radius:4px;padding:1px 6px;margin:1px 0}
.a360app .a360app-rel-azioni{margin:12px 0 0}

/* ==========================================================================
   Menu a piastrelle ([a360_tecnico], [a360_menu])
   ========================================================================== */

.a360-hub{max-width:1180px;margin:0 auto;padding:26px;border-radius:16px;
  /* Il riquadro dipinge il proprio fondo: il tema del sito può essere chiaro
     mentre il CRM è in scuro, e un titolo chiaro su fondo chiaro non si legge. */
  background:var(--bg);color:var(--ink)}
.a360-hub-testa{margin:0 0 22px}
.a360-hub-testa h2{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.a360-hub-testa p{margin:0;font-size:14.5px;color:var(--ink-3)}

/* --- Riga "cosa scade adesso" --- */
.a360-hub-avvisi{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--info);
  border-radius:var(--r);padding:16px 18px;margin-bottom:22px;box-shadow:var(--shadow)}
.a360-hub-avvisi.urgente{border-left-color:var(--bad)}
.a360-hub-avvisi header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.a360-hub-avvisi h3{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:var(--ink-2)}
.a360-hub-avvisi header a{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none}
.a360-hub-avvisi header a:hover{text-decoration:underline}
.a360-hub-avvisi ul{margin:0;padding:0;list-style:none}
.a360-hub-avvisi li{display:flex;align-items:center;gap:10px;padding:7px 0;
  border-top:1px solid var(--line);font-size:13.5px}
.a360-hub-avvisi li:first-child{border-top:0}
.a360-hub-avvisi .pallino{width:8px;height:8px;border-radius:50%;background:var(--c,#5C6672);flex:0 0 auto}
.a360-hub-avvisi .che{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a360-hub-avvisi .chi{color:var(--ink-3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;flex:1 1 auto}
.a360-hub-avvisi .a360-tag{margin-left:auto;flex:0 0 auto}
.a360-hub-ok{margin:0 0 22px;padding:13px 16px;border-radius:var(--r);background:var(--good-soft);
  color:var(--good);font-size:13.5px;font-weight:600}

/* --- Le piastrelle --- */
.a360-hub-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}

.a360-hub-t{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;
  align-items:start;padding:20px;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;text-decoration:none;box-shadow:var(--shadow);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.a360-hub-t::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;
  border-radius:0 3px 3px 0;background:var(--c,var(--accent));opacity:.85}
.a360-hub-t:hover{transform:translateY(-2px);border-color:var(--c,var(--accent));
  box-shadow:0 3px 6px rgba(20,30,50,.06),0 14px 32px rgba(20,30,50,.10)}
.a360-hub-t:focus-visible{outline:2px solid var(--c,var(--accent));outline-offset:3px}

.a360-hub-t .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;
  background:color-mix(in srgb,var(--c,#0F5CC4) 12%,transparent);color:var(--c,#0F5CC4);flex:0 0 auto}
.a360-hub-t .ico svg{width:23px;height:23px}
.a360-hub-t .corpo{min-width:0}
.a360-hub-t .tit{display:block;font-size:16px;font-weight:700;color:var(--ink);
  letter-spacing:-.01em;margin-bottom:4px}
.a360-hub-t .txt{display:block;font-size:13px;line-height:1.55;color:var(--ink-3)}
.a360-hub-t .n{font-size:19px;font-weight:800;color:var(--c,var(--accent));
  font-variant-numeric:tabular-nums;line-height:1.3;flex:0 0 auto}
.a360-hub-t .da{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3);background:var(--neutral-soft);border-radius:999px;padding:3px 8px;flex:0 0 auto}
.a360-hub-t.crm{border-style:dashed}

@supports not (background:color-mix(in srgb,red 10%,transparent)){
  .a360-hub-t .ico{background:var(--paper-2)}
}
@media (max-width:660px){
  /* Su schermo stretto il titolo della scadenza vince su tutto: troncarlo a
     tre lettere per far stare il dettaglio sulla stessa riga non serve a
     nessuno. Il dettaglio sparisce, il titolo va a capo, la targhetta scende. */
  .a360-hub-avvisi li{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center}
  .a360-hub-avvisi .pallino{grid-column:1;grid-row:1}
  .a360-hub-avvisi .che{grid-column:2;grid-row:1;white-space:normal}
  .a360-hub-avvisi .chi{display:none}
  .a360-hub-avvisi li .a360-tag{grid-column:2;justify-self:start;margin-left:0}
  .a360-hub-avvisi header{row-gap:6px}
  .a360-hub-avvisi header a{margin-left:0;flex-basis:100%;order:3}
}
@media (max-width:520px){
  .a360-hub{padding:18px 14px;border-radius:12px}
  .a360-hub-griglia{grid-template-columns:1fr}
  .a360-hub-t{padding:16px;gap:12px}
  .a360-hub-t .ico{width:38px;height:38px;border-radius:10px}
  .a360-hub-testa h2{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .a360-hub-t{transition:none}
  .a360-hub-t:hover{transform:none}
}
