/* PSI Nettuno 0.5 · layout responsive, nessuna dipendenza CSS esterna */
:root{
 --primary:#b71932;--primary-dark:#870b20;--primary-bright:#ef445d;
 --ink:#172033;--muted:#728096;--surface:#fff;--line:#e8edf3;
 --page:#f5f7fb;--shadow:0 6px 24px rgba(29,40,65,.055);
 color-scheme:light;
}
*{box-sizing:border-box}
html{font-size:15px;scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit}svg:not(.icon-sprite){width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #458de3;outline-offset:3px}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:254px;flex:0 0 254px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:linear-gradient(172deg,#b81730 0%,#990e25 64%,#82081d 100%);color:#fff;padding:30px 13px 18px;scrollbar-width:thin;scrollbar-color:#d97789 transparent;z-index:5}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;padding:4px 13px 27px}.brand-flower{font-size:39px;font-family:Georgia,serif;line-height:1}.brand strong{display:block;font-size:17px;letter-spacing:.45px;line-height:1.2}.brand small{display:block;font-size:10px;color:#ffced6;margin-top:4px;letter-spacing:.25px}
.sidebar-caption{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#f9adb9;margin:20px 15px 8px}.sidebar-links{display:flex;flex-direction:column;gap:3px}.sidebar-links a,.sidebar-footer>a{display:flex;align-items:center;gap:12px;color:#ffe8ed;text-decoration:none;font-size:13px;padding:10px 13px;border-radius:11px;transition:background .16s,color .16s}.sidebar-links a:hover,.sidebar-footer>a:hover{background:#ffffff19}.sidebar-links a.active{background:#ffffff2a;color:#fff;font-weight:750;box-shadow:inset 3px 0 #fff}.sidebar-links svg,.sidebar-footer svg{width:18px;height:18px;opacity:.92}.sidebar-unread{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);border-radius:8px;font-weight:850;min-width:21px;padding:1px 4px;margin-left:auto;font-size:11px}
.sidebar-footer{margin-top:auto;padding-top:20px}.sidebar-account{border-top:1px solid #ffffff2f;display:flex;align-items:center;gap:9px;padding:20px 9px 3px}.avatar,.top-avatar{background:#f8d5da;color:#940b22;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-weight:850;flex-shrink:0}.avatar{width:33px;height:33px}.account-text{display:flex;flex-direction:column;overflow:hidden}.account-text strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-text small{font-size:10px;color:#f5adb9}
.page-pane{min-width:0;flex:1}.topbar{height:75px;background:white;border-bottom:1px solid var(--line);padding:0 clamp(20px,3.3vw,52px);display:flex;align-items:center;justify-content:flex-end}.topbar-brand{display:none}.topbar-right{display:flex;align-items:center;gap:17px}.top-search{display:flex;align-items:center;gap:9px;background:#f4f6fa;border-radius:13px;padding:2px 12px;width:min(315px,28vw);height:39px}.top-search svg{color:#91a0b1;width:17px}.top-search input{border:0!important;background:none!important;outline:none!important;font-size:12px;min-width:0;width:100%;padding:4px!important}.icon-button{position:relative;display:inline-flex;padding:9px;color:#394762}.alert-dot{position:absolute;top:1px;right:0;background:#e8203d;color:#fff;font-size:10px;font-weight:800;border-radius:9px;padding:0 4px;min-width:17px;text-align:center}.top-avatar{width:33px;height:33px;background:#213a59;color:#fff}.logout{border:0;background:transparent;color:#6d7888;padding:6px;font-size:12px;font-weight:700}.logout:hover{color:var(--primary)}
.page-content{max-width:1440px;margin:0 auto;padding:29px clamp(18px,3.3vw,52px) 80px}.bottom{display:none}
/* Dashboard hero */
.welcome{min-height:206px;position:relative;overflow:hidden;display:flex;align-items:center;background:linear-gradient(115deg,#b10a28 3%,#d41d3c 63%,#ed5572 100%);color:#fff;border-radius:22px;padding:32px 40px;box-shadow:0 15px 30px #bc20452b}.welcome-body{position:relative;z-index:1;max-width:660px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:850;margin:0 0 13px;display:flex;align-items:center;gap:8px}.eyebrow-light{display:inline-block;width:7px;height:7px;background:#ffc5cd;border-radius:50%}.welcome h1{font-size:clamp(26px,2.3vw,35px);line-height:1.16;letter-spacing:-.8px;margin:0 0 11px;font-weight:830}.welcome-period{color:#ffb8c4}.welcome-body>p:not(.eyebrow){font-size:13px;color:#ffe7ed;margin:0;max-width:590px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.welcome-art{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:270px;height:270px;display:grid;place-items:center;opacity:.18}.art-flower{font-size:178px;font-family:Georgia,serif;line-height:1;color:#fff}.art-circle{position:absolute;border:1.5px solid #fff;border-radius:50%}.ring-one{height:260px;width:260px}.ring-two{height:205px;width:205px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;border-radius:10px;text-decoration:none;font-weight:750;font-size:12px;padding:10px 15px;border:1px solid transparent;transition:transform .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn svg{height:16px;width:16px}.btn-white{background:white;color:#af1730}.btn-glass{background:#ffffff19;border-color:#ffffff67;color:white}.btn-red{background:var(--primary);color:#fff}.btn-outline{border-color:#dce5f1;background:#fff;color:#314460}.btn-outline:hover{border-color:#b6c5d5}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin:29px 0 15px;gap:10px}.section-heading.compact{margin-top:27px}.section-heading h2,.panel h2{margin:0;font-size:19px;letter-spacing:-.5px;font-weight:800}.section-kicker{font-size:10px;letter-spacing:1.8px;color:#9aa6b8;font-weight:850;margin:0 0 3px}.section-date{color:#8997a7;font-size:12px;padding-bottom:2px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric{min-width:0;min-height:137px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);border-radius:17px;padding:18px;display:flex;align-items:flex-start;gap:12px;text-decoration:none;transition:transform .15s,border-color .15s}.metric:hover{transform:translateY(-2px);border-color:#c7d1dd}.metric-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;flex-shrink:0}.metric strong{display:block;font-size:27px;font-weight:850;line-height:1.1;letter-spacing:-1px;margin-bottom:7px;color:#26344a}.metric span:not(.metric-icon){display:block;font-size:12px;font-weight:800;color:#2c3748}.metric small{display:block;font-size:10px;color:#8692a2;margin-top:6px;line-height:1.4}.metric-red .metric-icon{background:#ffe9ed;color:#e7304d}.metric-blue .metric-icon{background:#e3f2ff;color:#1385d8}.metric-amber .metric-icon{background:#fff0d9;color:#df8e19}.metric-purple .metric-icon{background:#efe8ff;color:#8252d7}
.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.shortcut{min-height:88px;display:flex;align-items:center;gap:13px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:14px 15px;text-decoration:none;min-width:0;transition:transform .15s,border-color .15s}.shortcut:hover{transform:translateY(-2px);border-color:#d1d7e0}.shortcut>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.shortcut b{font-size:12px;color:#283348}.shortcut small{font-size:10px;color:#8a96a6;line-height:1.25}.shortcut-ico,.feed-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px}.shortcut-arrow{margin-left:auto;color:#c4cdd7!important;width:15px!important;height:15px!important}.tint-rose{background:#ffe5e9;color:#dc2e49}.tint-lilac{background:#f0e8ff;color:#8d5bd8}.tint-indigo{background:#e7e8ff;color:#605cc9}.tint-amber{background:#fff1df;color:#ed9b31}.tint-blue{background:#e4f3ff;color:#329de5}.tint-mint{background:#ddf5e9;color:#30a77d}.tint-slate{background:#eaf0f7;color:#58708c}
.dashboard-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:17px;margin-top:23px;align-items:start}.dashboard-column{display:flex;flex-direction:column;gap:17px;min-width:0}.panel{border:1px solid var(--line);background:white;box-shadow:var(--shadow);border-radius:17px;padding:21px}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.panel-title h2{font-size:16px}.panel-view-all{font-size:11px;color:var(--primary);text-decoration:none;white-space:nowrap;font-weight:800}.feed-row{display:flex;align-items:center;gap:12px;padding:12px 0;text-decoration:none;color:inherit;border-top:1px solid #eff2f6;min-width:0}.feed-row:first-of-type{border-top:none}.feed-icon{width:37px;height:37px;border-radius:11px}.feed-icon svg{width:17px;height:17px}.feed-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.feed-body b{font-size:12px;line-height:1.35;font-weight:750;overflow-wrap:anywhere}.feed-body small{font-size:10px;color:#8d9aab}.status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:7px;font-size:9px;font-weight:790;padding:5px 7px;line-height:1.2}.status.new{background:#ffeaec;color:#c7263e}.status.ongoing{background:#fff1dc;color:#9b6216}.status.done{background:#dcf5e8;color:#258053}.status.waiting{background:#e6edff;color:#435eae}.datechip{font-size:11px;font-weight:760;background:#fff2e4;color:#a2651d;padding:7px 8px;border-radius:8px;white-space:nowrap}.meeting-row{display:flex;gap:12px;border-top:1px solid #eff2f6;padding:12px 0;align-items:center}.meeting-row:first-of-type{border-top:0}.meeting-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff0f2;color:#ba1732;border-radius:10px;min-width:48px;height:48px}.meeting-date strong{font-size:20px;line-height:1.1}.meeting-date small{font-size:9px;font-weight:850}.panel-reminder{background:linear-gradient(130deg,#fff,#f9f9ff)}.panel-reminder>p{font-size:12px;color:#6b7b90;line-height:1.6;margin:10px 0 17px}.reminder-icon{display:grid;place-items:center;background:#fff0f2;color:var(--primary);width:33px;height:33px;border-radius:10px}.balance-panel>span{display:block;color:#7a8899;font-size:12px}.balance-panel>strong{font-size:26px;letter-spacing:-.6px;margin-top:2px;display:block}.balance-panel>a{display:inline-block;margin-top:12px;text-decoration:none;color:var(--primary);font-size:11px;font-weight:800}.empty-state{font-size:12px;color:#98a4b4;background:#f8fafc;border-radius:10px;padding:15px}
/* pages/forms */
.subpage-head{margin:2px 0 22px}.subpage-head h1{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.65px;margin:2px 0 5px}.subpage-head>p:not(.section-kicker){margin:0;color:#8190a1;font-size:13px}.back-link{display:inline-block;color:var(--primary);font-weight:750;font-size:12px;text-decoration:none;margin-bottom:15px}.subpage-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}.search-filter{display:flex;gap:8px;align-items:center;flex:1;max-width:660px}.search-filter input{flex:1;min-width:90px}.search-filter select{max-width:160px}.search-filter button{width:auto}.content-panel{margin:15px 0}.content-panel>h2{margin:0 0 12px}.content-panel>p{font-size:13px;line-height:1.7}.muted{color:#8290a1!important;font-size:12px}.upload-section{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.upload-section h3{margin:0 0 10px}.login-main{max-width:490px;margin:10vh auto 0;padding:22px}.login-bar{padding:22px;background:var(--primary);color:#fff;text-align:center}.login-brand{font-size:20px;font-weight:850}.login-brand small{font-size:10px;letter-spacing:2px;color:#ffe0e4}.login-main h1{font-size:26px}
.card,.listpanel{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;margin:16px 0;box-shadow:var(--shadow)}.card h2,.listpanel h2{font-size:17px}.card h3{font-size:16px}.card small{color:#8a95a5}.listitem{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;padding:14px 0;border-bottom:1px solid #eef1f6;color:#243049;text-decoration:none}.listitem:last-child{border:0}.listitem a,.listitem strong{color:var(--primary);text-decoration:none}.listitem small{color:#8d99a9;display:block;font-size:11px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tiles a{background:white;border:1px solid var(--line);border-radius:13px;padding:15px;text-decoration:none}.hero{border-radius:18px;background:linear-gradient(115deg,#ab102b,#e43a55);color:#fff;padding:23px 26px}.hero h1{font-size:26px;margin:4px 0 5px}.hero p{letter-spacing:1.8px;font-size:10px;font-weight:800;margin:0}.hero span{font-size:12px;color:#ffdde2}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats .card{margin:10px 0}.stats b{display:block;font-size:25px;color:var(--primary)}
input:not([type="checkbox"]),select,textarea{padding:11px 13px;border:1px solid #dce3ec;background:#fff;border-radius:10px;color:#29364a;width:100%;min-width:0}textarea{min-height:125px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#d6556a}label{display:block;margin:14px 0 6px;font-size:12px;font-weight:750;color:#3f4d63}.edit-form p{display:flex;flex-direction:column;gap:4px}.edit-form label{margin:0}.edit-form p .helptext{font-size:11px;color:#8d97a6}.edit-form ul.errorlist{font-size:12px;color:#b71932}.edit-form button,.card button,.listpanel button,button.action,.search-filter button{padding:12px 18px;background:var(--primary);border:0;border-radius:10px;color:#fff;font-weight:760;font-size:12px}.edit-form button,.card button,.listpanel button,button.action{display:block;width:100%;margin-top:15px}.card button.secondary,.listpanel button.secondary{background:#fce9ed;color:#ac1832}.action{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;background:var(--primary);color:white;text-decoration:none;font-size:12px;font-weight:750;margin:13px 0}.checkbox-line{display:block;padding:9px 0}.checkbox-line input{width:17px;height:17px;accent-color:var(--primary);vertical-align:middle}.permission-scroll{overflow-x:auto}.permission-table{width:100%;min-width:510px;text-align:center;border-collapse:collapse;font-size:12px}.permission-table th,.permission-table td{padding:12px 7px;border-bottom:1px solid #eef1f6}.permission-table th:first-child,.permission-table td:first-child{text-align:left}.permission-table input{width:17px;height:17px;accent-color:var(--primary)}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:112px}.welcome-art{right:-45px}.dashboard-columns{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.sidebar{width:221px;flex-basis:221px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.welcome-art{right:0}}
@media(max-width:800px){.sidebar{display:none}.topbar{height:66px;padding:0 18px;justify-content:space-between}.topbar-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;color:#a91029;letter-spacing:.2px}.mobile-flower{font-family:Georgia,serif;font-size:27px;line-height:1}.topbar-right{gap:10px}.top-search{display:none}.logout{font-size:11px}.page-content{padding:16px 14px calc(85px + env(safe-area-inset-bottom))}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-evenly;align-items:center;gap:1px;background:#fff;border-top:1px solid #e8eaf0;box-shadow:0 -4px 22px #1220350c;padding:8px 4px max(8px,env(safe-area-inset-bottom))}.bottom a{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;text-decoration:none;color:#7e8b9d;font-size:10px;white-space:nowrap}.bottom svg{width:19px;height:19px}.bottom .mobile-new{color:var(--primary);font-weight:800}.bottom .mobile-new svg{width:26px;height:26px;padding:5px;box-sizing:content-box;border-radius:12px;background:#fceaf0}.welcome{padding:25px 22px;min-height:210px;border-radius:17px}.welcome h1{font-size:25px}.welcome-art{width:200px;height:200px;right:-90px;opacity:.11}.art-flower{font-size:140px}.ring-one{width:195px;height:195px}.ring-two{width:155px;height:155px}.section-heading h2{font-size:18px}.section-heading{margin:23px 0 12px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-columns{gap:13px;margin-top:19px}.panel{padding:16px}}
@media(max-width:490px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{display:block;padding:13px;min-height:147px}.metric-icon{width:34px;height:34px;margin-bottom:8px;border-radius:10px}.metric-icon svg{width:17px;height:17px}.metric strong{font-size:25px;margin:0 0 3px}.metric span:not(.metric-icon){font-size:11px}.metric small{font-size:9px;margin-top:4px}.shortcut{padding:12px 10px;gap:9px;min-height:76px}.shortcut-ico{width:33px;height:33px;border-radius:10px}.shortcut-ico svg{width:17px;height:17px}.shortcut b{font-size:11px}.shortcut small{font-size:9px}.shortcut-arrow{display:none}.welcome-body>p:not(.eyebrow){font-size:12px}.welcome-actions .btn{font-size:11px;padding:10px 12px}.section-date{font-size:10px}.search-filter{flex-wrap:wrap}.search-filter input{min-width:100%}.search-filter select{flex:1}.subpage-tools{align-items:stretch;flex-direction:column}.subpage-tools .btn{align-self:flex-start}.feed-row{gap:8px}.feed-icon{width:31px;height:31px}.status{font-size:8px}.panel-title h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Scelta per categorie di notifiche */
.push-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px;margin:9px 0;cursor:pointer}.push-choice input{width:18px;height:18px;margin:2px 0;accent-color:var(--primary)}.push-choice span{display:flex;flex-direction:column}.push-choice b{font-size:13px}.push-choice small{color:#8693a5;font-size:11px;font-weight:400}.push-preferences button{width:100%;padding:12px;border:0;border-radius:10px;background:var(--primary);color:white;font-weight:760;margin-top:13px}.notification-status{border:1px solid #e5eaf1;border-radius:11px;padding:13px;background:#f8fafc;color:#42546e;font-size:12px;margin-bottom:13px}
