/* Caratteri ospitati sul nostro server (V2.0.117): niente Google Fonts, piu' veloce e nessun dato a Google (nLPD).
   File in /assets/fonts/ (copie di packages/web-common, licenza SIL Open Font License 1.1), solo la parte «latin». */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/fonts/space-grotesk-latin.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url('/assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-400-latin.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 600;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-500-latin.woff2') format('woff2');}
/* Portale agenzie — layout a barra laterale + elementi compatti (V2.0.4).
   Riferimento: portale Kollabo (schede orizzontali piccole, filtri a destra, tanti candidati visibili insieme). */

body.v2-app #appPage .wrap{max-width:1500px !important;padding:16px 16px 0 !important;}
.v2-main{padding-bottom:40px;}
body.v2-app .nav-user,body.v2-app .agency-bar-name{display:none !important;}

#v2Root{font-size:14px;line-height:1.4;}
#v2Section{margin:0 !important;padding:0 !important;}

.v2-shell{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start;}
.v2-main{min-width:0;grid-column:2;}

/* Dopo l'accesso la barra in alto (logo, versione, lingua) non c'e' piu': logo e versione stanno nel menu laterale, la lingua nelle Impostazioni.
   Il menu laterale resta fermo mentre la pagina scorre (position: fixed senza posizione a sinistra: resta sopra la sua colonna, a ogni larghezza di schermo, e non balla). */
body.v2-app > header{display:none;}

/* ---- Barra laterale ---- */
/* menu laterale sempre visibile anche in fondo alla pagina: html e body del sito hanno overflow-x:hidden,
   che impedisce a "sticky" di funzionare; con "clip" non nasce nessun contenitore di scorrimento */
html:has(body.v2-app){overflow-x:clip;}
body.v2-app{overflow-x:clip;}
.v2-side{background:var(--ink);color:var(--paper);border-radius:10px;padding:16px 6px;display:flex;flex-direction:column;gap:14px;position:fixed;top:12px;left:auto;width:200px;box-sizing:border-box;z-index:20;height:calc(100vh - 24px);height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;}
.v2-side::-webkit-scrollbar{display:none;}
.v2-extra{margin-top:12px;}
.v2-extra > summary,.v2-set-more > summary,.v2-offer-more > summary{cursor:pointer;font:600 .9rem 'IBM Plex Sans',sans-serif;padding:10px 2px;color:var(--ink);}
.v2-extra > .v2-d-grid{margin-top:8px;}
.v2-set-more{grid-column:1 / -1;}
.v2-set-more .v2-set-card{margin-top:10px;}
.v2-offer-more{grid-column:1 / -1;}
.v2-offer-more > .v2-offer-grid{margin-top:8px;}
.v2-subtabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 16px;border-bottom:1px solid var(--line);}
.v2-subtab{border:0;background:none;padding:9px 14px;margin-bottom:-1px;font:600 .88rem 'IBM Plex Sans',sans-serif;color:var(--slate);border-bottom:2px solid transparent;cursor:pointer;}
@media (hover:hover){.v2-subtab:hover{color:var(--ink);}}
.v2-subtab.active{color:var(--ink);border-bottom-color:var(--red);}
.v2-side-lang{display:flex;justify-content:center;gap:4px;margin-top:auto;}
.v2-side-lang + .v2-side-foot{margin-top:0;}
.v2-lang-opt{font:600 .72rem 'IBM Plex Mono',monospace;letter-spacing:.04em;padding:5px 7px;border-radius:6px;color:rgba(250,249,246,.65);text-decoration:none;}
@media (hover:hover){a.v2-lang-opt:hover{color:var(--paper);background:rgba(255,255,255,.1);}}
.v2-lang-opt.is-current{color:var(--paper);background:rgba(255,255,255,.16);}
.v2-side-brand{font:700 1.05rem 'Space Grotesk',sans-serif;padding:0 8px 0 10px;letter-spacing:.01em;}
.v2-side-brand span{color:var(--red);}
.v2-side-user{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:10px 2px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}
.v2-avatar{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font:700 1.1rem 'Space Grotesk',sans-serif;}
.v2-side-user strong{font-size:.85rem;font-weight:600;overflow-wrap:anywhere;width:100%;}
/* il sito ha una regola globale per <nav> (padding 18px 28px, margine automatico): qui va azzerata, altrimenti il menu non e' centrato */
.v2-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;width:100%;max-width:none;margin:0;padding:0;}
.v2-tab{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:rgba(250,249,246,.72);padding:9px 8px;border-radius:7px;font:500 .88rem 'IBM Plex Sans',sans-serif;cursor:pointer;text-align:left;}
.v2-tab svg{width:17px;height:17px;flex:none;}
.v2-tab span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (hover:hover){.v2-tab:hover{background:rgba(255,255,255,.08);color:var(--paper);}}
.v2-tab.active{background:rgba(255,255,255,.16);color:var(--paper);font-weight:600;}
.v2-side-foot{margin-top:auto;font-size:.72rem;color:rgba(250,249,246,.5);text-align:center;}

/* V2.3.8: su schermo largo il portale riempie tutta la larghezza (niente bordi bianchi ai lati) e il menu sta incollato a sinistra,
   a tutta altezza e piu' grande. Sotto i 861px resta la barra in alto di prima. */
@media (min-width:861px){
  body.v2-app #appPage .wrap{max-width:none !important;margin:0 !important;padding:16px 28px 0 0 !important;}
  .v2-shell{grid-template-columns:240px minmax(0,1fr);gap:28px;}
  .v2-side{left:0;top:0;width:240px;height:100vh;height:100dvh;border-radius:0 12px 12px 0;padding:22px 10px;gap:16px;}
  .v2-side-brand{font-size:1.25rem;padding:0 10px;}
  .v2-avatar{width:52px;height:52px;min-width:52px;min-height:52px;font-size:1.3rem;}
  .v2-side-user strong{font-size:1rem;}
  .v2-tab{padding:12px 12px;gap:12px;font-size:1rem;border-radius:9px;}
  .v2-tab svg{width:21px;height:21px;}
  .v2-lang-opt{font-size:.8rem;padding:6px 9px;}
  .v2-side-foot{font-size:.78rem;}
}

@media (max-width:860px){
  .v2-shell{grid-template-columns:minmax(0,1fr);}

  .v2-main{grid-column:auto;}
  .v2-side{position:static;width:auto;height:auto;min-height:0;overflow:visible;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px;}
  .v2-side-user,.v2-side-foot,.v2-side-brand{display:none;}
  .v2-side-lang{margin:0 0 0 auto;}
  .v2-nav{flex-direction:row;flex-wrap:wrap;width:100%;}
  .v2-tab{width:auto;padding:8px 12px;}
}

/* ---- Titoli e testi ---- */
.v2-title{font:700 1.15rem 'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.03em;margin:0 0 14px;}
.v2-muted{color:var(--slate);font-size:.82rem;}
.v2-empty{padding:28px 14px;text-align:center;color:var(--slate);border:1px dashed var(--line);border-radius:8px;}
#v2Root .agency-portal-button{padding:9px 16px;font-size:.88rem;margin-top:0;}
#v2Root .action-btn{font-size:.82rem;}

/* ---- Home ---- */
.v2-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.v2-stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer;display:block;transition:border-color .12s,box-shadow .12s;}
@media (hover:hover){.v2-stat:hover{border-color:var(--ink);box-shadow:0 2px 8px rgba(27,31,35,.1);}}
.v2-stat .n,.v2-stat .l{display:block;}
.v2-stat .n{font:700 1.5rem 'Space Grotesk',sans-serif;line-height:1;}
.v2-stat .l{margin-top:6px;color:var(--slate);font-size:.8rem;}
.v2-cta{margin-top:16px;}

/* ---- Ricerca: elenco + filtri a destra ---- */
.v2-filters{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px;position:sticky;top:12px;}
.v2-filter-actions{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;margin-bottom:4px;}
.v2-link{background:none;border:0;padding:0;color:var(--slate);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline;}
@media (hover:hover){.v2-link:hover{color:var(--ink);}}
.v2-flabel{font:500 .68rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);margin-top:4px;}
.v2-filters select,.v2-filters input[type=text]{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.85rem;background:var(--paper);color:var(--ink);}
.v2-check{display:flex;align-items:center;gap:8px;font-size:.82rem;cursor:pointer;margin-top:4px;}
.v2-check input{width:15px;height:15px;}
.v2-filter-btns{display:flex;gap:8px;margin-top:6px;}
.v2-filter-btns .agency-portal-button{flex:1;}

/* ---- Schede candidato compatte: stessa dimensione per tutte ---- */
.v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;}
.v2-card{display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:8px;height:auto;min-height:98px;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;overflow:hidden;transition:box-shadow .12s,border-color .12s;}
.v2-card:focus-visible{border-color:var(--ink);box-shadow:0 2px 8px rgba(27,31,35,.1);outline:none;}
@media (hover:hover){.v2-card:hover{border-color:var(--ink);box-shadow:0 2px 8px rgba(27,31,35,.1);outline:none;}}
.v2-card-top{display:flex;gap:10px;padding:9px 10px 0;align-items:flex-start;flex:1;min-height:0;}
.v2-card .v2-photo{width:44px;height:55px;border-radius:6px;}
.v2-card-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px;}
.v2-card-body h3{font:700 .92rem 'Space Grotesk',sans-serif;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v2-prof{color:var(--ink);font-weight:500;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v2-line{color:var(--slate);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v2-rate{font-size:.75rem;white-space:nowrap;}

.v2-card-foot{border-top:1px solid var(--line);padding:5px 10px;font-size:.76rem;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v2-badge{display:inline-block;background:var(--ink);color:var(--paper);border-radius:999px;padding:1px 9px;font-size:.7rem;font-weight:600;white-space:nowrap;}

.v2-photo{display:block;object-fit:cover;object-position:center top;background:var(--cream-card);aspect-ratio:4 / 5;flex:none;}
.v2-photo-ph{display:flex;align-items:center;justify-content:center;background:#2a3036;color:#fff;font:700 1.1rem 'Space Grotesk',sans-serif;}

/* ---- Pipeline: colonne compatte e leggibili ---- */
.v2-board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:8px;}
.v2-col{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:240px;display:flex;flex-direction:column;}
.v2-col-head{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-radius:7px 7px 0 0;background:var(--cream-card);border-bottom:2px solid var(--ink);font:700 .82rem 'Space Grotesk',sans-serif;}
.v2-col-head .cnt{background:var(--ink);color:var(--paper);border-radius:999px;padding:0 8px;font-size:.75rem;}
.v2-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1;background:var(--paper);border-radius:0 0 7px 7px;}
.v2-col-empty{color:var(--slate);font-size:.8rem;text-align:center;padding:16px 0;}
/* scheda compatta della pipeline: altezza libera, nessun elemento esce dalla scheda */
.v2-mini{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px;}
.v2-mini .v2-photo{width:44px;height:55px;align-self:start;border-radius:5px;font-size:.9rem;}
.v2-mini-info{min-width:0;display:flex;flex-direction:column;gap:8px;}
.v2-mini{cursor:pointer;transition:border-color .12s,box-shadow .12s;}
@media (hover:hover){.v2-mini:hover{border-color:var(--ink);box-shadow:0 2px 8px rgba(27,31,35,.1);}}
.v2-mini-name{all:unset;box-sizing:border-box;display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 .84rem 'IBM Plex Sans',sans-serif;cursor:pointer;}
.v2-mini-name:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.v2-mini-actions{display:flex;flex-direction:column;gap:5px;}
#v2Root .v2-mini .action-btn,#v2Root .v2-mini select{box-sizing:border-box;width:100%;height:28px;min-height:0;margin:0;padding:0 8px;font:500 .76rem/1 'IBM Plex Sans',sans-serif;border-radius:5px;}
#v2Root .v2-mini .action-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;color:var(--ink);}
#v2Root .v2-mini select{border:1px solid var(--line);background:var(--paper);color:var(--ink);}
@media (max-width:1100px){.v2-board{grid-template-columns:repeat(5,200px);}}

/* ---- Scheda candidato (finestra) ---- */
.v2-modal{max-width:720px !important;width:100%;padding:0 !important;overflow:hidden !important;font-size:14px;}
.v2-modal .modal-close{z-index:2;background:rgba(255,255,255,.9);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;top:10px;right:10px;}
.v2-detail{display:grid;grid-template-columns:190px 1fr;max-height:88vh;}
.v2-detail-side{background:var(--cream-card);padding:16px;display:flex;flex-direction:column;gap:10px;}
.v2-detail-side .v2-photo{width:100%;height:auto;border-radius:8px;font-size:2rem;}
.v2-detail-main{padding:18px 20px;overflow-y:auto;max-height:88vh;}
.v2-detail-main h2{font:700 1.25rem 'Space Grotesk',sans-serif;margin:0 0 2px;}
.v2-fact{margin:9px 0;}
.v2-fact b{display:block;font:500 .66rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:2px;}
.v2-fact p{margin:0;font-size:.88rem;}
.v2-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.v2-block h3{font:700 .9rem 'Space Grotesk',sans-serif;margin:0 0 8px;}
.v2-note{background:var(--cream-card);border-radius:8px;padding:9px 12px;font-size:.84rem;margin:12px 0 10px;}
.v2-big{width:100%;margin-top:0 !important;}
@media (max-width:720px){
  .v2-detail{grid-template-columns:1fr;max-height:none;}
  .v2-detail-side{flex-direction:row;align-items:center;}
  .v2-detail-side .v2-photo{width:80px;height:auto;flex:none;}
  .v2-detail-main{max-height:none;}
  .v2-modal{max-height:92vh;overflow-y:auto !important;}
}

/* ---- Icone contatto (neutre) ---- */
.v2-contact-row{display:flex;gap:8px;flex-wrap:wrap;}
.v2-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;transition:background .12s,color .12s;}
@media (hover:hover){.v2-icon-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);}}
.v2-icon-btn svg{width:20px;height:20px;flex:none;}
.v2-icon-btn.off{opacity:.35;pointer-events:none;}
.v2-warn{background:var(--cream-card);border:1px solid var(--ink);border-radius:8px;padding:11px;margin-top:10px;font-size:.84rem;}
.v2-warn p{margin:5px 0 8px;}
.v2-warn textarea{width:100%;min-height:70px;padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit;resize:vertical;}
.v2-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.v2-docs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.v2-docs a{display:block;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-decoration:none;font-size:.85rem;}
@media (hover:hover){.v2-docs a:hover{border-color:var(--ink);background:var(--cream-card);}}
.v2-review{display:grid;grid-template-columns:110px 130px 1fr;gap:8px;}
.v2-review select,.v2-review input{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 9px;font:inherit;font-size:.85rem;background:var(--paper);}
.v2-review .full{grid-column:1 / -1;}
@media (max-width:560px){.v2-review{grid-template-columns:1fr;}}

/* ---- V2.0.7: filtri a gruppi, bolle, pipeline a 4 colonne, archivio ---- */
.v2-filters{max-height:calc(100vh - 24px);overflow-y:auto;padding:12px;gap:0;}
.v2-filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.88rem;}
.v2-group{border-top:1px solid var(--line);}
.v2-group summary{cursor:pointer;list-style:none;padding:9px 2px;font:600 .82rem 'IBM Plex Sans',sans-serif;display:flex;justify-content:space-between;align-items:center;}
.v2-group summary::-webkit-details-marker{display:none;}
.v2-group summary::after{content:'+';color:var(--slate);font-weight:400;}
.v2-group[open] summary::after{content:'−';}
.v2-group-body{padding:0 2px 10px;display:flex;flex-direction:column;gap:6px;}
.v2-chips{display:flex;flex-wrap:wrap;gap:6px;}
.v2-fchip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-size:.78rem;cursor:pointer;}
@media (hover:hover){.v2-fchip:hover{border-color:var(--ink);}}
.v2-fchip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.v2-checks{display:flex;flex-direction:column;gap:2px;}
.v2-bubble{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:var(--paper);border-radius:999px;padding:4px 6px 4px 11px;font-size:.78rem;}
.v2-bubble button{border:0;background:rgba(255,255,255,.2);color:inherit;width:17px;height:17px;border-radius:50%;line-height:1;cursor:pointer;font-size:.85rem;padding:0;}
@media (hover:hover){.v2-bubble button:hover{background:rgba(255,255,255,.4);}}
.v2-ac{position:relative;}
.v2-ac input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.85rem;background:var(--paper);}
.v2-ac-list{position:absolute;left:0;right:0;top:100%;z-index:30;list-style:none;margin:2px 0 0;padding:4px 0;background:#fff;border:1px solid var(--ink);border-radius:6px;max-height:220px;overflow-y:auto;box-shadow:0 6px 16px rgba(27,31,35,.15);}
.v2-ac-list li{padding:7px 10px;font-size:.85rem;cursor:pointer;}
@media (hover:hover){.v2-ac-list li:hover{background:var(--cream-card);}}
.v2-ac-list li[aria-selected="true"]{background:var(--cream-card);}
.v2-ac-list .v2-ac-lv{display:block;color:var(--muted,#6b7280);font-size:.75rem;}
.v2-ac-list li.v2-ac-none{cursor:default;color:var(--muted,#6b7280);}
.v2-save-row{display:flex;gap:6px;margin-top:6px;}
.v2-save-row input{flex:1;min-width:0;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.82rem;background:var(--paper);}
.v2-saved-item{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:3px 0;}
.v2-link-btn{background:none;border:0;padding:0;font:inherit;font-size:.84rem;color:var(--ink);text-align:left;cursor:pointer;text-decoration:underline;}
.v2-x{border:0;background:none;color:var(--slate);cursor:pointer;font-size:1rem;line-height:1;}
@media (hover:hover){.v2-x:hover{color:var(--ink);}}
.v2-board-4{grid-template-columns:repeat(4,minmax(200px,1fr));}
@media (max-width:1100px){.v2-board-4{grid-template-columns:repeat(4,220px);}}
.v2-archive{margin-top:22px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 14px;}
.v2-archive summary{cursor:pointer;font:600 .9rem 'IBM Plex Sans',sans-serif;}
.v2-archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;}

/* ---- Impostazioni ---- */
.v2-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;max-width:760px;}
.v2-set-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;}
.v2-set-card h3{font:700 .95rem 'Space Grotesk',sans-serif;margin:0;}
.v2-set-card input{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:var(--paper);}

/* ---- Richieste ---- */
.v2-req-form{display:grid;grid-template-columns:2fr 1fr 110px 2fr auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;}
.v2-req-form select,.v2-req-form input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.85rem;background:var(--paper);}
@media (max-width:900px){.v2-req-form{grid-template-columns:1fr 1fr;}.v2-req-form .v2-req-notes{grid-column:1 / -1;}}
.v2-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px;}
.v2-table{width:100%;border-collapse:collapse;font-size:.85rem;}
.v2-table th{text-align:left;font:500 .68rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;}
.v2-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
.v2-table tr:last-child td{border-bottom:0;}
.v2-status{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:1px 9px;font-size:.74rem;white-space:nowrap;}
.v2-status.aperta,.v2-status.in_lavorazione{background:var(--ink);color:var(--paper);}
.v2-status.annullata{opacity:.5;}
.v2-set-wide{grid-column:1 / -1;}
.v2-alert-row{display:flex;align-items:center;gap:14px;padding:8px 0;border-top:1px solid var(--line);}
.v2-alert-row strong{flex:1;font-size:.88rem;}

/* ---- Accessibilita': focus visibile, testo per lettori di schermo, link "vai al contenuto" ---- */
#v2Root :focus-visible,.v2-modal :focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.v2-side :focus-visible{outline-color:var(--paper);}
.v2-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.v2-skip{position:absolute;left:8px;top:-60px;z-index:500;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:6px;text-decoration:none;}
.v2-skip:focus{top:8px;}
.v2-main:focus{outline:none;}
.v2-form-msg{color:#9b1c1c;font-size:.85rem;min-height:1.3em;margin:6px 0 0;}
[aria-invalid="true"]{border-color:#9b1c1c !important;}

/* ---- Caricamento (skeleton) ed errori con azione ---- */
.v2-skel-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;}
.v2-skel{border-radius:8px;background:linear-gradient(90deg,#ece9e2 25%,#f6f4ee 50%,#ece9e2 75%);background-size:200% 100%;animation:v2shimmer 1.3s linear infinite;}
.v2-skel-card{height:98px;}
.v2-skel-row{height:44px;grid-column:1 / -1;}
@keyframes v2shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.v2-error{grid-column:1 / -1;border:1px solid #9b1c1c;border-radius:8px;background:#fff;padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.v2-error p{margin:0;color:#9b1c1c;font-size:.9rem;}

/* ---- Touch e schermi piccoli ---- */
@media (pointer:coarse){
  .v2-tab{min-height:46px;}
  .v2-fchip{padding:9px 14px;font-size:.85rem;}
  .v2-check{min-height:36px;}
  #v2Root .v2-mini .action-btn,#v2Root .v2-mini select{height:36px;}
  .v2-icon-btn{width:48px;height:48px;}
  .v2-x,.v2-bubble button{min-width:28px;min-height:28px;}
}
@media (max-width:560px){
  .v2-modal{max-width:100% !important;max-height:100vh;border-radius:0 !important;}
  .modal-overlay{padding:0 !important;align-items:stretch !important;}
  .v2-grid,.v2-skel-wrap{grid-template-columns:1fr;}
  .v2-home-grid{grid-template-columns:repeat(2,1fr);}
  .v2-title{font-size:1rem;}
}
@media (prefers-reduced-motion:reduce){
  .v2-skel{animation:none;}
  #v2Root *,.v2-modal *{transition:none !important;scroll-behavior:auto !important;}
}

/* ---- Stelle: lettura anche a mezze stelle e selettore ---- */
.v2-stars{position:relative;display:inline-block;line-height:1;letter-spacing:1px;white-space:nowrap;vertical-align:middle;}
.v2-stars-bg{color:#c9c5bc;}
.v2-stars-fg{position:absolute;left:0;top:0;overflow:hidden;color:var(--ink);white-space:nowrap;}
.v2-starinput{display:inline-flex;vertical-align:middle;border-radius:6px;}
.v2-star{position:relative;display:inline-block;width:48px;height:48px;line-height:48px;font-size:42px;text-align:center;color:#c9c5bc;cursor:pointer;user-select:none;}
.v2-star::before{content:'★';}
.v2-star i{position:absolute;left:0;top:0;height:100%;width:0;overflow:hidden;color:var(--ink);font-style:normal;}
.v2-star i::before{content:'★';display:block;width:48px;text-align:center;}
.v2-starvalue{font:600 .95rem 'IBM Plex Sans',sans-serif;margin-left:8px;}
.v2-review-form{display:flex;flex-direction:column;gap:10px;}
.v2-review{grid-template-columns:130px 1fr;}

/* ---- Finestre di dialogo piccole (collocamento, fine lavoro) ---- */
.v2-modal.compact{max-width:440px !important;}
.v2-dialog{padding:22px;display:flex;flex-direction:column;gap:10px;}
.v2-dialog h3{font:700 1.05rem 'Space Grotesk',sans-serif;margin:0 0 4px;}
.v2-dialog form{display:flex;flex-direction:column;gap:8px;}
.v2-dialog input[type=date]{height:38px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit;background:var(--paper);}
.v2-fieldset{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0;}
.v2-fieldset legend{font:500 .75rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);padding:0 6px;}

/* ---- Barra superiore del sito: nel portale resta in cima alla pagina, senza nascondersi/riapparire ----
   (la navigazione e' nel menu laterale, che resta sempre visibile) */
body.v2-app header,body.v2-app header.header-hide{position:static !important;transform:none !important;transition:none !important;}

/* ---- Pannello "Stato" nella scheda candidato e azioni della pipeline ---- */
.v2-status-panel{border:1px solid var(--ink);border-radius:8px;padding:12px 14px;margin:14px 0;background:#fff;}
.v2-status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.v2-status-line b{font:500 .68rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);}
.v2-status-badge{background:var(--ink);color:var(--paper);border-radius:999px;padding:2px 11px;font-size:.78rem;font-weight:600;}
.v2-status-action{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.v2-status-action select{height:38px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit;background:var(--paper);max-width:280px;}
#v2Root .v2-mini .v2-end-btn{background:var(--ink);color:var(--paper);}
.v2-archive summary{padding:2px 0;}

/* ---- Ricerca: barra in alto + pannello filtri a scomparsa (i risultati usano tutta la larghezza) ---- */
.v2-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;position:relative;z-index:30;}
.v2-toolbar-prof{flex:1 1 280px;min-width:220px;}
.v2-toolbar-prof input{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.9rem;background:var(--paper);}
.v2-toolbar-region{display:flex;gap:6px;flex-wrap:wrap;}
#v2Root .v2-toolbar-btn{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;}
.v2-saved-wrap{position:relative;}
.v2-pop{position:absolute;right:0;top:calc(100% + 6px);width:min(320px,80vw);background:#fff;border:1px solid var(--ink);border-radius:8px;padding:12px;box-shadow:0 10px 28px rgba(27,31,35,.18);z-index:40;}
.v2-active{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;}
.v2-active:empty{display:none;}
.v2-backdrop{position:fixed;inset:0;background:rgba(27,31,35,.4);z-index:450;}
.v2-filters.v2-drawer{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(400px,100vw);max-height:none;background:#fff;z-index:460;border:0;border-radius:0;padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;box-shadow:-8px 0 28px rgba(27,31,35,.2);}
.v2-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:1rem;}
.v2-drawer-body{flex:1;overflow-y:auto;padding:4px 16px 12px;}
.v2-drawer-foot{padding:12px 16px;border-top:1px solid var(--line);}
.v2-drawer-foot .agency-portal-button{width:100%;}
.v2-drawer-head .v2-x{font-size:1.5rem;min-width:36px;min-height:36px;}
@media (max-width:700px){
  .v2-toolbar{position:static;}
  .v2-toolbar-prof{flex-basis:100%;}
  .v2-pop{right:auto;left:0;}
}

/* ---- Nessuno spazio vuoto in cima: il sito da' alle <section> un'imbottitura grande, qui non serve ---- */
#v2Root section.v2-pane{padding:0 !important;margin:0 !important;}
.v2-main > .v2-pane > .v2-title:first-child{margin-top:2px;}

.v2-docs-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
.v2-docs-head h3{margin:0 !important;}
.v2-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.v2-docs li{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;}
.v2-doc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:500;}
.v2-docs .action-btn,.v2-docs-head .action-btn{display:inline-flex;align-items:center;height:28px;padding:0 10px;font-size:.76rem;border:1px solid var(--ink);border-radius:5px;background:transparent;color:var(--ink);text-decoration:none;}
.v2-noscroll{overflow:hidden;}
.v2-preview{position:fixed;inset:0;z-index:2000;background:rgba(20,24,28,.94);display:flex;flex-direction:column;}
.v2-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;color:#fff;font-size:.92rem;}
.v2-preview-bar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v2-preview-bar span{display:flex;gap:8px;flex:none;}
.v2-preview-btn{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:transparent;color:#fff;font:600 .85rem 'IBM Plex Sans',sans-serif;text-decoration:none;cursor:pointer;}
.v2-preview-btn:focus-visible{background:#fff;color:#1b1f23;outline:none;}
@media (hover:hover){.v2-preview-btn:hover{background:#fff;color:#1b1f23;outline:none;}}
.v2-preview-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 16px 16px;}
.v2-preview-body iframe{width:100%;height:100%;border:0;background:#fff;border-radius:6px;}
.v2-preview-body img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;}
.v2-doc-none{color:#fff;text-align:center;}

.v2-linkbtn{all:unset;cursor:pointer;font:500 .8rem 'IBM Plex Sans',sans-serif;color:var(--ink);text-decoration:underline;text-underline-offset:3px;margin-top:6px;}
.v2-linkbtn:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.v2-chg{margin-top:8px;}
.v2-chg textarea{width:100%;box-sizing:border-box;}
.v2-support{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px;}
.v2-support-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;font-size:.88rem;}
.v2-support-card a{color:var(--ink);}

.v2-side-sub{font-size:.7rem;font-weight:400;color:rgba(250,249,246,.55);word-break:break-word;margin-top:-4px;}

#v2-prefs .v2-set-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;max-width:760px;}
#v2-prefs .v2-active{margin:0;}
.v2-drawer-foot{display:flex;gap:8px;flex-wrap:wrap;}
.v2-drawer-foot .agency-portal-button,.v2-drawer-foot .action-btn{flex:1;}

/* ---- Ricerche salvate: schede ---- */
.v2-ss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:14px;}
.v2-ss{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(27,31,35,.04);transition:box-shadow .12s,border-color .12s;}
@media (hover:hover){.v2-ss:hover{border-color:var(--ink);box-shadow:0 4px 14px rgba(27,31,35,.09);}}
.v2-ss-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.v2-ss-head h3{margin:0;font:700 1.02rem 'Space Grotesk',sans-serif;word-break:break-word;}
.v2-ss-count{flex:none;background:var(--cream-card);border-radius:999px;padding:3px 11px;font-size:.78rem;white-space:nowrap;}
.v2-ss-count b{font-weight:700;}
.v2-ss-bubbles{margin:0;flex:1;align-content:flex-start;}
.v2-ss-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;}
.v2-ss-actions{display:flex;gap:8px;align-items:center;}
.v2-ss-open{padding:7px 18px;font-size:.84rem;}
#v2-prefs .v2-cta{margin-top:16px;}
.v2-ss-count::first-letter{text-transform:uppercase;}
.v2-ss{cursor:pointer;}
.v2-ss-foot label{cursor:pointer;}

.v2-back{all:unset;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font:500 .85rem 'IBM Plex Sans',sans-serif;color:var(--ink);margin-bottom:6px;padding:4px 8px 4px 2px;border-radius:6px;}
.v2-back[hidden]{display:none;}
.v2-back svg{width:18px;height:18px;}
@media (hover:hover){.v2-back:hover{background:var(--cream-card);}}
.v2-back:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}

/* ---- Profilo scritto in automatico + stampa della scheda ---- */
.v2-profile-text{margin:8px 0 4px;padding:10px 12px;background:var(--cream-card);border-radius:8px;font-size:.88rem;line-height:1.5;}
@media print{
  header,footer,nav,#toast,.v2-skip,.v2-shell > .v2-side,.v2-shell > .v2-main > section,.modal-close,.v2-no-print,.v2-status-panel,.v2-docs-head .action-btn,.v2-docs .action-btn,.cookie-banner,#cookieBanner{display:none !important;}
  body.v2-app{background:#fff;}
  .v2-shell,.v2-main{display:block !important;}
  #v2-modal{position:static !important;background:none !important;display:block !important;padding:0 !important;}
  #v2-modal .modal-content,.v2-modal{box-shadow:none !important;border:0 !important;max-width:none !important;max-height:none !important;overflow:visible !important;}
  .v2-detail{display:block !important;max-height:none !important;}
  .v2-detail-main{max-height:none !important;overflow:visible !important;}
  .v2-detail-side{background:none;flex-direction:row;}
  .v2-detail-side .v2-photo{width:110px !important;}
}

/* ---- Foglio per il cliente (finestra a schermo intero con anteprima) ---- */
.v2-sheet-open{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:11px 10px;text-align:center;line-height:1.2;}
.v2-sheet-open svg{width:22px;height:22px;}
.v2-sheet-open span{font-weight:700;font-size:.9rem;}
.v2-sheet-open small{font-size:.72rem;font-weight:400;opacity:.85;}
.v2-sheet{position:fixed;inset:0;z-index:2100;background:#e9e7e1;display:flex;flex-direction:column;}
.v2-sheet-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:#fff;flex-wrap:wrap;}
.v2-sheet-bar b{display:block;font:700 1rem 'Space Grotesk',sans-serif;}
.v2-sheet-sub{display:block;font-size:.78rem;opacity:.75;}
.v2-sheet-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.v2-sheet-missing{font-size:.8rem;color:#f2c14e;}
.v2-sheet .v2-preview-btn:disabled{opacity:.4;cursor:not-allowed;}
.v2-sheet-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);}
.v2-sheet-form{background:#fff;overflow-y:auto;padding:14px 18px 30px;border-right:1px solid var(--line);}
.v2-sheet-form h3{font:700 .8rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin:16px 0 6px;}
.v2-sheet-form h3:first-child{margin-top:0;}
.v2-sf{margin:8px 0;border-left:3px solid transparent;padding-left:8px;}
.v2-sf.ok{border-left-color:#3b8f5f;}
.v2-sf.need{border-left-color:#d79a1e;background:#fff8e6;}
.v2-sf label{display:block;font-size:.78rem;color:var(--slate);margin-bottom:3px;}
.v2-sf label i{color:#c0392b;font-style:normal;}
.v2-sf-row{display:flex;gap:8px;align-items:center;}
.v2-sf-row input,.v2-sf-row textarea,.v2-sf-row select{flex:1;min-width:0;box-sizing:border-box;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.9rem;background:#fff;}
.v2-sf-row textarea{resize:vertical;}
.v2-att-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.v2-att-area textarea{width:100%;}
.v2-att-bold{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:var(--paper,#fff);color:inherit;font:inherit;font-size:.78rem;cursor:pointer;}
.v2-att-bold:hover{border-color:var(--slate);}
.v2-att-bold b{font-size:.85rem;}
.v2-sf-row select{flex:none;}
.v2-sf-st{flex:none;min-width:16px;font-size:.72rem;font-weight:700;color:#3b8f5f;}
.v2-sf.need .v2-sf-st{color:#a06a00;}
.v2-sheet-preview{overflow:auto;padding:18px;display:flex;justify-content:center;align-items:flex-start;}
@media (max-width:860px){
  .v2-sheet-body{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto;}
  .v2-sheet-form{overflow:visible;border-right:0;}
}

.v2-sf-details{border:1px solid var(--line);border-radius:6px;background:#fff;}
.v2-sf-details > summary{cursor:pointer;padding:8px 10px;font-size:.84rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.v2-sf-details > summary::-webkit-details-marker{display:none;}
.v2-sf-details > summary::after{content:'\25BE';margin-left:8px;color:var(--slate);}
.v2-sf-details[open] > summary::after{content:'\25B4';}
.v2-sf-details .v2-sf-row{padding:0 10px 10px;}
.v2-sf[data-f=desc] label{display:none;}
.v2-preview-main{background:#fff;color:#1b1f23;border-color:#fff;}
@media (hover:hover){.v2-sheet .v2-preview-main:hover:not(:disabled){background:#f1efe9;}}

.v2-doc-name small{font-weight:400;font-size:.76rem;}
.v2-sheets-empty{border:0 !important;padding:2px 0 !important;display:block !important;}

/* ================= Ergonomia schede e finestra del candidato (V2.0.49) ================= */
/* scheda in pipeline: foto + testi in alto, menu dello stato a tutta larghezza sotto (niente vuoti sotto la foto) */
.v2-mini{grid-template-columns:52px minmax(0,1fr);gap:6px 10px;align-items:start;padding:10px;}
.v2-mini .v2-photo{width:52px;height:65px;}
.v2-mini-info{gap:1px;justify-content:center;min-height:65px;}
.v2-mini-name{font-size:.88rem;}
.v2-mini-meta{color:var(--slate);}
.v2-mini-actions{grid-column:1 / -1;flex-direction:row;gap:6px;}
.v2-mini-actions .v2-move{flex:1;min-width:0;}

/* finestra del candidato: testata + due colonne, piu' larga, con pulsante per ingrandirla */
.v2-modal{max-width:980px !important;}
.v2-modal.wide:not(.compact){max-width:1280px !important;}
.v2-modal.wide:not(.compact) .v2-detail{max-height:94vh;}
.v2-detail{display:flex;flex-direction:column;max-height:90vh;grid-template-columns:none;}
.v2-d-head{display:flex;align-items:center;gap:14px;padding:14px 58px 14px 18px;background:var(--cream-card);border-bottom:1px solid var(--line);}
.v2-d-head .v2-photo{width:64px;height:80px;border-radius:8px;flex:none;font-size:1.4rem;}
.v2-d-id{min-width:0;flex:1;}
.v2-d-id h2{margin:0;font:700 1.3rem 'Space Grotesk',sans-serif;line-height:1.2;}
.v2-d-id .v2-prof{margin-top:1px;}
.v2-d-rate{margin-top:3px;font-size:.84rem;}
.v2-d-actions{display:flex;gap:8px;align-items:center;flex:none;}
.v2-d-actions .v2-sheet-open{flex-direction:row;width:auto;gap:8px;padding:9px 14px;font-size:.84rem;}
.v2-d-actions .v2-sheet-open svg{width:18px;height:18px;}
.v2-d-actions .v2-sheet-open span{font-size:.84rem;}
.v2-expand{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 !important;border-radius:8px;}
.v2-expand svg{width:18px;height:18px;}
.v2-d-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 26px;padding:14px 20px 20px;overflow-y:auto;align-items:start;}
.v2-d-col{min-width:0;}
.v2-d-col > :first-child{margin-top:0;}
.v2-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px 18px;}
.v2-fact{margin:7px 0;}
.v2-block{margin-top:12px;padding-top:10px;}
.v2-profile-text{margin:0 0 8px;}
.v2-detail-main,.v2-detail-side{display:none;}
@media (max-width:820px){
  .v2-d-body{grid-template-columns:minmax(0,1fr);padding:12px 14px 18px;}
  .v2-d-head{flex-wrap:wrap;padding:12px 52px 12px 14px;gap:10px;}
  .v2-d-actions{width:100%;}
  .v2-d-actions .v2-sheet-open{flex:1;justify-content:center;}
  .v2-expand{display:none;}
  .v2-detail{max-height:none;}
  .v2-modal{max-height:94vh;overflow-y:auto !important;}
}
.v2-d-body{flex:1;min-height:0;}
/* la X della finestra: ben visibile, sopra la testata */
.v2-modal .modal-close{width:36px;height:36px;top:12px;right:12px;font-size:1.4rem;color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.12);}
@media (hover:hover){.v2-modal .modal-close:hover{background:var(--ink);color:#fff;}}
/* con anteprima, foglio per il cliente o scheda candidato aperti la pagina dietro non scorre:
   html ha overflow-x:clip, quindi l'overflow di body da solo non basta e va bloccato anche html */
html:has(body.v2-noscroll),html:has(#v2-modal:not([hidden])){overflow:hidden !important;}
body.v2-noscroll,html:has(#v2-modal:not([hidden])) body{overflow:hidden !important;}
.v2-preview,.v2-sheet,#v2-modal{overscroll-behavior:contain;}

/* ================= Finestra del candidato: riquadri a coppie (V2.0.52) ================= */
.v2-d-body{display:block;padding:14px 16px 18px;background:var(--paper);overflow-y:auto;}
.v2-d-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;}
.v2-cell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0;}
.v2-cell:only-child,.v2-cell-wide{grid-column:1 / -1;}
.v2-cell > .v2-block:first-child{margin-top:0;padding-top:0;border-top:0;}
.v2-cell .v2-status-panel{border:0;padding:0;margin:0;background:none;}
.v2-cell .v2-block h3{margin-bottom:6px;}
.v2-cell .v2-profile-text{background:none;padding:0;margin:0 0 8px;font-size:.9rem;}
.v2-cell .v2-facts{margin-bottom:2px;}
.v2-more{all:unset;cursor:pointer;color:var(--ink);font-weight:600;font-size:.82rem;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.v2-more:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px;}
.v2-pt-full[hidden],.v2-pt-short[hidden]{display:none;}
/* elenchi di file: il nome va a capo invece di essere tagliato, i pulsanti restano a destra */
.v2-docs li{flex-wrap:wrap;row-gap:6px;}
.v2-docs .v2-doc-name{flex:1 1 170px;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;}
.v2-docs .v2-doc-name small{display:block;}
@media (max-width:820px){
  .v2-d-grid{grid-template-columns:minmax(0,1fr);}
  .v2-d-body{padding:12px 12px 16px;}
}

/* ---- Popup per la chiamata e disponibilita' verificata (V2.0.55) ---- */
.v2-popup-back{position:fixed;inset:0;z-index:2200;background:rgba(20,18,16,.55);display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain;}
.v2-popup{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;padding:22px 22px 18px;box-shadow:0 12px 40px rgba(0,0,0,.28);}
.v2-popup-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--ink);}
@media (hover:hover){.v2-popup-x:hover{background:var(--ink);color:#fff;}}
.v2-popup h3{margin:0 40px 12px 0;font:700 1.1rem 'Space Grotesk',sans-serif;}
.v2-popup .v2-fieldset{border:0;padding:0;margin:0 0 12px;}
.v2-popup .v2-fieldset legend{font:600 .8rem 'IBM Plex Sans',sans-serif;color:var(--slate);margin-bottom:6px;padding:0;}
.v2-rchips{display:flex;flex-wrap:wrap;gap:6px;}
.v2-rchip{position:relative;cursor:pointer;}
.v2-rchip input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.v2-rchip span{display:inline-block;border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 13px;font-size:.84rem;transition:background .1s,color .1s,border-color .1s;}
.v2-rchip input:checked + span{background:var(--ink);color:#fff;border-color:var(--ink);}
.v2-rchip input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px;}
.v2-popup .v2-warn{margin:0 0 12px;}
.v2-popup input[type=text]{width:100%;box-sizing:border-box;}
.v2-fresh{font-size:.8rem;white-space:nowrap;}
.v2-fresh.ok{color:#2e7d4f;font-weight:600;}
.v2-fresh.no{color:#b3361f;font-weight:600;}
.v2-fresh.contact{color:var(--slate);}
.v2-fresh.none{color:var(--slate);font-style:italic;}
.v2-fresh-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0 2px;padding:8px 10px;background:var(--cream-card);border-radius:8px;}
.v2-fresh-row .v2-fresh{font-size:.84rem;white-space:normal;}
.v2-fresh-ask{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--slate);margin-left:auto;}
.v2-card-foot .v2-fresh{margin-left:4px;}

/* ---- Preferiti, nota privata e confronto (V2.0.56) ---- */
.v2-card{position:relative;}
.v2-card-foot{padding-right:78px;}
.v2-card-tools{position:absolute;right:8px;bottom:3px;display:flex;align-items:center;gap:6px;}
.v2-fav{cursor:pointer;font-size:1.15rem;line-height:1;color:var(--slate);padding:2px 3px;border-radius:4px;user-select:none;}
.v2-fav.on{color:#d79a1e;}
@media (hover:hover){.v2-fav:hover{background:var(--cream-card);}}
.v2-fav:focus-visible{outline:2px solid var(--ink);outline-offset:1px;}
.v2-cmp{position:relative;display:inline-flex;cursor:pointer;}
.v2-cmp input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.v2-cmp span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;border:1px solid var(--line);border-radius:5px;font-size:.85rem;color:var(--slate);background:#fff;}
.v2-cmp input:checked + span{background:var(--ink);color:#fff;border-color:var(--ink);}
.v2-cmp input:focus-visible + span{outline:2px solid var(--ink);outline-offset:1px;}
.v2-favbtn b{font-size:1.1rem;color:#d79a1e;font-weight:400;}
.v2-favbtn[aria-pressed=true]{border-color:#d79a1e;}
.v2-note-area{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit;font-size:.88rem;background:#fff;resize:vertical;min-height:70px;}
.v2-note-st{font-weight:400;font-size:.76rem;}
.v2-cmpbar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 10px 8px 18px;box-shadow:0 6px 24px rgba(0,0,0,.3);}
.v2-cmpbar[hidden]{display:none;}
.v2-cmpbar .agency-portal-button{padding:6px 16px;font-size:.84rem;background:#fff;color:var(--ink);}
.v2-cmpbar .agency-portal-button:disabled{opacity:.45;cursor:not-allowed;}
.v2-cmpbar .action-btn{color:#fff;border-color:rgba(255,255,255,.55);padding:5px 14px;font-size:.82rem;}
.v2-compare{z-index:2300;}
/* confronto: sul computer si apre come il pannello del candidato (finestra al centro, sfondo sfocato), non a tutto schermo */
@media (min-width:900px){
  .v2-sheet.v2-compare{background:rgba(20,22,26,.38);backdrop-filter:blur(7px) saturate(.9);-webkit-backdrop-filter:blur(7px) saturate(.9);align-items:center;justify-content:center;padding:4vh 0;cursor:pointer;}
  .v2-compare > .v2-sheet-bar{width:min(1180px,94vw);flex:none;border-radius:20px 20px 0 0;cursor:auto;}
  .v2-compare > .v2-cmp-wrap{width:min(1180px,94vw);flex:0 1 auto;background:#e9e7e1;border-radius:0 0 20px 20px;box-shadow:0 24px 60px rgba(0,0,0,.35);cursor:auto;}
}
.v2-cmp-wrap{flex:1;min-height:0;overflow:auto;padding:16px;}
.v2-cmp-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:560px;width:100%;table-layout:fixed;font-size:.9rem;}
.v2-cmp-table th,.v2-cmp-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);word-break:break-word;}
.v2-cmp-table tbody th{width:150px;font:500 .7rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);background:var(--cream-card);}
.v2-cmp-table tr.diff td{background:#fff8e6;}
.v2-cmp-col{text-align:center !important;}
.v2-cmp-col .v2-photo{width:64px;height:80px;margin:0 auto 8px;border-radius:8px;}
.v2-cmp-col b{display:block;font:700 .95rem 'Space Grotesk',sans-serif;margin-bottom:6px;}
.v2-cmp-col span{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
@media (max-width:820px){ .v2-cmpbar{bottom:10px;max-width:94vw;} }

/* ---- correzioni V2.0.57: barra del confronto, tabella pulita, pulsante nel riquadro dei profili ---- */
.v2-cmpbar .agency-portal-button{background:#fff;color:var(--ink);border-color:#fff;}
.v2-cmpbar .agency-portal-button:disabled{background:rgba(255,255,255,.16);color:rgba(255,255,255,.65);border-color:transparent;opacity:1;}
.v2-cmpbar .action-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);}
@media (hover:hover){.v2-cmpbar .action-btn:hover{background:rgba(255,255,255,.14);}}
.v2-cmp-table{table-layout:fixed;width:100%;min-width:0;margin:0 auto;}
.v2-cmp-table tr.diff td{background:transparent;}
.v2-cmp-table tbody tr:last-child th,.v2-cmp-table tbody tr:last-child td{border-bottom:0;}
.v2-cmp-table thead th{background:#fff;border-bottom:1px solid var(--line);}
.v2-cmp-table td{background:#fff;}
.v2-cmp-wrap{padding:18px 16px 30px;}
.v2-cell .v2-sheet-open{flex-direction:row;width:auto;gap:8px;padding:8px 14px;font-size:.84rem;margin:0;}
.v2-cell .v2-sheet-open svg{width:18px;height:18px;}
.v2-cell .v2-docs-head{gap:10px;flex-wrap:wrap;}
.v2-fresh-label{font:500 .66rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);}
.v2-fresh-row{justify-content:flex-start;}

/* ---- sovrapposizioni: la scheda aperta dal confronto sta sopra, poi anteprime e popup ---- */
#v2-modal.over{z-index:2400;}
.v2-sheet:not(.v2-compare){z-index:2450;}
.v2-preview{z-index:2450;}
.v2-popup-back{z-index:2500;}
.v2-bar-left{display:flex;align-items:center;gap:12px;min-width:0;}
.v2-bar-back{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid rgba(255,255,255,.5);border-radius:8px;background:transparent;color:#fff;cursor:pointer;}
.v2-bar-back:focus-visible{background:#fff;color:var(--ink);outline:none;}
@media (hover:hover){.v2-bar-back:hover{background:#fff;color:var(--ink);outline:none;}}
.v2-bar-back svg{width:20px;height:20px;}

/* ---- barra del confronto, versione rifinita (V2.0.90): un solo stile, stessa altezza, pulsanti a pillola ---- */
.v2-cmpbar{gap:10px;padding:7px 7px 7px 10px;background:var(--ink);color:#fff;border-radius:999px;box-shadow:0 8px 28px rgba(0,0,0,.32);align-items:center;}
.v2-cmp-n{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;box-sizing:border-box;border-radius:999px;background:#fff;color:var(--ink);font:700 .9rem 'Space Grotesk',sans-serif;}
.v2-cmp-txt{font:500 .9rem 'IBM Plex Sans',sans-serif;white-space:nowrap;margin-right:4px;}
.v2-cmp-go{height:36px;padding:0 20px;border:0;border-radius:999px;background:#fff;color:var(--ink);font:700 .88rem 'IBM Plex Sans',sans-serif;cursor:pointer;white-space:nowrap;}
@media (hover:hover){.v2-cmp-go:hover:not(:disabled){background:#e9e7e1;}}
.v2-cmp-go:disabled{background:rgba(255,255,255,.14);color:rgba(255,255,255,.55);cursor:not-allowed;}
.v2-cmp-clear{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;cursor:pointer;}
@media (hover:hover){.v2-cmp-clear:hover{background:rgba(255,255,255,.16);}}
.v2-cmp-clear svg{width:16px;height:16px;}
.v2-cmp-go:focus-visible,.v2-cmp-clear:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* ---- modello del profilo per il cliente (V2.0.90): colore e impaginazione scelti dallo staff per ogni agenzia ---- */

/* ---- home del portale (V2.0.90): cosa fare adesso, ricerche salvate, ultimi candidati ---- */
.v2-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.v2-home-head .v2-title{margin:0;}
.v2-home-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 6px;}
.v2-h2{font:600 .95rem 'Space Grotesk',sans-serif;margin:0 0 8px;color:var(--ink);}
.v2-h2-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 0 8px;}
.v2-home-cols .v2-h2-row{margin-top:0;}
.v2-h2-row .v2-h2{margin:0;}
.v2-link{background:none;border:0;padding:0;font:inherit;font-size:.82rem;color:var(--red);cursor:pointer;text-decoration:underline;}
.v2-todos{display:flex;flex-direction:column;gap:6px;}
.v2-todo{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;color:inherit;cursor:pointer;transition:border-color .12s;}
@media (hover:hover){.v2-todo:hover{border-color:var(--ink);}}
.v2-todo b{flex:none;min-width:28px;text-align:center;font:700 1rem 'Space Grotesk',sans-serif;background:var(--cream-card,#f4f2ec);border-radius:6px;padding:3px 6px;}
.v2-todo span{flex:1;font-size:.88rem;line-height:1.3;}
.v2-todo i{font-style:normal;color:var(--slate);font-size:1.2rem;line-height:1;}
.v2-todo-none{margin:0;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;color:var(--slate);font-size:.88rem;}
@media (max-width:760px){.v2-home-cols{grid-template-columns:1fr;gap:14px;}}
@media (max-width:760px){
  .v2-home-grid{grid-template-columns:repeat(3,1fr);gap:8px;}
  .v2-stat{padding:9px 10px;}
  .v2-stat .n{font-size:1.25rem;}
  .v2-stat .l{font-size:.72rem;margin-top:4px;}
}

/* ---- home del portale, seconda versione (V2.0.90): pipeline a barra, andamento, professioni, risultati ---- */
.v2-home-top{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:6px;}
.v2-card-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;}
.v2-card-box .v2-h2{margin-bottom:10px;}
.v2-small{font-size:.74rem;margin:6px 0 0;}
.v2-funnel{display:flex;gap:3px;height:26px;border-radius:6px;overflow:hidden;background:var(--cream-card,#f4f2ec);}
.v2-funnel.empty{background:repeating-linear-gradient(45deg,#f1efe9,#f1efe9 6px,#e9e6de 6px,#e9e6de 12px);}
.v2-funnel button{border:0;padding:0;cursor:pointer;min-width:8px;opacity:.95;}
@media (hover:hover){.v2-funnel button:hover{opacity:1;filter:brightness(1.12);}}
.v2-funnel .s0,.v2-legend .d0{background:#9aa3ad;}
.v2-funnel .s1,.v2-legend .d1{background:#5b6672;}
.v2-funnel .s2,.v2-legend .d2{background:#2d343c;}
.v2-funnel .s3,.v2-legend .d3{background:var(--red);}
.v2-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;}
.v2-leg{background:none;border:0;padding:2px 0;font:inherit;font-size:.8rem;color:var(--slate);cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.v2-leg b{color:var(--ink);}
.v2-leg i{width:9px;height:9px;border-radius:50%;display:inline-block;}
.v2-week{display:flex;align-items:flex-end;gap:14px;}
.v2-bignum{background:none;border:0;padding:0;cursor:pointer;font:700 2.3rem 'Space Grotesk',sans-serif;line-height:1;color:var(--ink);}
.v2-spark{height:44px;flex:1;min-width:0;max-width:200px;}
.v2-spark rect{fill:#c9ccd1;}
.v2-spark rect.cur{fill:var(--red);}
.v2-profsec{margin:16px 0 0;}
.v2-chipsn{display:flex;flex-wrap:wrap;gap:6px;}
.v2-chipn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font:inherit;font-size:.84rem;cursor:pointer;transition:border-color .12s;}
@media (hover:hover){.v2-chipn:hover{border-color:var(--ink);}}
.v2-chipn b{background:var(--cream-card,#f4f2ec);border-radius:999px;padding:1px 8px;font-size:.78rem;}
.v2-verified{margin:10px 0 0;font-size:.84rem;color:var(--slate);}
.v2-verified span{color:#2e7d4f;font-weight:700;}
.v2-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.v2-kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;}
.v2-kpi b{display:block;font:700 1.35rem 'Space Grotesk',sans-serif;line-height:1.1;}
.v2-kpi span{display:block;margin-top:4px;font-size:.76rem;color:var(--slate);}
.v2-news b{color:var(--red);background:none;}
.v2-onb{background:#fff;border:1px solid var(--ink);border-radius:10px;padding:12px 14px;margin-bottom:12px;}
.v2-onb ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;}
.v2-onb button{background:none;border:0;padding:2px 0;font:inherit;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-align:left;}
.v2-onb i{width:18px;height:18px;border:1.5px solid var(--slate);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:.7rem;flex:none;}
.v2-onb li.done i{background:#2e7d4f;border-color:#2e7d4f;color:#fff;}
.v2-onb li.done button{color:var(--slate);text-decoration:line-through;}
@media (max-width:760px){
  .v2-home-top{grid-template-columns:1fr;}
}
#v2-home .v2-h2{font-size:.95rem;line-height:1.3;}
/* telefono: il menu diventa una sola riga scorrevole (prima occupava 4 righe e spingeva giu' il contenuto) */
@media (max-width:860px){
  .v2-side{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px;scrollbar-width:none;}
  .v2-side::-webkit-scrollbar{display:none;}
  .v2-nav{flex-wrap:nowrap;width:auto;gap:2px;}
  .v2-tab{flex:none;padding:8px 11px;font-size:.84rem;white-space:nowrap;}
}
.v2-app-card{display:flex;gap:16px;align-items:flex-start;}
.v2-app-icon{flex:none;width:64px;height:64px;border-radius:14px;box-shadow:0 1px 6px rgba(0,0,0,.2);}
@media (max-width:520px){.v2-app-card{flex-direction:column;}}
button.action-btn.v2-handoff{margin-top:10px;width:100%;justify-content:center;background:var(--ink);color:var(--paper);border-color:var(--ink);padding:10px 14px;}
@media (hover:hover){button.action-btn.v2-handoff:hover{background:var(--red);border-color:var(--red);color:#fff;}}
button.action-btn.v2-handoff svg{width:17px;height:17px;flex:none;}
.v2-icon-btn.wa{color:#1da851;}
@media (hover:hover){.v2-icon-btn.wa:hover{background:#25d366;border-color:#25d366;color:#fff;}}
.v2-qr{display:flex;gap:16px;align-items:center;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;}
.v2-qr-img{flex:none;width:176px;height:176px;}
.v2-qr-img svg{width:100%;height:100%;display:block;}
.v2-qr-left{margin:0;font:500 .85rem 'IBM Plex Mono',monospace;color:var(--red);}
.v2-devices{list-style:none;margin:10px 0;padding:0;}
.v2-device{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);}
.v2-device:first-child{border-top:0;}
.v2-users{list-style:none;margin:10px 0 0;padding:0;}
.v2-user{padding:10px 0;border-top:1px solid var(--line);}
.v2-user:first-child{border-top:0;}
.v2-user-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.v2-user-form{margin-top:8px;max-width:420px;}
.v2-user-form input{width:100%;}
.v2-pipe-filter{display:flex;align-items:center;gap:8px;margin:0 0 12px;}
.v2-pipe-filter .v2-flabel{margin:0;}
.v2-fav-owner{margin:18px 0 10px;}
.v2-badge-this{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:6px;background:var(--ink);color:var(--paper);font:500 .68rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;}
@media (max-width:520px){.v2-qr{flex-direction:column;align-items:flex-start;}}
.v2-app-card .v2-actions{flex-wrap:wrap;}
.v2-theme{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.v2-theme .action-btn[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* nome dell'agenzia nella pagina di accesso del suo indirizzo dedicato (app.passo-oltre.ch/<agenzia>) */
.agency-login-name{text-align:center;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.05rem;margin:-6px 0 14px;}

/* sezione «Ore» */
.v2-hours-months{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;}
.v2-hours-months [aria-pressed="true"]{border-color:var(--red);color:var(--red);font-weight:600;}
.v2-hours-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:16px;}
.v2-hours-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.v2-hours-total b,.v2-hours-big b{font-size:1.4rem;}
.v2-hours-mode{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:.92rem;}
.v2-hours-weeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;}
.v2-hours-week{display:flex;flex-direction:column;gap:4px;font-size:.85rem;}
.v2-hours-week input{width:100%;}
.v2-hours-card .v2-actions{margin-top:12px;align-items:center;}
.v2-hours-sent{margin-bottom:16px;}
.v2-hours-status{font-size:.85rem;color:var(--slate,#667);}
.v2-hours-status.ok{color:#1c7c45;}
.v2-hours-status.warn{color:#b26a00;}
.v2-hours-card.locked{background:var(--paper-2,#f6f5f1);}
.v2-hours-lock{margin:6px 0 10px;padding:8px 10px;border-radius:6px;background:rgba(27,31,35,.06);font-size:.9rem;}
.v2-hours-lock.ok{background:rgba(28,124,69,.1);color:#1c7c45;}
.v2-hours-redo{margin:6px 0 10px;padding:8px 10px;border-radius:6px;background:rgba(214,64,44,.1);color:#a3301f;font-size:.9rem;}
.v2-hours-redo p{margin:4px 0 0;}
.v2-hours-note{margin:0 0 8px;font-size:.85rem;}
.v2-hours-period{font-size:.85rem;}
.v2-hours-week.out span{opacity:.6;}
.v2-hours-reportbox{margin-top:10px;}
.v2-hours-reportbox textarea{width:100%;}
.v2-qr-code{margin:10px 0 0;font-size:.9rem;}
.v2-qr-code b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem;letter-spacing:3px;}

/* ore (V2.0.97): elenco «Da fare» e inviate */
.v2-dot{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font:700 .7rem/18px 'IBM Plex Sans',sans-serif;text-align:center;flex:none;}
.v2-hintro{margin:-6px 0 14px;}
.v2-hhead{display:flex;align-items:center;gap:8px;margin:8px 0 10px;}
.v2-hcount{background:var(--red);color:#fff;border-radius:10px;padding:0 8px;font-size:.8rem;}
.v2-hlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:18px;}
.v2-hcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;}
.v2-hcard-who strong{font-size:1.02rem;}
.v2-hsub{font-size:.84rem;margin-top:2px;}
.v2-htag{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;background:rgba(27,31,35,.07);vertical-align:middle;}
.v2-htag.redo{background:rgba(214,64,44,.14);color:#a3301f;}
.v2-htag.asked{background:rgba(30,110,200,.13);color:#1b5ea6;}
.v2-htag.late{background:rgba(214,140,0,.16);color:#8a5a00;}
.v2-htag.ok{background:rgba(28,124,69,.13);color:#1c7c45;}
.v2-hnote{margin:8px 0 0;padding:7px 10px;border-radius:6px;font-size:.88rem;}
.v2-hnote.redo{background:rgba(214,64,44,.1);color:#a3301f;}
.v2-hnote.asked{background:rgba(30,110,200,.09);color:#1b5ea6;}
.v2-hrow{display:flex;align-items:center;gap:8px;margin-top:12px;}
.v2-hbig{width:110px;font-size:1.35rem;font-weight:600;text-align:right;padding:8px 10px;}
.v2-hunit{color:var(--slate,#667);margin-right:auto;}
.v2-hsum{font-size:1.25rem;}
.v2-hweeks .v2-hours-weeks{margin-top:10px;}
.v2-hdraft{margin:8px 0 0;font-size:.85rem;}
.v2-hswitch{margin-top:8px;font-size:.85rem;}
.v2-hsent-list{list-style:none;margin:8px 0 0;padding:0;}
.v2-hsent{padding:10px 0;border-top:1px solid var(--line);}
.v2-hsent:first-child{border-top:0;}
.v2-hsent-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.v2-hsent-total b{font-size:1.15rem;}
.v2-hreport{margin-top:8px;}
.v2-hreport textarea{width:100%;}
.v2-htotals{margin-top:16px;font-size:.88rem;}
@media (max-width:600px){.v2-hlist{grid-template-columns:1fr;}}

/* anteprima PDF disegnata con PDF.js */
.v2-pdfview{width:100%;height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px;background:#525659;}
.v2-pdfview canvas{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);max-width:100%;height:auto;}

/* offerte di lavoro (bacheca del sito, V2.0.222) */
.v2-offers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.v2-offer-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px;}
.v2-offer-form h3{font:700 1.05rem 'Space Grotesk',sans-serif;margin:0 0 4px;}
.v2-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
.v2-offer-f{display:flex;flex-direction:column;gap:4px;}
.v2-offer-f.wide{grid-column:1 / -1;}
.v2-offer-f input,.v2-offer-f select,.v2-offer-f textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:.9rem;background:var(--paper);}
.v2-offer-f textarea{resize:vertical;line-height:1.5;}
.v2-offer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.v2-offer-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;}
.v2-offer-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;}
.v2-offer-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.v2-offer-st{font-size:.72rem;border-radius:999px;padding:2px 9px;white-space:nowrap;border:1px solid var(--line);}
.v2-offer-st.st-published{background:#E3F1E8;border-color:#BFDCC9;color:#1F5A3A;}
.v2-offer-st.st-review{background:#FBF0D9;border-color:#EBD3A1;color:#7A5410;}
.v2-offer-st.st-rejected{background:#F8E0DC;border-color:#EBB9B0;color:#8C2A1C;}
.v2-offer-st.st-closed,.v2-offer-st.st-expired{opacity:.6;}
.v2-offer-reason{font-size:.85rem;color:#8C2A1C;margin:0;}
.v2-offer-apps{font-size:.85rem;}
.v2-offer-people{display:flex;flex-wrap:wrap;gap:6px;}
.v2-offer-person{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:3px 10px;font:inherit;font-size:.8rem;cursor:pointer;}
@media (hover:hover){.v2-offer-person:hover{border-color:var(--ink);}}
.v2-offer-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;}
@media (max-width:900px){.v2-offer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.v2-offer-grid{grid-template-columns:1fr;}.v2-offer-list{grid-template-columns:1fr;}}

/* candidato nelle zone dell'agenzia (V2.0.126) */
.v2-zone-mine{display:inline-block; margin-top:4px; font-size:.72rem; font-weight:600; color:#0f6b3a; background:#e6f4ec; border-radius:999px; padding:2px 8px;}
.v2-card-top{padding-bottom:6px;}

/* ricerca: mentre carica l'elenco resta com'e' (sbiadito) e la riga dei filtri attivi tiene il suo posto: niente salti */
.v2-grid.is-loading{pointer-events:none;}
#v2-search .v2-active{min-height:34px;}
.v2-badge.by-colleague{background:#e7e2d6;color:var(--ink);}

/* la barra di scorrimento verticale ha sempre il suo posto: comparendo (ricerca con filtri, finestra dei filtri) non sposta piu' la pagina a sinistra */
html:has(body.v2-app){scrollbar-gutter:stable;} /* e la barra sempre presente (qui sotto), cosi nessun browser la fa comparire e sparire */
.v2-zone-mine{align-self:flex-start;}
.v2-card{min-height:116px;}
html:has(body.v2-app){overflow-y:scroll;}

/* ===== V2.0.222: nuovo disegno di menu laterale, schede dei candidati e pipeline ===== */
html:has(body.v2-app){overflow-y:scroll;}
.v2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* menu laterale */
.v2-side{background:linear-gradient(180deg,#252b31 0%,#171a1e 100%);border-radius:18px;padding:20px 10px 14px;gap:14px;box-shadow:0 12px 32px rgba(20,23,26,.2);}
.v2-side-brand{font-size:1.18rem;padding:0 10px 4px;}
.v2-side-user{border:0;background:rgba(255,255,255,.06);border-radius:14px;padding:14px 8px;margin:0 2px;gap:4px;}
.v2-nav{gap:3px;}
.v2-tab{position:relative;border-radius:11px;padding:10px 12px;font-weight:500;color:rgba(250,249,246,.7);transition:background .15s,color .15s;}
@media (hover:hover){.v2-tab:hover{background:rgba(255,255,255,.07);color:#fff;}}
.v2-tab.active{background:rgba(255,255,255,.13);color:#fff;font-weight:600;}
.v2-tab.active::before{content:'';position:absolute;left:-10px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--red);}
.v2-side-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 4px 0;border-top:1px solid rgba(255,255,255,.1);}
.v2-side-lang{margin:0;background:rgba(255,255,255,.07);border-radius:999px;padding:3px;gap:2px;}
.v2-lang-opt{border-radius:999px;padding:4px 10px;}
.v2-lang-opt.is-current{background:var(--paper);color:var(--ink);}
.v2-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:120px;border:1px solid rgba(255,255,255,.25);background:transparent;color:rgba(250,249,246,.9);border-radius:999px;padding:8px 20px;font:600 .84rem 'IBM Plex Sans',sans-serif;cursor:pointer;transition:background .15s,border-color .15s;}
@media (hover:hover){.v2-logout:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff;}}
.v2-logout svg{width:15px;height:15px;}
.v2-side-bottom .v2-side-foot{margin:0;}

/* schede dei candidati: stesso disegno per tutte, il nome non si taglia, lo stato ha una riga sua */
.v2-grid{gap:14px;}
.v2-card{height:auto;min-height:0;border-radius:14px;border:1px solid #e7e3d9;box-shadow:0 1px 2px rgba(20,23,26,.05);transition:transform .15s,box-shadow .15s,border-color .15s;}
@media (hover:hover){.v2-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,23,26,.1);border-color:#cfc9bb;}}
.v2-card-top{padding:14px 14px 10px;gap:12px;}
.v2-card .v2-photo{width:52px;height:65px;border-radius:10px;}
.v2-card-body h3{font-size:1rem;}
.v2-card .v2-prof{font-weight:600;}
.v2-card .v2-line{display:flex;align-items:center;gap:0;}
.v2-card .v2-line span:last-child{overflow:hidden;text-overflow:ellipsis;}
.v2-zdot{flex:none;width:8px;height:8px;border-radius:50%;background:#1f9d55;margin-right:7px;box-shadow:0 0 0 3px rgba(31,157,85,.15);}
.v2-card-status{margin-top:8px;}
.v2-chip{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .74rem 'IBM Plex Sans',sans-serif;border-radius:999px;padding:3px 10px;}
.v2-chip.me{background:var(--ink);color:var(--paper);}
.v2-chip.col{background:#ece7da;color:var(--ink);}
.v2-card-foot{padding:9px 14px;background:#faf8f3;border-top:1px solid #eee9de;}
.v2-card .v2-rate{position:absolute;top:12px;right:12px;}

/* pipeline */
.v2-col{border-radius:14px;transition:box-shadow .15s,border-color .15s;}
.v2-col.drop{border-color:var(--red);box-shadow:0 0 0 3px rgba(214,64,44,.15);}
.v2-col-head{border-radius:13px 13px 0 0;}
.v2-mini{border-radius:12px;transition:transform .12s,box-shadow .12s,border-color .12s,opacity .12s;}
.v2-mini[draggable="true"]{cursor:grab;}
@media (hover:hover){.v2-mini:hover{box-shadow:0 8px 20px rgba(20,23,26,.1);}}
.v2-mini.dragging{opacity:.4;}
.v2-mini.stale1{border-left:4px solid #e0a63a;}
.v2-mini.stale2{border-left:4px solid var(--red);}
.v2-stale-tag{margin-top:4px;font:600 .72rem 'IBM Plex Sans',sans-serif;color:#9a6b12;}
.v2-mini.stale2 .v2-stale-tag{color:var(--red);}
.v2-next{white-space:nowrap;}

@media (max-width:860px){
  .v2-side{border-radius:14px;padding:10px;}
  .v2-tab.active::before{display:none;}
  .v2-side-bottom{margin:0 0 0 auto;flex-direction:row;border:0;padding:0;gap:8px;}
  .v2-side-bottom .v2-side-foot{display:none;}
  .v2-logout{min-width:0;padding:7px 12px;}
}

/* esito della chiamata, passaggio a un collega, «come il mese scorso» */
.v2-outcome{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.3);max-width:calc(100vw - 24px);font-size:.9rem;}
.v2-outcome-btns{display:flex;gap:6px;flex-wrap:wrap;}
.v2-outcome .action-btn{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.v2-outcome-x{background:none;border:0;color:inherit;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 4px;}
.v2-handover{margin-top:10px;}
.v2-handover select{width:100%;}
.v2-likelast{white-space:nowrap;margin-right:8px;}

/* scheda del candidato in due colonne, tasto non piu' a tutta larghezza */
@view-transition { navigation: auto; }
.v2-big{width:auto;min-width:210px;padding:11px 26px;}
.v2-cell-status .v2-note{margin:0 0 12px;}
.v2-note.v2-reserved{background:#f3ece0;}
.v2-chip.res{background:#efe9dc;color:#6b5a2f;}
.v2-d-body{padding-top:14px;}
.v2-detail .v2-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;}

/* ===== pipeline ridisegnata (V2.0.144): colonne alla pari, un colore per passo, schede compatte, tasto «avanti» ben visibile ===== */
.v2-board.v2-board-4{grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;align-items:stretch;overflow-x:auto;padding-bottom:10px;}
.v2-col{--acc:#8a9097;position:relative;background:#fff;border:1px solid #e7e3d9;border-radius:16px;min-height:340px;overflow:hidden;box-shadow:0 1px 2px rgba(20,23,26,.04);}
.v2-col[data-status="interessato"]{--acc:#7b8794;}
.v2-col[data-status="provo"]{--acc:#d9902f;}
.v2-col[data-status="inviato_cliente"]{--acc:#3b7dd8;}
.v2-col[data-status="piazzato"]{--acc:#2f9e63;}
.v2-col::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--acc);}
.v2-col-head{background:none;border:0;border-radius:0;padding:16px 14px 10px;font:700 .9rem 'Space Grotesk',sans-serif;}
.v2-col-head .cnt{background:var(--acc);color:#fff;min-width:26px;text-align:center;}
.v2-col-body{background:none;border-radius:0;padding:4px 10px 12px;gap:10px;}
.v2-col-empty{border:2px dashed #e2ddd0;border-radius:12px;color:var(--slate);font-size:.82rem;padding:28px 10px;text-align:center;}
.v2-col.drop{background:#fdf6f4;}
.v2-col.drop .v2-col-empty{border-color:var(--red);color:var(--red);}
.v2-mini{grid-template-columns:44px minmax(0,1fr);gap:8px 10px;padding:12px;border:1px solid #ebe7dd;border-radius:12px;box-shadow:0 1px 2px rgba(20,23,26,.04);}
.v2-mini .v2-photo{width:44px;height:55px;border-radius:9px;}
.v2-mini-name{font:700 .95rem 'Space Grotesk',sans-serif;}
.v2-mini .v2-line{font-size:.8rem;}
.v2-mini-actions{grid-column:1 / -1;display:flex;gap:6px;align-items:center;margin-top:2px;}
.v2-mini-actions .v2-next{flex:1;background:var(--ink);color:var(--paper);border-color:var(--ink);border-radius:9px;padding:7px 10px;font-weight:600;}
@media (hover:hover){.v2-mini-actions .v2-next:hover{background:#000;}}
.v2-mini-actions .v2-move{flex:none;width:36px;padding:7px 4px;border-radius:9px;color:transparent;background:#faf8f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231b1f23' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/16px no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer;}
.v2-mini-actions .v2-move option{color:var(--ink);}
.v2-mini-actions .v2-end-btn{flex:1;border-radius:9px;}
@media (max-width:1100px){.v2-board.v2-board-4{grid-template-columns:repeat(4,240px);}}

/* ===== pipeline V2.0.222: sobria, colonne tenui, schede piatte, azioni discrete, archivio a righe ===== */
#v2Root .v2-board.v2-board-4{gap:12px;}
#v2Root .v2-col{background:#f3f0e8;border:0;box-shadow:none;border-radius:12px;min-height:260px;}
#v2Root .v2-col::before{display:none;}
#v2Root .v2-col-head{justify-content:flex-start;gap:8px;padding:14px 14px 8px;font:600 .78rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5b6168;}
#v2Root .v2-col-head .cnt{margin-left:auto;background:none;color:#5b6168;min-width:0;padding:0;font-weight:600;font-size:.8rem;letter-spacing:0;}
#v2Root .v2-col-body{padding:2px 8px 10px;gap:8px;}
#v2Root .v2-col-empty{border:0;border-radius:8px;padding:18px 8px;color:#a29d90;font-size:.8rem;text-align:center;}
#v2Root .v2-col.drop{background:#ebe6d9;outline:2px dashed #b9b2a0;outline-offset:-6px;}
#v2Root .v2-col.drop .v2-col-empty{color:var(--ink);}
#v2Root .v2-mini{grid-template-columns:40px minmax(0,1fr);gap:6px 10px;padding:10px 11px;border:1px solid #e6e1d4;border-radius:9px;box-shadow:none;background:#fff;}
@media (hover:hover){#v2Root .v2-mini:hover{box-shadow:0 2px 8px rgba(20,23,26,.08);transform:none;}}
#v2Root .v2-mini .v2-photo{width:40px;height:50px;border-radius:7px;font-size:.8rem;}
#v2Root .v2-mini-info{min-height:0;gap:1px;}
#v2Root .v2-mini-name{font:600 .88rem 'IBM Plex Sans',sans-serif;}
#v2Root .v2-mini .v2-line{font-size:.78rem;color:#6a6f76;}
#v2Root .v2-mini-meta{color:#8b8f95;font-size:.74rem;}
#v2Root .v2-mini.stale1{border-left:3px solid #e0a63a;}
#v2Root .v2-mini.stale2{border-left:3px solid var(--red);}
#v2Root .v2-mini-actions{margin-top:4px;gap:6px;}
#v2Root .v2-mini .v2-next{flex:1;width:auto;height:28px;background:transparent;color:var(--ink);border:1px solid #d6d0c1;border-radius:7px;font:500 .76rem 'IBM Plex Sans',sans-serif;}
@media (hover:hover){#v2Root .v2-mini .v2-next:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}}
#v2Root .v2-mini .v2-end-btn{flex:1;width:auto;height:28px;border-radius:7px;}
#v2Root .v2-mini select.v2-move,#v2Root .v2-arow select.v2-move{flex:none;width:28px;min-width:28px;height:28px;padding:0;border:1px solid #d6d0c1;border-radius:7px;color:transparent;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a6f76' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer;}
#v2Root .v2-move option{color:var(--ink);}
.v2-archive{border:0;background:none;padding:0;margin-top:20px;}
.v2-archive summary{color:#5b6168;font:600 .8rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 0;}
.v2-archive > .v2-muted{margin:4px 0 10px !important;font-size:.82rem;}
.v2-archive-grid{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e6e1d4;border-radius:10px;overflow:hidden;}
.v2-arow{display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid #efebe0;cursor:pointer;}
.v2-arow:first-child{border-top:0;}
@media (hover:hover){.v2-arow:hover{background:#faf8f3;}}
.v2-arow .v2-photo{width:30px;height:38px;border-radius:6px;font-size:.7rem;flex:none;}
.v2-arow-main{flex:1;min-width:0;}
.v2-arow .v2-mini-name{font:600 .88rem 'IBM Plex Sans',sans-serif;}
.v2-arow .v2-line{font-size:.78rem;color:#6a6f76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v2-achip{flex:none;font:600 .72rem 'IBM Plex Sans',sans-serif;padding:3px 10px;border-radius:999px;background:#eceae3;color:#5b6168;}
.v2-achip.done{background:#e3f1e8;color:#23704a;}
.v2-achip.lost{background:#f6e4e1;color:#a2392b;}
.v2-achip.exp{background:#f4ecd8;color:#8a6414;}
@media (max-width:600px){.v2-arow{flex-wrap:wrap;}.v2-achip{order:3}}

/* ===== home V2.0.222: saluto, numeri in alto, due colonne (da fare / professioni), ultimi candidati ===== */
#v2-home .v2-home-head{margin-bottom:18px;}
#v2-home .v2-title{font-size:1.6rem;}
#v2-home .v2-h2{font:600 .78rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5b6168;margin:0 0 10px;}
#v2-home .v2-h2-row{margin:26px 0 10px;}
#v2-home .v2-h2-row .v2-h2{margin:0;}
#v2-home .v2-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px;}
#v2-home .v2-kpi{border:1px solid #e6e1d4;border-radius:12px;padding:14px 16px;}
#v2-home .v2-kpi b{font-size:1.7rem;}
#v2-home .v2-kpi span{font-size:.78rem;margin-top:6px;}
.v2-home-cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start;}
.v2-home-cols2 > .v2-profsec{margin:0;}
@media (max-width:860px){.v2-home-cols2{grid-template-columns:1fr;gap:18px;}}
#v2-home .v2-todos{gap:8px;}
#v2-home .v2-todo{border:1px solid #e6e1d4;border-radius:12px;padding:12px 14px;}
@media (hover:hover){#v2-home .v2-todo:hover{border-color:var(--ink);}}
#v2-home .v2-todo b{background:#f3f0e8;border-radius:8px;}
#v2-home .v2-todo-none{border:1px solid #e6e1d4;border-style:solid;border-radius:12px;background:#fff;padding:14px;}
#v2-home .v2-chipn{border-color:#e6e1d4;padding:6px 7px 6px 14px;}
#v2-home .v2-chipn b{background:#f3f0e8;}
#v2-home .v2-onb{border:1px solid #e6e1d4;border-radius:12px;background:#fff;margin-bottom:18px;}

/* calendario della data di inizio: sempre aperto, da oggi a un mese */
.v2-cal{margin:6px 0 4px;}
.v2-cal-dow,.v2-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.v2-cal-dow span{text-align:center;font:600 .7rem 'IBM Plex Sans',sans-serif;color:#8b8f95;padding:2px 0;}
.v2-cal-day{position:relative;height:40px;border:1px solid #e6e1d4;border-radius:8px;background:#fff;font:600 .88rem 'IBM Plex Sans',sans-serif;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.v2-cal-day small{position:absolute;top:2px;left:4px;font:600 .55rem 'IBM Plex Sans',sans-serif;text-transform:uppercase;color:#8b8f95;}
@media (hover:hover){.v2-cal-day:hover{border-color:var(--ink);}}
.v2-cal-day.today{border-color:var(--ink);}
.v2-cal-day.sel{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.v2-cal-day.sel small{color:var(--paper);}
.v2-cal-day.off{background:none;border-color:transparent;color:#cfcabb;cursor:default;font-weight:400;}

/* cantiere: localita' e due date nel pannello filtri */
.v2-site-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;}
.v2-site-dates input{width:100%;}
#v2-site-clear{margin-top:6px;}

/* cantieri salvati */
.v2-site-stats{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;margin:8px 0 6px;font-size:.88rem;}
.v2-site-stats span{color:var(--slate);}
.v2-site-faces{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 10px;}
.v2-site-face{display:flex;flex-direction:column;align-items:center;gap:3px;width:62px;cursor:pointer;}
.v2-site-face img,.v2-site-face b{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#2a3036;color:#fff;display:flex;align-items:center;justify-content:center;font:700 .95rem 'Space Grotesk',sans-serif;border:2px solid transparent;}
.v2-site-face.in img,.v2-site-face.in b{border-color:#2f9e63;}
.v2-site-face small{font-size:.68rem;color:var(--slate);max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* pipeline su telefono: colonne una sotto l'altra, ognuna si apre e si chiude */
.v2-col-head[role=button]{cursor:default;}
@media (max-width:700px){
  #v2Root .v2-board.v2-board-4{display:flex;flex-direction:column;overflow:visible;gap:10px;}
  #v2Root .v2-col{min-height:0;}
  #v2Root .v2-col-head[role=button]{cursor:pointer;}
  #v2Root .v2-col-head::after{content:'';width:8px;height:8px;border-right:2px solid #5b6168;border-bottom:2px solid #5b6168;transform:rotate(45deg);margin-left:10px;margin-top:-4px;}
  #v2Root .v2-col.collapsed .v2-col-head::after{transform:rotate(-45deg);margin-top:0;}
  #v2Root .v2-col.collapsed .v2-col-body{display:none;}
  #v2Root .v2-col-head .cnt{margin-left:auto;}
}

/* pipeline per cantiere: una riga di scelte sopra le colonne */
.v2-pipe-sites{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
.v2-pipe-sites .v2-fchip b{margin-left:6px;font-weight:600;opacity:.7;}
.v2-pipe-sites .v2-fchip-main{flex:1 1 100%;padding:12px 18px;font-size:1rem;font-weight:600;border-radius:12px;text-align:left;}

/* ===== V2.0.222: cantiere in vista, novita' della home, archivio quieto ===== */
.v2-toolbar{row-gap:10px;}
.v2-siterow{flex:1 1 100%;order:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border:1px dashed #cfc9bb;border-radius:10px;background:#faf8f3;}
.v2-siterow.on{border-style:solid;border-color:var(--ink);background:#fff;}
.v2-siterow-l{font:600 .78rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5b6168;}
.v2-siterow-place{position:relative;flex:1 1 220px;min-width:180px;}
.v2-siterow input[type=text],.v2-siterow input[type=date]{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.88rem;background:#fff;}
.v2-siterow-place input{width:100%;}
.v2-siterow-arrow{color:var(--slate);}
.v2-siterow-hint{flex:1 1 100%;margin:0;font-size:.76rem;color:var(--slate);}
.v2-site-banner{flex:1 1 100%;margin:0;font-size:.84rem;background:#f3ece0;border-radius:8px;padding:8px 10px;}
.v2-site-banner[hidden]{display:none;}
.v2-toolbar-prof{order:0;}
.v2-toolbar-region{order:2;}
.v2-toolbar-hide{order:2;margin-top:0;white-space:nowrap;}
#v2Root .v2-toolbar-btn{order:3;}
.v2-link#v2-reset,#v2-reset{order:4;}
.v2-card-site{margin-top:8px;}
.v2-feed-card{background:#fff;border:1px solid #e6e1d4;border-radius:12px;padding:12px 14px;margin:0 0 10px;}
.v2-feed-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.v2-feed-kind{font:600 .72rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5b6168;}
.v2-feed-people{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;}
.v2-feed-p{display:flex;align-items:center;gap:8px;background:#faf8f3;border:1px solid #eee9de;border-radius:10px;padding:6px 10px 6px 6px;cursor:pointer;text-align:left;font:inherit;}
@media (hover:hover){.v2-feed-p:hover{border-color:var(--ink);}}
.v2-feed-p .v2-photo{width:34px;height:42px;border-radius:7px;font-size:.75rem;}
.v2-feed-p b{display:block;font-size:.86rem;}
.v2-feed-p small{display:block;font-size:.74rem;color:var(--slate);}
.v2-feed-chat{list-style:none;margin:0;padding:0;}
.v2-feed-chat li + li{border-top:1px solid #efebe0;}
.v2-feed-chat button{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;width:100%;text-align:left;background:none;border:0;padding:8px 0;font:inherit;cursor:pointer;align-items:baseline;}
.v2-feed-chat span{color:var(--slate);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v2-feed-chat small{color:#8b8f95;font-size:.72rem;}
.v2-arc-h{margin:14px 0 4px;font:600 .74rem 'IBM Plex Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#6a6f76;}
.v2-archive-list{list-style:none;margin:0;padding:0;}
.v2-archive-list .v2-arow{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(0,1.2fr) minmax(110px,auto) auto;gap:10px;align-items:baseline;padding:7px 2px;border-top:1px solid #efebe0;cursor:pointer;background:none;}
.v2-archive-list .v2-arow:first-child{border-top:0;}
@media (hover:hover){.v2-archive-list .v2-arow:hover{background:none;}}
.v2-arow-prof{color:#6a6f76;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v2-arow-what{color:#8b8f95;font-size:.8rem;text-align:right;}
.v2-archive-list .v2-mini-name{font-weight:500;}
@media (max-width:700px){.v2-archive-list .v2-arow{grid-template-columns:1fr auto;}.v2-arow-prof{grid-column:1;}.v2-arow-what{grid-column:2;grid-row:1;}}
.v2-withdraw{margin-top:10px;color:#a2392b;}

/* ricerca nella pipeline e calendario del collocamento con i giorni passati */
.v2-pipe-search{margin:0 0 12px;}
.v2-pipe-search input{width:100%;max-width:420px;padding:10px 12px;border:1px solid #d9d4c4;border-radius:8px;font:500 .92rem 'IBM Plex Sans',sans-serif;background:#fff;color:var(--ink);}
.v2-pipe-search input:focus{outline:none;border-color:var(--ink);}
.v2-cal-scroll{position:relative;max-height:252px;overflow-y:auto;overscroll-behavior:contain;}

/* ---- sul telefono (V2.0.235): tocco, schermo alto, campi, scorrimento. Solo comportamento, il disegno non cambia ---- */
html{touch-action:manipulation; -webkit-text-size-adjust:100%}
button, summary, [role=button]{-webkit-user-select:none; user-select:none; -webkit-touch-callout:none}
@supports (height:100dvh){
  .v2-filters{max-height:calc(100dvh - 24px)}
  .v2-modal{max-height:100dvh}
}
.v2-board, .v2-table-wrap{overscroll-behavior-x:contain}
@media (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea{font-size:16px !important}
}

/* =====================================================================
   V2.0.241 - portale nello stesso disegno del sito pubblico
   (un solo sistema di campi, pulsanti e carte; titoli normali e non tutto maiuscolo; risposta al tocco;
   sul telefono le schede in basso, dove arriva il pollice, e la scheda del candidato che sale dal basso)
   ===================================================================== */
:root{--btn:#C4361F; --btn-hover:#AA2E1A; --r-field:12px; --r-card:16px; --field:#F7F6F3;
  --sh-card:0 1px 2px rgba(27,31,35,.04), 0 10px 26px -18px rgba(27,31,35,.22);
  --sh-float:0 2px 6px rgba(27,31,35,.06), 0 30px 60px -24px rgba(27,31,35,.35);
  --spring:cubic-bezier(.32,.72,0,1)}
html[data-theme="dark"]{--field:#1b1f23; --btn:#d0503d; --btn-hover:#e0614d; --sh-card:0 1px 0 rgba(255,255,255,.03); --sh-float:0 30px 60px -24px rgba(0,0,0,.6)}

/* --- accesso --- */
body .agency-portal-container{min-height:100vh; min-height:100dvh; padding:24px 16px}
body .agency-portal-card{border:1px solid var(--line); border-radius:28px; padding:44px 40px 36px; max-width:440px; box-shadow:var(--sh-float); background:var(--paper)}
body .agency-portal-card h1{font:700 2rem/1 'Space Grotesk',sans-serif; letter-spacing:-.03em}
body .agency-portal-card .tagline{margin-bottom:18px; font-size:1rem}
body .agency-portal-form{gap:18px}
body .agency-portal-form label{font:600 .9rem 'Space Grotesk',sans-serif; text-transform:none; letter-spacing:-.005em; color:var(--ink); margin-bottom:8px}
body .agency-portal-form input, body .agency-portal-form select{height:52px; padding:0 16px; border:1.5px solid var(--line); border-radius:var(--r-field); background:var(--field); font:400 16px 'IBM Plex Sans',sans-serif; transition:border-color .15s, box-shadow .15s, background-color .15s}
body .agency-portal-form input:focus, body .agency-portal-form select:focus{outline:0; border-color:var(--ink); background:var(--paper); box-shadow:0 0 0 4px rgba(27,31,35,.07)}
@media (max-width:480px){ body .agency-portal-card{padding:32px 22px 26px; border-radius:22px} }

/* --- pulsanti: rosso pieno per l'azione, contorno per il resto; si premono al tocco --- */
body .agency-portal-button{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 20px; border-radius:var(--r-field); background:var(--btn);
  font:700 .95rem 'Space Grotesk',sans-serif; letter-spacing:-.005em; transition:background-color .18s, transform .4s var(--spring), box-shadow .18s}
body #loginForm .agency-portal-button{height:52px; font-size:1rem; margin-top:6px}
@media (hover:hover){ body .agency-portal-button:hover{opacity:1; background:var(--btn-hover)} }
body .agency-portal-button:active, #v2Root .action-btn:active, .v2-tab:active, .v2-subtab:active, .v2-card:active, .v2-mini:active{transform:scale(.97); transition-duration:.08s}
#v2Root .action-btn{border-radius:10px; min-height:36px}
@media (pointer:coarse){ #v2Root .action-btn{min-height:44px} }

/* --- titoli: frase normale, grandi, con le lettere strette come sul sito --- */
.v2-title{font:700 1.75rem/1.15 'Space Grotesk',sans-serif; text-transform:none; letter-spacing:-.03em; margin:2px 0 16px}
.v2-title small, .v2-title span{text-transform:none; letter-spacing:0; font-weight:500}
.v2-h2{letter-spacing:-.02em}

/* --- campi --- */
#v2Root input[type=text], #v2Root input[type=search], #v2Root input[type=email], #v2Root input[type=password], #v2Root input[type=number],
#v2Root input[type=tel], #v2Root input[type=date], #v2Root select, #v2Root textarea, .v2-modal input[type=text], .v2-modal input[type=date], .v2-modal select, .v2-modal textarea{
  border-radius:var(--r-field) !important; border:1.5px solid var(--line) !important; background-color:var(--field) !important; min-height:44px;
  transition:border-color .15s, box-shadow .15s, background-color .15s}
#v2Root textarea, .v2-modal textarea{min-height:96px}
#v2Root input:focus, #v2Root select:focus, #v2Root textarea:focus, .v2-modal input:focus, .v2-modal select:focus, .v2-modal textarea:focus{
  outline:0; border-color:var(--ink) !important; background-color:var(--paper) !important; box-shadow:0 0 0 4px rgba(27,31,35,.07)}

/* --- carte: angoli morbidi e ombra leggera --- */
.v2-card, .v2-col, .v2-mini, .v2-set-card, #v2-prefs .v2-set-card, .v2-filters, .v2-todo, .v2-card-box, .v2-feed-card, .v2-stat, .v2-kpi, .v2-onb, .v2-siterow, .v2-empty{border-radius:var(--r-card)}
.v2-card, .v2-mini, .v2-set-card, .v2-todo, .v2-card-box, .v2-feed-card, .v2-onb{box-shadow:var(--sh-card)}
.v2-card{transition:border-color .15s, box-shadow .2s, transform .45s var(--spring)}
@media (hover:hover){ .v2-card:hover, .v2-mini:hover{box-shadow:var(--sh-float); transform:translateY(-2px)} }
.v2-photo{border-radius:12px !important}
.v2-col{box-shadow:none}

/* --- schede in alto (Tutti, Cantieri...): pillole, come la scelta chi sei del sito --- */
.v2-subtabs{gap:6px; border-bottom:0; margin-bottom:18px}
.v2-subtab{border:1.5px solid var(--line); border-radius:999px; margin:0; padding:0 16px; min-height:40px; display:inline-flex; align-items:center; background:var(--paper); transition:background-color .2s, color .2s, border-color .2s, transform .4s var(--spring)}
.v2-subtab.active{background:var(--ink); border-color:var(--ink); color:var(--paper)}
@media (hover:hover){ .v2-subtab:not(.active):hover{border-color:var(--ink)} }

/* --- menu laterale --- */
.v2-side{border-radius:22px; box-shadow:var(--sh-float)}
.v2-tab{border-radius:12px; min-height:42px; padding:0 12px}
.v2-tab.active{background:rgba(255,255,255,.14)}

/* --- finestra del candidato: piu' morbida; sul telefono sale dal basso come un foglio --- */
.v2-modal{border-radius:24px !important; box-shadow:var(--sh-float) !important; border:0 !important}
.v2-modal .modal-close{width:40px; height:40px; box-shadow:0 2px 8px rgba(27,31,35,.12)}
@keyframes v2-sheet-up{from{transform:translateY(100%)} to{transform:none}}
@keyframes v2-fade-in{from{opacity:0} to{opacity:1}}
@media (max-width:560px){
  .modal-overlay{align-items:flex-end !important; animation:v2-fade-in .25s ease}
  .v2-modal{max-height:94vh !important; max-height:94dvh !important; border-radius:22px 22px 0 0 !important; animation:v2-sheet-up .45s var(--spring)}
  .v2-modal::before{content:''; display:block; width:40px; height:5px; border-radius:3px; background:var(--line); margin:8px auto 0}
}
@media (prefers-reduced-motion:reduce){ .modal-overlay, .v2-modal{animation:none !important} }

/* --- telefono: le schede del portale in basso, dove arriva il pollice (come nell'app) --- */
@media (max-width:860px){
  .v2-side{position:static; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:10px; padding:10px 12px; border-radius:18px; box-shadow:none}
  .v2-side-brand{display:block; padding:0 4px}
  .v2-side-bottom{margin:0 0 0 auto; gap:6px}
  .v2-nav{position:fixed; left:10px; right:10px; bottom:calc(10px + env(safe-area-inset-bottom)); z-index:60; display:grid !important; grid-template-columns:repeat(6, minmax(0,1fr)); gap:2px;
    width:auto; padding:6px; background:var(--ink); border-radius:22px; box-shadow:0 18px 40px -16px rgba(27,31,35,.55)}
  html[data-theme="dark"] .v2-nav{background:#2b3239}
  .v2-tab{position:relative; flex-direction:column; justify-content:center; gap:3px; min-height:54px; padding:4px 2px; border-radius:16px; font-size:.68rem; text-align:center; width:auto}
  .v2-tab svg{width:21px; height:21px}
  .v2-tab span{flex:none; width:100%; overflow:hidden; text-overflow:ellipsis}
  .v2-tab .v2-dot{position:absolute; top:6px; right:calc(50% - 16px); margin:0}
  body.v2-app .v2-main{padding-bottom:110px}
}
@media (max-width:380px){ .v2-side-brand{font-size:.95rem} } /* V2.1.25: prima nascosto, la barra in alto restava vuota */
@media (max-width:860px){ .v2-side{min-width:0} .v2-side-lang{flex:none} .v2-lang-opt{padding:6px 6px} }
@media (max-width:520px){ .v2-logout span{display:none} .v2-logout{padding:0; width:40px; height:40px; min-width:40px; border-radius:12px} .v2-side{gap:6px; padding:8px 10px} }

/* =====================================================================
   V2.0.253 - portale piu' semplice: barra «Professione · Dove · Filtri», tre schede, pipeline a tre colonne,
   scheda del candidato con il passo successivo in primo piano, etichette scritte normali, «Altro» sul telefono
   ===================================================================== */
/* etichette: frase normale (non piu' maiuscolo da macchina da scrivere) */
.v2-flabel, .v2-fact b, .v2-status-line b{font:600 .85rem 'Space Grotesk',sans-serif; text-transform:none; letter-spacing:-.005em; color:var(--ink)}
.v2-fact b{color:var(--slate); font-weight:500}
/* barra di ricerca: una riga sola (professione, dove, filtri), sotto le due scelte rapide */
#v2Root .v2-toolbar{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:10px; align-items:center}
#v2Root .v2-toolbar-prof{min-width:0; order:0}
#v2Root .v2-toolbar-prof input, #v2Root .v2-siterow-place input{height:46px}
#v2Root .v2-go{height:46px;padding:0 20px;flex:none;border-radius:8px}
#v2Root .v2-siterow{order:0; display:flex; align-items:center; gap:8px; padding:0; border:0; background:none; min-width:0}
#v2Root .v2-siterow.on .v2-siterow-place input{border-color:var(--ink) !important; background-color:var(--paper) !important}
#v2Root .v2-toolbar-btn{order:0; height:46px}
.v2-toolbar-row2{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px}
.v2-toolbar-row2 .v2-toolbar-hide{order:0}
.v2-fav-btn{min-height:34px}
.v2-toolbar-row2 #v2-reset{margin-left:auto}
#v2Root .v2-toolbar .v2-site-banner{grid-column:1 / -1; margin:0}
@media (max-width:760px){
  #v2Root .v2-toolbar{grid-template-columns:minmax(0,1fr) auto}
  #v2Root .v2-toolbar-prof{grid-column:1 / -1}
  .v2-toolbar-row2 #v2-reset{margin-left:0}
}
/* periodo nei filtri */
.v2-period{display:flex; align-items:center; gap:8px}
.v2-period input{flex:1; min-width:0}
.v2-small{font-size:.8rem}
/* risultati vuoti perche' gia' in pipeline */
.v2-hidden-note{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin:0; padding:14px; color:var(--slate); text-align:center}
/* scheda del candidato: «Altre azioni» */
.v2-modal-next{width:100%; min-height:48px}
.v2-more-actions{margin-top:12px; border-top:1px solid var(--line); padding-top:6px}
.v2-more-actions summary{display:flex; align-items:center; justify-content:space-between; min-height:40px; cursor:pointer; font:600 .9rem 'Space Grotesk',sans-serif; color:var(--slate); list-style:none}
.v2-more-actions summary::-webkit-details-marker{display:none}
.v2-more-actions summary::after{content:'+'; font-weight:400; color:var(--red)}
.v2-more-actions[open] summary::after{content:'\2212'}
.v2-more-body{display:grid; gap:10px; padding:4px 0 2px}
.v2-more-body select{width:100%}
/* pipeline a tre colonne */
#v2Root .v2-board.v2-board-3{grid-template-columns:repeat(3,minmax(220px,1fr))}
@media (max-width:1100px){ #v2Root .v2-board.v2-board-3{grid-template-columns:repeat(3,260px)} }
@media (max-width:860px){ #v2Root .v2-board.v2-board-3{display:flex} }
/* home: pipeline in numeri */
.v2-pipe-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:6px}
.v2-pipe-stat{display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:14px 16px; border:1px solid var(--line); border-radius:var(--r-card); background:var(--paper); box-shadow:var(--sh-card);
  cursor:pointer; text-align:left; font:inherit; color:var(--ink); transition:transform .4s var(--spring), border-color .15s}
.v2-pipe-stat b{font:700 1.6rem/1 'Space Grotesk',sans-serif; letter-spacing:-.03em}
.v2-pipe-stat span{font-size:.85rem; color:var(--slate)}
.v2-pipe-stat:active{transform:scale(.97); transition-duration:.08s}
@media (hover:hover){ .v2-pipe-stat:hover{border-color:var(--ink)} }
/* impostazioni: per l'accesso principale gli utenti vengono prima */
.v2-set-grid #v2-users-card{order:-1}
.v2-mob-only{display:none}
.v2-tab-short{display:none}
.v2-more-list{display:grid; gap:2px}
.v2-more-item{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:0 4px; border:0; border-bottom:1px solid var(--line); background:none; font:500 1rem 'IBM Plex Sans',sans-serif; color:var(--ink); text-align:left; cursor:pointer}
.v2-more-item i{font-style:normal; color:var(--slate); font-size:1.3rem}
.v2-more-out{color:var(--red); border-bottom:0}
.v2-more-lang .v2-side-lang{display:flex; gap:4px}
/* telefono: in alto solo il logo; in basso cinque voci (Offerte, lingua e uscita stanno in «Altro») */
@media (max-width:860px){
  .v2-mob-only{display:block; order:-2}
  .v2-tab-full{display:none}
  .v2-tab-short{display:block}
  #v2Root .v2-nav .v2-tab[data-tab="offers"]{display:none}
  #v2Root .v2-nav{grid-template-columns:repeat(5, minmax(0,1fr))}
  .v2-side-bottom .v2-side-lang, .v2-side-bottom .v2-logout, .v2-side-foot{display:none !important}
  .v2-more-lang .v2-side-lang{display:flex !important}
}
/* lingue dentro «Altro» (su fondo chiaro, non sul menu scuro) */
.v2-more-lang .v2-side-lang{background:var(--cream-card); margin:0; padding:3px; gap:2px; border-radius:999px}
.v2-more-lang .v2-lang-opt{color:var(--ink); padding:7px 11px; border-radius:999px; font:600 .8rem 'IBM Plex Mono',monospace; text-decoration:none}
.v2-more-lang .v2-lang-opt.is-current{background:var(--ink); color:var(--paper)}
/* etichette scritte normali anche dentro la scheda del candidato (lì le etichette <label> ricevono lo stile generico del portale) */
html body .v2-flabel{font:600 .85rem 'Space Grotesk',sans-serif !important; text-transform:none !important; letter-spacing:-.005em !important}
/* tema scuro: etichetta «Interessato a …» di un collega e colonne della pipeline */
html[data-theme="dark"] .v2-chip.col{background:var(--d-strong); color:var(--ink)}
html[data-theme="dark"] .v2-col-head{color:var(--slate)}
/* «Richiedi candidati»: professione, data, luogo e quantità su una riga; note e invio sotto (prima la quantità finiva sopra il luogo) */
#v2Root .v2-req-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.4fr) 110px; align-items:end}
#v2Root .v2-req-form .v2-req-notes{grid-column:1 / 4}
#v2Root .v2-req-form input, #v2Root .v2-req-form select{height:44px}
#v2Root .v2-req-form .v2-form-msg{grid-column:1 / -1; margin:0}
#v2Root .v2-req-form .v2-form-msg:empty{display:none}
@media (max-width:900px){ #v2Root .v2-req-form{grid-template-columns:1fr 1fr} #v2Root .v2-req-form .v2-req-notes{grid-column:1 / -1} #v2Root .v2-req-form button{grid-column:1 / -1} }
#v2Root .v2-req-form > div{min-width:0}
#v2Root .v2-req-form button{white-space:nowrap}
@media (max-width:900px){ #v2Root .v2-req-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
/* V2.0.257: pulsante chiaro/scuro nel menu (sul telefono nella barra in alto) */
.v2-theme-btn{display:inline-grid; place-items:center; width:38px; height:38px; margin:0 auto 8px; padding:0; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer;
  transition:background-color .15s, transform .4s var(--spring)}
.v2-theme-btn svg{width:18px; height:18px; grid-area:1 / 1; transition:opacity .25s, transform .45s var(--spring)}
.v2-theme-btn .ic-sun{opacity:0; transform:rotate(-60deg) scale(.6)}
.v2-theme-btn[aria-pressed="true"] .ic-sun{opacity:1; transform:none}
.v2-theme-btn[aria-pressed="true"] .ic-moon{opacity:0; transform:rotate(60deg) scale(.6)}
.v2-theme-btn:active{transform:scale(.9); transition-duration:.08s}
@media (hover:hover){ .v2-theme-btn:hover{background:rgba(255,255,255,.14)} }
@media (max-width:860px){ .v2-theme-btn{margin:0} }
@media (prefers-reduced-motion:reduce){ .v2-theme-btn svg{transition:none} }

/* ===== V2.1.1 ===== */
/* menu «sposta in…» delle schede nella pipeline */
.v2-move-wrap{position:relative; flex:none}
#v2Root .v2-move-btn{display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); cursor:pointer; transition:background-color .15s, transform .4s var(--spring)}
#v2Root .v2-move-btn svg{width:16px; height:16px; transition:transform .25s var(--spring)}
#v2Root .v2-move-btn[aria-expanded="true"]{background:var(--ink); color:var(--paper); border-color:var(--ink)}
#v2Root .v2-move-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
#v2Root .v2-move-btn:active{transform:scale(.92)}
.v2-mini.menu-open{position:relative; z-index:40}
.v2-move-menu{position:absolute; right:0; top:calc(100% + 6px); z-index:50; min-width:220px; padding:6px; background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow:var(--sh-float); animation:v2-pop .16s ease-out}
.v2-move-menu[hidden]{display:none}
.v2-move-title{padding:6px 10px 4px; font:600 .75rem 'Space Grotesk',sans-serif; color:var(--slate)}
#v2Root .v2-move-item{display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:40px; padding:0 10px; border:0; border-radius:9px; background:none; color:var(--ink); font:500 .9rem 'IBM Plex Sans',sans-serif; text-align:left; cursor:pointer}
#v2Root .v2-move-item:hover:not([disabled]), #v2Root .v2-move-item:focus-visible{background:var(--cream-card); outline:0}
#v2Root .v2-move-item[disabled]{cursor:default; font-weight:600}
#v2Root .v2-move-item svg{width:16px; height:16px; color:var(--red)}
#v2Root .v2-move-item.v2-move-arch{margin-top:4px; border-top:1px solid var(--line); border-radius:0 0 9px 9px; padding-top:4px; color:var(--slate)}
@keyframes v2-pop{from{opacity:0; transform:translateY(-4px) scale(.98)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){ .v2-move-menu{animation:none} }
/* scheda del candidato: «Crea profilo per il cliente» sotto lo stato */
#v2Root .v2-sheet-cta, .v2-sheet-cta{display:flex; align-items:center; gap:12px; width:100%; margin-top:10px; padding:12px 14px; border:1.5px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); text-align:left; cursor:pointer; transition:border-color .15s, transform .4s var(--spring)}
.v2-sheet-cta svg{flex:none; width:24px; height:24px; color:var(--red)}
.v2-sheet-cta span{flex:1; display:flex; flex-direction:column; gap:2px}
.v2-sheet-cta b{font:600 .95rem 'Space Grotesk',sans-serif}
.v2-sheet-cta small{font-size:.8rem; color:var(--slate)}
.v2-sheet-cta i{font-style:normal; font-size:1.3rem; color:var(--slate)}
.v2-sheet-cta:active{transform:scale(.98)}
@media (hover:hover){ .v2-sheet-cta:hover{border-color:var(--ink)} }
/* cambio password: campi uno sotto l'altro, larghi quanto il riquadro */
#v2-pw-fields:not([hidden]){display:grid; gap:4px; margin-top:12px}
#v2-pw-fields .v2-flabel{display:block; margin-top:8px}
#v2-pw-fields input{width:100%}
#v2-pw-open{align-self:flex-start}
/* il menu non viene tagliato dal bordo della colonna */
#v2Root .v2-col:has(.v2-mini.menu-open), #v2Root .v2-col:has(.v2-mini.menu-open) .v2-col-body, #v2Root .v2-board:has(.v2-mini.menu-open){overflow:visible}
#v2Root .v2-col:has(.v2-mini.menu-open){z-index:6}
::view-transition-old(root), ::view-transition-new(root){animation-duration:.35s; animation-timing-function:ease}
/* foglio per il cliente da un modello in codice: anteprima in scala della pagina A4 */
.v2-sheet-preview-code{overflow:auto}
.v2-code-frame-wrap{--sc:.62; width:calc(794px * var(--sc)); height:calc(1123px * var(--sc)); overflow:hidden; margin:0 auto; box-shadow:var(--sh-float); background:#fff}
.v2-code-frame-wrap iframe{width:794px; height:1123px; border:0; transform:scale(var(--sc)); transform-origin:0 0; background:#fff}
/* schermi grandi: il foglio cresce con l'altezza disponibile e la colonna dei campi si allarga */
@media (min-width:1300px) and (min-height:800px){ .v2-code-frame-wrap{--sc:.7} .v2-sheet-body{grid-template-columns:minmax(380px,500px) minmax(0,1fr)} }
@media (min-width:1300px) and (min-height:900px){ .v2-code-frame-wrap{--sc:.78} }
@media (min-width:1300px) and (min-height:1000px){ .v2-code-frame-wrap{--sc:.88} }
@media (min-width:1300px) and (min-height:1150px){ .v2-code-frame-wrap{--sc:1} }
@media (max-width:700px){ .v2-code-frame-wrap{--sc:.42} }

/* V2.1.5: tutti i campi della scheda alla stessa larghezza (cantiere, passaggio, altre azioni) */
.v2-status-action select, .v2-more-body select, .v2-handover select{width:100%; max-width:none; box-sizing:border-box}
.v2-status-action .v2-handover{margin-top:10px}
.v2-more-actions{margin-top:14px}

/* =====================================================================
   V2.1.12 - portale per l'uso di tutti i giorni: home «Oggi», disponibilita' in chiaro, meno comandi in vista
   ===================================================================== */
.v2-home-search{display:flex; align-items:center; gap:12px; width:100%; min-height:60px; margin:0 0 22px; padding:8px 8px 8px 18px; border:1.5px solid var(--line); border-radius:var(--r-card); background:#fff; color:var(--slate); font:inherit; font-size:1rem; text-align:left; cursor:text; box-shadow:var(--sh-card); transition:border-color .15s, box-shadow .15s}
.v2-home-search:hover{border-color:var(--ink)}
.v2-home-search svg{flex:none; width:22px; height:22px; color:var(--ink)}
.v2-home-search span{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.v2-home-search b{flex:none; display:inline-flex; align-items:center; height:44px; padding:0 20px; border-radius:var(--r-field); background:var(--btn); color:#fff; font-weight:700}
.v2-home-new{margin-top:4px}
#v2-home .v2-pipe-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
#v2-home .v2-pipe-stat{min-height:84px}
.v2-avail{margin-top:3px; font-size:.8rem; font-weight:600; color:var(--slate)}
.v2-avail.now{color:#1E7A46}
.v2-avail.now::before{content:""; display:inline-block; width:7px; height:7px; margin:0 6px 1px 0; border-radius:50%; background:currentColor; vertical-align:middle}
.v2-d-avail{margin:0 0 12px; font-size:.95rem}
.v2-mine{display:inline-flex; align-items:center; gap:5px; color:var(--ink); font-weight:600}
.v2-mine::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--btn)}
.v2-card-foot{display:flex; align-items:center; gap:6px}
.v2-card-foot > span:first-child{min-width:0; overflow:hidden; text-overflow:ellipsis}
.v2-cell-docs .v2-docs{margin-top:4px}
html[data-theme="dark"] .v2-avail.now{color:#4cb27d}
@media (max-width:760px){
  .v2-home-search{min-height:54px; padding-left:14px; font-size:.95rem}
  .v2-home-search b{display:none}
  #v2-home .v2-pipe-stat{min-height:70px}
}
@media (max-width:760px){ .v2-expand{display:none !important} }
.v2-empty-ask{display:flex; flex-direction:column; align-items:center; gap:12px}
.v2-empty-ask p{margin:0; max-width:52ch}

/* conferma del portale (V2.1.12): sostituisce la finestra del browser */
.v2-confirm{position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:16px; background:rgba(15,17,20,.5); animation:v2-fade .15s ease-out}
.v2-confirm-card{width:min(420px,100%); padding:22px 22px 18px; border-radius:var(--r-card); background:#fff; color:var(--ink); box-shadow:var(--sh-float)}
.v2-confirm-card p{margin:0 0 18px; font-size:1rem; line-height:1.5}
.v2-confirm-card .v2-actions{display:flex; flex-wrap:wrap; gap:10px}
@keyframes v2-fade{from{opacity:0} to{opacity:1}}
@media (prefers-reduced-motion:reduce){.v2-confirm{animation:none}}
.v2-place-how{display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 14px}
.v2-sheets-under{margin:10px 0 0}
.v2-sheets-under:empty{display:none}
.v2-sheets-under .v2-sheets-empty{display:none}

/* V2.1.14: disponibilita' a colori, dove vuole lavorare con la cartina, pipeline compatta, ore per mese */
.v2-avail.later{color:#B45309}
.v2-avail.later::before{content:""; display:inline-block; width:7px; height:7px; margin:0 6px 1px 0; border-radius:50%; background:currentColor; vertical-align:middle}
html[data-theme="dark"] .v2-avail.later{color:#F0A84B}
.v2-card-foot:empty{display:none}
.v2-where{display:flex; gap:16px; align-items:center; margin-top:14px; padding-top:14px; border-top:1px solid var(--line)}
.v2-where-map{flex:0 0 180px; max-width:45%}
.v2-where-map svg{display:block; width:100%; height:auto}
.v2-where .zm{fill:#E6E3DC; stroke:#fff; stroke-width:1.2; stroke-linejoin:round}
.v2-where .zm.is-on{fill:var(--btn)}
html[data-theme="dark"] .v2-where .zm{fill:#2B3239; stroke:#14171a}
html[data-theme="dark"] .v2-where .zm.is-on{fill:#d0503d}
.v2-where .zm.is-hit,.v2-zonebar .zm.is-hit{fill:#9c1f12; stroke:#fff; stroke-width:1.6}
html[data-theme="dark"] .v2-where .zm.is-hit,html[data-theme="dark"] .v2-zonebar .zm.is-hit{fill:#ff7a63; stroke:#14171a}
.v2-zonebar{display:flex; gap:16px; align-items:center; margin:0 0 14px; padding:12px 14px; border:1px solid var(--line); border-radius:12px}
.v2-zonebar[hidden]{display:none}
.v2-zonebar .zm{fill:#E6E3DC; stroke:#fff; stroke-width:1.2; stroke-linejoin:round}
.v2-zonebar .zm.is-on{fill:var(--btn)}
html[data-theme="dark"] .v2-zonebar .zm{fill:#2B3239; stroke:#14171a}
html[data-theme="dark"] .v2-zonebar .zm.is-on{fill:#d0503d}
.v2-zonebar .v2-where-map{flex:0 0 150px; max-width:40%}
@media (max-width:560px){ .v2-zonebar{flex-direction:column; align-items:flex-start} .v2-zonebar .v2-where-map{flex-basis:auto; max-width:200px; width:100%} }
.v2-where-tx{display:flex; flex-direction:column; gap:3px; min-width:0}
.v2-where-tx b{font-size:.8rem; color:var(--slate); font-weight:600}
.v2-where-tx span{font-size:.98rem; font-weight:600}
.v2-where-tx small{font-size:.86rem; color:var(--slate)}
.v2-pipe-more{margin-top:18px}
.v2-pipe-more .v2-archive-list{margin-top:6px}
.v2-hgroup{margin:18px 0 8px; font-size:.95rem; font-weight:600}
.v2-hfoot{display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:8px}
@media (max-width:560px){ .v2-where{flex-direction:column; align-items:flex-start} .v2-where-map{flex-basis:auto; max-width:240px; width:100%} }

/* candidato che ha revocato il consenso: avviso in Home e Pipeline (V2.1.16) */
.v2-revoked{margin:0 0 16px;display:flex;flex-direction:column;gap:8px;}
.v2-revoked-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-left:4px solid #d6402c;border-radius:8px;background:var(--paper,#fff);font-size:.92rem;}
.v2-revoked-x{flex:none;width:44px;height:44px;margin:-6px -6px -6px 0;border:0;background:none;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;border-radius:8px;}
.v2-revoked-x:hover,.v2-revoked-x:focus-visible{background:rgba(214,64,44,.12);}

.v2-photo-zoom{padding:0;border:0;background:none;cursor:zoom-in;display:block;border-radius:8px;flex:none;}
.v2-photo-zoom:focus-visible{outline:2px solid var(--red,#d6402c);outline-offset:2px;}

.v2-review-form .v2-review{grid-template-columns:1fr;}
.v2-review-form .v2-review input{height:44px;font-size:.95rem;}

/* V2.1.17: avvisi con foto, da valutare, scadenze, pipeline a gruppi, ore per mese */
.v2-revoked-row{border-left-color:#d6402c;}
.v2-revoked-row.expired{border-left-color:#d68c00;}
.v2-revoked-row.unavailable{border-left-color:#6a6f76;}
.v2-revoked-row .v2-photo{width:36px;height:45px;border-radius:7px;flex:none;font-size:.8rem;}
.v2-revoked-row > span{flex:1;min-width:0;}
.v2-rate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.v2-rate-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper,#fff);flex-wrap:wrap;}
.v2-rate-who{display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;min-width:0;}
.v2-rate-who .v2-photo{width:44px;height:55px;border-radius:8px;flex:none;font-size:.9rem;}
.v2-rate-who span{display:flex;flex-direction:column;min-width:0;}
.v2-rate-who small{color:var(--slate,#667);font-size:.8rem;}
.v2-rate-inline{display:inline-flex;gap:2px;flex:none;}
.v2-rbtn{border:0;background:none;font-size:1.7rem;line-height:1;width:40px;height:44px;cursor:pointer;color:#c9c5bc;border-radius:8px;padding:0;}
.v2-rbtn.on{color:#e0a000;}
@media (hover:hover){.v2-rbtn:hover{color:#e0a000;}}
.v2-rbtn:focus-visible{outline:2px solid var(--red,#d6402c);}
.v2-expiring .v2-rate-list li{border-left:4px solid #d68c00;}
.v2-stale-tag.soon{color:#a3301f;font-weight:600;}
.v2-stale-tag .v2-linkbtn{margin-left:6px;}
.v2-sec{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-left:5px solid #9aa0a6;border-radius:10px;background:var(--paper,#fff);}
.v2-sec-work{border-left-color:#1c7c45;}
.v2-sec-expired{border-left-color:#d68c00;}
.v2-sec-closed{border-left-color:#9aa0a6;}
.v2-sec-done{border-left-color:#1b5ea6;}
.v2-sec-h{margin:0 0 4px;font:700 1rem 'IBM Plex Sans',sans-serif;letter-spacing:0;text-transform:none;color:inherit;}
.v2-sec-n{display:inline-block;min-width:1.5em;text-align:center;border-radius:10px;background:rgba(27,31,35,.08);font-size:.8rem;padding:0 6px;margin-left:4px;}
.v2-sec .v2-small{margin:0 0 8px;}
.v2-archive-list .v2-arow.v2-arow2{display:flex;align-items:center;gap:12px;padding:10px 0;flex-wrap:wrap;cursor:pointer;}
.v2-arow2 .v2-photo{width:40px;height:50px;border-radius:7px;flex:none;font-size:.8rem;}
.v2-arow2 .v2-arow-main{flex:1;min-width:160px;display:flex;flex-direction:column;}
.v2-arow2 .v2-arow-what{margin-left:auto;text-align:right;}
.v2-hstats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.v2-hstat{flex:1;min-width:110px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper,#fff);display:flex;flex-direction:column;}
.v2-hstat b{font-size:1.5rem;line-height:1.1;}
.v2-hstat span{font-size:.8rem;color:var(--slate,#667);}
.v2-hstat.warn{border-color:#d6402c;}.v2-hstat.warn b{color:#d6402c;}
.v2-hstat.ok b{color:#1c7c45;}
.v2-hm{margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--cream-card,#f6f3ec);overflow:hidden;}
.v2-hm.late{border-color:#d68c00;}
.v2-hm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;}
.v2-hm-title{margin:0;font:700 1.25rem 'IBM Plex Sans',sans-serif;text-transform:capitalize;}
.v2-hm-sub{margin:2px 0 0;font-size:.85rem;}
.v2-hm-count{flex:none;border-radius:12px;padding:3px 12px;font-weight:700;font-size:.85rem;background:#d6402c;color:#fff;}
.v2-hm.cur .v2-hm-count{background:#1b5ea6;}
.v2-hm-count.ok{background:#1c7c45;}
.v2-hm .v2-hlist{padding:0 12px 12px;margin:0;}
.v2-hm .v2-hsent-list{padding:0 16px 8px;margin:0;background:var(--paper,#fff);border-top:1px solid var(--line);}
.v2-hm .v2-hcard{border-radius:10px;}
.v2-hcard-top{display:flex;align-items:center;gap:12px;}
.v2-hcard-top .v2-photo,.v2-hsent-main .v2-photo{width:48px;height:60px;border-radius:8px;flex:none;font-size:1rem;}
.v2-hsent-main{align-items:center;}
.v2-hsent-who{flex:1;min-width:0;}
.v2-hsent-main .v2-hsent-total{margin-left:auto;}
.v2-hsub{font-size:.85rem;}

/* V2.1.18 */
.v2-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.v2-title-row .v2-title{margin:0;}
.v2-col-go{margin-top:10px;}
.v2-col-empty{text-align:center;}
.v2-pipe-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* V2.1.19 */
.v2-grid{grid-auto-rows:1fr;}
.v2-grid > .v2-card{height:100%;min-height:128px;}
@media screen{#v2-modal{backdrop-filter:blur(7px) saturate(.9);-webkit-backdrop-filter:blur(7px) saturate(.9);background:rgba(20,22,26,.38) !important;}}
.v2-hclosed{margin-top:8px;font-size:.85rem;}
.v2-hclosed > summary{cursor:pointer;font-weight:600;color:var(--slate,#667);padding:6px 0;}
.v2-hclosed-m h3{margin:10px 0 2px;font:600 .85rem 'IBM Plex Sans',sans-serif;text-transform:capitalize;color:var(--slate,#667);}
.v2-hclosed .v2-photo{width:30px !important;height:38px !important;border-radius:6px !important;font-size:.7rem !important;}
.v2-hclosed .v2-hsent{padding:6px 0;}
.v2-hclosed .v2-hsent-total b{font-size:1rem;}

/* V2.1.25: stato del telefono sotto «Contatta tramite app» */
.v2-phone-state{margin:6px 0 0;font-size:.8rem;color:var(--slate);line-height:1.4;}
.v2-phone-state.ok{color:#1f7a3a;}
.v2-phone-state .v2-link{font-size:inherit;padding:0;}
.v2-contact-text{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:.92rem;}
.v2-contact-text span{overflow-wrap:anywhere;user-select:all;}
.v2-copy{flex:none;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.82rem;cursor:pointer;}
.v2-contact-row{margin-top:10px;}
.v2-expiring li.soon .v2-left{color:var(--red-text, #b3261e);font-weight:600;}
.v2-exp-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.v2-left.soon{color:var(--red-text, #b3261e);font-weight:600;}
/* V2.1.25: filtri rapidi sopra i risultati */
.v2-quick{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;}
.v2-qchip{min-height:40px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card, #fff);color:var(--ink);font:inherit;font-size:.88rem;cursor:pointer;}
.v2-qchip.on{background:var(--ink);border-color:var(--ink);color:var(--paper);}
@media (max-width:640px){.v2-qchip{min-height:44px;}}
/* V2.1.25: un solo tasto principale nella scheda */
button.action-btn.v2-handoff.primary{background:var(--red);border-color:var(--red);color:#fff;min-height:48px;font-size:1rem;}
.v2-next-quiet{width:100%;justify-content:center;min-height:44px;}
.v2-doc-name b{display:block;font-weight:600;}
.v2-doc-name small{display:block;color:var(--slate);font-size:.75rem;overflow-wrap:anywhere;}

/* V2.1.25: sul telefono stella e confronta grandi come un pollice (prima 21x22 e 24x22), link piu' facili da toccare */
@media (max-width:860px){
  .v2-card-tools{right:4px;bottom:0;gap:2px;}
  .v2-fav,.v2-cmp{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  .v2-card{padding-bottom:46px;}
  #v2Root .v2-link,#v2Root .v2-linkbtn{display:inline-flex;align-items:center;min-height:44px;}
  .v2-side-brand{color:var(--paper);font-size:1.05rem;}
}

/* V2.1.25: aria tra «Riservati per te» e i riquadri sotto */
.v2-expiring{margin-bottom:18px;}

/* V2.1.50: filtro rapido scelto con la X, riga di verifica sempre presente (le schede restano alte uguali) */
.v2-qchip .v2-qx{margin-left:8px;font-size:1.05em;line-height:1;opacity:.85;}
.v2-card-foot{min-height:38px;box-sizing:border-box;}
.v2-card-foot .v2-fresh{min-width:0;overflow:hidden;text-overflow:ellipsis;}

/* V2.3.3: piede delle schede: il testo della disponibilita' si accorcia (...) e non finisce sotto la stellina e il confronto */
#v2Root .v2-card-foot{padding-right:96px;min-width:0;}
#v2Root .v2-card-foot .v2-fresh{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* V2.3.3: scheda in caricamento grande come quella finita (niente finestra bassa che poi cresce) */
.v2-detail-loading .v2-cell{min-height:420px;display:flex;flex-direction:column;gap:12px;}
.v2-skel-line{height:18px;}
.v2-skel-line:first-child{width:45%;}
.v2-skel-line:nth-child(2n){width:80%;}
.v2-skel-extra{height:56px;margin-top:16px;}
@media (max-width:700px){.v2-detail-loading .v2-cell{min-height:200px;}}

/* V2.3.4: piu' respiro tra ricerca, filtri rapidi e schede (prima tutto appiccicato) */
#v2Root .v2-toolbar{margin-bottom:6px;}
#v2Root .v2-quick{gap:10px;margin:14px 0 22px;}
#v2Root .v2-grid{gap:18px;}
#v2Root .v2-card-top{padding:16px 16px 14px;}
@media (max-width:700px){#v2Root .v2-quick{margin:12px 0 18px;}#v2Root .v2-grid{gap:14px;}}
/* V2.3.9: cantone nella barra di ricerca */
#v2Root .v2-canton-sel{height:46px;flex:0 1 210px;min-width:150px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--paper);font:inherit;font-size:.9rem;color:var(--ink)}

/* ---------------- V2.3.20: menu laterale e ricerca come nel modello ---------------- */
:root{--sx-sb:#1B1F23;--sx-card:#fff;--sx-line:#E3E5E8;--sx-soft:#F4F5F6;--sx-txt:#1B1F23;--sx-mut:#6B7178;--sx-red:#D7262E}
html[data-theme="dark"]{--sx-sb:#14171a;--sx-card:#20252a;--sx-line:#343b42;--sx-soft:#2a3036;--sx-txt:#eef0f2;--sx-mut:#a3a9af}
@media (min-width:901px){
  #v2Root .v2-side{background:var(--sx-sb);color:#fff;border-radius:0 28px 28px 0;padding:26px 16px 18px;border-right:0}
  #v2Root .v2-side-brand{color:#fff;font-size:25px;letter-spacing:-.02em;padding:0 12px}
  #v2Root .v2-side-brand span{color:var(--sx-red)}
  #v2Root .v2-side .v2-tab{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;color:#C9CDD1;font-size:16px;font-weight:500;position:relative;background:none;border:0}
  #v2Root .v2-side .v2-tab:hover{background:rgba(255,255,255,.05);color:#fff}
  #v2Root .v2-side .v2-tab.active{background:rgba(255,255,255,.08);color:#fff;font-weight:600}
  #v2Root .v2-side .v2-tab.active::before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--sx-red)}
  #v2Root .v2-side .v2-tab svg{width:21px;height:21px}
  #v2Root .v2-side-user, #v2Root .v2-side-user strong, #v2Root .v2-side-foot, #v2Root .v2-side-sub, #v2Root .v2-side-lang a{color:#C9CDD1}
}
.v2x-ico{width:18px;height:18px;flex:none}
.v2x-chev{width:10px;height:6px;flex:none}
.v2x-bar{display:flex;align-items:stretch;background:var(--sx-card);border:1px solid var(--sx-line);border-radius:18px;padding:6px;box-shadow:0 6px 20px rgba(0,0,0,.05);margin:0 0 12px}
.v2x-seg{flex:1 1 0;min-width:0;padding:8px 14px;border-radius:12px;position:relative;display:flex;flex-direction:column;gap:2px}
.v2x-seg:focus-within{background:var(--sx-soft)}
.v2x-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sx-mut)}
.v2x-in{display:flex;align-items:center;gap:8px;color:var(--sx-mut)}
.v2x-in input{border:0;background:none;outline:0;font:inherit;font-size:15px;color:var(--sx-txt);width:100%;min-width:0;padding:2px 0}
.v2x-x{border:0;background:none;color:var(--sx-mut);font-size:18px;cursor:pointer;display:none;padding:0 2px}
.v2x-seg.has .v2x-x{display:block}
.v2x-vdiv{width:1px;background:var(--sx-line);margin:10px 0}
.v2x-trigger{border:0;background:none;font:inherit;font-size:15px;color:var(--sx-txt);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0;cursor:pointer;text-align:left}
.v2x-go{border:0;background:var(--sx-red);color:#fff;font:600 15px 'IBM Plex Sans',sans-serif;border-radius:12px;padding:0 22px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:44px}
.v2x-go:hover{filter:brightness(.93)}
.v2x-w{position:relative}
.v2x-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:70;min-width:240px;background:var(--sx-card);border:1px solid var(--sx-line);border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.14);padding:8px;display:flex;flex-direction:column;gap:2px}
.v2x-pop[hidden]{display:none}
.v2x-pop-right{left:auto;right:0}
.v2x-ph{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sx-mut);padding:6px 8px}
.v2x-opt{display:flex;align-items:center;gap:10px;border:0;background:none;padding:9px 10px;border-radius:9px;font:inherit;font-size:14.5px;color:var(--sx-txt);cursor:pointer;text-align:left}
.v2x-opt:hover{background:var(--sx-soft)}
.v2x-opt .v2x-ck{width:16px;height:16px;visibility:hidden;color:var(--sx-red)}
.v2x-opt.sel{font-weight:600}
.v2x-opt.sel .v2x-ck{visibility:visible}
.v2x-rad{width:16px;height:16px;border-radius:50%;border:2px solid var(--sx-line);flex:none}
.v2x-opt.sel .v2x-rad{border:5px solid var(--sx-red)}
.v2x-datebox{padding:6px 8px 4px;display:flex;flex-direction:column;gap:8px}
.v2x-datebox[hidden]{display:none}
.v2x-field{border:1px solid var(--sx-line);border-radius:10px;padding:8px 10px;font:inherit;background:var(--sx-card);color:var(--sx-txt)}
.v2x-segm{display:flex;flex-wrap:wrap;gap:6px}
.v2x-segm button{border:1px solid var(--sx-line);background:var(--sx-card);color:var(--sx-txt);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.v2x-segm button.on{background:var(--sx-txt);border-color:var(--sx-txt);color:var(--sx-card)}
.v2x-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.v2x-sp{flex:1}
.v2x-lgroup{display:inline-flex;border:1px solid var(--sx-line);border-radius:999px;background:var(--sx-card);padding:3px;gap:2px}
.v2x-lt{border:0;background:none;color:var(--sx-txt);font:600 13px 'IBM Plex Mono',monospace;border-radius:999px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.v2x-lt.on{background:var(--sx-txt);color:var(--sx-card)}
.v2x-chip,.v2x-ghost,.v2x-reset{border:1px solid var(--sx-line);background:var(--sx-card);color:var(--sx-txt);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.v2x-chip.on{background:var(--sx-txt);border-color:var(--sx-txt);color:var(--sx-card)}
.v2x-reset{border-color:transparent;background:none;color:var(--sx-red);font-weight:600}
.v2x-reset[hidden]{display:none}
.v2x-ghost{border-radius:12px;font-weight:600}
.v2x-fbadge{background:var(--sx-red);color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}
.v2x-fbadge[hidden]{display:none}
.v2x-code{font:600 12px 'IBM Plex Mono',monospace;color:var(--sx-mut);min-width:22px}
.v2x-sep{height:1px;background:var(--sx-line);margin:6px 0}
.v2x-lrow{padding:6px 8px}
.v2x-hint{font-size:12.5px;color:var(--sx-mut);margin:8px 0 0}
.v2-group summary{display:flex;align-items:center;gap:8px}
.v2x-gcount{background:var(--sx-red);color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}
.v2x-gcount[hidden]{display:none}
.v2x-ss{display:flex;flex-direction:column;gap:10px}
.v2x-ss h3{margin:0;font-size:17px}
.v2x-ss-sum{font:13px/1.5 'IBM Plex Mono',monospace;color:var(--sx-mut)}
.v2x-ss-foot{display:flex;align-items:center;gap:8px;margin-top:auto}
.v2x-ss-open{min-height:40px;padding:0 16px;font-size:14px;margin-right:auto}
.v2x-ib{width:40px;height:40px;border-radius:12px;border:1px solid var(--sx-line);background:var(--sx-card);color:var(--sx-mut);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.v2x-ib.on{color:var(--sx-red);border-color:var(--sx-red)}
@media (max-width:760px){
  .v2x-bar{flex-direction:column;padding:4px}
  .v2x-vdiv{width:auto;height:1px;margin:0 10px}
  .v2x-go{justify-content:center;margin:4px}
  .v2x-pop-right{left:0;right:auto}
  .v2x-sp{display:none}
}

/* ---------------- V2.3.24: scheda agenzia, barra di ricerca sottile, menu richiudibile ---------------- */
.v2x-side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}
.v2x-pin{display:none}
#v2Root .v2-side-user{flex-direction:row;align-items:center;text-align:left;gap:14px;padding:14px;margin:0;border:0;border-radius:18px;background:rgba(255,255,255,.06)}
#v2Root .v2-side-user .v2-avatar{width:48px;height:48px;min-width:48px;min-height:48px;background:rgba(255,255,255,.12);color:#fff;font:600 1.15rem 'IBM Plex Sans',sans-serif}
.v2x-who{display:flex;flex-direction:column;min-width:0;gap:2px}
#v2Root .v2x-who strong{font:700 .98rem/1.25 'IBM Plex Sans',sans-serif;color:#fff;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#v2Root .v2x-who .v2-side-sub{font-size:.88rem;color:#9AA1A8;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (min-width:861px){
  .v2x-pin{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#9AA1A8;cursor:pointer;flex:none;transition:background-color .2s,color .2s,transform .35s cubic-bezier(.2,.8,.2,1)}
  .v2x-pin:hover{background:rgba(255,255,255,.08);color:#fff}
  .v2x-pin svg{width:18px;height:18px}
  .v2-shell{transition:grid-template-columns .35s cubic-bezier(.2,.8,.2,1)}
  #v2Root .v2-side{transition:width .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;overflow-x:hidden;will-change:width}
  #v2Root .v2-side .v2-tab{padding:12px 13px;white-space:nowrap}
  #v2Root .v2-side .v2-tab > span,#v2Root .v2-side-brand,#v2Root .v2x-who,#v2Root .v2-side-lang,#v2Root .v2-side-foot,#v2Root .v2-logout span{transition:opacity .25s ease}
  #v2Root .v2-side-brand{white-space:nowrap;overflow:hidden}
  /* ridotto: solo le icone */
  body.v2x-mini .v2-shell{grid-template-columns:84px minmax(0,1fr)}
  body.v2x-mini #v2Root .v2-side{width:84px}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-tab > span,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-brand,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2x-who,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-lang,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-foot,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-logout span{opacity:0;pointer-events:none}
  #v2Root .v2-side-user{transition:padding .35s cubic-bezier(.2,.8,.2,1),background-color .35s}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-user{padding:14px 2px;background:transparent}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2x-pin{position:absolute;opacity:0}
  body.v2x-mini .v2x-pin{transform:rotate(180deg)}
  /* passando con il mouse: si apre sopra la pagina (la pagina non si sposta) */
  body.v2x-mini #v2Root .v2-side.v2x-peek{width:240px;box-shadow:24px 0 48px -18px rgba(0,0,0,.45);z-index:80}
}
@media (prefers-reduced-motion:reduce){
  .v2-shell,#v2Root .v2-side,.v2x-pin{transition:none !important}
}

/* barra di ricerca: una riga sottile come nel modello */
#v2Root .v2x-bar{align-items:center;padding:8px;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -12px rgba(0,0,0,.12);margin-bottom:14px}
#v2Root .v2x-seg{padding:8px 18px;gap:6px;justify-content:center;border-radius:14px;transition:background-color .2s}
#v2Root .v2x-lbl{font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--sx-mut)}
#v2Root .v2x-in{gap:10px;min-height:0}
#v2Root .v2x-in input,#v2Root .v2x-in input:focus{border:0 !important;background:transparent !important;box-shadow:none !important;outline:0 !important;min-height:0 !important;height:auto !important;padding:0 !important;margin:0 !important;font:400 16px/1.4 'IBM Plex Sans',sans-serif;border-radius:0 !important}
#v2Root .v2x-in .v2-ac{position:relative;flex:1;min-width:0}
#v2Root .v2x-seg-prof{flex:1.6 1 0}
#v2Root .v2x-seg-place{flex:1.1 1 0}
#v2Root .v2x-seg-avail{flex:.9 1 0}
#v2Root .v2x-trigger{min-height:0;font:400 16px/1.4 'IBM Plex Sans',sans-serif;width:100%}
#v2Root .v2x-vdiv{align-self:stretch;margin:14px 0}
#v2Root .v2x-go{align-self:stretch;min-height:64px;padding:0 30px;border-radius:14px;font-size:16px;font-weight:700;transition:filter .2s,transform .15s}
#v2Root .v2x-go:active{transform:scale(.98)}
#v2Root .v2x-tools{gap:10px;margin-bottom:18px}
#v2Root .v2x-lgroup{padding:4px 6px;gap:0;align-items:center;min-height:44px;box-sizing:border-box}
#v2Root .v2x-lt{padding:7px 11px;font-size:13.5px;transition:background-color .2s,color .2s}
#v2Root .v2x-chip{min-height:44px;padding:0 18px;font-size:15px;transition:background-color .2s,border-color .2s,color .2s}
#v2Root .v2x-ghost{min-height:44px;padding:0 16px;border-radius:14px;font-size:15px;font-weight:500;transition:border-color .2s,background-color .2s}
#v2Root .v2x-ghost:hover,#v2Root .v2x-chip:hover{border-color:#c9cdd1}
#v2Root .v2x-pop{animation:v2xPop .18s cubic-bezier(.2,.8,.2,1)}
@keyframes v2xPop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:760px){
  #v2Root .v2x-go{min-height:48px}
  #v2Root .v2x-vdiv{margin:0 12px}
}

/* impostazioni su schermi grandi: pagina piu' larga (prima 760px fissi in un mare vuoto), schede e testi piu' leggibili */
@media (min-width:1200px){
  #v2Root .v2-set-grid{max-width:1180px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}
  #v2Root .v2-set-card,#v2Root #v2-prefs .v2-set-card{padding:22px 24px;max-width:none;gap:10px}
  #v2Root .v2-set-card h3{font-size:1.1rem}
  #v2Root .v2-set-card .v2-muted,#v2Root .v2-set-card p{font-size:.92rem;line-height:1.5}
  #v2Root .v2-set-card input{height:42px;font-size:.95rem}
}
/* lavoro in corso: etichetta sulla fine prevista e riepilogo */
.v2-work-tag{flex:none;font-size:.74rem;font-weight:600;padding:2px 9px;border-radius:999px;background:rgba(120,130,140,.18);color:inherit;white-space:nowrap}
.v2-work-tag.soon{background:rgba(217,144,47,.2);color:#d9902f}
.v2-work-tag.late{background:rgba(214,64,44,.2);color:#e0553f}
.v2-work-sum{font-weight:600;margin-left:6px}
/* Preferiti: tasto per tornare alla ricerca */
.v2-backlink{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:inherit;font:inherit;font-size:.92rem;font-weight:600;padding:6px 2px;margin:0 0 4px;cursor:pointer;opacity:.8}
@media (hover:hover){.v2-backlink:hover{opacity:1;text-decoration:underline}}
/* barra di scorrimento: sempre al suo posto (la pagina non salta quando compare o sparisce) e sottile */
html{scrollbar-gutter:stable}
*{scrollbar-width:thin;scrollbar-color:rgba(128,134,142,.45) transparent}
/* impostazioni: testi piu' grandi e chiari (prima 13-14px grigi su fondo scuro) e pulsanti piu' comodi */
#v2Root .v2-set-card h3{font-size:1.2rem}
#v2Root .v2-set-card .v2-fact b{font-size:.86rem;font-weight:600;letter-spacing:.02em}
#v2Root .v2-set-card .v2-fact p{font-size:1.05rem;margin:2px 0 12px}
#v2Root .v2-set-card .v2-muted,#v2Root .v2-set-card .v2-flabel,#v2Root .v2-set-card label{font-size:.97rem}
#v2Root .v2-set-card .action-btn,#v2Root .v2-set-card .agency-portal-button{min-height:42px;font-size:.97rem;padding:0 18px}
#v2Root .v2-set-card .v2-linkbtn{font-size:1rem}
#v2Root .v2-set-card input,#v2Root .v2-set-card select{font-size:1rem}
/* pipeline: scelta iniziale a schede (Generale grande in alto, poi un cantiere per scheda) */
.v2-pc-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:0 0 24px}
.v2-pc-big{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-radius:18px;border:1.5px solid var(--line);background:var(--paper);color:inherit;text-align:left;cursor:pointer;font:inherit}
.v2-pc-big b{display:block;font:700 1.35rem 'Space Grotesk',sans-serif}
.v2-pc-big small{display:block;margin-top:4px;opacity:.8;font-size:.95rem}
.v2-pc-big i{font:700 2.1rem 'Space Grotesk',sans-serif;font-style:normal}
.v2-pc-big.main{grid-column:1 / -1;padding:30px 32px;background:#c5361f;border-color:transparent;color:#fff}
.v2-pc-big.main b{font-size:1.7rem}
@media (hover:hover){.v2-pc-big:hover{border-color:var(--ink)}.v2-pc-big.main:hover{background:#b02f1a}}
.v2-pc-h{font:700 1.1rem 'Space Grotesk',sans-serif;margin:0 0 12px}
.v2-pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.v2-pc-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;cursor:pointer}
@media (hover:hover){.v2-pc-card:hover{border-color:var(--ink)}}
.v2-pc-card h3{margin:0;font:700 1.12rem 'Space Grotesk',sans-serif}
.v2-pc-card p{margin:0}
.v2-pc-n{font-weight:700}
.v2-pc-av{display:flex;flex-wrap:wrap;gap:10px}
.v2-pc-av-i{display:flex;flex-direction:column;align-items:center;gap:4px;width:58px}
.v2-pc-av-i .v2-photo{width:46px;height:46px;border-radius:50%;margin:0}
.v2-pc-av-i small{font-size:.72rem;opacity:.8;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-pc-card .agency-portal-button{align-self:flex-start;margin-top:auto}

/* ---------------- menu laterale (rifatto): una sola colonna di icone che non si muove ----------------
   Avatar, icone del menu, tema e uscita hanno il centro sempre a 42px dal bordo: aperto o ridotto (84px) restano nello stesso punto,
   cambia solo il testo che compare a destra. */
@media (min-width:861px){
  #v2Root .v2-side{padding:20px 0 14px;gap:14px}
  #v2Root .v2x-side-top{padding:0 16px 0 24px}
  /* scheda agenzia: l'avatar (48px) sta sempre a 18-66px */
  #v2Root .v2-side-user{margin:0 14px;width:calc(100% - 28px);box-sizing:border-box;padding:8px 4px;gap:12px;flex-wrap:nowrap;overflow:hidden;min-height:64px}
  /* voci del menu: l'icona (21px) sta sempre a 31-52px */
  #v2Root .v2-side .v2-tab{margin:0 14px;width:calc(100% - 28px);box-sizing:border-box;padding:11px 12px 11px 17px;gap:14px;position:relative}
  #v2Root .v2-side .v2-tab.active::before{left:-14px}
  /* pallino delle cose da fare: in fondo alla riga se aperto, sull'angolo dell'icona se ridotto */
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-tab .v2-dot{position:absolute;top:3px;right:5px;min-width:17px;height:17px;line-height:17px;font-size:.66rem;padding:0 4px}
  /* parte bassa: tema e uscita allineati alle icone */
  #v2Root .v2-side-bottom{align-items:flex-start;padding:14px 0 0;margin:auto 14px 0;width:calc(100% - 28px);box-sizing:border-box}
  /* luna: il 50% segue la larghezza della barra, quindi da ridotto cade a 9px (come prima) e da aperta sta al centro, senza scatti */
  #v2Root .v2-side-bottom .v2-theme-btn{margin:0 0 0 calc(50% - 19px)}
  #v2Root .v2-side-bottom .v2-side-lang{align-self:center}
  /* Esci: centrato nella barra; da ridotto il cerchio da 44px cade a 6px dal bordo (come prima) */
  #v2Root .v2-side-bottom .v2-logout{align-self:center;margin:0;width:auto;justify-content:flex-start;padding-left:14px;padding-right:18px;transition:background .15s,border-color .15s,padding-left .35s cubic-bezier(.2,.8,.2,1)}
  body:not(.v2x-mini) #v2Root .v2-side-bottom .v2-logout,
  body.v2x-mini #v2Root .v2-side.v2x-peek .v2-side-bottom .v2-logout{justify-content:center;padding-left:18px}
  #v2Root .v2-side-bottom .v2-side-foot{align-self:center;margin:0}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-user{padding:8px 4px;background:transparent}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-logout{width:44px;min-width:0;padding-right:0;gap:0}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-logout span{width:0;overflow:hidden}
}

/* cantieri: collegamento tra ricerca e pipeline */
.v2-site-ctx{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.v2-site-ctx[hidden]{display:none}
.v2-site-ctx b{font-weight:700}
.v2-pipe-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 6px}
.v2-pipe-top .v2-backlink{margin:0}
.v2-pc-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.v2-pc-card .v2-pc-btns .agency-portal-button{align-self:auto;margin-top:0}
/* ---------------- V2.3.36: menu aperto piu' morbido, scelta cantieri meno aggressiva, ore piu' ordinate ---------------- */
@media (min-width:861px){
  /* menu: meno peso (testi piu' piccoli e chiari, selezione discreta, barra rossa sottile) */
  #v2Root .v2-side-brand{font-size:22px}
  #v2Root .v2-side-user{background:rgba(255,255,255,.04)}
  #v2Root .v2x-who strong{font-size:.95rem;font-weight:600}
  #v2Root .v2x-who .v2-side-sub{font-size:.82rem;color:#8A9199}
  #v2Root .v2-side .v2-tab{font-size:.95rem;font-weight:500;color:rgba(250,249,246,.62);padding-top:10px;padding-bottom:10px;border-radius:12px}
  #v2Root .v2-side .v2-tab.active{background:rgba(255,255,255,.07);color:#fff;font-weight:600}
  #v2Root .v2-side .v2-tab.active::before{top:13px;bottom:13px;width:3px;border-radius:0 3px 3px 0}
  @media (hover:hover){#v2Root .v2-side .v2-tab:hover{background:rgba(255,255,255,.05);color:#fff}}
  #v2Root .v2-side .v2-tab .v2-dot{min-width:17px;height:17px;line-height:17px;font-size:.66rem;background:#d2503f}
  #v2Root .v2-side-bottom .v2-theme-btn{border-color:rgba(255,255,255,.12);background:transparent}
  #v2Root .v2-side-bottom .v2-logout{border-color:rgba(255,255,255,.14);font-size:.88rem}
  #v2Root .v2-side-bottom .v2-side-foot{font-size:.74rem;color:rgba(250,249,246,.4)}
}

/* V2.3.38: parte bassa del menu alla stessa altezza aperto o ridotto (la riga della versione andava a capo da ridotto e alzava tutto),
   e le scritte compaiono una dopo l'altra aprendo il menu */
@media (min-width:861px){
  #v2Root .v2-side-bottom .v2-side-foot,#v2Root .v2-side-bottom .v2-logout span{white-space:nowrap}
  #v2Root .v2-side-bottom .v2-side-lang{flex:none;flex-wrap:nowrap;width:max-content}
  #v2Root .v2-side-bottom .v2-side-lang,#v2Root .v2-side-bottom .v2-side-foot{transition:opacity .3s ease .12s,transform .45s cubic-bezier(.2,.8,.2,1) .12s}
  #v2Root .v2-side-bottom .v2-side-foot{transition-delay:.22s}
  #v2Root .v2-side-bottom .v2-logout span{transition:opacity .3s ease .17s}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-bottom .v2-side-lang,
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-bottom .v2-side-foot{transform:translateY(8px);transition-delay:0s}
  body.v2x-mini #v2Root .v2-side:not(.v2x-peek) .v2-side-bottom .v2-logout span{transition-delay:0s}
}
@media (prefers-reduced-motion:reduce){
  #v2Root .v2-side-bottom .v2-side-lang,#v2Root .v2-side-bottom .v2-side-foot,#v2Root .v2-side-bottom .v2-logout span{transition:none !important}
}

/* pipeline, scelta iniziale: riquadri neutri e compatti (niente fascia rossa a tutta larghezza) */
.v2-pc-top{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-width:880px;margin-bottom:26px}
.v2-pc-big{padding:20px 24px;border-radius:16px;background:var(--paper);color:inherit;border:1px solid var(--line)}
.v2-pc-big.main{grid-column:auto;padding:20px 24px;background:var(--paper);color:inherit;border:1px solid var(--line);border-left:4px solid #c5361f}
.v2-pc-big b,.v2-pc-big.main b{font-size:1.2rem}
.v2-pc-big i{font-size:1.7rem;color:#c5361f}
@media (hover:hover){.v2-pc-big.main:hover{background:var(--paper);border-color:var(--ink);border-left-color:#c5361f}}
.v2-pc-h,.v2-pc-grid{max-width:1180px}

/* ore: schede piu' ordinate */
.v2-hlist{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px}
.v2-hcard{padding:20px;border-radius:16px;display:flex;flex-direction:column;gap:2px;box-shadow:0 1px 2px rgba(20,23,26,.05)}
.v2-hcard-top{gap:14px;margin-bottom:6px}
.v2-hcard-top .v2-photo{width:54px;height:68px;border-radius:10px}
.v2-hcard-who strong{font-size:1.1rem}
.v2-hcard .v2-hsub{font-size:.9rem;margin-top:3px}
.v2-hcard .v2-hrow{flex-wrap:wrap;gap:10px 12px;margin-top:14px;padding:14px;border-radius:12px;background:rgba(120,130,140,.09)}
.v2-hcard .v2-hbig{width:120px;font-size:1.5rem;background:var(--paper);border-radius:10px}
.v2-hcard .v2-hunit{font-size:1rem;margin-right:auto}
.v2-hcard .v2-hrow .agency-portal-button{min-height:46px;padding:0 26px}
.v2-hcard .v2-likelast{order:3;flex-basis:100%;text-align:left;text-decoration:none;font-size:.88rem;font-weight:500;padding:0}
.v2-hcard .v2-likelast::before{content:'\21BB\00a0'}
.v2-hcard .v2-hfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.v2-hcard .v2-hfoot .v2-linkbtn{margin:0;padding:7px 12px;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:600;background:rgba(120,130,140,.12)}
.v2-hcard .v2-hfoot [data-end]{background:transparent;color:#b8412e}
@media (max-width:520px){.v2-hlist{grid-template-columns:1fr}.v2-hcard .v2-hbig{width:100px}}section.v2-hm{padding:0}
.v2-hm .v2-hm-head{padding:18px 20px 10px}
.v2-hm .v2-hlist{padding:0 16px 16px}

/* ---------------- V2.3.39: foto profilo degli accessi ---------------- */
.v2-avatar{position:relative;overflow:hidden}
.v2-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.v2-avatar-sm{width:36px;height:36px;min-width:36px;min-height:36px;font-size:.95rem;background:rgba(128,128,128,.2);color:inherit}
.v2-avatar-lg{width:72px;height:72px;min-width:72px;min-height:72px;font-size:1.6rem;background:rgba(128,128,128,.2);color:inherit}
.v2-user-id{display:flex;align-items:center;gap:12px;min-width:0}
.v2-photo-row{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.v2-user-form .v2-photo-row{margin:2px 0 10px}
.v2-pe-btns{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.v2-pe-btns .v2-linkbtn{padding:0}
/* cambio foto: il cerchio "salta" e la nuova foto sfuma al suo posto */
.v2-av-pop{animation:v2AvPop .55s cubic-bezier(.34,1.56,.64,1)}
.v2-av-pop img{animation:v2AvFade .5s ease both}
@keyframes v2AvPop{0%{transform:scale(.82)}60%{transform:scale(1.07)}100%{transform:scale(1)}}
@keyframes v2AvFade{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
@media (prefers-reduced-motion:reduce){.v2-av-pop,.v2-av-pop img{animation:none}}

/* V2.3.42: «Almeno una / Tutte» sotto lingue, patenti e attestati */
.v2-mode{margin-top:10px}
.v2-mode[hidden]{display:none}

/* V2.3.43: ultime ricerche, professioni collegate e gruppi sotto la barra della professione */
.v2-ac-list li.v2-ac-mode{cursor:default;padding:6px 10px 4px;position:sticky;top:0;background:#fff;z-index:1}
.v2-ac-list li.v2-ac-mode .v2x-segm button{padding:4px 12px;font-size:12.5px}
.v2-ac-list li.v2-ac-head{cursor:default;padding:8px 10px 3px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6b7280)}
.v2-ac-list li.v2-ac-none{white-space:normal}

/* ---------------- V2.3.44: ricerche e cantieri in un'unica scheda ---------------- */
.v2-sc-new{display:flex;gap:8px;flex-wrap:wrap}
.v2-sc-filter{margin:14px 0 4px}
.v2-sc-filter button b{opacity:.6;font-weight:600;margin-left:2px}
.v2-sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;margin-top:16px}
.v2-sc{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--sx-card,#fff);border:1px solid var(--sx-line,#e3e5e8);border-radius:22px;padding:20px;cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 28px -16px rgba(0,0,0,.14);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .2s}
@media (hover:hover){.v2-sc:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,0,0,.05),0 18px 36px -16px rgba(0,0,0,.22);border-color:var(--sx-txt,#1b1f23)}}
.v2-sc::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--sx-line,#e3e5e8)}
.v2-sc.is-site::before{background:var(--sx-red,#d7262e)}
.v2-sc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v2-sc-kind{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px 4px 9px;font-size:12px;font-weight:600;letter-spacing:.02em;background:var(--sx-soft,#f4f5f6);color:var(--sx-mut,#6b7178)}
.v2-sc-kind .v2x-ico{width:14px;height:14px}
.v2-sc.is-site .v2-sc-kind{background:rgba(215,38,46,.1);color:var(--sx-red,#d7262e)}
.v2-sc-tools{display:flex;gap:6px}
.v2-sc-title{margin:2px 0 0;font:700 19px/1.25 'Space Grotesk',sans-serif;word-break:break-word}
.v2-sc-sub{margin-top:-6px;font-size:14px;color:var(--sx-mut,#6b7178)}
.v2-sc-chips{display:flex;flex-wrap:wrap;gap:6px}
.v2-sc-chip{border-radius:999px;padding:4px 11px;font-size:12.5px;line-height:1.35;background:var(--sx-soft,#f4f5f6);color:var(--sx-txt,#1b1f23);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-sc-chip.more{color:var(--sx-mut,#6b7178)}
.v2-sc-mid{display:flex;align-items:center;gap:14px;min-height:46px;margin-top:auto}
.v2-sc-faces{display:flex;padding-left:10px}
.v2-sc-face{width:40px;height:40px;margin-left:-10px;border-radius:50%;border:2px solid var(--sx-card,#fff);background:var(--sx-soft,#f4f5f6);overflow:hidden;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer;transition:transform .2s}
.v2-sc-face img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.v2-sc-face b{font:700 .9rem 'Space Grotesk',sans-serif}
.v2-sc-face.in{box-shadow:0 0 0 2px #2f9e63}
@media (hover:hover){.v2-sc-face:hover{transform:translateY(-3px);z-index:2}}
.v2-sc-face-more{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-10px;border-radius:50%;background:var(--sx-soft,#f4f5f6);border:2px solid var(--sx-card,#fff);font-size:12px;font-weight:700;color:var(--sx-mut,#6b7178)}
.v2-sc-count{display:flex;flex-direction:column;line-height:1.2}
.v2-sc-count strong{font:700 24px 'Space Grotesk',sans-serif}
.v2-sc-count span{font-size:13px;color:var(--sx-mut,#6b7178)}
.v2-sc-count em{font-style:normal;font-size:12.5px;color:#2f9e63;font-weight:600;margin-top:2px}
.v2-sc-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--sx-line,#e3e5e8);padding-top:14px}
.v2-sc-btn{border:1px solid var(--sx-line,#e3e5e8);background:transparent;color:var(--sx-txt,#1b1f23);border-radius:999px;padding:0 16px;min-height:40px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s}
@media (hover:hover){.v2-sc-btn:hover{background:var(--sx-soft,#f4f5f6);border-color:#c9cdd1}}
.v2-sc-open{margin-left:auto;min-height:42px;padding:0 20px;font-size:14.5px}
/* «Salva ricerca»: accanto al titolo dei risultati, in evidenza */
.v2-res-head{margin-bottom:10px}
.v2x-save{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:14px;border:1px solid var(--sx-txt,#1b1f23);background:var(--sx-card,#fff);color:var(--sx-txt,#1b1f23);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s}
.v2x-save .v2x-ico{width:18px;height:18px}
@media (hover:hover){.v2x-save:hover{background:var(--sx-txt,#1b1f23);color:var(--sx-card,#fff)}}
@media (max-width:560px){.v2-sc-grid{grid-template-columns:1fr}.v2-res-head .v2x-save span{display:none}.v2x-save{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.v2-sc,.v2-sc-face{transition:none}}

/* V2.3.46: una sola specie di scheda (nessuna differenza tra ricerca e cantiere) */
.v2-sc::before{background:var(--sx-line,#e3e5e8)}
.v2-sc.has-place::before{background:var(--sx-line,#e3e5e8)}
.v2-sc-head{align-items:flex-start}
.v2-sc-head .v2-sc-title{flex:1;min-width:0;margin:2px 0 0}
.v2-sc-sub{display:flex;align-items:center;gap:6px;margin-top:-4px}
.v2-sc-sub .v2x-ico{width:15px;height:15px;flex:none}

/* V2.3.56: foto dell'accesso in un cerchio vero (la foto non esce piu'), piu' grande e da toccare per cambiarla */
.v2-photo-row .v2-pe-av{width:96px;height:96px;min-width:96px;min-height:96px;border-radius:50%;border:2px solid rgba(128,128,128,.25);padding:0;cursor:pointer;font-size:2rem;color:inherit;background:rgba(128,128,128,.15)}
.v2-photo-row .v2-pe-av:hover,.v2-photo-row .v2-pe-av:focus-visible{border-color:currentColor}
.v2-pe-hint{font-size:.8rem;opacity:.7;max-width:24ch;line-height:1.3}
.v2-photo-row{gap:18px;margin:4px 0 14px}
/* V2.3.56: cambio password obbligatorio */
.v2-mustpw{position:fixed;inset:0;z-index:9999;background:rgba(15,20,25,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.v2-mustpw-card{background:#fff;color:#1a1a1a;border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.v2-mustpw-card h2{margin:0 0 6px;font-size:1.3rem}
.v2-mustpw-card input{width:100%;box-sizing:border-box}

/* V2.3.56: home riordinata - 4 numeri in fila, due colonne Da fare | Novita', nuovi candidati su una riga */
#v2-home .v2-home-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
#v2-home .v2-home-strip .v2-pipe-stat{min-height:84px}
#v2-home .v2-hs-todo.is-hot{border-color:#c2410c;background:#fff7ed}
#v2-home .v2-hs-todo.is-hot b{color:#c2410c}
#v2-home .v2-home-cols2{margin-bottom:6px}
#v2-home .v2-home-feed .v2-h2-row{margin-top:0}
#v2-home .v2-home-new{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
#v2-home .v2-profsec{margin-top:26px}
#v2-home .v2-home-cols2 > .v2-profsec{margin-top:0}
#v2-home .v2-home-kpis .v2-kpi b{font-size:1.1rem}
@media (max-width:640px){#v2-home .v2-home-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} #v2-home .v2-home-strip .v2-pipe-stat{min-height:70px}}

/* V2.3.57: guida al primo accesso */
.v2-tour{position:fixed;inset:0;z-index:9998}
.v2-tour.is-center{background:rgba(15,20,25,.6)}
.v2-tour-hole{position:fixed;border-radius:12px;box-shadow:0 0 0 150vmax rgba(15,20,25,.55);outline:3px solid #e2412b;outline-offset:2px;transition:all .25s ease;pointer-events:none}
.v2-tour-tip{position:fixed;width:min(340px,calc(100vw - 16px));background:#fff;color:#1a1a1a;border-radius:14px;padding:18px 18px 14px;box-shadow:0 18px 50px rgba(0,0,0,.35);transition:left .25s ease,top .25s ease}
.v2-tour-tip.is-center{left:50% !important;top:50% !important;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 24px))}
.v2-tour-arrow{position:absolute;width:18px;height:18px;background:#fff;transform:rotate(45deg)}
.v2-tour-step{margin:0 0 4px;font-size:.78rem;color:#e2412b;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.v2-tour-tip h2{margin:0 0 6px;font-size:1.2rem}
.v2-tour-text{margin:0 0 14px;line-height:1.45}
.v2-tour-btns{display:flex;align-items:center;gap:8px}
.v2-tour-btns > span{flex:1}
.v2-tour-btns .v2-linkbtn{padding:0;font-size:.85rem;color:#666}
@media (prefers-reduced-motion:reduce){.v2-tour-hole,.v2-tour-tip{transition:none}}

/* V2.3.59: home minimal - una colonna stretta, molto spazio, niente riquadri in piu' */
#v2-home .v2-home-min{max-width:880px;margin:0 auto}
#v2-home .v2-home-min .v2-title{margin:4px 0 18px}
#v2-home .v2-home-min .v2-home-search{margin-bottom:20px}
#v2-home .v2-home-min .v2-home-strip{margin-bottom:18px}
#v2-home .v2-home-alerts{margin:0 0 8px;border:1px solid var(--line,#e6e1d4);border-radius:var(--r-card,12px);background:var(--paper,#fff);padding:0 14px}
#v2-home .v2-home-alerts > summary{cursor:pointer;padding:12px 0;font-size:.95rem;list-style:none;display:flex;align-items:center;gap:8px}
#v2-home .v2-home-alerts > summary::-webkit-details-marker{display:none}
#v2-home .v2-home-alerts > summary::after{content:'\203A';margin-left:auto;transition:transform .15s;font-size:1.2rem}
#v2-home .v2-home-alerts[open] > summary::after{transform:rotate(90deg)}
#v2-home .v2-home-alerts > summary b{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:12px;background:#c2410c;color:#fff;font-size:.8rem;padding:0 6px}
#v2-home .v2-home-alerts[open]{padding-bottom:12px}
#v2-home .v2-home-sec{margin-top:28px;padding:0;border:0;background:none;box-shadow:none}
#v2-home .v2-home-sec .v2-h2{margin-bottom:10px}
#v2-home .v2-home-min{max-width:1040px}
#v2-home .v2-home-min .v2-home-new{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){#v2-home .v2-home-min .v2-home-new{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#v2-home .v2-home-min .v2-home-new{grid-template-columns:1fr}}

/* V2.4.4: app sul computer, passi per ogni browser sempre in vista */
.v2-desk-lbl{margin:14px 0 6px;font:600 .78rem 'IBM Plex Sans',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6b6b);}
.v2-desk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.v2-desk-b{border:1px solid var(--line);border-radius:8px;padding:12px 14px;}
.v2-desk-mine .v2-desk-b{border-color:var(--ink);}
.v2-desk-b h4{margin:0 0 6px;font:600 .95rem 'Space Grotesk',sans-serif;}
.v2-desk-b ol{margin:0;padding-left:20px;font-size:.88rem;line-height:1.45;}
.v2-desk-b li+li{margin-top:4px;}
.v2-sf-photo-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;}
.v2-sf-photo-note{margin:4px 0 0;font-size:.8rem;}
/* V2.5.0: altre professioni sotto quella principale */
.v2-prof-also{color:var(--muted,#6b6b6b);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* V2.6.2: passo·clock dentro la pagina del portale (stesso menu a sinistra); altezza calcolata da oraFrameFit() */
.v2-ora-frame{display:block;width:100%;height:calc(100dvh - 90px);min-height:420px;border:0;background:transparent;}

/* V2.6.3: il «·» di passo·clock e' verde, come nel logo dell'app */
.v2-ora-dot{color:#7ED957;font-weight:inherit;}
