:root{
  --bg:#0c0b09;
  --bg2:#11100d;
  --panel:#16140f;
  --panel2:#1b1812;
  --line:#342d22;
  --line2:#4d412f;
  --text:#eee9df;
  --muted:#9e978b;
  --gold:#b79a66;
  --gold2:#d0b27b;
  --bronze:#7f6947;
  --red:#b3564b;
  --green:#6f9a72;
  --orange:#bd824d;
  --shadow:0 18px 60px rgba(0,0,0,.34);
  --radius:14px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:
  radial-gradient(circle at 25% 0%,rgba(183,154,102,.07),transparent 28%),
  linear-gradient(180deg,#0e0d0a 0%,#0b0a08 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{transition:.18s ease}
img{max-width:100%}

/* Auth */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;position:relative;overflow:hidden}
.auth-backdrop{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,5,4,.93),rgba(7,7,5,.78) 42%,rgba(7,7,5,.9)),
  url('/static/assets/imperivm-banner.png') center/cover no-repeat;filter:saturate(.78);transform:scale(1.03)}
.auth-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0,rgba(0,0,0,.25) 44%,rgba(0,0,0,.72) 100%)}
.auth-card{position:relative;z-index:1;width:min(470px,100%);padding:34px;border:1px solid rgba(193,164,111,.27);background:linear-gradient(180deg,rgba(25,22,17,.95),rgba(13,12,10,.97));box-shadow:0 32px 100px rgba(0,0,0,.72);border-radius:18px;backdrop-filter:blur(12px)}
.auth-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(183,154,102,.1);border-radius:12px;pointer-events:none}
.auth-emblem{height:94px;overflow:hidden;border-bottom:1px solid var(--line);margin:-10px -10px 24px;display:flex;align-items:center;justify-content:center;background:#0d0c0a}
.auth-emblem img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:contrast(1.04) saturate(.75)}
.eyebrow{margin:0 0 7px;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.auth-card h1,.page-heading h1,.detail-top h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:.035em;font-weight:500}
.auth-card h1{font-size:34px;margin:0 0 8px}
.auth-copy{color:var(--muted);line-height:1.62;margin:0 0 24px}
.auth-form{display:grid;gap:16px}
label{display:grid;gap:7px;color:#d7d0c3;font-size:13px;font-weight:650}
input,select,textarea{width:100%;color:var(--text);background:#0e0d0b;border:1px solid var(--line);border-radius:9px;padding:12px 13px;outline:none;transition:.18s ease}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(183,154,102,.1)}
textarea{resize:vertical;line-height:1.55}
select option{background:#11100d;color:var(--text)}
.password-wrap{position:relative}.password-wrap input{padding-right:92px}.show-code{position:absolute;right:6px;top:6px;bottom:6px;border:0;background:transparent;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.08em;cursor:pointer}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;padding:0 16px;border:1px solid transparent;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer;text-transform:uppercase}
.primary-btn{color:#15120d;background:linear-gradient(180deg,#ceb17d,#a98955);border-color:#ddc28f;box-shadow:0 7px 20px rgba(157,128,77,.18)}
.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.secondary-btn{color:var(--gold2);background:#1a1711;border-color:var(--line2)}
.secondary-btn:hover,.ghost-btn:hover{border-color:var(--gold);background:#211d15}
.ghost-btn{color:#bbb3a5;background:transparent;border-color:var(--line)}
.danger-btn{color:#ebc3bf;background:rgba(179,86,75,.08);border-color:rgba(179,86,75,.45)}
.danger-btn:hover{background:rgba(179,86,75,.16)}
.full{width:100%}.auth-submit{margin-top:5px;min-height:48px}.auth-divider{display:flex;align-items:center;gap:12px;color:#716b61;font-size:9px;font-weight:800;letter-spacing:.16em;margin:22px 0 14px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.security-note{color:#756f65;font-size:11px;text-align:center;margin:16px 0 0}.back-login{display:block;text-align:center;margin-top:18px;color:var(--gold);font-size:12px}
.alert{padding:11px 13px;border-radius:8px;margin:14px 0;font-size:13px;border:1px solid}.alert.success{color:#bed4bf;background:rgba(111,154,114,.1);border-color:rgba(111,154,114,.35)}.alert.danger{color:#e4b9b4;background:rgba(179,86,75,.1);border-color:rgba(179,86,75,.38)}

/* App shell */
.app-shell{display:flex;min-height:100vh}.sidebar{width:278px;position:fixed;left:0;top:0;bottom:0;z-index:20;background:linear-gradient(180deg,#12110e,#0d0c0a);border-right:1px solid var(--line);display:flex;flex-direction:column;box-shadow:18px 0 60px rgba(0,0,0,.18)}
.brand{height:114px;display:block;overflow:hidden;position:relative;border-bottom:1px solid var(--line);background:#0b0a08}.brand img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.72) contrast(1.04);opacity:.88}.brand:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(7,7,5,.88) 100%)}.brand span{position:absolute;z-index:2;bottom:11px;left:18px;font-size:9px;letter-spacing:.28em;font-weight:900;color:#bfa574}
.main-nav{padding:13px 10px 20px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#403727 transparent}.nav-label{font-size:9px;letter-spacing:.18em;color:#6f685d;font-weight:900;padding:18px 11px 7px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;margin:2px 0;border-radius:7px;color:#aaa397;font-size:12px;border:1px solid transparent}.nav-link span{width:20px;text-align:center;font-size:14px}.nav-link:hover{background:#191611;color:#e6dfd2}.nav-link.active{color:#efe4d0;background:linear-gradient(90deg,rgba(183,154,102,.16),rgba(183,154,102,.04));border-color:rgba(183,154,102,.18);box-shadow:inset 3px 0 0 var(--gold)}.nav-link.new-case{margin:8px 0 4px;color:#d6bc8a;border-color:#4c402e;background:#17140f}
.sidebar-footer{border-top:1px solid var(--line);padding:13px 12px 16px;background:#0b0a08}.user-mini{display:flex;align-items:center;gap:10px;margin-bottom:10px}.user-mini strong{font-size:12px;display:block}.user-mini small{font-size:10px;color:#7e776c;display:block;margin-top:2px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#574932,#261f16);border:1px solid #6a573b;color:#e3c997;font-family:Georgia,serif;font-weight:700}.avatar.small{width:30px;height:30px;flex:none}.avatar.large{width:58px;height:58px;font-size:22px}
.main-area{margin-left:278px;min-width:0;flex:1}.topbar{height:60px;position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(12,11,9,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(72,61,45,.65)}.topbar-title{font-size:10px;letter-spacing:.15em;font-weight:850;color:#827a6d;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#719374;box-shadow:0 0 10px rgba(113,147,116,.35)}.topbar-action{font-size:10px;font-weight:850;letter-spacing:.08em;color:var(--gold2)}.menu-btn{display:none;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:7px;padding:7px 9px}.content{padding:28px;max-width:1600px;margin:0 auto}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2px 0 22px}.page-heading h1,.detail-top h1{font-size:32px;line-height:1.12;margin:0 0 8px}.page-heading p:not(.eyebrow),.detail-title-row p{margin:0;color:var(--muted);font-size:13px}.hero-heading{padding:24px 26px;border:1px solid rgba(183,154,102,.16);background:linear-gradient(90deg,rgba(183,154,102,.08),transparent 55%),url('/static/assets/imperivm-banner.png') right center/520px auto no-repeat;border-radius:var(--radius);position:relative;overflow:hidden}.hero-heading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,14,11,.96) 0%,rgba(15,14,11,.82) 48%,rgba(15,14,11,.35) 100%);z-index:0}.hero-heading>*{position:relative;z-index:1}
.panel{background:linear-gradient(180deg,rgba(24,22,17,.96),rgba(19,17,13,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 20px 14px}.panel-head h2{font-family:Georgia,serif;font-size:19px;font-weight:500;margin:0}.panel-head a{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:.06em}.muted{color:#7f776a;font-weight:400}

/* Dashboard */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 18px}.stat-card{padding:18px;border:1px solid var(--line);background:linear-gradient(145deg,#171510,#11100d);border-radius:12px;min-height:116px;display:flex;flex-direction:column;justify-content:center}.stat-card strong{font-family:Georgia,serif;font-size:34px;font-weight:500;color:#eee4d2;line-height:1;margin:7px 0}.stat-card small{color:#7f786d;font-size:11px}.stat-kicker{font-size:9px;font-weight:900;letter-spacing:.14em;color:#857967}.stat-card.critical{border-color:rgba(179,86,75,.3);background:linear-gradient(145deg,rgba(179,86,75,.08),#11100d)}.stat-card.critical strong{color:#ddb0aa}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:18px;margin-bottom:18px}.case-list{border-top:1px solid var(--line)}.case-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(52,45,34,.72)}.case-row:last-child{border-bottom:0}.case-row:hover{background:rgba(183,154,102,.045)}.case-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#0f0e0b;border:1px solid var(--line);font-size:17px}.case-main{min-width:0}.case-title-line{display:flex;align-items:center;gap:10px;min-width:0}.case-title-line strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-main small,.case-meta small{display:block;color:#7e776c;font-size:10px;margin-top:5px}.case-meta{text-align:right}.activity-list{padding:2px 18px 18px}.activity-item{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid rgba(52,45,34,.65);font-size:11px;color:#b8b0a3}.activity-item:last-child{border-bottom:0}.activity-item small{display:block;color:#726b61;margin-top:4px;line-height:1.4}.activity-dot{width:7px;height:7px;border-radius:50%;background:#887451;margin-top:5px;flex:none}.section-panel{padding-bottom:12px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 14px}.category-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(52,45,34,.8);border-radius:10px;background:#12110e}.category-card:hover{border-color:#554731;background:#17140f;transform:translateY(-1px)}.category-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#0d0c0a;font-size:17px}.category-copy strong{display:block;font-size:12px}.category-copy span{display:block;color:#746e64;font-size:10px;line-height:1.35;margin-top:3px}.category-numbers{text-align:right}.category-numbers strong{display:block;font-family:Georgia,serif;font-size:20px}.category-numbers small{color:#756e63;font-size:9px}.empty-state{padding:38px 22px;text-align:center;color:#7c756a;display:grid;justify-items:center;gap:8px}.empty-state strong{color:#cfc7ba}.empty-state .secondary-btn{margin-top:8px}.empty-mini{padding:18px;color:#746d62;font-size:12px}

/* Tables / filters */
.filter-panel{padding:13px;margin-bottom:14px}.filters{display:grid;grid-template-columns:minmax(240px,1fr) 220px 180px auto;gap:9px}.search-field{position:relative}.search-field>span{position:absolute;left:12px;top:10px;color:#776f62}.search-field input{padding-left:34px}.table-panel{overflow:hidden}.table-headline{padding:14px 18px;border-bottom:1px solid var(--line);color:#a59c8d;font-size:11px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#746d62;font-size:9px;letter-spacing:.12em;padding:11px 14px;border-bottom:1px solid var(--line);background:#100f0c;white-space:nowrap}td{padding:13px 14px;border-bottom:1px solid rgba(52,45,34,.65);vertical-align:middle;color:#c9c1b4}tbody tr:hover{background:rgba(183,154,102,.035)}td strong{color:#e1d9cb;font-size:11px}td small{display:block;color:#746d62;margin-top:4px;font-size:9px}.case-code{color:var(--gold2);font-weight:850}.wrap-cell{max-width:480px;white-space:normal;line-height:1.45}.audit-action{font-size:9px;letter-spacing:.06em;color:#c8b28b}
.badge,.severity,.role-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid}.status-aperto{color:#d6c18e;background:rgba(183,154,102,.08);border-color:rgba(183,154,102,.35)}.status-revisione{color:#dbb185;background:rgba(189,130,77,.08);border-color:rgba(189,130,77,.36)}.status-chiuso{color:#9dc2a0;background:rgba(111,154,114,.08);border-color:rgba(111,154,114,.34)}.status-archiviato{color:#999187;background:rgba(140,132,121,.05);border-color:#443d34}.severity-bassa{color:#9fc2a1;border-color:rgba(111,154,114,.34);background:rgba(111,154,114,.06)}.severity-media{color:#d5c08d;border-color:rgba(183,154,102,.34);background:rgba(183,154,102,.06)}.severity-alta{color:#dbad81;border-color:rgba(189,130,77,.4);background:rgba(189,130,77,.08)}.severity-critica{color:#e0a59f;border-color:rgba(179,86,75,.45);background:rgba(179,86,75,.09)}

/* Category */
.heading-with-icon{display:flex;align-items:center;gap:15px}.big-icon{width:58px;height:58px;border-radius:13px;display:grid;place-items:center;background:#16130f;border:1px solid var(--line2);font-size:27px}

/* New case */
.case-form{display:grid;gap:14px}.form-section{padding:22px}.form-section-head{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.form-section-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);color:var(--gold);font-size:10px;font-weight:900}.form-section-head h2{margin:0;font-family:Georgia,serif;font-size:19px;font-weight:500}.form-section-head p{margin:3px 0 0;color:#756e63;font-size:10px}.form-grid{display:grid;gap:14px;margin-bottom:14px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-section>label{margin-bottom:14px}.upload-zone{min-height:150px;border:1px dashed #5c4c35;background:#100f0c;border-radius:11px;display:grid;place-items:center;align-content:center;text-align:center;padding:24px;cursor:pointer}.upload-zone:hover{background:#15120f;border-color:#8c744e}.upload-zone input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.upload-icon{font-size:26px;color:var(--gold)}.upload-zone strong{font-size:13px}.upload-zone small{font-size:10px;color:#756e63}.file-list{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:9px}.file-list span{font-size:9px;padding:5px 8px;border-radius:999px;background:#1d1913;border:1px solid var(--line);color:#a79e90}.form-actions{display:flex;justify-content:flex-end;gap:9px;padding:3px 0 22px}

/* Case detail */
.detail-top{margin-bottom:18px}.back-link{display:inline-block;color:#8a806f;font-size:11px;margin-bottom:16px}.back-link:hover{color:var(--gold)}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:25px}.detail-title-row h1{max-width:1050px;margin-bottom:8px}.detail-badges{display:flex;gap:7px;padding-top:4px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.detail-main{display:grid;gap:14px}.detail-panel{overflow:hidden}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.info-grid>div{padding:16px 18px;border-right:1px solid rgba(52,45,34,.7);border-bottom:1px solid rgba(52,45,34,.7)}.info-grid>div:nth-child(3n){border-right:0}.info-grid small,.case-side-meta small{display:block;font-size:8px;letter-spacing:.12em;color:#71695e;margin-bottom:5px}.info-grid strong{font-size:11px;font-weight:650;color:#dcd4c7}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px!important}.description-text{white-space:pre-wrap;line-height:1.7;color:#c5bdaf;font-size:12px;padding:0 20px 22px}.attachment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.attachment-card{min-width:0;padding:9px;border-radius:9px;border:1px solid var(--line);background:#100f0c}.attachment-card:hover{border-color:#615036}.attachment-preview{height:115px;border-radius:6px;overflow:hidden;background:#090907;display:grid;place-items:center;margin-bottom:8px}.attachment-preview img{width:100%;height:100%;object-fit:cover}.file-type{font-size:10px;color:#9a886a;font-weight:900;letter-spacing:.12em}.attachment-card strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.attachment-card small{display:block;color:#716b61;font-size:8px;margin-top:4px}.comments{padding:0 18px}.comment{display:flex;gap:11px;padding:14px 0;border-top:1px solid rgba(52,45,34,.7)}.comment>div:last-child{min-width:0;flex:1}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.comment-head strong{font-size:11px}.comment-head span{color:#6e675d;font-size:8px}.comment p{white-space:pre-wrap;color:#bbb3a6;font-size:11px;line-height:1.6;margin:6px 0 0}.comment-form{padding:16px 18px;border-top:1px solid var(--line);display:grid;gap:8px;justify-items:end}.sticky-panel{position:sticky;top:78px;padding-bottom:15px}.status-form{display:grid;gap:12px;padding:0 16px 16px}.case-side-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 16px 14px;padding:12px 0;display:grid;gap:10px}.case-side-meta span{font-size:10px;color:#a79f92}.detail-side .danger-btn{width:calc(100% - 32px);margin:0 16px}

/* Staff */
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.staff-card{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.staff-card h2{font-family:Georgia,serif;font-size:18px;font-weight:500;margin:5px 0 2px}.staff-card p{margin:0;color:#776f64;font-size:10px}.role-chip{font-size:7px;padding:3px 6px}.role-chip.owner{color:#e4c891;border-color:#715e3f;background:rgba(183,154,102,.08)}.role-chip.staff{color:#aeb4b8;border-color:#42484b;background:rgba(120,130,135,.06)}.staff-stats{grid-column:1/-1;display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line);color:#746d62;font-size:9px}.staff-stats strong{color:#d7c49c}

.error-page{text-align:center;padding:60px 28px;margin-top:50px}.error-mark{font-size:46px;color:#8c7450;margin-bottom:12px}.error-page h1{font-family:Georgia,serif;font-size:32px;font-weight:500}.error-page p{color:#8c8478;margin:0 0 22px}

@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.sticky-panel{position:static}.staff-grid{grid-template-columns:repeat(2,1fr)}.attachment-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.filters .search-field{grid-column:1/-1}}
@media(max-width:860px){.sidebar{transform:translateX(-101%);transition:transform .22s ease}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-btn{display:block}.topbar{padding:0 14px}.content{padding:18px}.page-heading,.detail-title-row{align-items:flex-start;flex-direction:column}.hero-heading{background-size:cover}.stats-grid{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid>div:nth-child(3n){border-right:1px solid rgba(52,45,34,.7)}.info-grid>div:nth-child(2n){border-right:0}.staff-grid{grid-template-columns:1fr}.topbar-action{display:none}}
@media(max-width:560px){.auth-page{padding:14px}.auth-card{padding:24px 18px}.content{padding:14px}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:90px}.filters{grid-template-columns:1fr}.filters .search-field{grid-column:auto}.case-row{grid-template-columns:35px minmax(0,1fr)}.case-meta{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.category-card{grid-template-columns:38px 1fr}.category-numbers{grid-column:2;text-align:left;display:flex;gap:8px;align-items:center}.category-numbers small{margin-top:2px}.info-grid{grid-template-columns:1fr}.info-grid>div{border-right:0!important}.attachment-grid{grid-template-columns:1fr}.page-heading h1,.detail-top h1{font-size:27px}.detail-badges{flex-wrap:wrap}.panel-head{padding:16px}.form-section{padding:17px}}

/* v1.3 roles, warn scadenze e notifiche */
.one-col{display:grid;grid-template-columns:1fr;gap:14px}
.role-chip.admin{color:#d9b38d;border-color:rgba(189,130,77,.44);background:rgba(189,130,77,.09)}
.role-chip.moderatore{color:#a9c3d7;border-color:rgba(100,143,174,.42);background:rgba(100,143,174,.08)}
.role-chip.helper{color:#aeb4b8;border-color:#42484b;background:rgba(120,130,135,.06)}
.role-form{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}
.role-form label{margin:0}.role-form .secondary-btn{height:42px}
.timed-warning-fields{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:end;padding:15px 16px;margin:0 0 15px;border:1px solid rgba(189,130,77,.35);border-radius:10px;background:linear-gradient(90deg,rgba(189,130,77,.1),rgba(189,130,77,.025))}
.timed-warning-fields.is-hidden{display:none}.timed-warning-fields p{margin-bottom:5px}.timed-warning-fields>div>strong{display:block;font-family:Georgia,serif;font-size:16px;font-weight:500}.timed-warning-fields>div>small{display:block;color:#8d8374;font-size:10px;line-height:1.45;margin-top:5px}
.warning-detail{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;margin-bottom:14px;border-color:rgba(189,130,77,.4);background:linear-gradient(90deg,rgba(189,130,77,.11),rgba(24,22,17,.95))}.warning-detail.expired{border-color:rgba(179,86,75,.5);background:linear-gradient(90deg,rgba(179,86,75,.12),rgba(24,22,17,.95))}.warning-detail.removed{border-color:rgba(111,154,114,.4);background:linear-gradient(90deg,rgba(111,154,114,.1),rgba(24,22,17,.95))}.warning-detail h2{font-family:Georgia,serif;font-size:19px;font-weight:500;margin:0 0 5px}.warning-detail p:not(.eyebrow){margin:0;color:#a49a8b;font-size:11px}
.expiry-overlay{position:fixed;inset:0;z-index:1000;background:rgba(4,4,3,.76);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.expiry-overlay.is-closed{display:none}.expiry-modal{width:min(760px,100%);max-height:min(80vh,760px);overflow:auto;border:1px solid rgba(183,154,102,.42);border-radius:16px;background:linear-gradient(180deg,#1a1712,#100f0c);box-shadow:0 30px 100px rgba(0,0,0,.65)}.expiry-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid var(--line)}.expiry-modal-head h2{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 6px}.expiry-modal-head p:not(.eyebrow){margin:0;color:#988f82;font-size:11px;line-height:1.5}.expiry-list{display:grid}.expiry-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(52,45,34,.7)}.expiry-item:hover{background:rgba(183,154,102,.05)}.expiry-item.expired{background:rgba(179,86,75,.045)}.expiry-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#0b0a08;border:1px solid var(--line);font-size:18px}.expiry-item strong{font-size:12px}.expiry-item small{display:block;color:#81796d;font-size:9px;margin-top:4px}.expiry-status{text-align:right}.expiry-status b{font-size:9px;letter-spacing:.09em;color:#d5ad83}.expiry-item.expired .expiry-status b{color:#e0a59f}.expiry-status small{white-space:nowrap}
@media(max-width:700px){.role-form,.timed-warning-fields{grid-template-columns:1fr}.warning-detail{align-items:flex-start;flex-direction:column}.warning-detail form,.warning-detail button{width:100%}.expiry-modal-head{flex-direction:column}.expiry-modal-head button{width:100%}.expiry-item{grid-template-columns:36px 1fr}.expiry-status{grid-column:2;text-align:left}}

/* v1.4 - presenza staff, notifiche Owner, refresh visuale */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(120deg,transparent 0 42%,rgba(183,154,102,.025) 50%,transparent 58%),radial-gradient(circle at 82% 12%,rgba(183,154,102,.055),transparent 24%)}
.panel{box-shadow:0 16px 55px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.018)}
.topbar{box-shadow:0 10px 35px rgba(0,0,0,.17)}
.topbar-title em{font-style:normal;font-size:8px;letter-spacing:.08em;color:#a78c5d;border:1px solid rgba(183,154,102,.26);padding:3px 6px;border-radius:999px;margin-left:4px}
.topbar-tools{display:flex;align-items:center;gap:14px}.notification-bell{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#12100d;color:#c6a875}.notification-bell:hover{border-color:var(--gold);background:#1b1711}.notification-bell b{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#a64e45;color:#fff4ef;border:2px solid #0d0c0a;font-size:8px}
.staff-heading{align-items:center}.presence-summary{min-width:130px;padding:12px 16px;border:1px solid rgba(111,154,114,.3);border-radius:12px;background:rgba(111,154,114,.06);display:flex;align-items:baseline;gap:8px}.presence-summary strong{font-family:Georgia,serif;font-size:28px;color:#b9d5bb}.presence-summary span{font-size:9px;color:#879286;text-transform:uppercase;letter-spacing:.08em}
.staff-card{position:relative;overflow:hidden;transition:.2s ease}.staff-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#484137}.staff-card.is-online:before{background:#6f9a72;box-shadow:0 0 15px rgba(111,154,114,.45)}.staff-card.is-online{border-color:rgba(111,154,114,.25)}.staff-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.presence-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.09em;border:1px solid}.presence-badge i{width:6px;height:6px;border-radius:50%;display:block}.presence-badge.online{color:#b8d4ba;border-color:rgba(111,154,114,.42);background:rgba(111,154,114,.09)}.presence-badge.online i{background:#75a478;box-shadow:0 0 8px rgba(117,164,120,.7)}.presence-badge.offline{color:#8d877d;border-color:#3d3932;background:rgba(110,105,96,.05)}.presence-badge.offline i{background:#625e57}
.notification-panel{overflow:hidden}.notification-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(52,45,34,.72)}.notification-row:last-child{border-bottom:0}.notification-row.unread{background:linear-gradient(90deg,rgba(183,154,102,.09),transparent 70%)}.notification-symbol{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#0f0e0b;color:var(--gold)}.notification-row strong{font-size:11px;font-weight:650}.notification-row small{display:block;margin-top:4px;color:#7e776c;font-size:9px}
.owner-toast-host{position:fixed;right:22px;top:76px;z-index:90;width:min(390px,calc(100vw - 28px));display:grid;gap:9px;pointer-events:none}.owner-toast{pointer-events:auto;padding:13px 14px;border:1px solid rgba(183,154,102,.38);border-radius:11px;background:rgba(20,18,14,.97);box-shadow:0 18px 50px rgba(0,0,0,.5);animation:ownerToastIn .24s ease}.owner-toast strong{display:block;font-size:11px}.owner-toast small{display:block;color:#898175;font-size:9px;margin-top:4px}.owner-toast .eyebrow{font-size:8px;margin-bottom:5px}.owner-toast.is-hiding{opacity:0;transform:translateY(-5px);transition:.25s ease}@keyframes ownerToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:860px){.topbar-tools{gap:8px}.notification-bell{width:32px;height:32px}.staff-heading{align-items:flex-start}.presence-summary{width:100%}.owner-toast-host{right:14px;top:68px}}
