:root{--green:#0d4b3f;--green2:#126a58;--ink:#171226;--muted:#60736c;--bg:#f2f7f4;--line:#dce7e2;--yellow:#f6c24f;--red:#c94d4d;--orange:#d88b20;--blue:#3980a9;--white:#fff;--shadow:0 14px 40px rgba(25,54,45,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body.a4j-standalone{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}
.a4j-shell{min-height:100vh;display:grid;grid-template-columns:310px minmax(0,1fr)}.a4j-sidebar{position:fixed;inset:0 auto 0 0;width:310px;background:var(--green);color:#fff;padding:34px 20px 24px;display:flex;flex-direction:column;z-index:50}.a4j-side-brand{display:flex;gap:14px;align-items:center;padding:0 12px 28px}.a4j-brand-mark{width:76px;height:76px;border-radius:20px;background:#fff;color:var(--green);display:grid;place-items:center;font-size:27px;font-weight:950;box-shadow:0 8px 25px rgba(0,0,0,.08)}.a4j-brand-mark.small{width:52px;height:52px;border-radius:14px;font-size:18px;background:var(--yellow);color:#533b00}.a4j-side-brand b{display:block;font-size:24px;line-height:1}.a4j-side-brand span{display:block;font-size:12px;letter-spacing:.16em;margin-top:7px;opacity:.75}.a4j-nav{display:grid;gap:8px}.a4j-nav button{border:0;background:transparent;color:#fff;border-radius:18px;padding:14px 13px;display:flex;align-items:center;gap:14px;font-size:16px;text-align:left}.a4j-nav button i{font-style:normal;width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:900}.a4j-nav button.active{background:#fff;color:var(--green);font-weight:900}.a4j-install-side{margin-top:auto;border:0;border-radius:18px;background:var(--yellow);color:#5a4100;padding:18px;display:flex;align-items:center;gap:12px;text-align:left}.a4j-install-side i{font-style:normal;background:#fff;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:24px}.a4j-install-side span{display:grid;gap:6px}.a4j-install-side b{font-size:13px;letter-spacing:.1em}.a4j-install-side small{font-size:10px;letter-spacing:.12em}.a4j-side-user{margin-top:18px;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.18);display:flex;gap:12px;align-items:flex-start}.a4j-side-user>i{font-style:normal;width:44px;height:44px;border-radius:12px;background:var(--yellow);color:#5c4200;display:grid;place-items:center;font-weight:950}.a4j-side-user div{display:grid;gap:3px}.a4j-side-user b{font-size:13px}.a4j-side-user small{font-size:11px;opacity:.75}.a4j-side-user a{font-size:11px;margin-top:6px;text-decoration:none}.a4j-main{grid-column:2;min-width:0}.a4j-topbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:20}.a4j-topbar h2{margin:0;font-size:18px}.a4j-top-actions{display:flex;gap:12px}.a4j-primary,.a4j-outline{border:0;border-radius:13px;padding:15px 20px;font-weight:900;letter-spacing:.02em}.a4j-primary{background:var(--green2);color:#fff;box-shadow:0 8px 22px rgba(18,106,88,.16)}.a4j-outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.a4j-menu{display:none;border:0;background:none;font-size:26px}.a4j-view{display:none;padding:46px 42px 70px}.a4j-view.active{display:block}.a4j-page-heading{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:28px}.a4j-page-heading>div>span,.a4j-auth-kicker{color:var(--green2);font-size:12px;letter-spacing:.14em;font-weight:950}.a4j-page-heading h1{font-size:46px;line-height:1.04;margin:13px 0 8px;letter-spacing:-.04em}.a4j-page-heading p{margin:0;color:var(--muted);font-size:17px}.a4j-install-banner{width:100%;border:0;border-radius:20px;background:linear-gradient(90deg,#126b58,#0d5144);color:#fff;padding:24px 28px;display:flex;align-items:center;gap:16px;text-align:left;margin-bottom:28px;box-shadow:var(--shadow)}.a4j-install-banner i{font-style:normal;background:#fff;color:var(--green);width:58px;height:58px;border-radius:14px;display:grid;place-items:center;font-size:28px}.a4j-install-banner span{display:grid;gap:5px}.a4j-install-banner b{font-size:19px}.a4j-install-banner small{font-size:13px}.a4j-install-banner strong{margin-left:auto;background:var(--yellow);color:#5a4100;padding:18px 26px;border-radius:14px;letter-spacing:.1em}.a4j-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:28px}.a4j-stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;min-height:150px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.a4j-stat:after{content:"";position:absolute;right:-24px;top:-26px;width:88px;height:88px;border-radius:50%;background:#e8f3ef}.a4j-stat.warn:after{background:#fff0ca}.a4j-stat.danger:after{background:#f8dddd}.a4j-stat.info:after{background:#dcecf5}.a4j-stat.action:after{background:#edf4f5}.a4j-stat span{display:block;color:var(--muted);font-weight:800;font-size:13px}.a4j-stat b{display:block;font-size:38px;margin:12px 0 3px;color:var(--green2)}.a4j-stat.warn b{color:#a96a00}.a4j-stat.danger b{color:var(--red)}.a4j-stat.info b{color:var(--blue)}.a4j-stat.action b{color:#377585}.a4j-stat small{color:var(--muted)}.a4j-home-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.a4j-panel,.a4j-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.a4j-panel{padding:24px}.a4j-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.a4j-panel-head h2{margin:0;font-size:20px}.a4j-panel-head button{border:0;background:none;color:var(--green2);font-size:12px;font-weight:950;letter-spacing:.12em}.a4j-mini-row{padding:15px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.a4j-mini-row:first-child{border-top:0}.a4j-mini-date{width:65px;text-align:center;border-radius:12px;background:#edf5f2;padding:8px;font-weight:900}.a4j-mini-row strong{display:block}.a4j-mini-row small{color:var(--muted)}.a4j-mini-row em{font-style:normal;font-size:12px;font-weight:900;color:var(--red)}.a4j-empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px;background:#fbfdfc}.a4j-filterbar{display:flex;gap:8px;margin:0 0 18px}.a4j-filterbar button{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-weight:900;color:var(--muted);font-size:12px}.a4j-filterbar button.active{border-color:var(--green2);background:#eaf5f1;color:var(--green2)}.a4j-stack{display:grid;gap:14px}.a4j-card{padding:22px}.a4j-card.expired{border-left:6px solid var(--red)}.a4j-card-main{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.a4j-card h3{margin:8px 0;font-size:22px}.a4j-card p{margin:8px 0;color:var(--muted)}.a4j-date{display:inline-flex;border-radius:999px;background:#edf5f2;color:var(--green2);padding:7px 10px;font-size:12px;font-weight:900}.expired .a4j-date{background:#f8dfdf;color:#9d3434}.a4j-fin{font-size:12px;font-weight:900;letter-spacing:.04em;color:var(--green2)}.a4j-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.a4j-files a{text-decoration:none;background:#f2f6f4;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:12px}.a4j-actions{display:flex;align-items:center;gap:8px}.a4j-actions select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;font-weight:800}.a4j-icon{border:1px solid var(--line);background:#fff;width:41px;height:41px;border-radius:11px;font-size:17px}.a4j-icon.danger{color:var(--red)}.a4j-edit{border:0;background:#eef5f2;color:var(--green2);padding:9px 11px;border-radius:9px;font-weight:900;font-size:12px}.a4j-deadlines{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.a4j-dead-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.a4j-small{border:0;background:#eaf5f1;color:var(--green2);padding:9px 11px;border-radius:9px;font-weight:900}.a4j-deadline{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-top:1px dashed var(--line)}.a4j-deadline:first-of-type{border-top:0}.a4j-deadline>div:first-child{min-width:0}.a4j-deadline b{font-size:14px}.a4j-deadline small{display:block;color:var(--muted);margin-top:4px}.a4j-deadline.done{opacity:.55}.a4j-deadline.done .a4j-dead-desc{text-decoration:line-through}.a4j-dead-actions{display:flex;gap:7px;align-items:center}.a4j-state{border:0;border-radius:999px;padding:8px 11px;background:#f8dfdf;color:#8e3434;font-weight:900;white-space:nowrap}.a4j-deadline.done .a4j-state{background:#dbefe6;color:#236b54}.a4j-calendar-panel{padding:20px}.a4j-calendar-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:14px}.a4j-calendar-nav button{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:11px;font-size:24px}.a4j-calendar-nav h2{text-transform:capitalize;min-width:220px;text-align:center}.a4j-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.a4j-calendar .dow{text-align:center;color:var(--muted);font-size:11px;font-weight:900;padding:8px}.a4j-calendar .day{min-height:120px;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff;overflow:hidden}.a4j-calendar .blank{background:transparent;border-color:transparent}.a4j-calendar .today{outline:2px solid var(--green2)}.event{display:block;font-size:10px;line-height:1.3;margin-top:5px;padding:5px 6px;border-radius:7px;background:#fff0c8}.event.deadline{background:#dcecf5}.event.done{background:#dcefe7;text-decoration:line-through}.a4j-modal{position:fixed;inset:0;background:rgba(12,28,23,.58);z-index:100;padding:20px;display:grid;place-items:center}.a4j-modal[hidden]{display:none}.a4j-dialog{position:relative;width:min(650px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.a4j-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:32px}.a4j-dialog h2{margin-top:0;font-size:28px}.a4j-dialog form,.a4j-modal-form{display:grid;gap:14px}.a4j-dialog label,.a4j-auth-form label{display:grid;gap:7px;font-weight:800}.a4j-dialog input,.a4j-dialog textarea,.a4j-dialog select,.a4j-auth-form input{width:100%;border:1px solid #cddbd5;border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}.a4j-dialog input:focus,.a4j-dialog textarea:focus,.a4j-dialog select:focus,.a4j-auth-form input:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(18,106,88,.08)}.a4j-form-grid{display:grid;gap:12px}.a4j-form-grid.two{grid-template-columns:1fr 1fr}.a4j-form-help{font-size:12px;color:var(--muted)}.a4j-toast{position:fixed;right:22px;bottom:22px;background:#17241f;color:#fff;padding:13px 16px;border-radius:12px;z-index:150;box-shadow:0 12px 30px rgba(0,0,0,.2)}.a4j-backdrop{display:none}
/* Login/registrazione totalmente autonomi dal tema WordPress */
.a4j-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);background:#f5f8f6}.a4j-auth-brand{background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:24px;padding:60px}.a4j-auth-brand .a4j-brand-mark{flex:0 0 auto}.a4j-auth-brand-copy span{font-size:13px;font-weight:900;letter-spacing:.18em;opacity:.75}.a4j-auth-brand-copy h1{font-size:58px;line-height:1;margin:8px 0 14px}.a4j-auth-brand-copy p{max-width:370px;font-size:17px;line-height:1.5;opacity:.85}.a4j-auth-card{align-self:center;justify-self:center;width:min(470px,calc(100% - 40px));background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:0 24px 70px rgba(21,53,43,.12)}.a4j-auth-card h2{font-size:34px;margin:10px 0 8px}.a4j-auth-intro{color:var(--muted);margin:0 0 24px}.a4j-auth-form{display:grid;gap:15px}.a4j-auth-form label span{font-size:13px}.a4j-auth-submit{width:100%;margin-top:4px}.a4j-remember{display:flex!important;grid-template-columns:auto 1fr;align-items:center;justify-content:flex-start;gap:8px!important}.a4j-remember input{width:auto}.a4j-auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:20px;font-size:13px}.a4j-auth-links a{text-decoration:none;color:var(--green2)}.a4j-auth-links .strong{font-weight:950}.a4j-auth-switch{text-align:center;margin:22px 0 0;font-size:13px;color:var(--muted)}.a4j-auth-switch a{color:var(--green2);font-weight:900}.a4j-alert{padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:13px}.a4j-alert.success{background:#e5f3ec;color:#22664f}.a4j-alert.error{background:#fae5e5;color:#8d3434}
@media(max-width:1050px){.a4j-shell{grid-template-columns:250px minmax(0,1fr)}.a4j-sidebar{width:250px}.a4j-stats{grid-template-columns:repeat(2,1fr)}.a4j-home-grid{grid-template-columns:1fr}.a4j-topbar{padding:0 26px}.a4j-view{padding:35px 26px 60px}.a4j-page-heading h1{font-size:39px}.a4j-auth-shell{grid-template-columns:1fr}.a4j-auth-brand{padding:36px;min-height:250px}.a4j-auth-brand-copy h1{font-size:44px}.a4j-auth-card{margin:38px auto}}
@media(max-width:760px){.a4j-shell{display:block}.a4j-sidebar{transform:translateX(-105%);transition:transform .2s ease;width:min(310px,88vw);box-shadow:14px 0 40px rgba(0,0,0,.18)}.a4j-sidebar.open{transform:translateX(0)}.a4j-backdrop.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}.a4j-main{min-width:0}.a4j-topbar{height:70px;padding:0 14px;gap:10px}.a4j-topbar h2{flex:1}.a4j-menu{display:block}.a4j-top-actions .a4j-outline{display:none}.a4j-top-actions .a4j-primary{padding:11px 13px;font-size:12px}.a4j-view{padding:25px 14px 90px}.a4j-page-heading{align-items:flex-start;flex-direction:column}.a4j-page-heading h1{font-size:34px}.a4j-page-heading p{font-size:15px}.a4j-page-heading>.a4j-primary{width:100%}.a4j-install-banner{padding:18px;align-items:flex-start}.a4j-install-banner strong{display:none}.a4j-install-banner b{font-size:16px}.a4j-install-banner i{width:46px;height:46px}.a4j-stats{grid-template-columns:1fr 1fr;gap:10px}.a4j-stat{min-height:125px;padding:18px}.a4j-stat b{font-size:31px}.a4j-card-main{flex-direction:column}.a4j-actions{width:100%;flex-wrap:wrap}.a4j-actions select{flex:1}.a4j-deadline{align-items:flex-start;flex-direction:column}.a4j-dead-actions{width:100%;justify-content:flex-end}.a4j-calendar{gap:2px}.a4j-calendar .day{min-height:78px;padding:4px;border-radius:7px}.a4j-calendar .dow{padding:4px;font-size:9px}.event{font-size:8px;padding:3px}.a4j-calendar-nav h2{min-width:150px;font-size:17px}.a4j-dialog{padding:24px 18px}.a4j-form-grid.two{grid-template-columns:1fr}.a4j-auth-brand{min-height:210px;justify-content:flex-start;padding:30px 24px}.a4j-auth-brand .a4j-brand-mark{width:58px;height:58px;font-size:20px}.a4j-auth-brand-copy h1{font-size:36px}.a4j-auth-brand-copy p{font-size:14px}.a4j-auth-card{margin:24px auto;padding:26px 20px;border-radius:20px}.a4j-auth-card h2{font-size:29px}}

/* v1.3 — veste istituzionale 4Justice, più compatta */
:root{
  --green:#2d6270;
  --green2:#377585;
  --ink:#1f2933;
  --muted:#66737a;
  --bg:#ffffff;
  --line:#dbe3e6;
  --yellow:#c07a3d;
  --red:#ad5a52;
  --orange:#c07a3d;
  --blue:#377585;
  --white:#fff;
  --shadow:0 5px 18px rgba(31,55,64,.055);
}
html,body{font-size:14px;background:#fff;color:var(--ink)}
.a4j-shell{grid-template-columns:248px minmax(0,1fr);background:#fff}
.a4j-sidebar{width:248px;background:#2d6270;padding:22px 14px 18px}
.a4j-side-brand{gap:11px;padding:0 8px 20px}
.a4j-brand-mark{width:54px;height:54px;border-radius:14px;font-size:20px;color:#377585;box-shadow:none;border:1px solid rgba(255,255,255,.35)}
.a4j-brand-mark.small{width:40px;height:40px;border-radius:10px;font-size:14px;background:#fff;color:#377585}
.a4j-side-brand b{font-size:19px}
.a4j-side-brand span{font-size:10px;margin-top:5px;letter-spacing:.14em}
.a4j-nav{gap:5px}
.a4j-nav button{border-radius:11px;padding:10px 10px;gap:11px;font-size:14px}
.a4j-nav button i{width:28px;height:28px;border-radius:8px;font-size:11px}
.a4j-nav button.active{color:#2d6270}
.a4j-install-side{border-radius:13px;background:#f5f7f8;color:#2d6270;border:1px solid rgba(255,255,255,.35);padding:13px}
.a4j-install-side i{width:36px;height:36px;border-radius:9px;font-size:19px;color:#377585}
.a4j-install-side b{font-size:11px;letter-spacing:.08em}.a4j-install-side small{font-size:9px;letter-spacing:.08em}
.a4j-side-user{margin-top:14px;padding:14px 5px 0;gap:9px}.a4j-side-user>i{width:36px;height:36px;border-radius:9px;background:#fff;color:#377585}.a4j-side-user b{font-size:11px}.a4j-side-user small,.a4j-side-user a{font-size:10px}
.a4j-topbar{height:72px;padding:0 30px;border-bottom:1px solid #e5eaec}.a4j-topbar h2{font-size:15px}.a4j-top-actions{gap:8px}
.a4j-primary,.a4j-outline{border-radius:9px;padding:11px 15px;font-size:12px;font-weight:800;letter-spacing:.015em}
.a4j-primary{background:#377585;box-shadow:0 4px 12px rgba(55,117,133,.15)}
.a4j-outline{border-color:#d8e1e4;color:#31424a}
.a4j-view{padding:32px 30px 54px;background:#fff}
.a4j-page-heading{gap:20px;margin-bottom:21px}.a4j-page-heading>div>span,.a4j-auth-kicker{color:#377585;font-size:10px;letter-spacing:.12em}.a4j-page-heading h1{font-size:34px;line-height:1.08;margin:9px 0 6px}.a4j-page-heading p{font-size:14px}
.a4j-install-banner{border-radius:13px;background:#377585;padding:17px 20px;gap:13px;margin-bottom:20px;box-shadow:none}.a4j-install-banner i{width:44px;height:44px;border-radius:10px;font-size:21px;color:#377585}.a4j-install-banner b{font-size:15px}.a4j-install-banner small{font-size:11px;opacity:.9}.a4j-install-banner strong{background:#fff;color:#377585;padding:12px 18px;border-radius:9px;font-size:11px;letter-spacing:.08em}
.a4j-stats{gap:12px;margin-bottom:20px}.a4j-stat{border-radius:13px;padding:18px;min-height:112px;box-shadow:none}.a4j-stat:after{width:62px;height:62px;right:-18px;top:-20px;background:#edf4f5}.a4j-stat.warn:after,.a4j-stat.danger:after{background:#f7eee7}.a4j-stat.info:after{background:#edf4f5}.a4j-stat.action:after{background:#edf4f5}.a4j-stat span{font-size:11px}.a4j-stat b{font-size:29px;margin:8px 0 1px;color:#377585}.a4j-stat.warn b,.a4j-stat.danger b{color:#b46a34}.a4j-stat.info b{color:#377585}.a4j-stat.action b{color:#377585}.a4j-stat small{font-size:10px}
.a4j-home-grid{gap:12px}.a4j-panel,.a4j-card{border-radius:13px;box-shadow:none}.a4j-panel{padding:18px}.a4j-panel-head{margin-bottom:11px}.a4j-panel-head h2{font-size:16px}.a4j-panel-head button{color:#377585;font-size:10px}
.a4j-mini-row{padding:11px 0;gap:10px}.a4j-mini-date{width:56px;border-radius:9px;background:#edf4f5;padding:7px;font-size:11px}.a4j-mini-row strong{font-size:13px}.a4j-mini-row small{font-size:10px}.a4j-mini-row em{font-size:10px;color:#b46a34}
.a4j-empty{padding:22px;border-radius:11px;background:#fcfdfd;font-size:12px}
.a4j-filterbar{margin-bottom:14px}.a4j-filterbar button{padding:8px 11px;font-size:10px}.a4j-filterbar button.active{border-color:#377585;background:#edf4f5;color:#377585}
.a4j-stack{gap:10px}.a4j-card{padding:17px}.a4j-card.expired{border-left:4px solid #b46a34}.a4j-card-main{gap:16px}.a4j-card h3{margin:6px 0;font-size:17px}.a4j-card p{font-size:12px;margin:6px 0}.a4j-date{background:#edf4f5;color:#377585;padding:6px 9px;font-size:10px}.expired .a4j-date{background:#f7eee7;color:#9b572d}.a4j-fin{font-size:10px;color:#377585}.a4j-files{margin-top:10px}.a4j-files a{background:#f8fafb;border-radius:7px;padding:6px 8px;font-size:10px}.a4j-actions{gap:6px}.a4j-actions select{border-radius:8px;padding:8px;font-size:11px}.a4j-icon{width:34px;height:34px;border-radius:8px;font-size:14px}.a4j-icon.danger{color:#a5524b}.a4j-edit,.a4j-small{background:#edf4f5;color:#377585;border-radius:7px;padding:7px 9px;font-size:10px}
.a4j-deadlines{margin-top:13px;padding-top:13px}.a4j-dead-head{margin-bottom:4px}.a4j-deadline{gap:10px;padding:10px 0}.a4j-deadline b{font-size:12px}.a4j-deadline small{font-size:10px;margin-top:3px}.a4j-state{padding:6px 9px;background:#f7eee7;color:#9b572d;font-size:10px}.a4j-deadline.done .a4j-state{background:#edf4f5;color:#2d6270}
.a4j-calendar-panel{padding:16px}.a4j-calendar-nav{gap:14px;margin-bottom:11px}.a4j-calendar-nav button{width:35px;height:35px;border-radius:8px;font-size:19px}.a4j-calendar-nav h2{font-size:16px}.a4j-calendar .dow{font-size:9px}.a4j-calendar .day{min-height:98px;border-radius:9px;padding:7px}.a4j-calendar .today{outline:2px solid #377585}.event{font-size:9px;background:#f7eee7;color:#814d2e}.event.deadline{background:#edf4f5;color:#2d6270}.event.done{background:#f1f5f6;color:#60737a}
.a4j-modal{background:rgba(25,43,49,.46)}.a4j-dialog{width:min(600px,100%);border-radius:15px;padding:24px;box-shadow:0 20px 55px rgba(25,43,49,.18)}.a4j-close{font-size:27px}.a4j-dialog h2{font-size:21px}.a4j-dialog form,.a4j-modal-form{gap:11px}.a4j-dialog label,.a4j-auth-form label{gap:5px;font-size:12px}.a4j-dialog input,.a4j-dialog textarea,.a4j-dialog select,.a4j-auth-form input{border-radius:8px;padding:10px 11px;font-size:12px}.a4j-dialog input:focus,.a4j-dialog textarea:focus,.a4j-dialog select:focus,.a4j-auth-form input:focus{border-color:#377585;box-shadow:0 0 0 3px rgba(55,117,133,.08)}.a4j-form-help{font-size:10px}.a4j-toast{font-size:11px}
/* Accesso e registrazione: bianco, sobrio, compatto */
.a4j-auth-shell{grid-template-columns:minmax(320px,.82fr) minmax(430px,1.18fr);background:#fff}.a4j-auth-brand{background:#377585;padding:45px;color:#fff}.a4j-auth-brand-copy span{font-size:10px}.a4j-auth-brand-copy h1{font-size:43px;margin:6px 0 10px}.a4j-auth-brand-copy p{max-width:330px;font-size:14px}.a4j-auth-card{width:min(430px,calc(100% - 40px));border-radius:15px;padding:30px;box-shadow:0 10px 35px rgba(37,63,71,.08)}.a4j-auth-card h2{font-size:26px;margin:8px 0 6px}.a4j-auth-intro{margin-bottom:19px;font-size:12px}.a4j-auth-form{gap:12px}.a4j-auth-form label span{font-size:11px}.a4j-auth-links{font-size:11px;margin-top:16px}.a4j-auth-links a,.a4j-auth-switch a{color:#377585}.a4j-auth-switch{font-size:11px;margin-top:17px}.a4j-alert{font-size:11px}.a4j-alert.success{background:#edf4f5;color:#2d6270}.a4j-alert.error{background:#f7eee7;color:#8d5030}
@media(max-width:1050px){.a4j-shell{grid-template-columns:220px minmax(0,1fr)}.a4j-sidebar{width:220px}.a4j-topbar{padding:0 22px}.a4j-view{padding:28px 22px 50px}.a4j-page-heading h1{font-size:31px}.a4j-auth-brand-copy h1{font-size:38px}}
@media(max-width:760px){html,body{font-size:13px}.a4j-sidebar{width:min(270px,86vw)}.a4j-topbar{height:62px;padding:0 11px}.a4j-topbar h2{font-size:13px}.a4j-view{padding:20px 11px 80px}.a4j-page-heading{gap:12px;margin-bottom:17px}.a4j-page-heading h1{font-size:27px}.a4j-page-heading p{font-size:12px}.a4j-top-actions .a4j-primary{padding:9px 11px;font-size:10px}.a4j-install-banner{padding:14px}.a4j-install-banner b{font-size:13px}.a4j-install-banner small{font-size:10px}.a4j-install-banner i{width:39px;height:39px}.a4j-stats{gap:8px}.a4j-stat{min-height:101px;padding:14px}.a4j-stat b{font-size:25px}.a4j-card h3{font-size:15px}.a4j-calendar .day{min-height:70px}.a4j-auth-brand{min-height:175px;padding:24px 20px}.a4j-auth-brand .a4j-brand-mark{width:48px;height:48px;font-size:17px}.a4j-auth-brand-copy h1{font-size:30px}.a4j-auth-brand-copy p{font-size:12px}.a4j-auth-card{margin:20px auto;padding:22px 18px;border-radius:13px}.a4j-auth-card h2{font-size:23px}}

/* v1.4 - installazione PWA solo su dispositivo mobile non installato */
.a4j-install-side,.a4j-install-banner{display:none!important}
.a4j-install-side.a4j-install-visible{display:flex!important}
.a4j-install-banner.a4j-install-visible{display:flex!important}
@media (min-width: 821px){.a4j-install-side,.a4j-install-banner,.a4j-install-side.a4j-install-visible,.a4j-install-banner.a4j-install-visible{display:none!important}}

.a4j-save-error{padding:10px 12px;margin-bottom:12px;border:1px solid #d8b5ad;background:#fbf3f1;color:#8a3f32;border-radius:8px;font-size:13px;font-weight:600}.a4j-save-error[hidden]{display:none}

.a4j-server-saved{position:fixed;top:18px;right:22px;z-index:99999;background:#377585;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* v1.8 — navigazione, filtri, calendario compatto e accordion */
.a4j-stat-link{cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.a4j-stat-link:hover,.a4j-stat-link:focus-visible{border-color:#9dbbc3;transform:translateY(-1px);box-shadow:0 5px 16px rgba(55,117,133,.08)}
.a4j-mini-click{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}
.a4j-mini-click:hover{background:#f8fbfb}
.a4j-mini-kind{display:block;margin-bottom:2px;color:#377585;font-size:8px;font-weight:800;letter-spacing:.08em}
.a4j-search-filters{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(220px,1.4fr) minmax(180px,.8fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.a4j-search-filters label{display:grid;gap:5px}.a4j-search-filters label span{font-size:10px;font-weight:800;color:#506169}.a4j-search-filters input,.a4j-search-filters select{width:100%;height:38px;border:1px solid #d8e1e4;border-radius:8px;background:#fff;padding:0 10px;color:#1f2933;font:inherit;font-size:11px;outline:0}.a4j-search-filters input:focus,.a4j-search-filters select:focus{border-color:#377585;box-shadow:0 0 0 3px rgba(55,117,133,.08)}
.a4j-filter-reset{height:38px;border:1px solid #d8e1e4;border-radius:8px;background:#f8fafb;color:#53636b;padding:0 12px;font-size:9px;font-weight:800;cursor:pointer}
.a4j-load-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid #cfdcdf;border-radius:10px;background:#fff;color:#377585;padding:11px;font-size:10px;font-weight:900;cursor:pointer}.a4j-load-more small{font-size:9px;font-weight:600;color:#728087}.a4j-load-more:hover{background:#f4f8f9}
.a4j-click-card{cursor:pointer}.a4j-click-card:hover,.a4j-project-card:hover{border-color:#b8cdd2}.a4j-card-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.a4j-status-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f0f5f6;color:#377585;padding:5px 8px;font-size:9px;font-weight:800}
.a4j-project-card{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.a4j-card-copy{min-width:0;flex:1}.a4j-adddeadline-visible{white-space:nowrap;background:#377585;color:#fff}.a4j-accordion-arrow{width:38px;height:38px;border:1px solid #b9ccd1;border-radius:9px;background:#fff;color:#377585;font-size:22px;line-height:1;cursor:pointer;font-weight:800}.a4j-accordion-arrow:hover{background:#edf4f5}
.a4j-dead-head span{color:#758289;font-size:10px}.a4j-focus{outline:2px solid rgba(192,122,61,.6);outline-offset:2px;background:#fffaf5!important}
.a4j-home-cal-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:3px 0 10px}.a4j-home-cal-nav button{width:28px;height:28px;border:1px solid #d8e1e4;border-radius:7px;background:#fff;color:#377585;font-size:17px;cursor:pointer}.a4j-home-cal-nav strong{min-width:130px;text-align:center;text-transform:capitalize;font-size:12px}
.a4j-home-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.a4j-home-calendar .dow{text-align:center;padding:3px;color:#718087;font-size:8px;font-weight:900}.a4j-home-calendar .day{position:relative;min-height:42px;border:1px solid #e4eaec;border-radius:7px;padding:5px;background:#fff;font-size:9px}.a4j-home-calendar .day.blank{border-color:transparent;background:transparent}.a4j-home-calendar .day.today{border-color:#377585}.a4j-home-calendar .day>span{font-weight:800;color:#44545b}.a4j-day-count{position:absolute;right:4px;bottom:4px;min-width:23px;height:23px;border:0;border-radius:999px;background:#c07a3d;color:#fff;padding:0 6px;font-size:9px;font-weight:900;cursor:pointer}.a4j-day-count:hover{background:#a8642f}
.a4j-day-modal-list{display:grid;gap:8px;margin-top:14px}.a4j-day-modal-row{display:grid;gap:3px;text-align:left;border:1px solid #dce5e7;border-radius:9px;background:#fff;padding:11px;cursor:pointer}.a4j-day-modal-row:hover{border-color:#9dbbc3;background:#f8fbfb}.a4j-day-modal-row span{font-size:8px;letter-spacing:.08em;color:#377585;font-weight:900}.a4j-day-modal-row b{font-size:13px}.a4j-day-modal-row small{font-size:10px;color:#6d7b82}
.a4j-detail-head{padding-right:30px}.a4j-detail-kicker{display:block;color:#377585;font-size:9px;font-weight:900;letter-spacing:.1em}.a4j-detail-head h2{margin:6px 0 10px}.a4j-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.a4j-detail-badges span{border-radius:999px;background:#edf4f5;color:#377585;padding:5px 9px;font-size:9px;font-weight:800}.a4j-detail-section{margin-top:16px;padding-top:13px;border-top:1px solid #e5ebed}.a4j-detail-section h3{margin:0 0 6px;font-size:12px}.a4j-detail-section p{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.55}.a4j-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.a4j-calendar .event{display:block;width:100%;border:0;text-align:left;cursor:pointer;font-family:inherit}.a4j-calendar .event:hover{filter:brightness(.97)}
.a4j-server-saved{top:auto!important;right:22px!important;bottom:22px!important;transition:opacity .3s ease,transform .3s ease}.a4j-server-saved.hide{opacity:0;transform:translateY(8px)}
@media(max-width:1120px){.a4j-search-filters{grid-template-columns:1fr 1fr}.a4j-search-filters .wide{grid-column:auto}.a4j-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){.a4j-search-filters{grid-template-columns:1fr;padding:11px}.a4j-filter-reset{width:100%}.a4j-card-main{align-items:flex-start}.a4j-actions{width:100%;justify-content:flex-start;margin-top:8px}.a4j-actions select{flex:1 1 140px}.a4j-adddeadline-visible{flex:1 1 180px}.a4j-accordion-arrow{margin-left:auto}.a4j-home-calendar .day{min-height:38px;padding:4px}.a4j-day-count{right:3px;bottom:3px;min-width:20px;height:20px;font-size:8px}.a4j-mini-row{grid-template-columns:50px minmax(0,1fr);position:relative;padding-right:0}.a4j-mini-row em{grid-column:2;justify-self:start}.a4j-server-saved{right:12px!important;bottom:14px!important;max-width:calc(100vw - 24px)}}
.a4j-detail-status{display:grid;gap:5px;max-width:230px;margin-top:13px}.a4j-detail-status>span{font-size:9px;font-weight:800;color:#56666d}.a4j-detail-status select{height:38px;border:1px solid #d8e1e4;border-radius:8px;background:#fff;padding:0 9px;color:#1f2933;font-size:11px}

/* v1.9 — aggiudicazione, periodo progetto e budget */
.a4j-project-facts{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0 2px}
.a4j-project-facts span{display:grid;gap:2px;min-width:92px;padding:7px 9px;border:1px solid #e1e8ea;border-radius:8px;background:#fbfcfc;color:#42545b;font-size:10px}
.a4j-project-facts b{color:#377585;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.a4j-award-separator{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #e2e9eb}
.a4j-award-separator>span{font-size:11px;font-weight:700;color:#52636a}
.a4j-award-separator .a4j-outline{white-space:nowrap}
@media(max-width:760px){.a4j-project-facts{gap:6px}.a4j-project-facts span{flex:1 1 90px}.a4j-award-separator{align-items:stretch;flex-direction:column}.a4j-award-separator .a4j-outline{width:100%}}

/* v1.10 - stato scadenza esplicitamente modificabile */
.a4j-status-select-wrap{display:flex;align-items:center;gap:7px;padding:4px 5px 4px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;white-space:nowrap}
.a4j-status-select-wrap>span{font-size:9px;font-weight:950;letter-spacing:.08em;color:var(--muted)}
.a4j-state-select{appearance:auto;border:0!important;border-radius:7px!important;padding:7px 28px 7px 9px!important;font-size:11px!important;font-weight:900!important;cursor:pointer;min-width:112px;outline:none}
.a4j-state-select.is-pending{background:#f7eee7!important;color:#96552f!important}
.a4j-state-select.is-done{background:#edf4f5!important;color:#2d6270!important}
.a4j-state-select:focus{box-shadow:0 0 0 3px rgba(55,117,133,.12)!important}
.a4j-state-select:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.a4j-status-select-wrap{margin-left:auto}.a4j-state-select{min-width:120px}}

/* v1.11 - notifiche push e promemoria */
.a4j-reminders{border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin:0;display:grid;gap:7px}
.a4j-reminders legend{padding:0 5px;color:#377585;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.a4j-reminders p{margin:0;color:var(--muted);font-size:10px}
.a4j-reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.a4j-reminder-grid label{display:flex!important;align-items:center;gap:7px;border:1px solid #e1e8ea;border-radius:8px;padding:8px 9px;background:#fff;cursor:pointer}
.a4j-reminder-grid input{width:15px!important;height:15px!important;margin:0!important;accent-color:#377585}
.a4j-reminder-grid span{font-size:10px!important;font-weight:700!important;color:#34474e!important}
.a4j-push-status{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9e5e8;background:#f7fafb;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.a4j-push-status strong{font-size:12px;color:#244f5a}.a4j-push-status span{font-size:10px;color:#69787e;text-align:right}
.a4j-notification-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.a4j-notice-row{width:100%;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;border:0;border-bottom:1px solid #e5ebed;background:#fff;text-align:left;padding:12px 2px;cursor:pointer;color:inherit;font-family:inherit}
.a4j-notice-row:last-child{border-bottom:0}.a4j-notice-row:hover{background:#f8fbfb}
.a4j-notice-row>span{display:inline-flex;justify-content:center;border-radius:999px;background:#edf4f5;color:#377585;padding:6px 8px;font-size:9px;font-weight:900}
.a4j-notice-row.urgent>span{background:#f7eee7;color:#9a5b31}
.a4j-notice-row div{display:grid;gap:3px}.a4j-notice-row strong{font-size:12px}.a4j-notice-row small{font-size:10px;color:#6d7b82}
@media(max-width:760px){.a4j-reminder-grid{grid-template-columns:1fr}.a4j-push-status{align-items:flex-start;flex-direction:column}.a4j-push-status span{text-align:left}.a4j-notification-actions{width:100%;justify-content:stretch}.a4j-notification-actions button{flex:1 1 180px}.a4j-notice-row{grid-template-columns:64px minmax(0,1fr)}}
.a4j-push-diagnostics{margin-top:12px;padding:12px 14px;border:1px solid #d6e0e3;border-radius:12px;background:#fff;display:grid;gap:4px;font-size:12px;color:#54666d}.a4j-push-diagnostics strong{color:#17303a;font-size:13px;margin-bottom:2px}.a4j-push-diagnostics span{display:block}

.a4j-push-diagnostics small{font-size:10px;line-height:1.45;color:#69787e;margin-top:4px}.a4j-push-help{justify-self:start;border:1px solid #377585;background:#fff;color:#377585;border-radius:8px;padding:9px 12px;font-weight:800;font-size:10px;cursor:pointer}.a4j-push-warning{display:grid;gap:2px;border-left:3px solid #c07a3d;background:#fbf7f2;padding:9px 10px;margin:4px 0}.a4j-push-warning strong{color:#9a5d26}.a4j-help-steps{margin:6px 0 14px 20px;padding:0}.a4j-help-steps li{margin:6px 0;line-height:1.45}

.a4j-calendar .event.action{border-left-color:#377585;background:#f2f7f8}
