:root{--ink:#193d34;--muted:#667c74;--line:#dfe8e2;--paper:#f4f6f2;--accent:#27684e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,Segoe UI,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#163e33;color:#eaf0e8;padding:30px 22px;display:flex;flex-direction:column}.brand{font-size:31px;letter-spacing:-1px;text-decoration:none;color:inherit;font-weight:700}.brand span{display:block;font-size:11px;letter-spacing:.3px;font-weight:400;margin-top:8px;opacity:.8}nav{margin-top:48px;display:grid;gap:10px}nav button{background:transparent;border:0;color:#cbded2;text-align:left;padding:13px 16px;border-radius:6px}nav button.active{background:#31564a;color:white}button,input,select{font:inherit}button{cursor:pointer}.sidebarfoot{margin-top:auto;font-size:12px;color:#b4c9bb}main{margin-left:225px;padding:38px 42px;max-width:1600px}h1{font-size:34px;line-height:1.15;letter-spacing:-.7px;margin:7px 0 12px}h2{font-size:25px}h3{font-size:17px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:700}header>p:last-child{color:var(--muted)}.notice{background:#e8eee3;border-left:3px solid #739766;padding:14px 18px;margin:26px 0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stat{background:#fff;border:1px solid var(--line);padding:19px;border-radius:9px}.stat b{font-size:28px;display:block}.stat span{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:14px;align-items:flex-end;margin:28px 0 18px}.toolbar label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.toolbar label:first-child{flex:1}input,select{border:1px solid #cddad0;background:white;padding:10px 12px;border-radius:6px;color:var(--ink)}.toolbar>button,.action{border:1px solid #b5c9bc;color:var(--ink);padding:10px 16px;border-radius:6px;background:white}.tablewrap{background:white;border:1px solid var(--line);border-radius:9px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th,td{text-align:left;padding:17px 18px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#edf2eb}td{font-size:13px}.title{border:0;background:none;color:var(--ink);padding:0;text-align:left;font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:4px}small{display:block;color:var(--muted);margin-top:7px;font-size:11px}.badge{display:inline-block;font-size:11px;border-radius:20px;background:#e7f0e3;color:#316042;padding:5px 9px}.chiusa{background:#efeded;color:#6b646b}.in_apertura{background:#e7edf8;color:#426493}.da_verificare{background:#fff1d9;color:#926a29}a{color:#2c6a51;text-underline-offset:3px}.sourcegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.source{background:white;border:1px solid var(--line);border-radius:8px;padding:19px}.source h3{margin:8px 0}.source a{display:block;overflow-wrap:anywhere;font-size:12px;margin:7px 0}.source input{margin-right:7px}dialog{border:1px solid var(--line);border-radius:12px;max-width:1050px;width:90vw;max-height:90vh;overflow:auto;color:var(--ink);padding:28px}dialog::backdrop{background:#132b25aa}.close{float:right;padding:8px 14px;background:#edf1eb;border:0;border-radius:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.field{border-top:1px solid var(--line);padding-top:12px}.field strong{display:block;font-size:12px}.field p{font-size:14px;overflow-wrap:anywhere}.field .badge{font-size:9px;margin-top:7px}.alert{padding:13px 17px;background:#fff3df;border-left:3px solid #d2a150}.empty{padding:32px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--muted)}footer{font-size:11px;color:var(--muted);margin-top:35px;max-width:900px}.change{padding:20px;background:white;border:1px solid var(--line);margin:12px 0;border-radius:8px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8aa7ec;outline-offset:3px}@media(max-width:900px){aside{position:relative;width:100%;padding:16px 20px}.brand{font-size:24px}.brand span,.sidebarfoot{display:none}nav{display:flex;margin-top:14px;gap:4px;flex-wrap:wrap}nav button{padding:9px 12px}main{margin:0;padding:24px 18px}.stats{grid-template-columns:1fr 1fr}.fields,.sourcegrid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar label:first-child{min-width:100%}}

.sourceform{display:grid;gap:18px}.sourceform label{display:grid;gap:6px}.sourceform textarea{font:inherit;padding:12px;border:1px solid #cddad0;border-radius:6px}.sourceform .checklabel{display:flex;align-items:center}.sourceform button{justify-self:start}input[type=checkbox]{width:20px;height:20px;accent-color:#27684e}

[hidden]{display:none!important}.loginpanel{margin:8vh auto;max-width:520px;background:white;padding:36px;border:1px solid var(--line);border-radius:12px}nav a.action{color:white;background:transparent;margin-top:20px;text-align:center}

/* Aziende */
.companybar{display:flex;gap:20px;align-items:center;margin:0 0 16px}.companybar .checklabel{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:18px 0 22px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 16px;color:var(--muted)}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:650}
progress{width:110px;height:8px;vertical-align:middle;accent-color:var(--accent)}
.qualitybox{background:#f4f8f2;border:1px solid var(--line);border-radius:9px;padding:16px 20px;margin:0 0 22px}.qualitybox h3{margin:0 0 8px}.qualitybox ul{list-style:none;padding:0;margin:14px 0 8px;display:grid;gap:8px;font-size:13px}
.companyform fieldset{border:1px solid var(--line);border-radius:9px;padding:16px 20px;margin:0 0 18px;display:grid;gap:14px}.companyform legend{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:0 8px}
.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.formgrid label,.companyform fieldset>label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.companyform textarea{font:inherit;padding:10px 12px;border:1px solid #cddad0;border-radius:6px}
.repeat{display:grid;grid-template-columns:1.4fr 1fr 1fr 70px 1fr auto;gap:8px;margin-bottom:8px}.repeat[data-contact]{grid-template-columns:1.2fr 1fr 1.4fr 1fr auto}
.companyform td input{width:100%;min-width:96px}.action.primary{background:var(--accent);border-color:var(--accent);color:white}
@media(max-width:900px){.formgrid,.repeat,.repeat[data-contact]{grid-template-columns:1fr}.tabs{overflow-x:auto}}
.companyform fieldset{min-width:0}.companyform input,.companyform select,.companyform textarea{width:100%;min-width:0;box-sizing:border-box}.companyform input[type=checkbox]{width:20px}.repeat>*{min-width:0}.companyform td input{min-width:96px}
.companyform table{min-width:0}.companyform td input{min-width:70px}

.ghost{background:transparent;color:var(--accent);border:1px solid var(--line);padding:.2rem .6rem;border-radius:6px;cursor:pointer}.ghost:hover{border-color:var(--accent)}#docmsg{min-height:1.2em;color:var(--muted)}
#docform .repeat{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}#docform .repeat>*{flex:1 1 160px;min-width:0;width:auto}#docform input[type=file]{flex-basis:260px}

/* Sidebar a scomparsa */
#menutoggle{position:fixed;top:12px;left:12px;z-index:60;background:#163e33;color:#eaf0e8;border:0;border-radius:6px;padding:9px 13px;font-size:18px;line-height:1;cursor:pointer}
aside{position:fixed!important;inset:0 auto 0 0!important;width:225px!important;transform:translateX(-100%);transition:transform .22s ease;z-index:50}
body.nav-open aside{transform:translateX(0)}
#backdrop{position:fixed;inset:0;background:#0b1f1a66;z-index:40;opacity:0;visibility:hidden;transition:opacity .2s}
body.nav-open #backdrop{opacity:1;visibility:visible}
main{margin-left:0!important;padding-top:62px!important}
@media(min-width:901px){main{padding-top:38px!important}body.nav-open main{margin-left:225px!important}body.nav-open #backdrop{opacity:0;visibility:hidden}}
@media(max-width:900px){aside{width:82%!important;max-width:300px!important;padding:24px 20px!important}aside .brand span,aside .sidebarfoot{display:block!important}nav{display:grid!important;margin-top:40px!important}}
/* il titolo del menu parte sotto il pulsante */
aside{padding-top:68px!important}

/* tabella bandi ordinabile */
table.grants{min-width:1180px}th .sort{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left}th[aria-sort=ascending] .sort,th[aria-sort=descending] .sort{color:var(--ink);font-weight:700}.nd{color:var(--muted)}
