:root{--blue:#286298;--deep:#173c67;--green:#2f8b60;--pale:#eef8fd;--leaf:#e8f2dd;--orange:#ef7d00;--pink:#c95c91;--ink:#172536;--muted:#617182;--line:#d8e3e9;--white:#fff;--shadow:0 14px 40px rgba(31,76,105,.09)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 Inter,Arial,sans-serif}.site-header{min-height:108px;display:flex;align-items:center;gap:42px;padding:12px max(3vw,24px);border-bottom:1px solid #edf1f3;background:#fff;position:relative;z-index:3}.brand{display:grid;text-decoration:none;line-height:1}.brand span{font-weight:800;color:var(--green);font-size:12px;letter-spacing:.05em}.brand strong{font:700 39px/.95 Georgia,serif;color:var(--blue)}.brand small{color:var(--muted);font-size:11px;margin-top:7px}.site-header nav{display:flex;gap:26px;margin-left:auto}.site-header nav a{color:var(--deep);font-weight:700;text-decoration:none}.site-header nav a:hover{color:var(--green)}.account{display:flex;align-items:center;gap:16px;border-left:1px solid var(--line);padding-left:22px}.account span{font-weight:700}.account small,td small{display:block;font-weight:400;color:var(--muted)}button,.button,input,select,textarea{font:inherit}.link-button{border:0;background:none;color:var(--blue);padding:0;cursor:pointer}.page{min-height:calc(100vh - 210px);padding:56px max(4vw,24px) 100px;position:relative;overflow:hidden}.page>*{position:relative;z-index:1}.page:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-100px;height:220px;background:var(--leaf);border-radius:50% 50% 0 0/35% 35% 0 0;z-index:0}.dot{position:absolute!important;width:110px;height:110px;border-radius:50%;background-image:radial-gradient(var(--green) 2px,transparent 3px);background-size:12px 12px;opacity:.7;z-index:0!important}.dot-a{right:5%;top:24px}.dot-b{left:4%;bottom:35px;background-image:radial-gradient(#77afe6 2px,transparent 3px);width:80px;height:80px}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;max-width:1500px;margin:0 auto 32px}.page-title h1,.login-card h1{font:700 clamp(34px,4vw,55px)/1.05 Georgia,serif;color:var(--blue);margin:.15em 0}.page-title p{margin:4px 0;color:var(--muted);max-width:760px}.eyebrow{color:var(--green)!important;font-weight:800;letter-spacing:.08em;font-size:13px}.button,button{border:1px solid var(--line);border-radius:4px;padding:11px 18px;text-decoration:none;cursor:pointer;display:inline-block}.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.secondary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}.ghost{background:#fff;color:var(--blue)}.title-actions,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:var(--shadow)}.filters{max-width:1500px;margin:0 auto 20px;display:grid;grid-template-columns:1fr 240px auto;gap:10px}.filters input,.filters select,.field input,.field select,.field textarea,.stack input,.stack select,.stack textarea,.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid #bdced8;border-radius:4px;padding:11px 12px;background:#fff;color:var(--ink)}.filters button{background:var(--blue);color:#fff;border-color:var(--blue)}.table-wrap{max-width:1500px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pale);color:var(--deep);font-size:13px;text-transform:uppercase;letter-spacing:.04em}td a{color:var(--blue);text-decoration:none}.empty{text-align:center;color:var(--muted);padding:48px}.status{display:inline-block;padding:5px 10px;border-radius:30px;background:#edf1f4;color:#536575;font-size:13px;font-weight:800;white-space:nowrap}.status.submitted{background:#e6f2fb;color:#23629a}.status.under_review{background:#fff0df;color:#a15200}.status.changes_requested{background:#fff0f6;color:#9a3b68}.status.approved{background:#e7f5ec;color:#217649}.status.rejected{background:#fdeaea;color:#a43c3c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;margin:auto}.field{display:flex;flex-direction:column;gap:7px}.field>span,.stack label,.review-form label{font-weight:700;color:var(--deep)}.field.wide,.wide{grid-column:1/-1}.field textarea{min-height:135px;resize:vertical}.counter{color:var(--muted);text-align:right}.counter.over{color:#b62d2d;font-weight:700}.upload-box{background:var(--pale);border:2px dashed #9fc1d6;border-radius:6px;padding:22px}.upload-box p{color:var(--muted);margin:0}.detail-grid{max-width:1500px;margin:0 auto 24px;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}.detail-grid aside{display:grid;gap:24px}.card h2{font:700 25px Georgia,serif;color:var(--blue);margin:0 0 20px}.card dl{margin:0}.card dl div{padding:18px 0;border-bottom:1px solid var(--line)}.card dt{font-weight:800;color:var(--deep);margin-bottom:6px}.card dd{margin:0}.meta strong{display:block;color:var(--deep)}.files{list-style:none;padding:0;margin:0}.files li{padding:10px 0;border-bottom:1px solid var(--line)}.files a{color:var(--blue);font-weight:700}.muted{color:var(--muted)}.reviews{max-width:1500px;margin:0 auto}.reviews article{border-left:4px solid var(--green);padding:14px 18px;margin:12px 0;background:#f9fbfc}.reviews article strong{margin-left:10px}.reviews time{float:right;color:var(--muted)}.review-form{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:16px}.review-form label{display:grid;gap:6px}.admin-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:350px 1fr;gap:24px;align-items:start}.stack{display:grid;gap:16px}.stack label{display:grid;gap:6px}.login-card{max-width:520px;margin:7vh auto;background:#fff;border-top:8px solid var(--green);padding:42px;box-shadow:var(--shadow)}.login-card>p:not(.eyebrow){color:var(--muted)}.alert{max-width:1500px;margin:0 auto 16px;padding:13px 18px;border-radius:4px}.alert.success{background:#e6f5eb;color:#246c45}.alert.error{background:#fde9e9;color:#943939}footer{min-height:105px;background:#e6f5fb;border-top:2px solid var(--green);padding:28px max(4vw,24px);display:flex;justify-content:space-between;color:var(--deep)}code{background:#eef2f4;padding:3px 6px;border-radius:3px}
.backup-panel{max-width:1500px;margin:0 auto 24px;background:linear-gradient(120deg,var(--pale),#fff);border:1px solid #bcd8e8;border-left:6px solid var(--blue);border-radius:8px;padding:22px 26px;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(500px,1.3fr);gap:30px;box-shadow:var(--shadow)}.backup-panel h2{font:700 25px Georgia,serif;color:var(--blue);margin:0 0 4px}.backup-panel p{margin:0;color:var(--muted)}.backup-actions{display:grid;gap:16px}.backup-actions>form{display:flex;align-items:center;gap:18px}.restore-form{border-top:1px solid #cbdce5;padding-top:15px;flex-wrap:wrap}.restore-form input[type=file]{max-width:260px}.restore-form label{font-size:13px;color:var(--deep)}.restore-confirm{font-weight:800}.backup-options{display:flex;gap:13px;flex-wrap:wrap}.backup-options label{white-space:nowrap;color:var(--deep);font-weight:700}.media-badges{display:flex;gap:5px;flex-wrap:wrap}.media-badges span{display:inline-block;padding:3px 7px;border-radius:3px;background:var(--pale);color:var(--blue);font-size:12px;font-weight:800}.danger{background:#a33a3a;border-color:#a33a3a;color:#fff;font-weight:700}.title-actions form{margin:0}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.row-actions button,.row-actions .button{padding:7px 10px;font-size:13px}.profile-card,.edit-card{max-width:680px;margin:0 auto}.profile-card small,.edit-card small{color:var(--muted);font-weight:400}
@media(max-width:900px){.site-header{align-items:flex-start;flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow:auto;margin:0}.account{margin-left:auto}.detail-grid,.admin-grid,.backup-panel{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.backup-actions>form{align-items:flex-start;flex-direction:column}.page{padding-top:35px}.dot{display:none}}@media(max-width:600px){.brand strong{font-size:30px}.site-header nav{gap:16px}.account span{display:none}.page-title{display:grid}.card{padding:20px}.reviews time{float:none;display:block;margin-top:4px}footer{display:grid;gap:8px}}@media print{.site-header nav,.account,.title-actions .button,.reviews,.print,.dot,footer{display:none!important}.page{padding:0}.page:after{display:none}.detail-grid{display:block}.detail-grid aside{margin-top:20px}.card{box-shadow:none}.site-header{border:0}.brand small{display:none}}


/* Correzioni decorative per schermi desktop e portatili */
@media screen and (min-width:901px){
  .page:after{bottom:-120px;height:175px}
  .dot-a{right:1.5%;top:30px;width:92px;height:92px}
  .dot-b{left:4%;bottom:90px;width:68px;height:68px}
}
@media screen and (min-width:901px) and (max-height:850px){
  .page:after{bottom:-105px;height:140px}
  .dot-b{display:none}
}

/* Flusso di valutazione collaborativa */
.status.ready_for_director{background:#eee9fb;color:#65449a}
.status.favorable{background:#e7f5ec;color:#217649}
.status.unfavorable{background:#fdeaea;color:#a43c3c}
.visibility-badge{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:3px;background:#edf1f4;color:#617182;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}

.field small:not(.counter){color:var(--muted);font-weight:400}
