/*
  Pratica Documentale Demo - main stylesheet
  Estratto dal prototipo HTML originale e mantenuto framework-free.
*/

*{box-sizing:border-box}

body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#eef7f1;color:#1f2937}

.page{padding:24px}

.wrap{max-width:1320px;margin:0 auto;display:grid;gap:24px}

.hero{background:linear-gradient(135deg,#f9fffb 0%,#eef7f1 55%,#e6f3ea 100%);border:1px solid #cfe6d7;border-radius:32px;padding:32px;box-shadow:0 8px 30px rgba(21,101,76,.10)}

.grid{display:grid;gap:24px}

.g2{grid-template-columns:1.1fr .9fr}

.g3{grid-template-columns:repeat(3,1fr)}

.card{background:#fff;border:1px solid #d9e8de;border-radius:24px;padding:24px;box-shadow:0 4px 18px rgba(15,23,42,.04)}

.mini{border-radius:18px;padding:18px}

.muted{color:#5f6f67}

.small{font-size:14px}

.xs{font-size:12px}

.title{font-size:40px;line-height:1.05;margin:14px 0 10px;font-weight:800;color:#214537}

.sub{max-width:760px;font-size:16px;color:#496156}

.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.between{justify-content:space-between}

.col{display:flex;flex-direction:column;gap:18px}

.stack{display:grid;gap:16px}

.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #d9d0f0;background:#fff}

.violet{background:#f3efff;color:#4c1d95;border-color:#d8ccff}

.green{background:#dcfce7;color:#15803d;border-color:#bbf7d0}

.amber{background:#fef3c7;color:#b45309;border-color:#fde68a}

.red{background:#fee2e2;color:#b91c1c;border-color:#fecaca}

.slate{background:#f8fafc;color:#475569;border-color:#e2e8f0}

.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;border:1px solid #4c1d95;background:#fff;color:#4c1d95;font-weight:700;cursor:pointer;text-decoration:none}

.btn:hover{background:#f3efff}

.btn-green{background:#4c1d95;border-color:#4c1d95;color:#fff}

.btn-green:hover{background:#3f177c}

.btn-soft{background:#f3efff}

.kpi{font-size:34px;font-weight:800;color:#111827}

.iconbox{width:42px;height:42px;border-radius:14px;background:#f3efff;color:#4c1d95;display:flex;align-items:center;justify-content:center;font-size:18px}

.tabs{display:flex;gap:10px;flex-wrap:wrap}

.tab{padding:10px 14px;border-radius:14px;border:1px solid #d8ccff;background:#fff;color:#4c1d95;font-weight:700;cursor:pointer}

.tab.active{background:#4c1d95;color:#fff}

.table{width:100%;border-collapse:collapse}

.table th,.table td{padding:14px 12px 14px 0;border-bottom:1px solid #eef3ef;text-align:left;vertical-align:top}

.table th{font-size:13px;color:#5f6f67}

.link{color:#4c1d95;text-decoration:none;font-weight:700}

.link:hover{color:#3f177c}

.progress{height:10px;background:#e7efe9;border-radius:999px;overflow:hidden}

.progress > span{display:block;height:100%;background:#4c1d95}

.hidden{display:none !important}

.footer-note{font-size:12px;color:#5f6f67;text-align:center;padding:8px 0}

.demo-shell{background:#f7fcf8;border:1px solid #d9e8de;border-radius:28px;padding:20px}

.demo-top{display:grid;grid-template-columns:220px 1fr 320px;gap:18px}

.navcol{background:#fff;border:1px solid #d9e8de;border-radius:22px;padding:16px}

.navbtn{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border-radius:14px;border:1px solid #dde8e1;background:#fff;cursor:pointer;margin-bottom:8px;font-weight:600;color:#475569}

.navbtn.active{background:#4c1d95;color:#fff;border-color:#4c1d95}

.panel{background:#fff;border:1px solid #d9e8de;border-radius:24px;padding:20px}

.section-title{font-size:18px;font-weight:800;margin:0 0 6px}

.section-sub{font-size:13px;color:#5f6f67;margin-bottom:16px}

.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

.formgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

.formgrid5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}

.input,.textarea,.select{width:100%;border:1px solid #c8d9cf;border-radius:14px;padding:10px 12px;background:#fff;font:inherit}

.textarea{min-height:88px;resize:vertical}

.doc-card{background:#fff;border:1px solid #d9e8de;border-radius:20px;padding:16px;margin-bottom:14px}

.doc-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}

.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}

.checkitem{display:flex;align-items:center;gap:8px;border:1px solid #dfe9e3;border-radius:12px;padding:9px 10px;font-size:13px}

input[type="checkbox"]{accent-color:#4c1d95}

.project-list{display:grid;gap:14px}

.project-card{display:grid;grid-template-columns:1.2fr .9fr .8fr .6fr auto;gap:14px;align-items:center;padding:18px;border:1px solid #d9e8de;border-radius:20px;background:#fff;cursor:pointer}

.project-card:hover{border-color:#b9d5c3;box-shadow:0 4px 18px rgba(15,23,42,.04)}

.filterbar{display:grid;grid-template-columns:1.2fr .8fr .8fr auto;gap:14px}

.wizard-section{border:1px solid #dfe9e3;border-radius:20px;padding:18px;background:#fbfefc}

.wizard-title{font-size:17px;font-weight:800;margin:0 0 12px}

.doc-entry{border:1px solid #dfe9e3;border-radius:16px;padding:14px;background:#fff;margin-bottom:12px}

.doc-entry-head{display:grid;grid-template-columns:1.2fr .6fr 1.2fr auto;gap:12px;align-items:end}

.yn-group{display:flex;gap:10px;align-items:center;min-height:44px}

.upload-btn{white-space:nowrap}

.disabled-field{opacity:.45;pointer-events:none}

.detail-upload-row{margin-top:10px}

.impianti-grid{display:grid;gap:12px}

.impianto-row{display:grid;grid-template-columns:1fr .6fr 1.2fr auto;gap:12px;align-items:end;padding:12px;border:1px solid #dfe9e3;border-radius:16px;background:#fff}


.logo-signature{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:8px}

.logo-signature img{height:54px;width:auto;object-fit:contain;opacity:.95}

@media (max-width:1180px){.g2,.g3,.demo-top,.formgrid,.formgrid3,.formgrid5,.checks,.filterbar,.project-card{grid-template-columns:1fr}

.title{font-size:32px}

.page{padding:14px}

.logo-signature{justify-content:flex-start}
}
