body { background: #f8f9fa; font-size: .95rem; }
.navbar-tecno { background: #0d6efd; padding: .35rem 0; }
.navbar-tecno .nav-link { color: #fff; opacity: .92; }
.navbar-tecno .nav-link:hover, .navbar-tecno .nav-link.active { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.logo-box { background: #fff; border-radius: .4rem; padding: .3rem .5rem; margin-right: 1rem; display: inline-block; }
.logo-box img { height: 40px; display: block; }
.page-title { color: #0d6efd; font-weight: 600; font-size: 1.75rem; margin: 0; }
.page-title i { margin-right: .4rem; }
.panel { background: #fff; border: 1px solid #dee2e6; border-radius: .5rem; padding: 1.1rem 1.25rem; }
.kv dt { color: #6c757d; font-weight: 500; font-size: .8rem; }
.kv dd { margin-bottom: .6rem; }
.nav-tabs .nav-link { color: #495057; }
.nav-tabs .nav-link.active { color: #0d6efd; font-weight: 600; }
.nav-tabs .badge { background: #e9ecef; color: #495057; font-weight: 500; }
.tab-content { background: #fff; border: 1px solid #dee2e6; border-top: 0; border-radius: 0 0 .5rem .5rem; padding: 1.25rem; }
.table > :not(caption) > * > * { padding: .55rem .6rem; }
.pw { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: 1px; }
.row-actions .btn { padding: .15rem .45rem; }
.note-cell { color: #6c757d; font-size: .85rem; max-width: 260px; white-space: pre-line; }
footer { color: #6c757d; font-size: .85rem; border-top: 1px solid #dee2e6; padding: 1rem 0; margin-top: 2.5rem; }
.dataTables_wrapper .row { margin-bottom: .5rem; }
.required::after { content: " *"; color: #dc3545; }

/* Modalità stampa: tutto impilato, niente menu e pulsanti */
@media print {
  body { background: #fff; font-size: 11pt; }
  .tab-content { border: 0; padding: 0; }
  .tab-pane { display: block !important; opacity: 1 !important; margin-bottom: 1.5rem; }
  .print-section-title { display: block !important; }
  .panel { border: 1px solid #999; }
  a { text-decoration: none; color: inherit; }
}
.print-section-title { display: none; font-weight: 600; font-size: 1.1rem; margin: 1rem 0 .5rem; color: #0d6efd; }
body.print-mode .nav-tabs, body.print-mode .d-print-none { display: none !important; }
body.print-mode .tab-pane { display: block !important; opacity: 1 !important; margin-bottom: 1.5rem; }
body.print-mode .tab-content { border: 0; padding: 0; background: transparent; }
body.print-mode .print-section-title { display: block; }
