/* ==========================================================================
   inc-portale.css - grafica nuova del portale Infoservice

   Caricato solo da Default_nuovo.asp, dopo inc-style.css.
   Tutte le classi nuove cominciano con "pn-" (portale nuovo).
   L'ultima parte ("contenuto delle pagine di sempre") ridisegna, senza
   toccarle, le pagine cont_... scritte per la grafica di prima: le regole
   hanno sempre .pn-vecchio davanti, cosi' vincono su quelle di inc-style.css
   anche quando una pagina lo ricarica.

   Colori:  blu #1A3564   azzurro #3CA5E9   testo #111C2B   grigio #566275
            fondo #F5F6F8   bordi #DDE1E7
   ========================================================================== */

html, body { margin: 0; padding: 0; }
body { background: #F5F6F8; }

.pn-app, .pn-accesso {
	font-family: 'Schibsted Grotesk', 'Segoe UI', Arial, Helvetica, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	color: #111C2B;
}

.pn-app a:focus, .pn-app summary:focus, .pn-app input:focus, .pn-app select:focus,
.pn-app textarea:focus, .pn-app button:focus, .pn-accesso a:focus, .pn-accesso input:focus {
	outline: 3px solid #3CA5E9;
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   pagina di accesso
   -------------------------------------------------------------------------- */

.pn-accesso { display: flex; flex-wrap: wrap; min-height: 100vh; background: #F5F6F8; }

.pn-accesso-blu {
	flex: 1 1 480px; min-width: 0; box-sizing: border-box;
	background: #1A3564; color: #ffffff;
	padding: 48px 56px;
	display: flex; flex-direction: column; justify-content: space-between; gap: 40px;
}
.pn-accesso-logo { display: block; width: 330px; max-width: 100%; height: auto; margin-left: -12px; border: 0; }
.pn-accesso-riga { width: 64px; height: 4px; background: #3CA5E9; margin: 0 0 20px; }
.pn-accesso-titolo { margin: 0 0 20px; max-width: 11em; font-size: 44px; line-height: 1.08; font-weight: 700; letter-spacing: -0.02em; text-align: left; }
.pn-accesso-sotto { margin: 0; max-width: 30em; font-size: 18px; color: #D6E0F2; text-align: left; }
.pn-accesso-piede { margin: 0; font-size: 14px; color: #D6E0F2; text-align: left; }

.pn-accesso-lato {
	flex: 1 1 480px; min-width: 0; box-sizing: border-box;
	padding: 48px 24px;
	display: flex; align-items: center; justify-content: center;
}
.pn-accesso-box, .pn-accesso-box.pn-vecchio { width: 100%; max-width: 400px; box-sizing: border-box; font-size: 15px; text-align: left; }
/* pagine aperte senza essere collegati che non sono il modulo di accesso
   (per esempio "Contatta Infoservice"): piu' spazio per il contenuto */
.pn-accesso-box.pn-vecchio:not(.pn-login) { max-width: 640px; font-size: 14px; }
.pn-accesso-h1 { margin: 0 0 8px; font-size: 34px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; }
.pn-accesso-intro { margin: 0 0 4px; color: #566275; }
.pn-accesso-aiuto { margin: 20px 0 0; color: #566275; }
.pn-accesso-aiuto a, .pn-accesso-box a.loginMenuLink { color: #1A3564; font-weight: 600; text-decoration: underline; }

/* il titolo "autenticazione" della pagina di sempre qui non serve */
.pn-accesso-box.pn-login > img, .pn-accesso-box.pn-login > span, .pn-accesso-box.pn-login > br { display: none !important; }

/* modulo di login: e' la tabella di form_login.asp, messa in colonna */
.pn-login form[name="formLogin"] { margin: 0; }
.pn-login form[name="formLogin"] table,
.pn-login form[name="formLogin"] tbody,
.pn-login form[name="formLogin"] tr,
.pn-login form[name="formLogin"] td { display: block; width: 100%; padding: 0; text-align: left; }
.pn-login form[name="formLogin"] tr { margin: 0 0 16px; }
.pn-login form[name="formLogin"] td { font-weight: 600; }
.pn-login form[name="formLogin"] br { display: none; }
.pn-login form[name="formLogin"] input[type="text"],
.pn-login form[name="formLogin"] input[type="password"] {
	display: block; box-sizing: border-box; width: 100%; min-height: 52px;
	margin: 6px 0 0; padding: 0 16px;
	border: 1px solid #8792A2; border-radius: 10px; background: #ffffff;
	font-family: inherit; font-size: 16px; font-weight: 400; color: #111C2B;
}
.pn-login form[name="formLogin"] input[type="submit"] {
	display: block; box-sizing: border-box; width: 100%; min-height: 52px;
	margin: 4px 0 0; padding: 0 16px;
	border: 0; border-radius: 10px; background: #1A3564;
	font-family: inherit; font-size: 17px; font-weight: 700; color: #ffffff;
	cursor: pointer; -webkit-appearance: none; appearance: none;
}
.pn-login form[name="formLogin"] input[type="submit"]:hover { background: #0E2244; }

/* messaggio di nome utente o password sbagliati */
.pn-login > div[style*="color:red"] {
	margin: 0 0 16px; padding: 12px 14px;
	border: 1px solid #C0392B; border-radius: 10px; background: #FDECEA;
	color: #8E1B10 !important;
}

/* --------------------------------------------------------------------------
   area riservata: barra laterale
   -------------------------------------------------------------------------- */

.pn-app { display: flex; align-items: stretch; min-height: 100vh; background: #F5F6F8; }

.pn-side {
	flex: 0 0 248px; width: 248px; box-sizing: border-box;
	background: #1A3564; color: #ffffff;
	padding: 16px;
	display: flex; flex-direction: column;
}
.pn-logo { display: block; padding: 0 0 12px; }
.pn-logo img { display: block; width: 190px; height: 64px; border: 0; }

.pn-menu-check, .pn-menu-btn { display: none; }

.pn-side-corpo { flex: 1 1 auto; display: flex; flex-direction: column; text-align: left; }

.pn-voci { display: flex; flex-direction: column; gap: 2px; }

.pn-side a.pn-voce {
	display: flex; align-items: center; gap: 12px; box-sizing: border-box;
	min-height: 44px; padding: 0 12px;
	border-radius: 10px;
	color: #ffffff; font-weight: 500; text-decoration: none;
}
.pn-side a.pn-voce:hover { background: #24467F; }
.pn-side a.pn-voce.pn-on, .pn-side a.pn-voce.pn-on:hover { background: #ffffff; color: #1A3564; font-weight: 700; }
.pn-ico { flex: 0 0 20px; }
.pn-voce-txt { flex: 1 1 auto; }

.pn-conta { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 13px; font-weight: 400; color: #D6E0F2; white-space: nowrap; }
.pn-on .pn-conta { color: #566275; }
.pn-conta.pn-conta-on { padding: 2px 8px; border-radius: 10px; background: #FFD166; color: #3D2500; font-weight: 500; }

.pn-gruppi { margin: 16px 0; padding: 8px 0 0; border-top: 1px solid #3F5C8F; }
.pn-gruppo summary {
	box-sizing: border-box; min-height: 44px; padding: 12px;
	border-radius: 10px;
	color: #D6E0F2; font-weight: 600; cursor: pointer;
}
.pn-gruppo summary:hover { background: #24467F; }
.pn-side .pn-gruppo a.pn-voce { min-height: 40px; padding-left: 28px; font-weight: 400; }
.pn-side .pn-gruppo a.pn-voce.pn-on { font-weight: 700; }

.pn-utente { margin-top: auto; padding: 14px 12px 0; border-top: 1px solid #3F5C8F; }
.pn-utente-nome { font-weight: 700; }
.pn-utente-ruolo { font-size: 14px; color: #D6E0F2; }
.pn-utente-link { display: flex; flex-wrap: wrap; gap: 0 16px; }
.pn-side .pn-utente-link a { display: inline-flex; align-items: center; min-height: 44px; color: #ffffff; font-weight: 500; text-decoration: underline; }

/* --------------------------------------------------------------------------
   area riservata: contenuto
   -------------------------------------------------------------------------- */

.pn-main { flex: 1 1 auto; min-width: 0; box-sizing: border-box; padding: 28px 32px 48px; }

#divModificaOk {
	display: none;
	margin: 0 0 16px; padding: 10px 14px;
	border: 1px solid #2E7D4F; border-radius: 10px; background: #D9F2E3;
	color: #14532D; font-size: 14px; font-weight: 700; text-align: center;
}

.pn-tecnico { margin: 40px 0 0; font-size: 12px; color: #566275; }
.pn-tecnico summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-weight: 600; }

/* --------------------------------------------------------------------------
   contenuto delle pagine di sempre (cont_...asp), ridisegnato da qui
   -------------------------------------------------------------------------- */

.pn-vecchio { font-size: 13px; text-align: left; }
.pn-vecchio table { text-align: left; }
.pn-vecchio hr { height: 0; border: 0; border-top: 1px solid #DDE1E7; }

/* titolo della pagina (ContTitle): via il quadratino, titolo grande */
.pn-vecchio img[src*="square_c.gif"] { display: none; }
.pn-vecchio img[src*="square_c.gif"] + span {
	display: inline-block; margin: 0 0 4px;
	font-size: 34px !important; line-height: 1.1; font-weight: 800 !important;
	letter-spacing: -0.02em; color: #111C2B !important;
}
.pn-vecchio img[src*="square_c.gif"] + span::first-letter { text-transform: uppercase; }

/* la fascia azzurra con utente e ticket (InfoLogin): ora quei dati sono
   nella barra laterale. Resta nella pagina, nascosta, perche' gli script
   dei ticket la cercano. */
.pn-vecchio table[style*="398ACC"] { display: none; }

/* collegamenti */
.pn-vecchio .loginMenuLink, .pn-vecchio .textLink, .pn-vecchio .TicketLink,
.pn-vecchio .ArearisTopMenuLink, .pn-vecchio .BellaLista_link { color: #1A3564; }

/* menu in alto delle pagine (MenuLogin): le voci diventano pulsanti come
   quelli delle pagine ridisegnate, senza le icone di una volta */
.pn-vecchio div.ArearisTopMenuButton { display: inline-block; padding: 0; background: transparent; vertical-align: middle; }
.pn-vecchio .ArearisTopMenuButton .ArearisTopMenuButton:first-child { display: none; }
.pn-vecchio a.ArearisTopMenuLink {
	display: inline-flex; align-items: center; box-sizing: border-box;
	min-height: 40px; margin: 0 8px 8px 0; padding: 8px 16px;
	border: 1px solid #1A3564; border-radius: 10px; background: #ffffff;
	color: #1A3564; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer;
}
.pn-vecchio a.ArearisTopMenuLink:hover { background: #E8EEF8; text-decoration: none; }
.pn-vecchio a.ArearisTopMenuLink[href*="opz=nuov"],
.pn-vecchio a.ArearisTopMenuLink[onclick*="opz=new"] { background: #1A3564; color: #ffffff; }
.pn-vecchio a.ArearisTopMenuLink[href*="opz=nuov"]:hover,
.pn-vecchio a.ArearisTopMenuLink[onclick*="opz=new"]:hover { background: #0E2244; }
/* la riga dei pulsanti va a sinistra, senza la linea sotto */
.pn-vecchio div:has(> .ArearisTopMenuButton) { margin: 0 0 10px; font-size: 0; text-align: left !important; }
.pn-vecchio div:has(> .ArearisTopMenuButton) + hr { display: none; }

/* elenchi */
.pn-vecchio .ArearisListTable { border-collapse: collapse; background: #ffffff; border: 1px solid #DDE1E7; }
.pn-vecchio .ArearisListTable th { padding: 9px 10px; border: 0; border-bottom: 1px solid #DDE1E7; background: #EEF1F5; color: #3B4657; text-align: left; }
.pn-vecchio .ArearisListTable td { padding: 7px 10px; border: 0; border-top: 1px solid #ECEFF3; background: #ffffff; }
.pn-vecchio .ArearisListTable caption { padding: 8px 4px; font-size: 16px; text-align: left; }

/* moduli */
.pn-vecchio .ArearisFormTable { border: 1px solid #DDE1E7; border-radius: 10px; background: #ffffff none; }
.pn-vecchio .ArearisFormTable td { padding: 5px 6px; }
.pn-vecchio .ArearisFormTable th { padding: 5px 8px 5px 10px; font-size: 13px; color: #3B4657; }
.pn-vecchio .ArearisFormTable input[type="text"],
.pn-vecchio .ArearisFormTable input[type="password"],
.pn-vecchio .ArearisFormTable select,
.pn-vecchio .ArearisFormTable textarea,
.pn-vecchio .TicketFormTable input[type="text"],
.pn-vecchio .TicketFormTable select,
.pn-vecchio .TicketFormTable textarea {
	padding: 5px 7px;
	border: 1px solid #8792A2; border-radius: 6px; background: #ffffff;
	font-family: inherit; font-size: 13px; color: #111C2B;
}
.pn-vecchio select { font-size: 13px; }

/* pulsanti */
.pn-vecchio .ArearisFormTableButton {
	margin: 2px !important; padding: 8px 14px !important;
	border: 0 !important; border-radius: 8px;
	background: #1A3564 !important; color: #ffffff !important;
	font-family: inherit; font-size: 13px !important; font-weight: 700 !important;
	text-decoration: none;
}
.pn-vecchio .ArearisFormTableButton:hover { background: #0E2244 !important; }

/* riquadri della pagina iniziale (ticket aperti, notizie interne) */
.pn-vecchio div.Arearis_In, .pn-vecchio div.Arearis_InNews {
	padding: 14px 16px;
	border: 1px solid #DDE1E7; border-radius: 10px; background: #ffffff;
}
.pn-vecchio div.Arearis_InNewsTitle { margin: 0 0 10px; padding: 8px 10px; border: 0; border-radius: 6px; background: #EEF1F5; }

/* --------------------------------------------------------------------------
   pulsanti e schede delle pagine ridisegnate
   -------------------------------------------------------------------------- */

.pn-vecchio a.pn-btn {
	display: inline-flex; align-items: center; justify-content: center;
	box-sizing: border-box; min-height: 40px; padding: 8px 16px;
	border: 1px solid #1A3564; border-radius: 10px; background: #ffffff;
	color: #1A3564; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap;
}
.pn-vecchio a.pn-btn:hover { background: #E8EEF8; }
.pn-vecchio a.pn-btn.pn-btn-primario { background: #1A3564; color: #ffffff; }
.pn-vecchio a.pn-btn.pn-btn-primario:hover { background: #0E2244; }
.pn-vecchio a.pn-btn.pn-btn-piccolo { min-height: 34px; padding: 5px 12px; border-color: #C9CFD8; color: #111C2B; font-size: 13px; font-weight: 600; }

.pn-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.pn-barra-spazio { flex: 1 1 8px; }
.pn-vecchio a.pn-scheda {
	display: inline-flex; align-items: center; box-sizing: border-box; min-height: 40px; padding: 8px 12px;
	border-radius: 10px; color: #1A3564; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.pn-vecchio a.pn-scheda:hover { background: #E8EEF8; }
.pn-vecchio a.pn-scheda.pn-on { background: #DCE6F5; }

/* i due pulsanti dopo il salvataggio del rapportino */
.pn-vecchio input[type="button"][value="Stampa"],
.pn-vecchio input[type="button"][value="Email"] {
	min-height: 40px; margin: 0 6px 0 0; padding: 8px 16px;
	border: 1px solid #1A3564; border-radius: 10px; background: #ffffff;
	color: #1A3564; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}

/* --------------------------------------------------------------------------
   titoli, riquadri con i numeri (pagina iniziale, da fatturare)
   -------------------------------------------------------------------------- */

.pn-home-testa { margin: 0 0 18px; }
.pn-titolo { margin: 0 0 4px; font-size: 34px; line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #111C2B; }
.pn-sotto { margin: 0; color: #566275; font-size: 15px; }
.pn-sezione { margin: 26px 0 10px; font-size: 20px; line-height: 1.2; font-weight: 700; color: #111C2B; }

.pn-riquadri { display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 22px; }
.pn-vecchio a.pn-riquadro {
	flex: 1 1 220px; max-width: 360px; box-sizing: border-box;
	display: flex; flex-direction: column; gap: 4px; padding: 16px 18px;
	border: 1px solid #DDE1E7; border-radius: 14px; background: #ffffff;
	color: #111C2B; text-decoration: none;
}
.pn-vecchio a.pn-riquadro:hover { border-color: #1A3564; }
.pn-riquadro-nome { font-size: 14px; font-weight: 600; color: #566275; }
.pn-riquadro-num { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 30px; line-height: 1.1; font-weight: 500; }
.pn-riquadro-nota { font-size: 13px; color: #566275; }
.pn-vecchio a.pn-riquadro-giallo { border-color: #E0B24A; background: #FFF1CC; color: #3D2500; }
.pn-riquadro-giallo .pn-riquadro-nome, .pn-riquadro-giallo .pn-riquadro-nota { color: #6B4100; }
.pn-vecchio a.pn-riquadro-azzurro { border-color: #8DB6E2; background: #DCEBFA; color: #0A2F52; }
.pn-riquadro-azzurro .pn-riquadro-nome, .pn-riquadro-azzurro .pn-riquadro-nota { color: #0F4C81; }

/* notizie interne */
.pn-notizia { margin: 0 0 12px; padding: 14px 16px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; font-size: 14px; }
.pn-notizia-testa { margin: 0 0 6px; font-size: 15px; }
.pn-notizia-data { margin-right: 8px; font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 13px; color: #566275; }
.pn-notizia-testo { overflow-wrap: break-word; }
.pn-notizia-azioni { margin: 10px 0 0; text-align: right; }

/* rimborsi del mese */
.pn-rimborsi { padding: 12px 14px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; }
.pn-rimborsi-testa { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.pn-rimborsi-mese { padding: 0 6px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.pn-rimborsi-mese span { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-weight: 500; }
.pn-rimborsi-tab { overflow-x: auto; }
.pn-vecchio .pn-rimborsi-tab .ArearisListTable { width: 100%; font-size: 13px; }
.pn-vecchio .pn-rimborsi-tab .ArearisListTable tfoot th, .pn-vecchio .pn-rimborsi-tab .ArearisListTable tfoot td { border-top: 2px solid #111C2B; background: #F8F9FB; font-weight: 700; }

/* tabella semplice delle parti nuove (pagina iniziale: da fatturare nel mese) */
.pn-vecchio table.pn-tab { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 13px; text-align: left; }
.pn-tab th { padding: 8px 10px; background: #F8F9FB; color: #566275; font-size: 12px; font-weight: 600; text-align: left; white-space: nowrap; }
.pn-tab td { padding: 7px 10px; border-top: 1px solid #ECEFF3; vertical-align: top; }
.pn-tab .pn-tab-num { text-align: right; white-space: nowrap; }
.pn-tab td.pn-tab-num { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; }
.pn-tab .pn-tab-data { white-space: nowrap; }
.pn-vecchio .pn-tab a { color: #1A3564; font-weight: 600; text-decoration: underline; }
.pn-tab tr.pn-tab-gruppo td { border-top: 2px solid #111C2B; background: #F5F6F8; font-size: 14px; }
.pn-tab tr.pn-tab-gruppo td.pn-tab-num { font-weight: 500; }
.pn-tab tr.pn-tab-totale td { border-top: 2px solid #111C2B; background: #FFF1CC; color: #3D2500; font-size: 14px; font-weight: 700; }
.pn-tab-info { margin-left: 8px; color: #566275; font-size: 12px; }
.pn-tab-manca { margin-left: 8px; color: #B42318; font-size: 12px; font-weight: 700; }
.pn-tab-nota { margin: 10px 2px 0; color: #566275; font-size: 13px; }

/* --------------------------------------------------------------------------
   pagine fuori da Default.asp (Layout_nuovo_esterno.asp): report, ricerca e
   ispezione dei ticket. Il contenuto e' quello di sempre dentro la cornice nuova.
   -------------------------------------------------------------------------- */

.pn-esterno { overflow-x: auto; }
.pn-esterno > br:first-child { display: none; }

/* report dei rapportini: riquadri dei filtri, titolo e totali */
.pn-esterno form.ArearisFormTable { padding: 6px; }
.pn-esterno td.reprap { border: 1px solid #DDE1E7; background: #ffffff; }
.pn-esterno div.reprapH { padding: 6px 8px; background: #F8F9FB; color: #566275; font-size: 12px; font-weight: 600; }
.pn-esterno div.reprapD { padding: 8px; line-height: 1.9; }
.pn-esterno h3 { margin: 16px 0; padding: 10px 14px; border: 1px solid #DDE1E7; border-radius: 10px; background: #ffffff; color: #111C2B; font-size: 15px; font-weight: 700; text-align: left; }
.pn-esterno .ArearisListTable { width: 100%; }
.pn-esterno .ArearisListTable tfoot td { border-top: 2px solid #111C2B; background: #F5F6F8 !important; }
.pn-esterno .ArearisListTable td[style*="CCCCCC"] { background: #F5F6F8 !important; }

/* Lavoro: tabella del mese con tante colonne */
.pg-lavoro .pn-main { padding: 24px 20px 40px; }
.pg-lavoro .pn-esterno .ArearisListTable th { padding: 6px; font-size: 12px; }
.pg-lavoro .pn-esterno .ArearisListTable td { padding: 4px 6px; font-family: 'Schibsted Grotesk', 'Segoe UI', Arial, sans-serif; font-size: 12px; }
.pg-lavoro .pn-esterno .ArearisListTable input[type="text"],
.pg-lavoro .pn-esterno .ArearisListTable select {
	box-sizing: border-box; max-width: 100%; padding: 3px 4px;
	border: 1px solid #8792A2; border-radius: 6px; background: #ffffff;
	font-family: inherit; font-size: 12px !important; color: #111C2B;
}
.pg-lavoro .pn-esterno .ArearisListTable input.ArearisFormTableButton { padding: 5px 10px !important; }
.pg-lavoro #lav_mese, .pg-lavoro #lav_anno { border: 0 !important; padding: 0 2px !important; font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 16px; font-weight: 500; }
.pg-lavoro .pn-esterno img[src*="item_previous"], .pg-lavoro .pn-esterno img[src*="item_next"] { vertical-align: middle; padding: 6px; }

/* --------------------------------------------------------------------------
   da fatturare: la pagina e' quella di sempre, qui cambia solo l'aspetto
   (le sue classi cominciano con "fatt")
   -------------------------------------------------------------------------- */

.pn-vecchio .fattH { margin: 26px 0 10px; font-size: 20px; line-height: 1.2; font-weight: 700; color: #111C2B; }
.pn-vecchio .fattBox { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; font-size: 14px; line-height: 2.2; }
.pn-vecchio .fattOk { margin: 0 0 16px; padding: 10px 14px; border: 1px solid #2E7D4F; border-radius: 10px; background: #D9F2E3; color: #14532D; font-size: 14px; }
.pn-vecchio .fattErr { margin: 0 0 16px; padding: 10px 14px; border: 1px solid #B42318; border-radius: 10px; background: #FDE2E2; color: #7A1A12; font-size: 14px; }
.pn-vecchio .fattManca { color: #B42318; }

.pn-vecchio .fattAnno {
	margin: 14px 0 10px; padding: 10px 14px;
	border-radius: 10px; background: #1A3564; color: #ffffff; font-size: 17px; font-weight: 700;
}
.pn-vecchio .fattAnno img, .pn-vecchio .fattAnnoRiga img { margin-right: 10px; border-radius: 3px; }
.pn-vecchio .fattAnnoSom { margin-left: 16px; font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 13px; font-weight: 400; }
.pn-vecchio .fattAnnoTot { margin: 0 0 14px; padding: 8px 4px; border-bottom: 2px solid #1A3564; font-size: 14px; }

.pn-vecchio form[action*="nsp=Da fatturare"] { margin: 0 0 16px !important; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; overflow-x: auto; }
.pn-vecchio .fattTab { min-width: 660px; font-size: 13px; }
.pn-vecchio .fattTab th { padding: 8px 10px; background: #F8F9FB; color: #566275; font-size: 12px; font-weight: 600; }
.pn-vecchio .fattTab td { padding: 7px 10px; border-bottom: 1px solid #ECEFF3; vertical-align: middle; }
.pn-vecchio .fattTab td.num { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; }
.pn-vecchio .fattCli td { border-top: 0; background: #ffffff; font-size: 15px; padding-top: 12px; padding-bottom: 12px; }
.pn-vecchio .fattCli + .fattCli td, .pn-vecchio tr + .fattCli td { border-top: 2px solid #111C2B; }
.pn-vecchio .fattTot td { border-top: 2px solid #111C2B; border-bottom: 0; background: #ffffff; }
.pn-vecchio .fattAz td { padding: 10px 12px 12px; background: #F8F9FB; font-size: 14px; }
.pn-vecchio .fattAnnoRiga td { background: #1A3564; color: #ffffff; font-size: 16px; padding: 10px 14px; }
.pn-vecchio .fattAnnoTotRiga td { background: #F8F9FB; }
.pn-vecchio .fattBox input[type="text"], .pn-vecchio .fattTab input[type="text"] {
	min-height: 36px; box-sizing: border-box; padding: 4px 9px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 14px; color: #111C2B;
}
.pn-vecchio .fattTab input[type="checkbox"] { width: 18px; height: 18px; margin: 0; vertical-align: middle; }
.pn-vecchio .fattTab input[name="btnAnnulla"].ArearisFormTableButton {
	border: 1px solid #B42318 !important; background: #ffffff !important; color: #B42318 !important;
}

/* --------------------------------------------------------------------------
   ticket: elenco del cliente (includes/inc-portale-ticket.asp) e, ridisegnate
   da qui, le parti di sempre: ticket aperti, dialogo, modulo
   -------------------------------------------------------------------------- */

.pn-pill { display: inline-block; padding: 3px 10px; border: 1px solid #C9CFD8; border-radius: 14px; background: #F5F6F8; color: #3B4657; font-size: 12px; font-weight: 600; white-space: nowrap; }
.pn-pill-giallo { border-color: #A8730F; background: #FFF1CC; color: #6B4100; }
.pn-pill-azzurro { border-color: #2B6CB0; background: #DCEBFA; color: #0F4C81; }

.pn-tk-lista { border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; overflow: hidden; }
.pn-vecchio a.pn-tk { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid #ECEFF3; color: #111C2B; text-decoration: none; }
.pn-vecchio a.pn-tk:first-child { border-top: 0; }
.pn-vecchio a.pn-tk:hover { background: #F5F6F8; }
.pn-tk-num { flex: 0 0 48px; font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 13px; color: #566275; }
.pn-tk-corpo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pn-tk-ogg { font-size: 15px; font-weight: 600; color: #1A3564; overflow-wrap: break-word; }
.pn-tk-nuovo .pn-tk-ogg { font-weight: 800; }
.pn-tk-info { font-size: 13px; color: #566275; }
.pn-tk-stato { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }

/* avvisi su fondo arancione ("Nessun ticket aperto" e simili) */
.pn-vecchio div[style*="FF9966"] {
	padding: 8px 16px; border: 1px dashed #C9CFD8; border-radius: 12px;
	background: transparent !important; color: #566275; font-size: 14px;
}

/* ticket aperti, lato Infoservice */
.pn-vecchio .TicketSubSection { margin: 0 0 10px; padding: 0; border: 0; background: transparent; font-size: 20px; line-height: 1.2; font-weight: 700; color: #111C2B; }
.pn-vecchio .TicketListTable { border: 1px solid #DDE1E7; background: #ffffff; font-size: 13px; }
.pn-vecchio .TicketListTable th { padding: 8px 10px; background: #F8F9FB; color: #566275; font-size: 12px; font-weight: 600; }
.pn-vecchio .TicketListTable td { margin: 0; padding: 8px 10px; border: 0; border-top: 2px solid #111C2B; background: #ffffff none; vertical-align: top; }
.pn-vecchio .TicketListTable td[colspan="3"], .pn-vecchio .TicketListTable td[colspan="4"] { border-top: 1px solid #ECEFF3; background: #F8F9FB none; color: #3B4657; }
.pn-vecchio .TicketListTable td[colspan="3"] { color: #566275; font-size: 12px; font-weight: 600; }
.pn-vecchio .TicketListTable .TicketLink { font-size: 15px; text-decoration: underline; }

/* un ticket: intestazione, modulo, dialogo */
.pn-vecchio .TicketHeader { padding: 10px 14px; border: 1px solid #DDE1E7; border-bottom: 0; border-radius: 12px 12px 0 0; background: #ffffff; color: #111C2B; font-size: 13px; }
.pn-vecchio .TicketHeader td { padding: 3px 6px; text-align: left; }
.pn-vecchio .TicketListaDialogoContainer { padding: 12px 14px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; }
.pn-vecchio .TicketHeader + .TicketListaDialogoContainer { border-radius: 0 0 12px 12px; }
.pn-vecchio .TicketListaDialogo { width: auto; height: auto; max-height: 60vh; overflow: auto; }
.pn-vecchio .TicketDialogoDomandaHeader, .pn-vecchio .TicketDialogoRispostaHeader {
	margin: 12px 0 0; padding: 6px 12px; border-radius: 10px 10px 0 0; font-size: 12px; font-weight: 600; text-align: left;
}
.pn-vecchio .TicketDialogoDomandaText, .pn-vecchio .TicketDialogoRispostaText { padding: 4px 12px 10px; border: 0; border-radius: 0 0 10px 10px; font-size: 14px; }
.pn-vecchio .TicketDialogoDomandaHeader, .pn-vecchio .TicketDialogoDomandaText { margin-right: 10%; background: #F1F3F6; color: #111C2B; }
.pn-vecchio .TicketDialogoRispostaHeader, .pn-vecchio .TicketDialogoRispostaText { margin-left: 10%; background: #DCEBFA; color: #0A2F52; }
.pn-vecchio .TicketDialogoDomandaHeader, .pn-vecchio .TicketDialogoRispostaHeader { color: #566275; }

.pn-vecchio .TicketFormTable { background: transparent; }
.pn-vecchio .TicketFormTable th { padding: 10px 10px 4px 0; color: #3B4657; font-size: 13px; font-weight: 600; text-align: left; vertical-align: top; white-space: nowrap; }
.pn-vecchio .TicketFormTable th[colspan="2"] { padding: 8px 0 14px; text-align: right; font-weight: 400; white-space: normal; }
.pn-vecchio .TicketFormTable td { padding: 4px 0; width: 100%; }
.pn-vecchio .TicketFormTable input[type="text"], .pn-vecchio .TicketFormTable textarea { box-sizing: border-box; width: 100%; max-width: 760px; font-size: 14px !important; }
.pn-vecchio .TicketFormTable select { min-height: 36px; font-size: 14px !important; }

/* --------------------------------------------------------------------------
   rapportini del mese (includes/inc-portale-rapportini.asp)
   -------------------------------------------------------------------------- */

.pn-mesi {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
	margin: 0 0 22px; padding: 10px 14px;
	border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff;
}
.pn-mesi-anno { color: #566275; font-size: 13px; font-weight: 600; }
.pn-vecchio .pn-mesi select {
	min-height: 38px; padding: 4px 8px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 14px; font-weight: 600; color: #111C2B;
}
.pn-mesi-lista { flex: 1 1 320px; display: flex; flex-wrap: wrap; gap: 4px; }
.pn-vecchio .pn-mese {
	flex: 1 0 40px; display: inline-flex; align-items: center; justify-content: center;
	box-sizing: border-box; min-height: 38px; padding: 0 4px;
	border-radius: 8px; color: #1A3564; font-size: 14px; font-weight: 600; text-decoration: none;
}
.pn-vecchio a.pn-mese:hover { background: #E8EEF8; }
.pn-vecchio a.pn-mese.pn-on, .pn-vecchio a.pn-mese.pn-on:hover { background: #1A3564; color: #ffffff; font-weight: 700; }
.pn-vecchio .pn-mese.pn-mese-no { color: #8792A2; font-weight: 400; }

.pn-mese-testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 24px; margin: 0 0 14px; }
.pn-mese-titolo { margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: #111C2B; }
.pn-mese-conto { color: #566275; font-size: 14px; }
.pn-mese-conto strong, .pn-rgruppo-ore strong { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-weight: 500; color: #111C2B; }
.pn-vuoto { margin: 0; padding: 28px 16px; border: 1px dashed #C9CFD8; border-radius: 12px; color: #566275; font-size: 14px; text-align: center; }

.pn-rgruppo { margin: 0 0 18px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; overflow: hidden; }
.pn-rgruppo-testa { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 10px 12px 10px 16px; }
.pn-rgruppo-nome { flex: 1 1 auto; margin: 0; font-size: 16px; line-height: 1.3; font-weight: 700; color: #111C2B; }
.pn-rgruppo-ore { color: #566275; font-size: 14px; white-space: nowrap; }
.pn-rtab-scorri { overflow-x: auto; border-top: 1px solid #DDE1E7; }

.pn-vecchio table.pn-rtab { width: 100%; min-width: 930px; table-layout: fixed; border-collapse: collapse; font-size: 13px; text-align: left; }
.pn-rtab th, .pn-rtab td { box-sizing: border-box; }
.pn-rtab th { padding: 8px 10px; background: #F8F9FB; color: #566275; font-size: 12px; font-weight: 600; text-align: left; white-space: nowrap; }
.pn-rtab td { padding: 6px 10px; border-top: 1px solid #ECEFF3; vertical-align: middle; overflow-wrap: break-word; }
.pn-rtab th:first-child, .pn-rtab td:first-child { padding-left: 16px; }
.pn-rtab .pn-c-data { width: 62px; white-space: nowrap; }
.pn-rtab .pn-c-num { width: 104px; white-space: nowrap; }
.pn-vecchio .pn-rtab .pn-c-num a { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-size: 13px; font-weight: 500; color: #1A3564; text-decoration: underline; }
.pn-rtab .pn-c-comm { width: 150px; }
.pn-rtab .pn-c-tec { width: 92px; }
.pn-rtab .pn-c-ore { width: 52px; text-align: right; white-space: nowrap; }
.pn-rtab td.pn-c-ore { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; }
.pn-rtab .pn-c-stato { width: 138px; }
.pn-rtab .pn-c-azioni { width: 136px; padding-right: 12px; text-align: right; white-space: nowrap; }
.pn-tag { display: inline-block; margin-left: 2px; padding: 1px 6px; border-radius: 6px; background: #FDE2E2; color: #8A1F1F; font-size: 11px; font-weight: 700; }

.pn-vecchio .pn-rtab .pn-c-comm select {
	width: 100%; min-height: 32px; padding: 2px 6px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 13px; color: #111C2B;
}

/* stato di fatturazione: giallo da fatturare, azzurro fatturato, verde pagato */
.pn-vecchio select.pn-stato {
	min-height: 32px; padding: 2px 8px;
	border: 1px solid #A8730F; border-radius: 16px; background: #FFF1CC; color: #6B4100;
	font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.pn-vecchio select.pn-stato1 { border-color: #2B6CB0; background: #DCEBFA; color: #0F4C81; }
.pn-vecchio select.pn-stato2 { border-color: #2E7D4F; background: #D9F2E3; color: #14532D; }

.pn-vecchio a.pn-az {
	display: inline-flex; align-items: center; min-height: 32px; padding: 0 6px;
	border-radius: 6px; color: #1A3564; font-size: 13px; font-weight: 600; text-decoration: underline;
}
.pn-vecchio a.pn-az:hover { background: #E8EEF8; }

/* --------------------------------------------------------------------------
   modulo del rapportino: il modulo e' quello di sempre (RappForm), qui
   cambia solo l'aspetto. Vale quando sopra c'e' il titolo nuovo (.pn-rtesta).
   -------------------------------------------------------------------------- */

.pn-rtesta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; }
.pn-rtesta-titolo { flex: 1 1 auto; margin: 0; font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; color: #111C2B; }
.pn-rtesta-num { font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-weight: 500; color: #1A3564; white-space: nowrap; }
.pn-rtesta-azioni { display: flex; flex-wrap: wrap; gap: 8px; }

/* i nomi delle sezioni sono testo libero dentro il modulo: grande e in neretto */
.pn-rtesta ~ form[name="formRapp"] { margin: 0; font-size: 15px; font-weight: 700; color: #111C2B; }
.pn-rtesta ~ form[name="formRapp"] > table:first-of-type { display: none !important; }
.pn-rtesta ~ form[name="formRapp"] table.ArearisFormTable { margin: 6px 0 18px; font-size: 13px; font-weight: 400; }
.pn-rtesta ~ form[name="formRapp"] .ArearisFormTable th {
	width: 120px !important; padding: 11px 8px 5px 14px;
	color: #3B4657; font-weight: 600; text-align: left; vertical-align: top;
}
.pn-rtesta ~ form[name="formRapp"] .ArearisFormTable td { padding: 6px 10px; }
.pn-rtesta ~ form[name="formRapp"] input[type="text"],
.pn-rtesta ~ form[name="formRapp"] select,
.pn-rtesta ~ form[name="formRapp"] textarea {
	box-sizing: border-box; max-width: 100%; padding: 7px 9px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 14px !important; font-weight: 400; color: #111C2B;
}
.pn-rtesta ~ form[name="formRapp"] input[type="text"]:disabled { border-color: #DDE1E7; background: #F5F6F8; color: #566275; }
.pn-rtesta ~ form[name="formRapp"] textarea { width: 100%; max-width: 640px; }
.pn-rtesta ~ form[name="formRapp"] > a.loginMenuLink {
	display: inline-block; margin: 0 0 8px; color: #1A3564; font-size: 15px; font-weight: 700; text-decoration: underline;
}
.pn-rtesta ~ form[name="formRapp"] > a.loginMenuLink:after { content: " (mostra / nascondi)"; font-size: 13px; font-weight: 400; color: #566275; }
.pn-rtesta ~ form[name="formRapp"] input[value="Annulla"].ArearisFormTableButton {
	border: 1px solid #1A3564 !important; background: #ffffff !important; color: #1A3564 !important;
}
.pn-rtesta ~ form[name="formRapp"] input[value="Annulla"].ArearisFormTableButton:hover { background: #E8EEF8 !important; }

/* --------------------------------------------------------------------------
   anagrafiche e pagine con lo stesso impianto (Aziende, Sedi, Hardware,
   Servizi, Utenti, Articoli, Commesse, Contatti, Files): le pagine sono
   quelle di sempre, qui cambia solo l'aspetto.

   1. albero con i dettagli a fianco (includes/Infotree/Infotree.asp):
      riga dei filtri, elenco, scheda dell'elemento scelto
   2. moduli (AziendaForm, SedeForm, HwForm, UserForm, ServizioForm, ...)
   3. file associati e caricamento (HtmlUploadFile)
   4. commesse (includes/inc-portale-commesse.asp)

   Molti stili di quelle pagine sono scritti dentro l'HTML: per questo qui
   ci sono parecchi "!important".
   -------------------------------------------------------------------------- */

/* 1. albero: riga dei filtri */
.pn-vecchio .Infotree_mainTable { width: 100%; border: 0; border-collapse: separate; border-spacing: 0; }
.pn-vecchio .Infotree_controlCell {
	padding: 10px 14px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff;
	color: #566275; font-size: 13px; font-weight: 600; line-height: 3;
}
.pn-vecchio .Infotree_controlCell input[type="text"] {
	box-sizing: border-box; width: 150px; min-height: 36px; margin: 0 6px 0 4px; padding: 4px 9px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 14px !important; font-weight: 400; color: #111C2B; vertical-align: middle;
}
.pn-vecchio .Infotree_ctrlIcon { vertical-align: middle; cursor: pointer; }
.pn-vecchio .Infotree_cmdButton {
	min-height: 36px; margin: 0 !important; padding: 6px 14px !important;
	border: 1px solid #C9CFD8 !important; border-radius: 8px; background: #ffffff !important;
	color: #111C2B !important; font-family: inherit; font-size: 13px !important; font-weight: 600 !important;
	vertical-align: middle; cursor: pointer;
}
.pn-vecchio .Infotree_cmdButton:hover { background: #E8EEF8 !important; }

/* albero: elenco */
.pn-vecchio .Infotree_treeCell { padding: 14px 16px 0 0; vertical-align: top; }
.pn-vecchio #Infotree { padding: 6px 0; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff; font-size: 14px; overflow: hidden; }
.pn-vecchio .Infotree_branch { padding: 2px 10px; line-height: 1.5; white-space: nowrap; }
.pn-vecchio .Infotree_branch[infolevel="0"] { padding-top: 4px; padding-bottom: 4px; border-top: 1px solid #ECEFF3; }
.pn-vecchio .Infotree_branch[infolevel="0"]:first-child { border-top: 0; }
.pn-vecchio .Infotree_branch img { vertical-align: middle; }
.pn-vecchio .Infotree_branch img[src*="plus.gif"], .pn-vecchio .Infotree_branch img[src*="minus.gif"] { padding: 6px; margin: -3px; }
.pn-vecchio .Infotree_line {
	display: inline-block; max-width: calc(100% - 60px); padding: 3px 8px;
	border: 0 !important; border-radius: 6px; color: #111C2B;
	vertical-align: middle; white-space: normal; cursor: pointer;
}
.pn-vecchio .Infotree_line:hover { background: #F1F3F6; }
.pn-vecchio .Infotree_line.Infotree_line_selected { background: #DCE6F5; color: #0E2244; }
.pn-vecchio .Infotree_line table { display: inline-table !important; width: auto !important; border: 0 !important; }
.pn-vecchio .Infotree_line td { padding: 0 6px 0 0; background: transparent !important; }
.pn-vecchio .Infotree_line td[width="15"] { color: #566275; font-size: 12px; font-weight: 700; }

/* albero: scheda dell'elemento scelto; resta in vista mentre si scorre l'elenco */
.pn-vecchio .Infotree_detailCell { padding: 14px 0 0; vertical-align: top; }
.pn-vecchio .Infotree_mask {
	position: sticky; top: 14px !important; box-sizing: border-box;
	height: auto !important; max-height: calc(100vh - 28px); overflow: auto;
	padding: 14px 16px 16px; border: 1px solid #DDE1E7; border-radius: 12px; background: #ffffff;
	font-size: 13px;
}
.pn-vecchio .Infotree_mask > div:first-of-type {
	padding: 0 0 10px !important; font-size: 18px !important; line-height: 1.25; font-weight: 700; text-align: left !important; color: #111C2B;
}
.pn-vecchio .Infotree_mask > table { border-collapse: collapse; }
.pn-vecchio .Infotree_mask > table td {
	padding: 6px 8px !important; border: 0 !important; border-top: 1px solid #ECEFF3 !important;
	background: transparent !important; text-align: left !important; vertical-align: top; overflow-wrap: anywhere;
}
.pn-vecchio .Infotree_mask > table td:first-child {
	width: 108px; padding-left: 0 !important; color: #566275; font-size: 12px; font-weight: 600 !important; white-space: nowrap;
}
.pn-vecchio .Infotree_mask > h3 { display: none; }
.pn-vecchio .Infotree_mask > br { display: none; }
.pn-vecchio .Infotree_mask > div[style*="text-align:right"] { margin: 12px 0 0; }

/* 2. moduli */
.pn-vecchio form[name="formAzienda"], .pn-vecchio form[name="formSede"], .pn-vecchio form[name="formHw"],
.pn-vecchio form[name="formUser"], .pn-vecchio form[name="formServizio"], .pn-vecchio form[name="formCnt"],
.pn-vecchio form[name="formTodo"], .pn-vecchio form[name="formNewPassw"], .pn-vecchio form[name="frmCommessa"] {
	margin: 0; font-size: 15px; font-weight: 700; color: #111C2B;
}
.pn-vecchio form[name="formAzienda"] table.ArearisFormTable, .pn-vecchio form[name="formSede"] table.ArearisFormTable,
.pn-vecchio form[name="formHw"] table.ArearisFormTable, .pn-vecchio form[name="formUser"] table.ArearisFormTable,
.pn-vecchio form[name="formServizio"] table.ArearisFormTable, .pn-vecchio form[name="formCnt"] table.ArearisFormTable,
.pn-vecchio form[name="formTodo"] table.ArearisFormTable, .pn-vecchio form[name="formNewPassw"] table.ArearisFormTable,
.pn-vecchio form[name="frmCommessa"] table.ArearisFormTable {
	margin: 6px 0 18px; padding: 6px 4px; font-size: 13px; font-weight: 400;
}
.pn-vecchio form[name="formAzienda"] .ArearisFormTable th, .pn-vecchio form[name="formSede"] .ArearisFormTable th,
.pn-vecchio form[name="formHw"] .ArearisFormTable th, .pn-vecchio form[name="formUser"] .ArearisFormTable th,
.pn-vecchio form[name="formServizio"] .ArearisFormTable th, .pn-vecchio form[name="formCnt"] .ArearisFormTable th,
.pn-vecchio form[name="formTodo"] .ArearisFormTable th, .pn-vecchio form[name="formNewPassw"] .ArearisFormTable th,
.pn-vecchio form[name="frmCommessa"] .ArearisFormTable th {
	width: 140px !important; padding: 11px 8px 5px 12px;
	color: #3B4657; font-size: 13px; font-weight: 600; text-align: left; vertical-align: top; white-space: nowrap;
}
.pn-vecchio form[name="formAzienda"] .ArearisFormTable td, .pn-vecchio form[name="formSede"] .ArearisFormTable td,
.pn-vecchio form[name="formHw"] .ArearisFormTable td, .pn-vecchio form[name="formUser"] .ArearisFormTable td,
.pn-vecchio form[name="formServizio"] .ArearisFormTable td, .pn-vecchio form[name="formCnt"] .ArearisFormTable td,
.pn-vecchio form[name="formTodo"] .ArearisFormTable td, .pn-vecchio form[name="formNewPassw"] .ArearisFormTable td,
.pn-vecchio form[name="frmCommessa"] .ArearisFormTable td { padding: 5px 10px; }
.pn-vecchio form[name="formAzienda"] input[type="text"], .pn-vecchio form[name="formAzienda"] select, .pn-vecchio form[name="formAzienda"] textarea,
.pn-vecchio form[name="formSede"] input[type="text"], .pn-vecchio form[name="formSede"] select, .pn-vecchio form[name="formSede"] textarea,
.pn-vecchio form[name="formHw"] input[type="text"], .pn-vecchio form[name="formHw"] select, .pn-vecchio form[name="formHw"] textarea,
.pn-vecchio form[name="formUser"] input[type="text"], .pn-vecchio form[name="formUser"] input[type="password"], .pn-vecchio form[name="formUser"] select,
.pn-vecchio form[name="formServizio"] input[type="text"], .pn-vecchio form[name="formServizio"] select, .pn-vecchio form[name="formServizio"] textarea,
.pn-vecchio form[name="formCnt"] input[type="text"], .pn-vecchio form[name="formCnt"] select, .pn-vecchio form[name="formCnt"] textarea,
.pn-vecchio form[name="formTodo"] input[type="text"], .pn-vecchio form[name="formTodo"] select, .pn-vecchio form[name="formTodo"] textarea,
.pn-vecchio form[name="formNewPassw"] input[type="password"], .pn-vecchio form[name="formNewPassw"] input[type="text"],
.pn-vecchio form[name="frmCommessa"] input[type="text"], .pn-vecchio form[name="frmCommessa"] select, .pn-vecchio form[name="frmCommessa"] textarea {
	box-sizing: border-box; max-width: 100%; min-height: 36px; padding: 6px 9px;
	border: 1px solid #8792A2; border-radius: 8px; background: #ffffff;
	font-family: inherit; font-size: 14px !important; font-weight: 400; color: #111C2B;
}
.pn-vecchio .ArearisFormTable textarea { width: 100%; max-width: 640px; }
.pn-vecchio .ArearisFormTable input[type="text"]:disabled { border-color: #DDE1E7 !important; background: #F5F6F8 !important; color: #566275 !important; }
.pn-vecchio .ArearisFormTable input[type="checkbox"] { width: 18px; height: 18px; margin: 6px 6px 0 0; vertical-align: middle; }

/* la riga "N U O V A   A Z I E N D A" in cima ai moduli diventa un'etichetta */
.pn-vecchio .ArearisFormTable td > strong:only-child, .pn-vecchio .ArearisFormTable td[colspan] > strong {
	color: #566275; font-size: 12px; font-weight: 700; letter-spacing: 0.02em;
}
.pn-vecchio .ArearisFormTable tr[height="40"] { height: auto; }
.pn-vecchio .ArearisFormTable tr[height="40"] td { text-align: left; }

/* Annulla e No: pulsanti secondari */
.pn-vecchio input[value="Annulla"].ArearisFormTableButton {
	border: 1px solid #1A3564 !important; background: #ffffff !important; color: #1A3564 !important;
}
.pn-vecchio input[value="Annulla"].ArearisFormTableButton:hover { background: #E8EEF8 !important; }
.pn-vecchio span.ArearisFormTableButton { display: inline-block; cursor: pointer; }

/* utente: elenco delle aziende autorizzate */
.pn-vecchio form[name="formUser"] .ArearisFormTable div[style*="overflow:scroll"] {
	overflow: auto !important; padding: 8px 10px; border: 1px solid #DDE1E7; border-radius: 8px; background: #F8F9FB; line-height: 1.9;
}
.pn-vecchio form[name="formUser"] .ArearisFormTable > tbody > tr > td { vertical-align: top; }
.pn-vecchio form[name="formUser"] .ArearisFormTable > tbody > tr > td + td { min-width: 240px; padding-top: 14px; white-space: nowrap; }
.pn-vecchio form[name="formUser"] input[type="text"] { width: 300px; }

/* conferma di eliminazione */
.pn-vecchio form[name="frmEliminaConfirm"] {
	max-width: 620px; margin: 10px 0; padding: 14px 16px;
	border: 1px solid #B42318; border-radius: 12px; background: #ffffff; font-size: 14px;
}
.pn-vecchio form[name="frmEliminaConfirm"] input[type="text"] {
	min-height: 36px; padding: 4px 9px; border: 1px solid #8792A2; border-radius: 8px; font-family: inherit; font-size: 14px;
}
.pn-vecchio form[name="frmEliminaConfirm"] input[type="submit"], .pn-vecchio form[name="frmEliminaConfirm"] input[type="button"] {
	min-height: 38px; margin: 0 6px 0 0; padding: 8px 16px;
	border: 1px solid #1A3564; border-radius: 10px; background: #ffffff;
	color: #1A3564; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.pn-vecchio form[name="frmEliminaConfirm"] input[type="submit"] { border-color: #B42318; background: #B42318; color: #ffffff; }

/* 3. file associati e caricamento */
.pn-vecchio form[name="formUpload"] {
	margin: 10px 0 0; padding: 12px 14px;
	border: 1px dashed #C9CFD8; border-radius: 12px; background: #ffffff;
	color: #3B4657; font-size: 14px; font-weight: 600;
}
.pn-vecchio form[name="formUpload"] input[type="file"] { max-width: 100%; border: 0; background: transparent; font-family: inherit; font-size: 14px; }
.pn-vecchio form[name="formUpload"] input[type="submit"] {
	min-height: 38px; padding: 8px 16px;
	border: 0; border-radius: 10px; background: #1A3564;
	color: #ffffff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.pn-vecchio form[name="formUpload"] input[type="submit"]:hover { background: #0E2244; }
.pn-vecchio img[src*="menuElimina.gif"], .pn-vecchio img[src*="menuRinomina.gif"] { padding: 6px; vertical-align: middle; }
.pn-files-nota { margin: 0 0 14px; color: #566275; font-size: 14px; }

/* 4. commesse */
.pn-vecchio table.pn-ctab { min-width: 860px; table-layout: fixed; }
.pn-ctab th, .pn-ctab td { box-sizing: border-box; }
.pn-ctab th:first-child, .pn-ctab td:first-child { padding-left: 16px; overflow-wrap: break-word; }
.pn-ctab th.pn-tab-num { width: 88px; }
.pn-ctab th.pn-comm-az { width: 112px; }
.pn-ctab td { vertical-align: middle; }
.pn-ctab .pn-comm-int { color: #B42318; }
.pn-ctab td.pn-comm-az { padding-right: 12px; text-align: right; white-space: nowrap; }
.pn-vecchio .pn-ctab tr.pn-comm-det > td { padding: 0 0 0 16px; border-top: 0; background: #F8F9FB; }
.pn-vecchio table.pn-crapp { min-width: 700px; margin: 0; background: #ffffff; border-left: 3px solid #3CA5E9; }
.pn-crapp th { background: #ffffff; }
.pn-comm-attesa { display: block; padding: 10px 12px; color: #566275; }
.pn-popup { padding: 16px; font-family: 'Schibsted Grotesk', 'Segoe UI', Arial, Helvetica, sans-serif; color: #111C2B; }

/* schermi stretti: la scheda dell'albero va in basso, fissa; i moduli in colonna */
@media (max-width: 860px) {

	.pn-vecchio .Infotree_mainTable, .pn-vecchio .Infotree_mainTable > tbody, .pn-vecchio .Infotree_mainTable > tbody > tr,
	.pn-vecchio .Infotree_controlCell, .pn-vecchio .Infotree_treeCell, .pn-vecchio .Infotree_detailCell { display: block; width: auto !important; }
	.pn-vecchio .Infotree_treeCell { padding: 12px 0 46vh; }
	.pn-vecchio .Infotree_branch { white-space: normal; }
	.pn-vecchio .Infotree_detailCell { padding: 0; }
	.pn-vecchio .Infotree_mask {
		position: fixed; left: 0; right: 0; bottom: 0; top: auto !important; z-index: 20;
		max-height: 42vh; border-radius: 14px 14px 0 0; border-bottom: 0;
		box-shadow: 0 -6px 18px rgba(17, 28, 43, 0.18);
	}
	.pn-vecchio .Infotree_controlCell input[type="text"] { width: 120px; min-height: 40px; }

	.pn-vecchio form[name="formAzienda"] table.ArearisFormTable, .pn-vecchio form[name="formAzienda"] .ArearisFormTable tbody, .pn-vecchio form[name="formAzienda"] .ArearisFormTable tr, .pn-vecchio form[name="formAzienda"] .ArearisFormTable th, .pn-vecchio form[name="formAzienda"] .ArearisFormTable td,
	.pn-vecchio form[name="formSede"] table.ArearisFormTable, .pn-vecchio form[name="formSede"] .ArearisFormTable tbody, .pn-vecchio form[name="formSede"] .ArearisFormTable tr, .pn-vecchio form[name="formSede"] .ArearisFormTable th, .pn-vecchio form[name="formSede"] .ArearisFormTable td,
	.pn-vecchio form[name="formHw"] table.ArearisFormTable, .pn-vecchio form[name="formHw"] .ArearisFormTable tbody, .pn-vecchio form[name="formHw"] .ArearisFormTable tr, .pn-vecchio form[name="formHw"] .ArearisFormTable th, .pn-vecchio form[name="formHw"] .ArearisFormTable td,
	.pn-vecchio form[name="formServizio"] table.ArearisFormTable, .pn-vecchio form[name="formServizio"] .ArearisFormTable tbody, .pn-vecchio form[name="formServizio"] .ArearisFormTable tr, .pn-vecchio form[name="formServizio"] .ArearisFormTable th, .pn-vecchio form[name="formServizio"] .ArearisFormTable td,
	.pn-vecchio form[name="formUser"] table.ArearisFormTable, .pn-vecchio form[name="formUser"] .ArearisFormTable table, .pn-vecchio form[name="formUser"] .ArearisFormTable tbody, .pn-vecchio form[name="formUser"] .ArearisFormTable tr, .pn-vecchio form[name="formUser"] .ArearisFormTable th, .pn-vecchio form[name="formUser"] .ArearisFormTable td,
	.pn-vecchio form[name="formCnt"] table.ArearisFormTable, .pn-vecchio form[name="formCnt"] .ArearisFormTable tbody, .pn-vecchio form[name="formCnt"] .ArearisFormTable tr, .pn-vecchio form[name="formCnt"] .ArearisFormTable th, .pn-vecchio form[name="formCnt"] .ArearisFormTable td,
	.pn-vecchio form[name="frmCommessa"] table.ArearisFormTable, .pn-vecchio form[name="frmCommessa"] .ArearisFormTable tbody, .pn-vecchio form[name="frmCommessa"] .ArearisFormTable tr, .pn-vecchio form[name="frmCommessa"] .ArearisFormTable th, .pn-vecchio form[name="frmCommessa"] .ArearisFormTable td {
		display: block; box-sizing: border-box; width: 100% !important; text-align: left;
	}
	.pn-vecchio form[name="formUser"] input[type="text"], .pn-vecchio form[name="formCnt"] input[type="text"] { width: 100%; min-height: 42px; }
	.pn-vecchio form[name="formUser"] .ArearisFormTable > tbody > tr > td + td { white-space: normal; }
	.pn-vecchio form[name="formAzienda"] .ArearisFormTable th, .pn-vecchio form[name="formSede"] .ArearisFormTable th, .pn-vecchio form[name="formHw"] .ArearisFormTable th,
	.pn-vecchio form[name="formServizio"] .ArearisFormTable th, .pn-vecchio form[name="frmCommessa"] .ArearisFormTable th { padding: 10px 12px 0; }
	.pn-vecchio form[name="formAzienda"] input[type="text"], .pn-vecchio form[name="formSede"] input[type="text"], .pn-vecchio form[name="formHw"] input[type="text"],
	.pn-vecchio form[name="formServizio"] input[type="text"], .pn-vecchio form[name="frmCommessa"] input[type="text"],
	.pn-vecchio form[name="formAzienda"] select, .pn-vecchio form[name="frmCommessa"] select { width: 100%; min-height: 42px; }
	.pn-vecchio form[name="formAzienda"] input[name="txtIban"] { width: 68%; }
	.pn-vecchio form[name="formAzienda"] input[disabled] { width: auto; }
}

/* --------------------------------------------------------------------------
   schermi stretti (telefono, tablet in verticale)
   -------------------------------------------------------------------------- */

@media (max-width: 860px) {

	.pn-app { display: block; min-height: 0; }

	.pn-side { width: auto; flex: none; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px 16px; }
	.pn-logo { flex: 1 1 auto; padding: 0; }
	.pn-logo img { width: 143px; height: 48px; }

	.pn-menu-btn {
		display: inline-flex; align-items: center; box-sizing: border-box;
		min-height: 44px; padding: 0 16px;
		border: 1px solid #6F8BB8; border-radius: 10px;
		color: #ffffff; font-weight: 600; cursor: pointer;
	}
	.pn-menu-check { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; }
	.pn-menu-check:focus + .pn-menu-btn { outline: 3px solid #3CA5E9; outline-offset: 2px; }

	.pn-side-corpo { display: none; flex: 1 1 100%; padding: 12px 0 6px; }
	.pn-menu-check:checked ~ .pn-side-corpo { display: flex; }
	.pn-utente { margin-top: 16px; }

	.pn-main { padding: 20px 16px 40px; }
	.pn-vecchio { overflow-x: auto; }
	.pn-vecchio img[src*="square_c.gif"] + span { font-size: 28px !important; }

	.pn-accesso { min-height: 0; }
	.pn-accesso-blu { padding: 28px 24px; gap: 24px; justify-content: flex-start; }
	.pn-accesso-logo { width: 240px; margin-left: -8px; }
	.pn-accesso-titolo { font-size: 30px; margin-bottom: 12px; }
	.pn-accesso-sotto { font-size: 16px; }
	.pn-accesso-lato { padding: 32px 20px 48px; }

	.pn-barra-spazio { display: none; }
	.pn-mese-titolo, .pn-rtesta-titolo { font-size: 20px; }
	.pn-titolo { font-size: 28px; }
	.pn-vecchio a.pn-tk { flex-wrap: wrap; }
	.pn-tk-num { flex-basis: 40px; }
	.pn-tk-corpo { flex: 1 1 0%; }
	.pn-vecchio .TicketHeader table, .pn-vecchio .TicketHeader tbody, .pn-vecchio .TicketHeader tr { display: block; }
	.pn-vecchio .TicketHeader td { display: inline-block; padding: 2px 12px 2px 0; }
	.pn-tk-stato { flex: 1 1 100%; justify-content: flex-start; padding-left: 52px; }
	.pn-vecchio .TicketDialogoDomandaHeader, .pn-vecchio .TicketDialogoDomandaText { margin-right: 0; }
	.pn-vecchio .TicketDialogoRispostaHeader, .pn-vecchio .TicketDialogoRispostaText { margin-left: 0; }
	.pn-vecchio a.pn-riquadro { max-width: none; }
	.pn-rgruppo-nome { flex-basis: 100%; }
}

/* schermi medi e telefono: ogni rapportino diventa una scheda, senza scorrere di lato */
@media (max-width: 1100px) {

	.pn-rtab-scorri { overflow-x: visible; }
	.pn-vecchio table.pn-rtab { display: block; min-width: 0; table-layout: auto; }
	.pn-rtab thead { display: none; }
	.pn-rtab tbody { display: block; }
	.pn-rtab tr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 10px 14px; border-top: 1px solid #ECEFF3; }
	.pn-rtab tr:first-child { border-top: 0; }
	.pn-rtab td, .pn-rtab td:first-child { display: block; width: auto; padding: 0; border: 0; }
	.pn-rtab td.pn-c-data { order: 1; font-weight: 600; }
	.pn-rtab td.pn-c-num { order: 2; }
	.pn-rtab td.pn-c-tec { order: 3; flex: 1 1 auto; color: #566275; }
	.pn-rtab td.pn-c-ore { order: 4; font-size: 14px; }
	.pn-rtab td.pn-c-esig { order: 5; flex: 1 1 100%; font-size: 14px; }
	.pn-rtab td.pn-c-comm { order: 6; flex: 1 1 100%; color: #566275; }
	.pn-rtab td.pn-c-comm:empty { display: none; }
	.pn-rtab td.pn-c-stato { order: 7; flex: 1 1 auto; }
	.pn-rtab td.pn-c-azioni { order: 8; }
	.pn-vecchio select.pn-stato, .pn-vecchio .pn-rtab .pn-c-comm select { min-height: 40px; }
	.pn-vecchio .pn-rtab .pn-c-comm select { width: auto; max-width: 100%; }
	.pn-vecchio a.pn-az { min-height: 40px; }
}

/* telefono: nel modulo del rapportino ogni campo va sotto la sua etichetta */
@media (max-width: 700px) {

	.pn-rtesta ~ form[name="formRapp"] table.ArearisFormTable, .pn-rtesta ~ form[name="formRapp"] .ArearisFormTable tbody,
	.pn-rtesta ~ form[name="formRapp"] .ArearisFormTable tr, .pn-rtesta ~ form[name="formRapp"] .ArearisFormTable th, .pn-rtesta ~ form[name="formRapp"] .ArearisFormTable td {
		display: block; box-sizing: border-box; width: 100% !important; text-align: left;
	}
	.pn-rtesta ~ form[name="formRapp"] .ArearisFormTable th { padding: 10px 12px 0; }
	.pn-rtesta ~ form[name="formRapp"] .ArearisFormTable td { padding: 4px 12px 8px; }
	.pn-rtesta ~ form[name="formRapp"] input[type="text"], .pn-rtesta ~ form[name="formRapp"] select, .pn-rtesta ~ form[name="formRapp"] textarea { width: 100% !important; min-height: 42px; }
	.pn-rtesta ~ form[name="formRapp"] input[name="txtData"] { width: 70% !important; }
	.pn-rtesta ~ form[name="formRapp"] select[name="lstAzienda_id"] { width: 85% !important; }
	.pn-rtesta ~ form[name="formRapp"] select[name="lstInizio_intervento"], .pn-rtesta ~ form[name="formRapp"] select[name="lstFine_intervento"],
	.pn-rtesta ~ form[name="formRapp"] select[name="lstViaggio"], .pn-rtesta ~ form[name="formRapp"] select[name="lstPausa"] { width: auto !important; min-width: 96px; }
	.pn-rtesta ~ form[name="formRapp"] select[id^="stato_"] { width: auto !important; }
	.pn-rtesta ~ form[name="formRapp"] .ArearisFormTableButton { min-height: 42px; }
	.pn-rtesta-azioni { flex: 1 1 100%; }
}

/* --------------------------------------------------------------------------
   stampa: solo il contenuto
   -------------------------------------------------------------------------- */

@media print {
	body { background: #ffffff; }
	.pn-side, .pn-tecnico, .pn-accesso-blu, .pn-barra, .pn-mesi, .pn-rtesta-azioni, .pn-rimborsi-testa, .pn-notizia-azioni { display: none; }
	.pn-app, .pn-accesso { display: block; min-height: 0; background: #ffffff; }
	.pn-main { padding: 0; }
}
