
:root{
    --navy:#101928;
    --navy-2:#172235;
    --paper:#ffffff;
    --bg:#f5f6f8;
    --line:#e7e9ee;
    --muted:#667085;
    --text:#1c2430;
    --gold:#a88646;
    --gold-soft:#f6f0e5;
    --green:#26734d;
    --green-soft:#edf8f1;
    --red:#b42318;
    --red-soft:#fff0ee;
    --shadow:0 8px 28px rgba(16,24,40,.06);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}

html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}

body{font-size:15px}

a{color:inherit}

.app-shell{display:flex;min-height:100vh}

/* SIDEBAR */

.sidebar{
    width:255px;
    background:var(--navy);
    color:white;
    padding:24px 18px;
    display:flex;
    flex-direction:column;
    position:fixed;
    inset:0 auto 0 0;
    z-index:20;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 6px 24px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.brand-mark{
    width:42px;
    height:42px;
    border:1px solid rgba(197,165,105,.65);
    border-radius:11px;
    display:grid;
    place-items:center;
    color:#d9bd83;
    font-family:Georgia,serif;
    font-size:15px;
    letter-spacing:1px;
}

.brand-copy{min-width:0}

.brand-copy strong{
    display:block;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:500;
}

.brand-copy span{
    display:block;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:1.4px;
    opacity:.55;
    margin-top:4px;
}

.side-nav{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:24px;
}

.side-nav a{
    display:flex;
    align-items:center;
    gap:11px;
    padding:11px 12px;
    border-radius:9px;
    text-decoration:none;
    color:#c9d0db;
    transition:.18s ease;
}

.side-nav a:hover{background:rgba(255,255,255,.06);color:white}

.side-nav a.active{
    background:rgba(168,134,70,.17);
    color:white;
}

.side-nav a.active .nav-icon{color:#d3b779}

.side-nav small{
    margin-left:auto;
    font-size:9px;
    text-transform:uppercase;
    opacity:.35;
}

.side-nav .disabled{cursor:default}

.nav-icon{width:20px;text-align:center;font-size:16px}

.nav-divider{
    height:1px;
    background:rgba(255,255,255,.08);
    margin:15px 8px;
}

.ai-nav{color:#dcc794!important}

.sidebar-bottom{
    margin-top:auto;
    border-top:1px solid rgba(255,255,255,.09);
    padding-top:18px;
}

.user-card{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
}

.avatar{
    width:36px;height:36px;
    background:#27364c;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:700;
}

.user-card strong{font-size:12px;display:block}
.user-card span{font-size:10px;opacity:.55}

.logout-button{
    width:100%;
    padding:8px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;
    background:transparent;
    color:#c9d0db;
    cursor:pointer;
}

/* MAIN */

.workspace{
    margin-left:255px;
    width:calc(100% - 255px);
    min-height:100vh;
}

.topbar{
    height:68px;
    background:rgba(255,255,255,.95);
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 34px;
    position:sticky;
    top:0;
    z-index:10;
    backdrop-filter:blur(14px);
}

.environment{
    font-size:10px;
    letter-spacing:1.3px;
    color:#98a2b3;
    font-weight:700;
}

.top-actions{display:flex;align-items:center;gap:10px}

.global-search{
    width:330px;
    height:38px;
    background:#f8f9fb;
    border:1px solid #e5e7eb;
    border-radius:9px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 11px;
    color:#98a2b3;
}

.global-search input{
    border:0;
    background:transparent;
    outline:0;
    width:100%;
    font:inherit;
}

kbd{
    font-size:10px;
    border:1px solid #ddd;
    background:white;
    padding:3px 6px;
    border-radius:5px;
    white-space:nowrap;
}

.icon-button{
    width:38px;height:38px;
    background:white;
    border:1px solid #e5e7eb;
    border-radius:9px;
    color:var(--gold);
}

.main-content{
    max-width:1440px;
    margin:0 auto;
    padding:34px 38px 70px;
}

.hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:26px;
}

.eyebrow{
    color:var(--gold);
    font-size:10px;
    letter-spacing:1.5px;
    font-weight:800;
}

.hero h1{
    font-family:Georgia,serif;
    font-weight:500;
    font-size:34px;
    margin:7px 0 6px;
}

.hero p{margin:0;color:var(--muted)}

.hero-actions{display:flex;gap:9px}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:9px;
    padding:11px 15px;
    font-weight:650;
    border:1px solid transparent;
}

.button.primary{background:var(--navy);color:white}
.button.secondary{background:white;border-color:var(--line)}

.metric-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:18px;
}

.metric-card{
    background:white;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    border-radius:14px;
    padding:19px;
    display:flex;
    gap:14px;
    align-items:center;
}

.metric-card.accent{
    background:linear-gradient(135deg,#151f30,#253653);
    color:white;
    border-color:transparent;
}

.metric-icon{
    width:40px;height:40px;
    background:var(--gold-soft);
    color:var(--gold);
    border-radius:10px;
    display:grid;
    place-items:center;
    font-weight:800;
}

.accent .metric-icon{background:rgba(255,255,255,.1);color:#e0c68e}

.metric-card span{display:block;color:var(--muted);font-size:12px}
.accent span{color:#bdc6d3}

.metric-card strong{
    display:block;
    font-size:24px;
    margin-top:3px;
}

.dashboard-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
    gap:18px;
    margin-bottom:18px;
}

.panel{
    background:white;
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    padding:22px;
}

.panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:13px;
}

.panel-head h2{
    margin:4px 0 0;
    font-family:Georgia,serif;
    font-size:20px;
    font-weight:500;
}

.panel-head>a{font-size:12px;color:var(--gold);text-decoration:none}

.task-row{
    display:flex;
    align-items:center;
    gap:12px;
    border-top:1px solid #f0f1f3;
    padding:14px 2px;
}

.task-status{
    width:9px;height:9px;
    border-radius:50%;
    background:#d6a84d;
}

.task-row.is-late{
    background:var(--red-soft);
    margin:0 -10px;
    padding-left:12px;
    padding-right:12px;
    border-radius:8px;
}

.task-row.is-late .task-status{background:var(--red)}

.task-main{flex:1}
.task-main strong{display:block;font-size:13px}
.task-main span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.task-date{font-size:11px;color:var(--muted)}

.empty-state{
    padding:34px 15px;
    text-align:center;
    color:var(--muted);
}

.empty-state>div{font-size:25px;color:var(--green);margin-bottom:8px}
.empty-state strong{display:block;color:var(--text)}
.empty-state span{display:block;margin-top:4px;font-size:12px}

.check-row{
    display:grid;
    grid-template-columns:24px 1fr auto;
    align-items:center;
    border-top:1px solid #f0f1f3;
    padding:13px 0;
}

.check-row>span{color:#98a2b3}
.check-row.good>span{color:var(--green)}
.check-row p{margin:0;font-size:12px}
.check-row small{font-size:9px;color:#98a2b3;text-transform:uppercase}

.case-row{
    display:grid;
    grid-template-columns:90px minmax(210px,1fr) 130px 90px 24px;
    gap:14px;
    align-items:center;
    text-decoration:none;
    color:inherit;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
    transition:.15s ease;
}

.case-row:hover{background:#fafbfc}

.case-number{
    font-size:11px;
    font-weight:800;
    color:#667085;
}

.case-info strong{display:block;font-size:13px}
.case-info span{display:block;font-size:11px;color:var(--muted);margin-top:4px}

.area-badge,.status-badge{
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:700;
}

.area-badge{background:#eef2f6;color:#344054}
.area-penale{background:#edf1f7;color:#344968}
.area-civile{background:#f4eff9;color:#72578c}
.area-tributario{background:#fff5e7;color:#9a6619}
.area-amministrativo{background:#edf6f4;color:#32675c}
.area-stragiudiziale{background:#f8f1ec;color:#805f45}

.status-badge{background:var(--green-soft);color:var(--green)}
.arrow{color:#98a2b3}

/* FORM E TABELLE ESISTENTI */

section:not(.hero):not(.panel), .login{
    background:white;
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
    margin-bottom:22px;
}

.login{max-width:430px;margin:90px auto}
.login label{display:block;margin:15px 0}
.login input{width:100%;margin-top:7px}

.head{display:flex;justify-content:space-between;align-items:center}

button{
    background:var(--navy);
    color:white;
    border:0;
    border-radius:8px;
    padding:10px 15px;
    cursor:pointer;
}

input,select,textarea{
    border:1px solid #d0d5dd;
    border-radius:8px;
    padding:10px;
    font:inherit;
    background:white;
}

.search{display:flex;gap:10px;margin:15px 0}
.search input{flex:1}

.grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    background:white;
    padding:20px;
    border-radius:12px;
}

.grid label{display:flex;flex-direction:column;gap:7px}
.wide{grid-column:1/-1}

table{
    width:100%;
    border-collapse:collapse;
    background:white;
}

th,td{
    padding:13px;
    border-bottom:1px solid #eee;
    text-align:left;
}

dl{display:grid;grid-template-columns:130px 1fr;gap:10px}
dd{margin:0}

.alert{
    background:#fee2e2;
    padding:10px;
    border-radius:8px;
    color:#8a1c1c;
}

.auto-number{
    background:#eef4ff;
    border:1px solid #cddcff;
    padding:14px;
    border-radius:10px;
    margin-bottom:18px;
}

.rowline{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    border-bottom:1px solid #eee;
}

.inline-form{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:15px;
}

.inline-form select,.inline-form input{flex:1;min-width:180px}

.act-card{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:18px;
    padding:16px 0;
    border-bottom:1px solid #eee;
}

.act-card small{display:block;color:#667085;margin-top:5px}

.deadline{display:block;font-weight:700;margin-bottom:8px}
.deadline.provisional{color:#8a5a00}
.deadline.confirmed{color:#1d6b3d}

.confirm-form{display:flex;gap:8px;flex-wrap:wrap}

.warning-note{
    background:#fff8dd;
    border:1px solid #eadb9c;
    padding:12px;
    border-radius:8px;
}

.backup-banner{
    background:#eef8f0;
    border:1px solid #b8d9bf;
    padding:12px 14px;
    border-radius:9px;
    margin:12px 0 18px;
}

@media(max-width:1000px){
    .metric-grid{grid-template-columns:repeat(2,1fr)}
    .dashboard-layout{grid-template-columns:1fr}
    .global-search{width:250px}
}

@media(max-width:760px){
    .sidebar{width:72px;padding:20px 10px}
    .brand-copy,.side-nav a span:not(.nav-icon),.side-nav small,.user-card>div:not(.avatar),.logout-button{display:none}
    .brand{justify-content:center;padding-left:0;padding-right:0}
    .brand-mark{width:38px;height:38px}
    .side-nav a{justify-content:center}
    .workspace{margin-left:72px;width:calc(100% - 72px)}
    .topbar{padding:0 15px}
    .global-search{display:none}
    .main-content{padding:25px 16px 50px}
    .hero{display:block}
    .hero-actions{margin-top:18px}
    .metric-grid{grid-template-columns:1fr}
    .case-row{grid-template-columns:70px 1fr 24px}
    .case-row .area-badge,.case-row .status-badge{display:none}
    .grid{grid-template-columns:1fr}
    .wide{grid-column:auto}
    .act-card{grid-template-columns:1fr}
}


/* ==================================================
   SPRINT 2.2
   BRAND STUDIO LEGALE LA RANA & ASSOCIATI
   ================================================== */

.brand-real{
    display:block;
    text-align:center;
    padding:4px 4px 22px;
}

.studio-logo{
    display:block;
    width:88px;
    height:88px;
    object-fit:contain;
    margin:0 auto 8px;
}

.brand-real .brand-copy strong{
    font-family:Georgia,serif;
    font-size:14px;
    line-height:1.25;
    font-weight:500;
    color:#fff;
}

.environment{
    display:flex;
    align-items:center;
    gap:12px;
}

.environment b{
    font-size:10px;
    letter-spacing:1.35px;
    color:#344054;
}

.environment i{
    width:1px;
    height:16px;
    background:#d0d5dd;
}

.today-grid{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);
    gap:18px;
}

.today-task{
    display:grid;
    grid-template-columns:65px minmax(0,1fr) auto;
    gap:16px;
    align-items:start;
    padding:18px 2px;
    border-top:1px solid #f0f1f3;
}

.today-time{
    font-family:Georgia,serif;
    color:var(--gold);
    font-weight:700;
}

.today-task-body strong{
    display:block;
    margin-bottom:4px;
}

.today-task-body span{
    display:block;
    font-size:11px;
    color:var(--muted);
}

.today-task-body p{
    color:#475467;
    font-size:12px;
    margin:8px 0 0;
}

.priority{
    font-size:9px;
    font-weight:800;
    padding:5px 8px;
    border-radius:999px;
    background:#f2f4f7;
    color:#475467;
    text-transform:uppercase;
}

.priority-alta,
.priority-urgente{
    background:#fff0ee;
    color:#b42318;
}

.summary-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 0;
    border-top:1px solid #f0f1f3;
}

.summary-item span{
    font-size:12px;
}

.summary-item strong{
    font-size:20px;
}

.summary-item small{
    color:#98a2b3;
    font-size:9px;
    text-transform:uppercase;
}

.muted-future{
    opacity:.65;
}

@media(max-width:1000px){
    .today-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .studio-logo{
        width:46px;
        height:46px;
    }

    .brand-real .brand-copy{
        display:none;
    }

    .environment b,
    .environment i{
        display:none;
    }
}



/* ==========================================================
   SPRINT 2.3 — PRATICHE
   ========================================================== */

.practice-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:22px;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
}

.practice-heading h1{
    font-family:Georgia,serif;
    font-size:34px;
    font-weight:500;
    margin:6px 0;
}

.practice-heading p{
    color:var(--muted);
    margin:0;
}

.practice-number{
    text-align:right;
    background:white;
    border:1px solid var(--line);
    padding:12px 16px;
    border-radius:12px;
}

.practice-number span{
    display:block;
    color:var(--muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.practice-number strong{
    display:block;
    margin-top:4px;
    font-size:18px;
}

.practice-form{
    max-width:1150px;
}

.form-panel{
    background:white;
    border:1px solid var(--line);
    border-radius:15px;
    padding:24px;
    margin-bottom:18px;
    box-shadow:var(--shadow);
}

.form-panel-head{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:20px;
}

.form-panel-head h2{
    font-family:Georgia,serif;
    font-weight:500;
    margin:0 0 3px;
}

.form-panel-head p{
    margin:0;
    color:var(--muted);
    font-size:12px;
}

.step-number{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    background:var(--gold-soft);
    color:var(--gold);
    border-radius:8px;
    font-weight:800;
}

.area-selector{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}

.area-option{
    position:relative;
    border:1px solid #e4e7ec;
    border-radius:12px;
    padding:17px 14px;
    cursor:pointer;
    transition:.18s ease;
    min-height:140px;
}

.area-option:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(16,24,40,.07);
}

.area-option.selected{
    border-color:var(--gold);
    box-shadow:0 0 0 2px rgba(168,134,70,.13);
}

.area-option input{
    position:absolute;
    opacity:0;
}

.area-option-icon{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:9px;
    background:#f5f6f8;
    margin-bottom:14px;
    font-size:17px;
}

.area-option strong{
    display:block;
    margin-bottom:7px;
}

.area-option small{
    color:var(--muted);
    line-height:1.4;
}

.modern-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.modern-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.modern-grid label>span{
    color:#344054;
    font-size:12px;
    font-weight:650;
}

.modern-grid input,
.modern-grid select,
.modern-grid textarea{
    width:100%;
    min-height:43px;
}

.client-help{
    display:flex;
    flex-direction:column;
    justify-content:center;
    font-size:11px;
    color:var(--muted);
}

.client-help a{
    color:var(--gold);
    margin-top:5px;
    text-decoration:none;
    font-weight:700;
}

.form-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    padding:6px 0 35px;
}

.button.large{
    min-width:180px;
}

.practice-search{
    margin-bottom:17px;
}

.search-box{
    background:white;
    border:1px solid var(--line);
    border-radius:11px;
    height:48px;
    display:flex;
    align-items:center;
    padding-left:14px;
}

.search-box input{
    flex:1;
    border:0;
    outline:0;
}

.search-box button{
    height:100%;
    border-radius:0 10px 10px 0;
}

.record-count{
    color:var(--muted);
    font-size:11px;
}

.practice-table-head,
.practice-table-row{
    display:grid;
    grid-template-columns:110px minmax(190px,1fr) 130px minmax(180px,1.5fr) 100px 25px;
    gap:15px;
    align-items:center;
}

.practice-table-head{
    color:#98a2b3;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.8px;
    padding:11px 4px;
    border-bottom:1px solid var(--line);
}

.practice-table-row{
    padding:15px 4px;
    border-bottom:1px solid #f0f1f3;
    text-decoration:none;
    color:inherit;
    transition:.15s ease;
}

.practice-table-row:hover{
    background:#fafbfc;
}

.practice-table-row strong{
    display:block;
    font-size:12px;
}

.practice-table-row small{
    display:block;
    color:var(--muted);
    margin-top:4px;
    font-size:10px;
}

.practice-object{
    font-size:11px;
    color:#475467;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.practice-arrow{
    color:#98a2b3;
}

.hero.compact h1{
    margin-bottom:4px;
}

@media(max-width:1100px){
    .area-selector{
        grid-template-columns:repeat(2,1fr);
    }

    .practice-table-head{
        display:none;
    }

    .practice-table-row{
        grid-template-columns:100px 1fr 100px 24px;
    }

    .practice-table-row>div:nth-child(4),
    .practice-table-row>div:nth-child(5){
        display:none;
    }
}

@media(max-width:760px){

    .practice-heading{
        display:block;
    }

    .practice-number{
        text-align:left;
        margin-top:15px;
    }

    .area-selector{
        grid-template-columns:1fr;
    }

    .modern-grid{
        grid-template-columns:1fr;
    }

    .practice-table-row{
        grid-template-columns:85px 1fr 24px;
    }

    .practice-table-row>div:nth-child(3){
        display:none;
    }
}



/* ==========================================================
   SPRINT 2.4 — CLIENTI / CONVALIDA
   ========================================================== */

.client-type-selector{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    max-width:650px;
}

.client-type-card{
    position:relative;
    padding:17px;
    border:1px solid var(--line);
    border-radius:12px;
    cursor:pointer;
}

.client-type-card input{
    position:absolute;
    opacity:0;
}

.client-type-card strong{
    display:block;
}

.client-type-card small{
    display:block;
    color:var(--muted);
    margin-top:5px;
}

.client-type-card.selected{
    border-color:var(--gold);
    background:var(--gold-soft);
}

.client-row{
    display:grid;
    grid-template-columns:44px minmax(180px,1.2fr) minmax(180px,1fr) 150px 25px;
    gap:14px;
    align-items:center;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
    color:inherit;
    text-decoration:none;
}

.client-row:hover{
    background:#fafbfc;
}

.client-avatar,
.client-big-avatar{
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eef2f7;
    color:#344054;
    font-weight:800;
}

.client-avatar{
    width:38px;
    height:38px;
}

.client-big-avatar{
    width:64px;
    height:64px;
    font-size:23px;
    background:var(--navy);
    color:#e4c77f;
}

.client-main strong,
.client-contact strong{
    display:block;
    font-size:12px;
}

.client-main span,
.client-contact span{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
}

.validation-badge{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
}

.validation-da-verificare{
    background:#fff5e7;
    color:#9a6619;
}

.validation-richiesta-inviata{
    background:#eef4ff;
    color:#315ca8;
}

.validation-convalidata{
    background:#edf8f1;
    color:#26734d;
}

.client-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.client-identity{
    display:flex;
    gap:17px;
    align-items:center;
}

.client-identity h1{
    margin:4px 0 7px;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:500;
}

.client-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.client-meta span{
    padding:4px 7px;
    border-radius:6px;
    background:white;
    border:1px solid var(--line);
    color:var(--muted);
    font-size:9px;
}

.client-header-actions{
    display:flex;
    gap:9px;
    align-items:center;
}

.client-header-actions form{
    margin:0;
}

.client-workspace-grid{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(290px,.65fr);
    gap:24px;
}

.detail-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.detail-grid>div{
    padding:11px 0;
    border-bottom:1px solid #f0f1f3;
}

.detail-grid span{
    display:block;
    color:var(--muted);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.detail-grid strong{
    display:block;
    font-size:12px;
    margin-top:5px;
}

.workspace-case{
    display:grid;
    grid-template-columns:125px 120px minmax(160px,1fr) 85px 20px;
    gap:12px;
    align-items:center;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
    color:inherit;
    text-decoration:none;
}

.workspace-case strong{
    display:block;
    font-size:11px;
}

.workspace-case>div:first-child span{
    color:var(--muted);
    display:block;
    margin-top:4px;
    font-size:9px;
}

.workspace-object{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#475467;
    font-size:11px;
}

.validation-state{
    padding:14px;
    border-radius:10px;
    margin-bottom:15px;
}

.validation-state p{
    font-size:11px;
    line-height:1.5;
    margin:7px 0 0;
}

.validation-state-da-verificare{
    background:#fff8eb;
    color:#805b1d;
}

.validation-state-richiesta-inviata{
    background:#eef4ff;
    color:#315ca8;
}

.validation-state-convalidata{
    background:#edf8f1;
    color:#26734d;
}

.validation-actions{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.validation-channel,
.quick-contact{
    display:block;
    text-decoration:none;
    border:1px solid var(--line);
    background:white;
    padding:11px;
    border-radius:8px;
    color:#344054;
    font-size:11px;
    font-weight:700;
}

.validation-channel:hover,
.quick-contact:hover{
    border-color:#b8c0cc;
}

.validation-channel.whatsapp{
    color:#16784a;
}

.validation-link{
    margin-top:5px;
}

.validation-link span{
    display:block;
    color:var(--muted);
    font-size:9px;
    margin-bottom:5px;
    text-transform:uppercase;
}

.validation-link input{
    width:100%;
    font-size:9px;
}

.quick-contact{
    margin-top:8px;
}

.validation-public-body{
    min-height:100vh;
    margin:0;
    background:#0B1F33;
    color:#263238;
    font-family:Arial,Helvetica,sans-serif;
    position:relative;
}

.validation-public{
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:55px 22px 0;
    box-sizing:border-box;
}

.validation-brand{
    text-align:center;
    margin-bottom:34px;
    color:#ffffff;
}

.validation-logo{
    width:96px;
    height:96px;
    object-fit:contain;
    display:block;
    margin:0 auto 16px;
}

.validation-brand h1{
    margin:0;
    color:#ffffff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    line-height:1.35;
    font-weight:500;
    letter-spacing:.2px;
}

.validation-brand::after{
    content:"";
    display:block;
    width:310px;
    max-width:75%;
    height:1px;
    margin:22px auto 0;
    background:#A67C2E;
}

.validation-public-card,
.validation-completed{
    position:relative;
    background:#ffffff;
    border:1px solid rgba(255,255,255,.15);
    border-radius:14px;
    padding:46px 48px;
    box-shadow:0 20px 55px rgba(0,0,0,.24);
    overflow:hidden;
}

.validation-public-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:6px;
    background:#A67C2E;
}

.validation-public-card .eyebrow{
    display:block;
    margin-bottom:11px;
    color:#A67C2E;
    font-size:11px;
    font-weight:700;
    letter-spacing:2.2px;
}

.validation-public-card h2,
.validation-completed h2{
    margin:0;
    color:#0B1F33;
    font-family:Georgia,"Times New Roman",serif;
    font-size:32px;
    line-height:1.25;
    font-weight:500;
}

.validation-public-card>p{
    margin:15px 0 32px;
    color:#65727d;
    font-size:15px;
    line-height:1.7;
}

.validation-public-card form{
    margin-top:5px;
}

.validation-public-card label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.validation-public-card label>span{
    color:#526276;
    font-size:12px;
    font-weight:700;
    letter-spacing:.35px;
    text-transform:uppercase;
}

.validation-public-card input,
.validation-public-card select{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:11px 14px;
    border:1px solid #d3dae1;
    border-radius:7px;
    background:#ffffff;
    color:#263238;
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px;
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.validation-public-card input:focus,
.validation-public-card select:focus{
    border-color:#A67C2E;
    box-shadow:0 0 0 3px rgba(166,124,46,.12);
}

.validation-public-card input::placeholder{
    color:#9aa4ac;
}

.validation-public-card .modern-grid{
    gap:21px;
}

.validation-public-card .privacy-confirm{
    margin:29px 0 22px;
    padding:16px 18px;
    background:#f6f7f8;
    border:1px solid #e0e5e9;
    border-left:4px solid #A67C2E;
    border-radius:7px;
    color:#66727c;
    font-size:12px;
    line-height:1.6;
}

.validation-submit{
    width:100%;
    min-height:52px;
    border:0;
    border-radius:7px;
    background:#0B1F33;
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    letter-spacing:.4px;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(11,31,51,.22);
    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}

.validation-submit:hover{
    background:#142d47;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(11,31,51,.28);
}

.validation-completed{
    text-align:center;
    padding:52px 48px;
}

.validation-completed>div{
    margin:0 auto 22px;
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    background:#0B1F33;
    color:#ffffff;
    border:3px solid #A67C2E;
    border-radius:50%;
    font-size:27px;
}

.validation-completed h2{
    margin-bottom:12px;
}

.validation-completed p{
    margin:0;
    color:#66727c;
    font-size:15px;
    line-height:1.7;
}

.validation-public::after{
    content:
        "Studio Legale La Rana & Associati"
        "\A"
        "MILANO  •  ROMA  •  PESCARA  •  VASTO  •  BRUXELLES"
        "\A\A"
        "La presente pagina è riservata alla verifica dei dati anagrafici del destinatario."
        "\A"
        "I dati sono trattati in sicurezza e nel rispetto della normativa vigente in materia di protezione dei dati personali (GDPR).";
    white-space:pre-wrap;
    display:block;
    margin:42px -22px 0;
    padding:30px 22px 38px;
    border-top:1px solid #A67C2E;
    text-align:center;
    color:#d8dee5;
    font-family:Arial,Helvetica,sans-serif;
    font-size:11px;
    line-height:1.7;
}

@media(max-width:650px){

    .validation-public{
        padding:32px 15px 0;
    }

    .validation-logo{
        width:78px;
        height:78px;
        margin-bottom:13px;
    }

    .validation-brand h1{
        font-size:20px;
    }

    .validation-brand::after{
        width:220px;
        margin-top:17px;
    }

    .validation-public-card,
    .validation-completed{
        padding:34px 22px;
        border-radius:11px;
    }

    .validation-public-card h2,
    .validation-completed h2{
        font-size:26px;
    }

    .validation-public-card>p{
        font-size:14px;
    }

    .validation-public::after{
        margin-top:30px;
        padding:25px 15px 32px;
        font-size:10px;
    }
}

@media(max-width:900px){

    .client-workspace-grid{
        grid-template-columns:1fr;
    }

    .client-row{
        grid-template-columns:40px 1fr 120px 20px;
    }

    .client-contact{
        display:none;
    }

    .workspace-case{
        grid-template-columns:100px 100px 1fr 20px;
    }

    .workspace-case .status-badge{
        display:none;
    }
}

@media(max-width:650px){

    .client-type-selector{
        grid-template-columns:1fr;
    }

    .client-header{
        display:block;
    }

    .client-header-actions{
        margin-top:18px;
    }

    .detail-grid{
        grid-template-columns:1fr;
    }

    .client-row{
        grid-template-columns:38px 1fr 20px;
    }

    .client-row>div:nth-child(4){
        display:none;
    }
}



/* ==========================================================
   SPRINT 2.5 — WORKSPACE CLIENTE
   ========================================================== */

.workspace-tabs{
    display:flex;
    align-items:center;
    gap:5px;
    padding:5px;
    background:white;
    border:1px solid var(--line);
    border-radius:11px;
    margin-bottom:18px;
    overflow-x:auto;
}

.workspace-tabs a{
    text-decoration:none;
    color:#667085;
    padding:8px 11px;
    border-radius:7px;
    font-size:11px;
    white-space:nowrap;
}

.workspace-tabs a:hover,
.workspace-tabs a.active{
    background:#f4f6f8;
    color:#101928;
}

.workspace-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}

.workspace-summary-card{
    background:white;
    border:1px solid var(--line);
    border-radius:12px;
    padding:17px;
    box-shadow:var(--shadow);
}

.workspace-summary-card span{
    display:block;
    color:var(--muted);
    font-size:10px;
    margin-bottom:7px;
}

.workspace-summary-card strong{
    display:block;
    font-size:15px;
    overflow:hidden;
    text-overflow:ellipsis;
}

.client-task-row{
    margin-bottom:12px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:13px 2px;
    border-top:1px solid #f0f1f3;
}

.client-task-row strong{
    display:block;
    font-size:12px;
}

.client-task-row span{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:9px;
}

.client-task-row>div:last-child{
    color:#667085;
    font-size:10px;
}

.future-module{
    display:flex;
    align-items:center;
    gap:15px;
    padding:22px;
    border:1px dashed #d0d5dd;
    background:#fafbfc;
    border-radius:11px;
}

.future-module.compact{
    padding:16px;
}

.future-module-icon{
    width:39px;
    height:39px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    background:white;
    border:1px solid var(--line);
    border-radius:9px;
    color:var(--gold);
    font-weight:800;
}

.future-module strong{
    display:block;
    font-size:11px;
}

.future-module p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:10px;
    line-height:1.5;
}

.validation-full{
    width:100%;
}

@media(max-width:1000px){
    .workspace-overview-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:650px){
    .workspace-overview-grid{
        grid-template-columns:1fr;
    }

    .client-header-actions{
        flex-wrap:wrap;
    }
}



/* ==========================================================
   SPRINT 3.1 — COCKPIT PRATICA + TIMELINE
   ========================================================== */

.matter-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:18px;
}

.matter-heading-line{
    display:flex;
    align-items:center;
    gap:8px;
}

.matter-header h1{
    font-family:Georgia,serif;
    font-size:34px;
    font-weight:500;
    margin:8px 0 5px;
}

.matter-subtitle{
    color:#475467;
    margin:0 0 10px;
    max-width:800px;
}

.matter-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.matter-meta span{
    border:1px solid var(--line);
    background:white;
    border-radius:7px;
    padding:5px 8px;
    font-size:9px;
    color:#667085;
}

.matter-header-actions{
    display:flex;
    gap:8px;
}

.matter-tabs{
    display:flex;
    gap:4px;
    padding:5px;
    margin-bottom:15px;
    background:white;
    border:1px solid var(--line);
    border-radius:11px;
    overflow-x:auto;
}

.matter-tabs a{
    text-decoration:none;
    padding:8px 10px;
    color:#667085;
    border-radius:7px;
    font-size:10px;
    white-space:nowrap;
}

.matter-tabs a:hover,
.matter-tabs a.active{
    color:#101928;
    background:#f4f6f8;
}

.matter-kpi-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    margin-bottom:17px;
}

.matter-kpi{
    background:white;
    border:1px solid var(--line);
    border-radius:11px;
    padding:14px;
    box-shadow:var(--shadow);
}

.matter-kpi span{
    display:block;
    color:#667085;
    font-size:9px;
    margin-bottom:5px;
}

.matter-kpi strong{
    font-size:20px;
}

.matter-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(285px,.65fr);
    gap:18px;
}


/* TIMELINE */

.timeline{
    position:relative;
}

.timeline-event{
    display:grid;
    grid-template-columns:22px 92px minmax(0,1fr);
    gap:12px;
    position:relative;
    min-height:88px;
}

.timeline-marker{
    position:relative;
}

.timeline-marker::after{
    content:"";
    position:absolute;
    width:1px;
    top:20px;
    bottom:-4px;
    left:7px;
    background:#e4e7ec;
}

.timeline-event:last-child .timeline-marker::after{
    display:none;
}

.timeline-marker span{
    position:absolute;
    top:7px;
    left:2px;
    width:11px;
    height:11px;
    border-radius:50%;
    border:3px solid white;
    box-shadow:0 0 0 1px #d0d5dd;
    background:#98a2b3;
    z-index:2;
}

.timeline-apertura .timeline-marker span{
    background:var(--gold);
}

.timeline-atto .timeline-marker span{
    background:#556f9e;
}

.timeline-notifica .timeline-marker span{
    background:#805ad5;
}

.timeline-scadenza .timeline-marker span{
    background:#d28b25;
}

.timeline-attivita .timeline-marker span{
    background:#26734d;
}

.timeline-date{
    padding-top:4px;
}

.timeline-date strong{
    display:block;
    font-size:10px;
}

.timeline-date span{
    color:#98a2b3;
    font-size:9px;
}

.timeline-card{
    border:1px solid #edf0f3;
    background:#fbfcfd;
    border-radius:10px;
    padding:12px 14px;
    margin-bottom:13px;
}

.timeline-card-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
}

.timeline-card-head strong{
    font-size:12px;
}

.timeline-type{
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.6px;
    color:#98a2b3;
}

.timeline-card p{
    margin:6px 0 0;
    color:#667085;
    font-size:10px;
    line-height:1.5;
}


/* ATTI */

.matter-act{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px;
    gap:20px;
    padding:15px 2px;
    border-top:1px solid #f0f1f3;
}

.matter-act>div:first-child>strong{
    display:block;
    font-size:12px;
}

.matter-act p{
    color:#667085;
    font-size:10px;
}

.matter-act-meta{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.matter-act-meta span{
    background:#f8f9fb;
    padding:4px 6px;
    border-radius:5px;
    color:#667085;
    font-size:9px;
}

.matter-deadline{
    text-align:right;
}

.matter-deadline strong{
    display:block;
    margin-top:5px;
}

.no-deadline{
    color:#98a2b3;
    font-size:10px;
}


/* TASK */

.matter-task{
    display:grid;
    grid-template-columns:25px 1fr auto;
    gap:11px;
    align-items:start;
    padding:13px 2px;
    border-top:1px solid #f0f1f3;
}

.matter-task-check{
    font-size:17px;
    color:#d28b25;
}

.matter-task.completed{
    opacity:.55;
}

.matter-task.completed .matter-task-check{
    color:#26734d;
}

.matter-task-main strong{
    display:block;
    font-size:12px;
}

.matter-task-main span{
    display:block;
    color:#667085;
    font-size:9px;
    margin-top:4px;
}

.matter-task-main p{
    color:#667085;
    font-size:10px;
    margin:7px 0 0;
}

.small-action{
    background:white;
    border:1px solid var(--line);
    color:#344054;
    padding:6px 8px;
    font-size:9px;
}


/* PERSONE */

.matter-person{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto 20px;
    align-items:center;
    gap:11px;
    padding:12px 2px;
    border-top:1px solid #f0f1f3;
    color:inherit;
    text-decoration:none;
}

.matter-person strong{
    display:block;
    font-size:11px;
}

.matter-person div:nth-child(2) span{
    display:block;
    color:#667085;
    font-size:9px;
    margin-top:3px;
}

.primary-person{
    font-size:8px;
    color:var(--gold);
    text-transform:uppercase;
}


/* LINKS */

.linked-matter{
    display:grid;
    grid-template-columns:100px 1fr 120px 20px;
    gap:11px;
    align-items:center;
    text-decoration:none;
    color:inherit;
    padding:13px 2px;
    border-top:1px solid #f0f1f3;
}

.linked-matter strong{
    font-size:11px;
}

.linked-matter>span:nth-child(2){
    color:#667085;
    font-size:9px;
}


/* AI */

.ai-preview{
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf8f3 100%
        );
}

.ai-practice-preview{
    display:grid;
    grid-template-columns:45px 1fr auto;
    gap:14px;
    align-items:center;
}

.ai-star{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:var(--gold-soft);
    color:var(--gold);
    font-size:19px;
}

.ai-practice-preview strong{
    display:block;
}

.ai-practice-preview p{
    color:#667085;
    font-size:10px;
    margin:5px 0 0;
}

.ai-practice-preview button{
    opacity:.45;
}


/* SIDE */

.matter-side-panel{
    margin-bottom:14px;
}

.side-deadline{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:10px;
    align-items:center;
    padding:11px 0;
    border-top:1px solid #f0f1f3;
}

.side-deadline.overdue{
    background:#fff5f4;
    margin:0 -8px;
    padding-left:8px;
    padding-right:8px;
}

.side-deadline-date{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    align-content:center;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fafbfc;
}

.side-deadline-date strong{
    line-height:1;
}

.side-deadline-date span{
    font-size:7px;
    color:#667085;
    margin-top:3px;
}

.side-deadline>div:nth-child(2)>strong{
    display:block;
    font-size:10px;
}

.side-deadline>div:nth-child(2)>span{
    display:block;
    font-size:8px;
    color:#98a2b3;
    margin-top:3px;
}

.matter-mini-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.matter-mini-form label{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.matter-mini-form label>span{
    font-size:9px;
    color:#667085;
}

.matter-mini-form input,
.matter-mini-form select,
.matter-mini-form textarea{
    width:100%;
    font-size:11px;
}

.matter-mini-form button{
    width:100%;
}

.empty-state.small{
    padding:15px;
}


/* RESPONSIVE */

@media(max-width:1100px){

    .matter-layout{
        grid-template-columns:1fr;
    }

    .matter-kpi-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:760px){

    .matter-header{
        display:block;
    }

    .matter-header-actions{
        margin-top:15px;
    }

    .matter-kpi-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .timeline-event{
        grid-template-columns:20px 75px 1fr;
        gap:7px;
    }

    .matter-act{
        grid-template-columns:1fr;
    }

    .matter-deadline{
        text-align:left;
    }

    .matter-person{
        grid-template-columns:38px 1fr 20px;
    }

    .primary-person{
        display:none;
    }
}



/* ==========================================================
   SPRINT 3.2 — AGENDA E MOTORE SCADENZE
   ========================================================== */

.agenda-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}

.agenda-summary-card{
    background:white;
    border:1px solid var(--line);
    border-radius:12px;
    padding:17px;
    box-shadow:var(--shadow);
}

.agenda-summary-card span{
    display:block;
    color:var(--muted);
    font-size:10px;
}

.agenda-summary-card strong{
    display:block;
    font-size:24px;
    margin-top:5px;
}

.agenda-summary-card.danger{
    border-left:4px solid #b42318;
}

.agenda-summary-card.warning{
    border-left:4px solid #d28b25;
}

.agenda-row{
    display:grid;
    grid-template-columns:60px minmax(200px,1fr) 120px 90px;
    gap:14px;
    align-items:center;
    padding:13px 2px;
    border-top:1px solid #f0f1f3;
    text-decoration:none;
    color:inherit;
}

.agenda-row:hover{
    background:#fafbfc;
}

.agenda-row.overdue{
    background:#fff6f5;
}

.agenda-row.today{
    background:#fffaf1;
}

.agenda-date{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    align-content:center;
    background:#f8f9fb;
    border:1px solid var(--line);
    border-radius:9px;
}

.agenda-date strong{
    font-size:16px;
    line-height:1;
}

.agenda-date span{
    font-size:7px;
    color:var(--muted);
    margin-top:4px;
}

.agenda-main strong{
    display:block;
    font-size:12px;
}

.agenda-main span{
    display:block;
    margin-top:4px;
    font-size:9px;
    color:var(--muted);
}

.deadline-state{
    display:inline-flex;
    padding:5px 7px;
    border-radius:999px;
    font-size:8px;
    font-weight:800;
    white-space:nowrap;
}

.deadline-state.confirmed{
    background:#edf8f1;
    color:#26734d;
}

.deadline-state.provisional{
    background:#fff5e7;
    color:#9a6619;
}

.agenda-days{
    text-align:right;
    font-size:10px;
    color:#667085;
}

.engine-warning{
    background:#fff8eb;
    border:1px solid #f2d7a0;
    padding:14px;
    border-radius:10px;
    margin-bottom:16px;
}

.engine-warning strong{
    color:#805b1d;
}

.engine-warning p{
    color:#805b1d;
    font-size:10px;
    line-height:1.5;
    margin:5px 0 0;
}

.preset-row{
    display:grid;
    grid-template-columns:180px 90px 1fr;
    gap:12px;
    align-items:center;
    padding:12px 2px;
    border-top:1px solid #f0f1f3;
}

.preset-row strong{
    font-size:11px;
}

.preset-row span{
    font-size:10px;
    color:var(--gold);
}

.preset-row small{
    color:var(--muted);
    line-height:1.4;
}

@media(max-width:900px){
    .agenda-summary-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .agenda-row{
        grid-template-columns:55px 1fr 90px;
    }

    .agenda-row>div:nth-child(3){
        display:none;
    }
}

@media(max-width:600px){
    .agenda-summary-grid{
        grid-template-columns:1fr;
    }

    .agenda-row{
        grid-template-columns:50px 1fr;
    }

    .agenda-days{
        display:none;
    }

    .preset-row{
        grid-template-columns:1fr;
    }
}



/* ==========================================================
   SPRINT 3.3 — COMUNICAZIONI
   ========================================================== */

.communication-row{
    display:grid;
    grid-template-columns:42px minmax(240px,1fr) 170px 95px 20px;
    gap:13px;
    align-items:center;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
    text-decoration:none;
    color:inherit;
}

.communication-row:hover{
    background:#fafbfc;
}

.communication-icon{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:9px;
    font-size:11px;
    font-weight:800;
    background:#f2f4f7;
    color:#475467;
}

.type-pec{
    background:#eef4ff;
    color:#315ca8;
}

.type-email{
    background:#f2f4f7;
    color:#344054;
}

.type-whatsapp{
    background:#edf8f1;
    color:#26734d;
}

.type-telefonata{
    background:#fff5e7;
    color:#9a6619;
}

.type-incontro{
    background:#f4eff9;
    color:#72578c;
}

.communication-main strong{
    display:block;
    font-size:11px;
}

.communication-main span{
    display:block;
    margin-top:4px;
    color:#667085;
    font-size:9px;
}

.communication-main p{
    margin:6px 0 0;
    font-size:10px;
    line-height:1.4;
    color:#475467;
}

.communication-contact{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#667085;
    font-size:9px;
}

.communication-date{
    text-align:right;
    font-size:9px;
}

.communication-date span{
    display:block;
    margin-top:3px;
    color:#98a2b3;
}


/* comunicazioni dentro pratica */

.matter-communication{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 90px;
    gap:12px;
    align-items:start;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
}

.matter-communication-main strong{
    display:block;
    font-size:11px;
}

.matter-communication-main>span{
    display:block;
    margin-top:4px;
    color:#667085;
    font-size:9px;
}

.matter-communication-main p{
    margin:7px 0 0;
    color:#475467;
    font-size:10px;
    line-height:1.5;
}

.matter-communication-date{
    text-align:right;
    color:#475467;
    font-size:9px;
}

.matter-communication-date span{
    display:block;
    color:#98a2b3;
    margin-top:3px;
}


/* Timeline communication */

.timeline-comunicazione
.timeline-marker span{
    background:#4876b7;
}


@media(max-width:850px){

    .communication-row{
        grid-template-columns:40px 1fr 85px 20px;
    }

    .communication-contact{
        display:none;
    }
}

@media(max-width:600px){

    .communication-row{
        grid-template-columns:38px 1fr 20px;
    }

    .communication-date{
        display:none;
    }

    .matter-communication{
        grid-template-columns:38px 1fr;
    }

    .matter-communication-date{
        grid-column:2;
        text-align:left;
    }
}



/* ==========================================================
   SPRINT 3.4 — DOCUMENTI
   ========================================================== */

.document-filters{
    margin-bottom:17px;
}

.document-filters
.search-box select{
    border:0;
    border-left:1px solid var(--line);
    border-radius:0;
    height:100%;
    max-width:240px;
}

.document-row{
    display:grid;
    grid-template-columns:50px minmax(220px,1.5fr) 180px 100px 120px 35px;
    gap:13px;
    align-items:center;
    padding:14px 2px;
    border-top:1px solid #f0f1f3;
}

.document-file-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:9px;
    border:1px solid var(--line);
    background:#f8f9fb;
    color:#475467;
    font-size:8px;
    font-weight:800;
}

.document-file-icon.small{
    width:36px;
    height:36px;
}

.document-main strong{
    display:block;
    font-size:11px;
}

.document-main>span{
    display:block;
    margin-top:4px;
    font-size:9px;
    color:#667085;
}

.document-main p{
    color:#475467;
    font-size:9px;
    margin:5px 0 0;
}

.document-category{
    display:inline-flex;
    padding:5px 7px;
    border-radius:999px;
    background:#f2f4f7;
    color:#475467;
    font-size:8px;
    font-weight:700;
}

.document-case a{
    display:block;
    color:#344054;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.document-case span{
    display:block;
    color:#98a2b3;
    font-size:8px;
    margin-top:3px;
}

.document-date{
    font-size:9px;
    text-align:right;
}

.document-date span{
    display:block;
    margin-top:3px;
    color:#98a2b3;
}

.document-download{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:8px;
    text-decoration:none;
    color:#344054;
}

.document-download:hover{
    background:#f5f6f8;
}


/* DOCUMENTI PRATICA */

.matter-document{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 105px;
    gap:11px;
    align-items:start;
    padding:13px 2px;
    border-top:1px solid #f0f1f3;
}

.matter-document-main strong{
    display:block;
    font-size:11px;
}

.matter-document-main span{
    display:block;
    color:#667085;
    margin-top:4px;
    font-size:9px;
}

.matter-document-main p{
    margin:6px 0 0;
    color:#475467;
    font-size:9px;
}

.matter-document-meta{
    text-align:right;
}

.matter-document-meta span{
    display:block;
    color:#98a2b3;
    font-size:8px;
}

.matter-document-meta a{
    display:inline-block;
    margin-top:6px;
    font-size:9px;
    color:var(--gold);
    text-decoration:none;
}


/* DROPZONE */

.drop-zone{
    min-height:145px;
    border:1px dashed #b8c0cc!important;
    border-radius:11px!important;
    background:#fafbfc;
    padding:18px!important;
    text-align:center;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.2s ease;
}

.drop-zone input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.drop-zone-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    background:white;
    border:1px solid var(--line);
    border-radius:9px;
    color:var(--gold);
    font-size:18px;
}

.drop-zone strong{
    font-size:10px;
}

.drop-zone>span{
    color:#667085!important;
    font-weight:400!important;
    font-size:9px!important;
}

.drop-zone small{
    color:#98a2b3;
    font-size:8px;
}

.drop-zone.dragging{
    border-color:var(--gold)!important;
    background:var(--gold-soft);
}

.drop-zone.has-file{
    border-color:#26734d!important;
    background:#f1f9f4;
}

.timeline-documento
.timeline-marker span{
    background:#344968;
}


@media(max-width:1000px){

    .document-row{
        grid-template-columns:
            45px
            1fr
            150px
            35px;
    }

    .document-case,
    .document-date{
        display:none;
    }
}

@media(max-width:650px){

    .document-row{
        grid-template-columns:
            42px
            1fr
            32px;
    }

    .document-row>div:nth-child(3){
        display:none;
    }

    .matter-document{
        grid-template-columns:
            40px
            1fr;
    }

    .matter-document-meta{
        grid-column:2;
        text-align:left;
    }

    .document-filters
    .search-box select{
        display:none;
    }
}


/* ==========================================================
   UPLOAD FEEDBACK
   ========================================================== */

.upload-success{
    display:none;
    width:100%;
    margin-top:14px;
    padding:16px 12px;
    border-radius:10px;
    background:#edf8f1;
    border:1px solid #b7dec5;
    color:#26734d;
    text-align:center;
}

.upload-success.visible{
    display:block;
    animation:uploadPop .22s ease-out;
}

.upload-success-icon{
    width:42px;
    height:42px;
    margin:0 auto 8px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#26734d;
    color:white;
    font-size:22px;
    font-weight:800;
}

.upload-success strong{
    display:block;
    font-size:15px;
    letter-spacing:.4px;
}

.upload-success span{
    display:block;
    margin-top:4px;
    font-size:10px;
    color:#4f7d63!important;
}

.drop-zone.dragging{
    transform:scale(1.01);
    border:2px solid var(--gold)!important;
    background:#fbf6eb!important;
}

.drop-zone.dragging::before{
    content:"RILASCIA IL DOCUMENTO";
    display:block;
    font-size:14px;
    font-weight:800;
    letter-spacing:.6px;
    color:var(--gold);
    margin-bottom:8px;
}

.drop-zone.has-file{
    border:2px solid #7fc39a!important;
    background:#f4fbf6!important;
}

@keyframes uploadPop{
    from{
        opacity:0;
        transform:translateY(5px) scale(.98);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}


/* SPRINT 3.5 — GENERATORE DOCUMENTI */
.generator-main-button{background:var(--gold-soft);color:#805f23;border:1px solid #d8c18f}
.generator-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.generator-catalog{position:sticky;top:86px}
.generator-template{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 10px;border-top:1px solid #f0f1f3;color:inherit;text-decoration:none;border-radius:8px}
.generator-template:hover,.generator-template.active{background:var(--gold-soft)}
.generator-template strong{display:block;font-size:11px}
.generator-template div span{display:block;margin-top:4px;color:#98a2b3;font-size:8px}
.generator-title-field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}
.generator-title-field input{width:100%;font-weight:700}
.generator-info{padding:12px 14px;background:#f8f6f0;border:1px solid #ebe0c6;border-radius:9px;margin-bottom:13px}
.generator-info strong{display:block;font-size:10px;color:#72551e}
.generator-info span{display:block;font-size:9px;color:#8a7958;margin-top:4px}
.document-editor{width:100%;min-height:620px;resize:vertical;border:1px solid #d0d5dd;border-radius:10px;padding:28px 32px;background:#fff;font-family:Georgia,"Times New Roman",serif;line-height:1.65;font-size:13px;color:#1c2430}
.document-editor:focus{outline:none;border-color:#bca36f;box-shadow:0 0 0 3px rgba(168,134,70,.10)}
.generator-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}
.generator-empty{min-height:520px;display:grid;place-items:center;align-content:center;text-align:center;color:#667085}
.generator-empty>div{width:55px;height:55px;display:grid;place-items:center;background:var(--gold-soft);border-radius:14px;color:var(--gold);font-size:24px}
@media(max-width:900px){.generator-layout{grid-template-columns:1fr}.generator-catalog{position:static}}

.generator-section-title{
    margin:18px 8px 7px;
    padding-top:12px;
    border-top:1px solid #eceef1;
    color:#98a2b3;
    font-size:8px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.generator-area-empty{
    padding:14px 10px;
    margin:6px 0;
    background:#fafbfc;
    border:1px dashed #d0d5dd;
    border-radius:9px;
}
.generator-area-empty strong{
    display:block;
    font-size:10px;
}
.generator-area-empty span{
    display:block;
    margin-top:5px;
    color:#667085;
    font-size:9px;
    line-height:1.4;
}

/* MULTI-ASSISTITO 3.6A */
.multi-assisted-info{
    grid-column:1/-1;
    display:flex;
    gap:13px;
    align-items:flex-start;
    background:#faf8f2;
    border:1px solid #eadfc5;
    border-radius:11px;
    padding:14px 16px;
    margin-top:3px;
}
.multi-assisted-icon{
    width:36px;
    height:36px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:var(--gold-soft);
    color:var(--gold);
    font-size:18px;
    font-weight:800;
}
.multi-assisted-info strong{
    display:block;
    color:#72551e;
    font-size:11px;
}
.multi-assisted-info p{
    margin:5px 0 0;
    color:#786a4e;
    line-height:1.5;
    font-size:10px;
}

/* SPRINT 4.0 WORKSPACE FASCICOLO */
.workspace-tabs-v2{position:sticky;top:62px;z-index:25;padding:6px;gap:4px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 8px 18px rgba(16,24,40,.04)}
.workspace-tab{appearance:none;border:0;background:transparent;color:#667085;border-radius:7px;padding:9px 11px;font-size:10px;cursor:pointer;white-space:nowrap}
.workspace-tab:hover{background:#f4f6f8;color:#1c2430}
.workspace-tab.active{background:var(--navy);color:#fff}
.workspace-tab-section{display:none}
.workspace-tab-section.workspace-visible{display:block}
section[data-workspace-section]{display:none}
section[data-workspace-section].workspace-visible{display:block;animation:workspaceFade .18s ease-out}
.case-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.case-info-grid>div{min-height:78px;padding:14px;border:1px solid #edf0f3;background:#fbfcfd;border-radius:10px}
.case-info-grid .wide{grid-column:span 2}
.case-info-grid span{display:block;color:#98a2b3;font-size:8px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:7px}
.case-info-grid strong{display:block;color:#1c2430;font-size:11px;line-height:1.45}
.settings-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.settings-action{border:1px solid #e4e7ec;border-radius:10px;padding:15px;background:#fafbfc}
.settings-action strong{display:block;font-size:11px}
.settings-action span{display:block;margin-top:5px;color:#98a2b3;font-size:9px}
.settings-action.disabled{opacity:.65}
@keyframes workspaceFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.case-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.case-info-grid{grid-template-columns:1fr}.case-info-grid .wide{grid-column:span 1}.settings-actions-grid{grid-template-columns:1fr}.workspace-tabs-v2{top:0}}

/* SPRINT 4.2A PROCEDIMENTI */
.proceeding-card{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;padding:17px 2px;border-top:1px solid #edf0f3}
.proceeding-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.proceeding-card-head strong{display:block;font-size:13px}
.proceeding-card-head>div>span{display:block;margin-top:4px;color:#667085;font-size:9px}
.proceeding-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}
.proceeding-status-attivo{background:#edf8f1;color:#26734d}
.proceeding-status-sospeso{background:#fff5e7;color:#9a6619}
.proceeding-status-chiuso{background:#f2f4f7;color:#667085}
.proceeding-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.proceeding-meta-grid>div{padding:10px;border:1px solid #edf0f3;border-radius:8px;background:#fbfcfd}
.proceeding-meta-grid span{display:block;color:#98a2b3;font-size:7px;text-transform:uppercase;letter-spacing:.5px}
.proceeding-meta-grid strong{display:block;margin-top:4px;font-size:9px;color:#344054}
.proceeding-notes{margin:12px 0 0;color:#667085;font-size:10px;line-height:1.5}
.proceeding-actions{border-left:1px solid #edf0f3;padding-left:16px}
.proceeding-inline-form,.proceeding-status-form{display:flex;flex-direction:column;gap:8px}
.proceeding-inline-form label{display:flex;flex-direction:column;gap:4px}
.proceeding-inline-form label span{font-size:8px;color:#667085}
.proceeding-status-form{margin-top:12px;padding-top:12px;border-top:1px solid #edf0f3}
.timeline-procedimento .timeline-marker span{background:#344968}
.timeline-fase .timeline-marker span{background:#b59452}
@media(max-width:900px){.proceeding-card{grid-template-columns:1fr}.proceeding-actions{border-left:0;border-top:1px solid #edf0f3;padding-left:0;padding-top:14px}.proceeding-meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.proceeding-meta-grid{grid-template-columns:1fr}}

/* SPRINT 5.1A — MANDATI & COMPENSI */

.economic-summary{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    margin-bottom:18px;
}

.economic-kpi{
    background:#fff;
    border:1px solid #e7eaf0;
    border-radius:12px;
    padding:16px;
    box-shadow:0 6px 16px rgba(16,24,40,.035);
}

.economic-kpi span{
    display:block;
    color:#98a2b3;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.economic-kpi strong{
    display:block;
    margin-top:8px;
    color:#1c2430;
    font-size:18px;
}

.economic-kpi.positive strong{color:#26734d}
.economic-kpi.residual strong{color:#8a671f}
.economic-kpi.warning{border-color:#e7c37b;background:#fffaf0}
.economic-kpi.warning strong{color:#a55c18}

.economic-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:18px;
    align-items:start;
}

.mandate-card{
    border-top:1px solid #edf0f3;
    padding:18px 2px;
}

.mandate-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
}

.mandate-status{
    display:inline-flex;
    padding:4px 7px;
    background:var(--gold-soft);
    color:#7c5b20;
    border-radius:999px;
    font-size:8px;
    font-weight:800;
}

.mandate-head h3{
    margin:7px 0 0;
    font-size:14px;
}

.mandate-head p{
    margin:5px 0 0;
    color:#667085;
    font-size:9px;
}

.mandate-balance{
    text-align:right;
}

.mandate-balance span{
    display:block;
    color:#98a2b3;
    font-size:8px;
    text-transform:uppercase;
}

.mandate-balance strong{
    display:block;
    margin-top:5px;
    font-size:17px;
    color:#805f23;
}

.mandate-numbers{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:14px;
}

.mandate-numbers>div{
    background:#fafbfc;
    border:1px solid #edf0f3;
    border-radius:8px;
    padding:10px;
}

.mandate-numbers span{
    display:block;
    color:#98a2b3;
    font-size:7px;
    text-transform:uppercase;
}

.mandate-numbers strong{
    display:block;
    margin-top:4px;
    color:#344054;
    font-size:9px;
}

.mandate-notes{
    color:#667085;
    font-size:10px;
    line-height:1.5;
}

.payments-list{
    margin-top:15px;
}

.payments-list h4{
    margin:0 0 5px;
    font-size:10px;
    text-transform:uppercase;
    color:#667085;
}

.payment-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:10px 0;
    border-top:1px solid #f0f1f3;
}

.payment-row>div strong{
    display:block;
    font-size:10px;
}

.payment-row span{
    display:block;
    margin-top:3px;
    color:#98a2b3;
    font-size:8px;
}

.empty-mini{
    color:#98a2b3;
    font-size:9px;
    padding:8px 0;
}

.payment-details{
    margin-top:12px;
    border:1px solid #e4e7ec;
    border-radius:9px;
    padding:10px 12px;
    background:#fbfcfd;
}

.payment-details summary{
    cursor:pointer;
    font-size:10px;
    font-weight:800;
    color:#805f23;
}

.payment-form{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
    margin-top:12px;
}

.payment-form label{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.payment-form label span{
    font-size:8px;
    color:#667085;
}

.payment-form .wide{
    grid-column:1/-1;
}

.checkbox-line{
    display:flex!important;
    flex-direction:row!important;
    align-items:center;
    gap:8px!important;
}

@media(max-width:1100px){
    .economic-summary{grid-template-columns:repeat(3,1fr)}
    .economic-layout{grid-template-columns:1fr}
}

@media(max-width:760px){
    .economic-summary{grid-template-columns:repeat(2,1fr)}
    .mandate-numbers{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:520px){
    .economic-summary{grid-template-columns:1fr}
    .mandate-numbers{grid-template-columns:1fr}
    .payment-form{grid-template-columns:1fr}
    .payment-form .wide{grid-column:auto}
}

/* SPRINT 5.1B — RATE E SITUAZIONE PAGAMENTI */
.payment-statement-panel{margin-bottom:18px}
.statement-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.statement-form label{display:flex;flex-direction:column;gap:5px}
.statement-form label span{font-size:8px;color:#667085;text-transform:uppercase;letter-spacing:.5px}
.statement-send-actions{display:flex;gap:8px;margin-top:10px}
.statement-help{margin:9px 0 0;color:#98a2b3;font-size:8.5px;line-height:1.5}
.installments-section{margin-top:16px;padding-top:14px;border-top:1px solid #edf0f3}
.subsection-head h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;color:#667085}
.installment-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #f0f1f3}
.installment-row>div:first-child strong{display:block;font-size:10px}
.installment-row>div:first-child span{display:block;margin-top:3px;color:#98a2b3;font-size:8px}
.installment-amount{text-align:right;font-weight:800;font-size:10px}
.installment-status-form select{width:100%}
@media(max-width:760px){.statement-form{grid-template-columns:1fr}.installment-row{grid-template-columns:1fr}.installment-amount{text-align:left}}

/* SPRINT 5.1C.1 — MOTORE TARIFFARIO */
.tariff-box{margin:4px 0 8px;padding:14px;border:1px solid #e6dcc4;border-radius:12px;background:#fffdf8}.tariff-title{margin-bottom:12px}.tariff-title strong{display:block;margin-top:3px;color:#344054;font-size:13px}.tariff-two,.tariff-three{display:grid;gap:8px}.tariff-two{grid-template-columns:1fr 1fr}.tariff-three{grid-template-columns:repeat(3,1fr)}.withholding-box{margin-top:5px;padding:9px;border:1px solid #ece7dc;border-radius:8px;background:#fff}.tariff-preview{margin-top:12px;border-top:1px solid #e4dccb;padding-top:8px}.tariff-preview>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:8.5px;color:#667085}.tariff-preview strong{color:#344054}.tariff-preview .tariff-gross{margin-top:4px;padding-top:8px;border-top:1px solid #ece7dc}.tariff-preview .tariff-total{margin-top:5px;padding:9px 0 2px;border-top:2px solid #b79a5b;color:#344054;font-weight:800}.tariff-preview .tariff-total strong{font-size:14px;color:#805f23}@media(max-width:760px){.tariff-two,.tariff-three{grid-template-columns:1fr}}

/* SPRINT 5.1C.2 — PROPOSTA ECONOMICA PDF */
.proposal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0 4px;padding:10px 12px;border:1px solid #e8e1d3;border-radius:9px;background:#fcfaf5}
.proposal-actions span{color:#98a2b3;font-size:8px;line-height:1.4}

/* SPRINT 5.1C.3 */
.proposal-manager{margin-bottom:18px}.proposal-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px}.proposal-record{border:1px solid #e7e0d3;border-radius:10px;padding:14px;margin-bottom:10px;background:#fff}.proposal-record h3{margin:4px 0 8px}.proposal-record small{margin-left:8px;color:#667085}.proposal-money{font-size:20px;font-weight:700;margin:8px 0;color:#24344d}.proposal-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.proposal-buttons form{margin:0}.proposal-state,.converted-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#f1eee7;font-size:11px;font-weight:700}.proposal-create{border:1px solid #e7e0d3;border-radius:10px;padding:12px;background:#fcfaf5}.proposal-create summary{cursor:pointer;font-weight:700;color:#805f23}.proposal-form{margin-top:12px}.proposal-form .tariff-two,.proposal-form .tariff-three{display:grid;gap:8px}.proposal-form .tariff-two{grid-template-columns:1fr 1fr}.proposal-form .tariff-three{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.proposal-grid{grid-template-columns:1fr}}

/* SPRINT 5.1D — DASHBOARD CONTABILITA */
.accounting-heading{margin-bottom:16px}.accounting-heading h1{margin:3px 0 4px}.accounting-heading p{margin:0;color:#667085}
.accounting-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.accounting-kpi{padding:14px;border:1px solid #e6e8ec;border-radius:12px;background:#fff}.accounting-kpi span,.accounting-kpi small{display:block;color:#667085;font-size:8px;text-transform:uppercase;letter-spacing:.45px}.accounting-kpi strong{display:block;margin:6px 0;font-size:19px;color:#24344d}.accounting-kpi.alert{border-color:#ead8cf;background:#fffaf7}
.accounting-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.accounting-shortcuts a{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #e7e0d3;border-radius:10px;background:#fcfaf5;text-decoration:none;color:#344054}.accounting-shortcuts span{font-size:8px;color:#805f23}
.accounting-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.accounting-page>.panel{margin-bottom:18px}.accounting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:11px 3px;border-top:1px solid #edf0f3;text-decoration:none;color:#344054}.accounting-row:first-of-type{border-top:0}.accounting-row>div:last-child{text-align:right}.accounting-row strong,.accounting-row span,.accounting-row b,.accounting-row small{display:block}.accounting-row strong{font-size:10px}.accounting-row span,.accounting-row small{margin-top:3px;color:#98a2b3;font-size:8px}.accounting-row b{font-size:10px}.accounting-row.danger b,.accounting-row.danger small{color:#a94f3d}.accounting-empty{padding:18px 2px;color:#98a2b3;font-size:9px}
@media(max-width:1100px){.accounting-kpis{grid-template-columns:repeat(3,1fr)}.accounting-shortcuts{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.accounting-kpis,.accounting-shortcuts,.accounting-columns{grid-template-columns:1fr}.accounting-row{grid-template-columns:1fr}.accounting-row>div:last-child{text-align:left}}

/* SPRINT 5.1D.1 GLOBAL */
/* Titoli principali invariati; testi secondari più leggibili. */
body{font-size:15px}
.muted,.meta,.helper,.hint,.subtle,small{font-size:max(11px,.78em);line-height:1.45}
.card p,.panel p,.workspace-card p,.dashboard-card p{line-height:1.5}
.sidebar small,.nav small{font-size:10px}
.eyebrow{font-size:10px}

/* Dashboard Contabilità */
.accounting-page .accounting-heading p{font-size:12px;line-height:1.5}
.accounting-page .accounting-kpi span,
.accounting-page .accounting-kpi small{font-size:10px;line-height:1.4}
.accounting-page .accounting-shortcuts b{font-size:12px}
.accounting-page .accounting-shortcuts span{font-size:10px;line-height:1.4}
.accounting-page .accounting-row strong,
.accounting-page .accounting-row b{font-size:12px;line-height:1.4}
.accounting-page .accounting-row span,
.accounting-page .accounting-row small{font-size:10px;line-height:1.45}
.accounting-page .accounting-empty{font-size:11px;line-height:1.5}
.accounting-page .accounting-client{font-size:13px}
.accounting-page .accounting-mandate-title{font-size:11px;color:#475467;margin-top:3px}

/* Motore tariffario: tre campi percentuali uniformi e allineati. */
.fee-tax-grid,.tariff-tax-grid,.fee-percent-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:16px!important;
 align-items:end!important
}
.fee-tax-grid>*,.tariff-tax-grid>*,.fee-percent-grid>*{min-width:0!important}
.fee-tax-grid input,.tariff-tax-grid input,.fee-percent-grid input{
 width:100%!important;box-sizing:border-box!important
}

/* SPRINT 5.1D.1A FIX CONTABILITA TARIFFARIO */
.tariff-three{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:end !important;
}
.tariff-three > label{
    min-width:0 !important;
    margin:0 !important;
}
.tariff-three > label > span{
    display:block !important;
    min-height:18px !important;
    margin-bottom:5px !important;
    line-height:1.2 !important;
}
.tariff-three input{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    height:38px !important;
}
.accounting-page .accounting-heading p{font-size:12px;line-height:1.5}
.accounting-page .accounting-kpi span,
.accounting-page .accounting-kpi small{font-size:10px;line-height:1.4}
.accounting-page .accounting-shortcuts b{font-size:12px}
.accounting-page .accounting-shortcuts span{font-size:10px;line-height:1.4}
.accounting-page .accounting-row strong,
.accounting-page .accounting-row b{font-size:12px;line-height:1.4}
.accounting-page .accounting-row span,
.accounting-page .accounting-row small{font-size:10px;line-height:1.45}
.accounting-page .accounting-empty{font-size:11px;line-height:1.5}
.accounting-page .accounting-client{font-size:13px}
.accounting-page .accounting-mandate-title{font-size:11px;color:#475467;margin-top:3px}
@media(max-width:760px){
    .tariff-three{grid-template-columns:1fr !important}
}

/* SPRINT 5.1D.1B LEGGIBILITA GLOBALE */
/* Titoli principali invariati; aumentano solo testi piccoli e secondari. */

body{
    font-size:15px;
}

/* Testi descrittivi e metadati */
small,
.muted,
.meta,
.helper,
.hint,
.subtle,
.record-count,
.badge,
.tag,
.status,
.chip{
    font-size:11px !important;
    line-height:1.45 !important;
}

/* Etichette dei form e testi dentro i box operativi */
label > span,
.form-label,
.field-label,
.card-label,
.stat-label{
    font-size:11px !important;
    line-height:1.4 !important;
}

/* Testi delle righe nelle dashboard e nei riepiloghi */
.panel p,
.card p,
.dashboard-card p,
.workspace-card p,
.accounting-row span,
.accounting-row small,
.mandate-card span,
.mandate-card small,
.proposal-record small{
    font-size:11px !important;
    line-height:1.5 !important;
}

/* Tabelle e liste: più leggibili a colpo d'occhio */
table td,
table th,
.list-row,
.timeline-item,
.task-item{
    font-size:11px !important;
    line-height:1.45 !important;
}

/* Sidebar: manteniamo i titoli, alziamo solo le informazioni secondarie */
.sidebar small,
.sidebar .meta,
.nav small{
    font-size:10.5px !important;
}

/* Eyebrow e micro-label: leggermente più grandi ma senza competere con i titoli */
.eyebrow{
    font-size:10.5px !important;
    letter-spacing:.55px;
}

/* Motore tariffario: etichette più leggibili */
.tariff-box label > span,
.tariff-preview span,
.tariff-saved-grid span{
    font-size:11px !important;
}
.tariff-preview strong,
.tariff-saved-grid strong{
    font-size:11.5px !important;
}

/* Non alterare H1/H2/H3 né i titoli principali */
h1,h2,h3,
.page-heading h1,
.panel-head h2,
.tariff-title strong{
    font-size:revert-layer;
}

/* SPRINT 5.1D.1C LEGGIBILITA PLUS */
/* Ulteriore incremento dei soli testi piccoli/secondari. */
small,.muted,.meta,.helper,.hint,.subtle,.record-count,.badge,.tag,.status,.chip,
label > span,.form-label,.field-label,.card-label,.stat-label,
.panel p,.card p,.dashboard-card p,.workspace-card p,
.accounting-row span,.accounting-row small,
.mandate-card span,.mandate-card small,.proposal-record small,
table td,table th,.list-row,.timeline-item,.task-item{
    font-size:12px !important;
    line-height:1.5 !important;
}
.sidebar small,.sidebar .meta,.nav small{font-size:11.5px !important}
.eyebrow{font-size:11px !important}
.tariff-box label > span,.tariff-preview span,.tariff-saved-grid span{font-size:12px !important}
.tariff-preview strong,.tariff-saved-grid strong{font-size:12.5px !important}
.accounting-page .accounting-kpi span,
.accounting-page .accounting-kpi small,
.accounting-page .accounting-shortcuts span{font-size:11.5px !important}
.accounting-page .accounting-row strong,
.accounting-page .accounting-row b{font-size:13px !important}
.accounting-page .accounting-client{font-size:14px !important}
.accounting-page .accounting-mandate-title{font-size:12px !important}

/* MIGLIORIA LEGGIBILITA - RATE / INCASSI / CARD METRICHE */

.installment-section h3,
.payment-section h3,
.mandate-section h3 {
    font-size: 16px !important;
}

.installment-section p,
.payment-section p,
.mandate-empty,
.empty-mini {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

details summary,
.installment-section summary,
.payment-section summary {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.mandate-metric span,
.mandate-stat span,
.mandate-numbers span {
    font-size: 13px !important;
}

.mandate-metric strong,
.mandate-stat strong,
.mandate-numbers strong {
    font-size: 17px !important;
    line-height: 1.3 !important;
}

.mandate-metric:first-child strong,
.mandate-metric:nth-child(2) strong,
.mandate-stat:first-child strong,
.mandate-stat:nth-child(2) strong {
    font-size: 19px !important;
}


/* Recupero Credito su una sola riga */
.mandate-metric:last-child span,
.mandate-stat:last-child span,
.mandate-numbers:last-child span {
    font-size: 11.5px !important;
    white-space: nowrap !important;
}


/* Recupero credito su una sola riga */
.mandate-numbers > div:nth-child(5) > span {
    font-size: 11px !important;
    white-space: nowrap !important;
}


/* SPRINT 5.1E SOLLECITI ECONOMICI */
.accounting-shortcuts{grid-template-columns:repeat(5,1fr)}
.economic-reminders .panel-head p{margin:4px 0 0;color:#667085;font-size:12px}
.reminder-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 3px;border-top:1px solid #edf0f3}
.reminder-card:first-of-type{border-top:0}
.reminder-card.danger{background:linear-gradient(90deg,#fffaf7 0%,#fff 40%)}
.reminder-main strong,.reminder-main span,.reminder-main small{display:block}
.reminder-main strong{margin-top:3px;color:#24344d;font-size:13px}
.reminder-main span:not(.reminder-kind),.reminder-main small{margin-top:3px;color:#667085;font-size:11.5px;line-height:1.45}
.reminder-kind{display:inline-block!important;width:max-content;padding:3px 7px;border-radius:999px;background:#f1eee7;color:#805f23;font-size:10.5px;font-weight:700}
.reminder-card.danger .reminder-kind{background:#fff0e9;color:#a94f3d}
.reminder-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.missing-contact{font-size:10.5px;color:#98a2b3}
@media(max-width:1100px){.accounting-shortcuts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.accounting-shortcuts{grid-template-columns:1fr}.reminder-card{grid-template-columns:1fr}.reminder-actions{justify-content:flex-start}}


/* SPRINT 5.2A CENTRO COMUNICAZIONI CLIENTI */
.communications-center{margin:18px 0}
.communication-center-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:18px}
.birthday-panel .panel-head p,.message-composer .panel-head p{margin:4px 0 0;color:#667085;font-size:12px}
.birthday-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-top:1px solid #edf0f3}
.birthday-row:first-of-type{border-top:0}
.birthday-row strong,.birthday-row span{display:block}
.birthday-row strong{font-size:13px;color:#24344d}
.birthday-row span{margin-top:3px;font-size:11.5px;color:#667085}
.message-form{display:grid;gap:11px}
.message-form label>span{display:block;margin-bottom:5px}
.message-form input,.message-form select,.message-form textarea{width:100%;box-sizing:border-box}
.message-recipient-picker{position:relative}
.message-recipient-picker>input{padding-right:38px;background:#fff}
.message-recipient-picker::after{content:'⌕';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#92702f;font-size:17px;pointer-events:none}
.message-recipient-suggestions{display:none;position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow-y:auto;padding:6px;border:1px solid #d9dee5;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(20,33,58,.14)}
.message-recipient-suggestions.open{display:grid;gap:3px}
.message-recipient-suggestion{display:flex;width:100%;flex-direction:column;gap:3px;padding:10px 11px;border:0;border-radius:7px;background:#fff;text-align:left;cursor:pointer}
.message-recipient-suggestion:hover,.message-recipient-suggestion:focus{background:#f7f4ed;outline:none}
.message-recipient-suggestion strong{color:#24344d;font-size:12.5px}
.message-recipient-suggestion small{color:#778293;font-size:10.5px}
.message-recipient-empty{padding:14px;color:#8a94a3;font-size:11.5px;text-align:center}
.message-whatsapp-choice:empty{display:none}
.message-whatsapp-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dce8e1;border-radius:9px;background:#f5faf7}
.message-whatsapp-choice>span{color:#47705a;font-size:10.5px;font-weight:750;text-transform:uppercase;letter-spacing:.3px}
.message-whatsapp-choice>div{display:flex;flex-wrap:wrap;gap:7px}
.message-whatsapp-number{padding:7px 10px;border:1px solid #cbdcd2;border-radius:999px;background:#fff;color:#4d6255;font-size:11px;cursor:pointer}
.message-whatsapp-number:hover,.message-whatsapp-number.active{border-color:#4f8065;background:#eaf5ee;color:#315d45;font-weight:750}
.message-dates{display:none;grid-template-columns:1fr 1fr;gap:10px}
.message-recipient-status{padding:9px 11px;border:1px solid #e7e0d3;border-radius:8px;background:#fcfaf5;color:#667085;font-size:11.5px}
.message-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.communication-center-grid{grid-template-columns:1fr}}
@media(max-width:620px){.message-dates{grid-template-columns:1fr}.birthday-row{align-items:flex-start;flex-direction:column}.message-whatsapp-choice{align-items:flex-start;flex-direction:column}}

/* SPRINT 5.2B INVIO GLOBALE */
.global-send-box{display:none;padding:12px;border:1px solid #d9cdaf;border-radius:9px;background:#fffaf0}
.global-send-box>strong{display:block;color:#805f23;font-size:13px;margin-bottom:4px}
.global-send-box>span{display:block;color:#667085;font-size:11.5px;line-height:1.45}
.global-send-options{display:flex;gap:16px;flex-wrap:wrap;margin-top:9px}
.global-send-options label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#475467}
.global-send-options input{width:auto}
.global-queue{display:grid;gap:6px;margin-top:10px}
.global-queue>strong{font-size:12px;color:#24344d}
.global-queue-item{display:block;padding:8px 10px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;color:#344054;font-size:11.5px;text-decoration:none}
.global-queue-item:hover{border-color:#c9a86a;background:#fffdf8}

/* SPRINT 5.2C STORICO COMUNICAZIONI */
.history-save{border-color:#c8b27d}
.history-feedback{min-height:18px;margin-top:2px;font-size:11.5px;color:#667085}
.history-feedback.ok{color:#47705a;font-weight:600}
.history-intro{margin:4px 0 0;color:#667085;font-size:11.5px;line-height:1.45}

/* SPRINT 5.3B */
.document-editor{font-size:13px;line-height:1.55}.generator-info{font-size:12px;line-height:1.5}

/* 5.3B - GENERATORE DOCUMENTI NEL FASCICOLO */

.document-head-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.document-template-shortcuts {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #edf0f3;
}

.document-template-shortcuts a {
    padding: 7px 10px;
    border: 1px solid #e1ddd3;
    border-radius: 8px;
    background: #fcfaf5;
    color: #805f23;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.document-template-shortcuts a:hover {
    background: #f7f2e7;
    border-color: #c9a86a;
}


/* 5.3B.1 - SEPARAZIONE GENERATORE DOCUMENTI */

.document-generator-tools {
    margin: 18px 0 24px;
}

.document-generator-main {
    margin-bottom: 18px;
}

.document-template-shortcuts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 14px;
    padding-bottom: 14px;
    border-top: 1px solid #edf0f3;
    border-bottom: 1px solid #edf0f3;
}


/* 5.3B PDF DEFINITIVO */
.document-generator-tools{margin:26px 0 32px}.document-generator-main{margin-bottom:26px}.document-template-shortcuts{padding-top:16px;display:flex;gap:10px;flex-wrap:wrap}

/* Agenda - pulsanti calendario personale */
.calendar-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}

.calendar-actions .button{
    min-height:42px;
    padding:10px 14px;
    background:#ffffff;
    border:1px solid var(--line);
    color:var(--navy);
    cursor:pointer;
    font:inherit;
    line-height:1;
}

.calendar-actions form{
    margin:0;
    display:inline-flex;
}

.calendar-actions form .button{
    width:auto;
}


/* Agenda - azioni calendario professionali */
.calendar-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:14px;
}

.calendar-actions .calendar-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:10px 15px;
    border-radius:10px;
    font-size:14px;
    font-weight:650;
    text-decoration:none;
    transition:all .18s ease;
    cursor:pointer;
    line-height:1;
}

.calendar-actions .calendar-btn.primary{
    background:var(--navy);
    color:#fff;
    border:1px solid var(--navy);
    box-shadow:0 4px 12px rgba(36,52,77,.14);
}

.calendar-actions .calendar-btn.primary:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(36,52,77,.18);
}

.calendar-actions .calendar-btn.secondary{
    background:#fff;
    color:var(--navy);
    border:1px solid var(--line);
}

.calendar-actions .calendar-btn.secondary:hover{
    background:#f8f9fb;
    border-color:#cfd5df;
}

.calendar-actions .calendar-btn.ghost{
    background:transparent;
    color:#7b8492;
    border:1px solid transparent;
    padding-left:8px;
    padding-right:8px;
}

.calendar-actions .calendar-btn.ghost:hover{
    color:#9a6a1f;
    background:#fbf8f1;
    border-color:#eadfc8;
}

.calendar-actions form{
    margin:0;
    display:inline-flex;
}


/* =========================================================
   AGENDA 0.5 - PROFESSIONAL DASHBOARD
   ========================================================= */

.agenda-dashboard{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.agenda-kpi{
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    padding:18px 20px;
    box-shadow:var(--shadow);
    min-height:105px;
}

.agenda-kpi::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--navy);
}

.agenda-kpi.warning::before{
    background:#b88937;
}

.agenda-kpi.danger::before{
    background:#a84c4c;
}

.agenda-kpi-label{
    display:block;
    font-size:11px;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:9px;
}

.agenda-kpi strong{
    display:block;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1;
    font-weight:500;
    color:var(--navy);
}

.agenda-kpi small{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
}

.agenda-workspace{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);
    gap:18px;
    align-items:start;
    margin-bottom:20px;
}

.agenda-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    box-shadow:var(--shadow);
    padding:20px;
}

.agenda-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    margin-bottom:18px;
    padding-bottom:13px;
    border-bottom:1px solid #ece8df;
}

.agenda-card-head h2{
    margin:3px 0 0;
    font-family:Georgia,serif;
    font-size:21px;
    font-weight:500;
    color:var(--navy);
}

.agenda-card-head .eyebrow{
    font-size:10px;
    letter-spacing:.1em;
}

.agenda-calendar-box{
    background:linear-gradient(145deg,#f8f6f0,#ffffff);
}

.agenda-calendar-box .calendar-url-field{
    width:100%;
    box-sizing:border-box;
    margin:12px 0 4px;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    color:#6c7480;
    font-size:12px;
}

.agenda-section{
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
    overflow:hidden;
}

.agenda-section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    padding:17px 20px;
    border-bottom:1px solid #ece8df;
    background:#fbfaf7;
}

.agenda-section-head h2{
    margin:3px 0 0;
    font-family:Georgia,serif;
    font-size:20px;
    font-weight:500;
    color:var(--navy);
}

.agenda-section-body{
    padding:8px 18px 16px;
}

.appointment-card{
    display:grid;
    grid-template-columns:74px minmax(0,1fr) auto;
    gap:17px;
    align-items:center;
    padding:15px 3px;
    border-bottom:1px solid #eeeae2;
}

.appointment-card:last-child{
    border-bottom:0;
}

.appointment-date-box{
    text-align:center;
    background:#f6f4ee;
    border:1px solid #e5dfd2;
    border-radius:11px;
    padding:9px 7px;
}

.appointment-date-box strong{
    display:block;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1;
    color:var(--navy);
}

.appointment-date-box span{
    display:block;
    margin-top:5px;
    font-size:10px;
    color:var(--muted);
    text-transform:uppercase;
}

.appointment-info strong{
    display:block;
    color:var(--navy);
    font-size:15px;
    margin-bottom:5px;
}

.appointment-meta{
    display:flex;
    gap:7px 14px;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:12px;
}

.appointment-client{
    margin-top:6px;
    font-size:12px;
    color:#596272;
}

.appointment-assignee{
    white-space:nowrap;
    background:#f4f6f9;
    border:1px solid #e2e6ec;
    border-radius:20px;
    padding:6px 10px;
    font-size:11px;
    font-weight:650;
    color:var(--navy);
}

.deadline-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

.deadline-box{
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    box-shadow:var(--shadow);
    overflow:hidden;
}

.deadline-box-head{
    padding:15px 18px;
    background:#fbfaf7;
    border-bottom:1px solid #ece8df;
}

.deadline-box-head h3{
    margin:3px 0 0;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:500;
    color:var(--navy);
}

.deadline-box.danger{
    border-top:3px solid #a84c4c;
}

.deadline-box.today{
    border-top:3px solid #b88937;
}

.deadline-box.upcoming{
    border-top:3px solid var(--navy);
}

.deadline-box.later{
    border-top:3px solid #8b929d;
}

.deadline-box-body{
    padding:5px 14px 12px;
}

.agenda-engine{
    margin-top:20px;
    opacity:.92;
}

@media (max-width:1050px){
    .agenda-dashboard{
        grid-template-columns:repeat(2,1fr);
    }

    .agenda-workspace{
        grid-template-columns:1fr;
    }

    .deadline-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:650px){
    .agenda-dashboard{
        grid-template-columns:1fr;
    }

    .appointment-card{
        grid-template-columns:62px 1fr;
    }

    .appointment-assignee{
        grid-column:2;
        justify-self:start;
    }
}


/* =========================================================
   DATA E PENSIERO DEL GIORNO
   ========================================================= */

.topbar-date{
    font-size:12px;
    font-weight:650;
    color:var(--muted);
    white-space:nowrap;
    padding:0 4px;
}

.daily-welcome{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:20px;
    align-items:stretch;
    margin-bottom:20px;
}

.daily-welcome-date{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:210px;
    padding:18px 20px;
    background:var(--navy);
    color:#fff;
    border-radius:15px;
    box-shadow:var(--shadow);
    font-family:Georgia,serif;
    font-size:18px;
    text-align:center;
}

.daily-quote{
    display:flex;
    align-items:center;
    gap:17px;
    background:linear-gradient(145deg,#fbfaf7,#ffffff);
    border:1px solid var(--line);
    border-radius:15px;
    padding:18px 22px;
    box-shadow:var(--shadow);
}

.daily-quote-mark{
    font-family:Georgia,serif;
    font-size:46px;
    line-height:.8;
    color:#b28b4b;
    opacity:.75;
}

.daily-quote p{
    margin:0;
    font-family:Georgia,serif;
    font-size:18px;
    line-height:1.45;
    color:var(--navy);
}

.daily-quote small{
    display:block;
    margin-top:7px;
    color:var(--muted);
    font-size:11px;
    letter-spacing:.04em;
}

@media (max-width:850px){
    .daily-welcome{
        grid-template-columns:1fr;
    }

    .daily-welcome-date{
        min-width:0;
    }

    .topbar-date{
        display:none;
    }
}


html{
    scroll-behavior:smooth;
}

.agenda-kpi-link{
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.agenda-kpi-link:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(36,52,77,.12);
    border-color:#d4ccb9;
}

.agenda-kpi-link:active{
    transform:translateY(0);
}

#agenda-appuntamenti,
#agenda-oggi,
#agenda-imminenti,
#agenda-scadute{
    scroll-margin-top:90px;
}


/* =========================================================
   DATA GLOBALE - TUTTE LE PAGINE
   ========================================================= */

.global-current-date{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    padding-right:14px;
    margin-right:4px;
    border-right:1px solid var(--line);
    white-space:nowrap;
}

.global-date-label{
    display:block;
    margin-bottom:2px;
    font-size:9px;
    line-height:1;
    font-weight:750;
    letter-spacing:.12em;
    color:#a07b3d;
}

.global-current-date strong{
    display:block;
    font-family:Georgia,serif;
    font-size:13px;
    line-height:1.25;
    font-weight:500;
    color:var(--navy);
}

@media (max-width:900px){
    .global-current-date{
        display:none;
    }
}


/* Migliore leggibilità data globale */
.global-date-label{
    font-size:10px;
    margin-bottom:3px;
}

.global-current-date strong{
    font-size:15px;
    line-height:1.3;
    font-weight:600;
    letter-spacing:.01em;
}


/* =========================================================
   PROSSIMA UDIENZA
   ========================================================= */

.next-hearing-card{
    display:grid;
    grid-template-columns:1.1fr 1.6fr auto;
    gap:18px;
    align-items:stretch;
    margin:18px 0 20px;
    padding:18px 20px;
    background:linear-gradient(145deg,#ffffff,#fbfaf7);
    border:1px solid var(--line);
    border-left:4px solid #b88937;
    border-radius:15px;
    box-shadow:var(--shadow);
}

.next-hearing-label{
    font-size:10px;
    font-weight:750;
    letter-spacing:.11em;
    color:#9a7133;
    margin-bottom:7px;
}

.next-hearing-date{
    font-family:Georgia,serif;
    font-size:24px;
    color:var(--navy);
}

.next-hearing-date span{
    font-family:inherit;
    font-size:15px;
}

.next-hearing-meta{
    display:flex;
    gap:8px 14px;
    flex-wrap:wrap;
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
}

.next-hearing-todo{
    padding-left:18px;
    border-left:1px solid #e8e1d5;
}

.next-hearing-todo p{
    margin:0;
    font-size:14px;
    line-height:1.55;
    color:var(--navy);
}

.next-hearing-actions{
    display:flex;
    align-items:center;
}

.hearing-history-row{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:16px;
    padding:14px 0;
    border-bottom:1px solid #eeeae2;
}

.hearing-history-row:last-child{
    border-bottom:0;
}

.hearing-history-date{
    text-align:center;
    background:#f6f4ee;
    border:1px solid #e5dfd2;
    border-radius:10px;
    padding:8px 6px;
}

.hearing-history-date strong{
    display:block;
    font-family:Georgia,serif;
    font-size:23px;
    color:var(--navy);
}

.hearing-history-date span{
    display:block;
    margin-top:4px;
    font-size:10px;
    color:var(--muted);
}

.hearing-history-main strong{
    display:block;
    color:var(--navy);
    margin-bottom:4px;
}

.hearing-history-main span{
    font-size:12px;
    color:var(--muted);
}

.hearing-history-main p{
    margin:8px 0 0;
    font-size:13px;
    line-height:1.5;
}

@media (max-width:900px){
    .next-hearing-card{
        grid-template-columns:1fr;
    }

    .next-hearing-todo{
        padding-left:0;
        border-left:0;
        border-top:1px solid #e8e1d5;
        padding-top:14px;
    }
}


/* Resoconto udienza modificabile */
.hearing-report-form{
    margin-top:10px;
    display:grid;
    gap:8px;
}

.hearing-report-form label{
    display:grid;
    gap:5px;
}

.hearing-report-form label span{
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    color:#805f23;
}

.hearing-report-form textarea{
    width:100%;
    min-height:72px;
    resize:vertical;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:9px;
    font-family:inherit;
    font-size:13px;
    line-height:1.45;
    background:#fff;
}

.hearing-report-form .small-action{
    justify-self:start;
}


/* =========================================================
   RICERCA GLOBALE
   ========================================================= */

.search-results-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.global-result-row{
    display:grid;
    grid-template-columns:42px 1fr auto;
    gap:12px;
    align-items:center;
    padding:13px 4px;
    border-bottom:1px solid #edf0f3;
    color:inherit;
    text-decoration:none;
}

.global-result-row:last-child{
    border-bottom:0;
}

.global-result-row:hover{
    background:#faf9f6;
}

.global-result-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f1eee7;
    color:#805f23;
    font-weight:700;
}

.global-result-icon.case{
    border-radius:10px;
    background:#eef1f5;
    color:#24344d;
    font-size:11px;
}

.global-result-main strong,
.global-result-main span,
.global-result-main small{
    display:block;
}

.global-result-main strong{
    color:#24344d;
    font-size:13.5px;
}

.global-result-main span{
    margin-top:3px;
    color:#667085;
    font-size:11.5px;
}

.global-result-main small{
    margin-top:3px;
    color:#8a8f98;
    line-height:1.4;
}

@media(max-width:900px){
    .search-results-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   ALPHA 0.6 - Maggiore respiro verticale Workspace Fascicolo
   ========================================================= */

.matter-layout [data-workspace-section] {
    margin-bottom: 28px;
}

.matter-layout .panel {
    margin-top: 14px;
    margin-bottom: 22px;
}

.matter-layout .matter-act,
.matter-layout .matter-task,
.matter-layout .matter-person,
.matter-layout .matter-document,
.matter-layout .matter-communication,
.matter-layout .proceeding-card {
    margin-bottom: 14px;
}


/* ALPHA 0.6 - KPI fascicolo cliccabili */
.matter-kpi-link{
    cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.matter-kpi-link:hover,
.matter-kpi-link:focus{
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    border-color:#c8b68b;
    outline:none;
}

/* ALPHA 0.6.3 - elementi fascicolo cliccabili */
.workspace-jump {
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}

.workspace-jump:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

/* =========================================================
   ALPHA 0.6.4 - SIDEBAR OPERATIVA COMPATTA
   ========================================================= */

.quick-actions-panel {
    margin-bottom: 22px;
}

.quick-actions-title {
    margin-bottom: 12px;
}

.quick-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.quick-action {
    min-height: 66px;
    padding: 12px 10px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    text-align: center;
    transition: transform .15s ease, box-shadow .15s ease;
}

.quick-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.07);
}

.quick-action.wide {
    grid-column: 1 / -1;
}

.matter-side-panel.collapsible-panel {
    display: none;
}

.matter-side-panel.collapsible-panel.is-open {
    display: block;
    animation: sidebarPanelOpen .18s ease;
}

@keyframes sidebarPanelOpen {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* FIX ALPHA 0.6.4 - Azioni rapide */
.quick-actions-grid .quick-action {
    color: #24344d !important;
    background: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.quick-actions-grid .quick-action:hover {
    color: #805f23 !important;
}

/* =========================================================
   ALPHA 0.6.5 - DASHBOARD OPERATIVA
   ========================================================= */

.dashboard-metric-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.dashboard-metric-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.dashboard-metric-link small {
    display: block;
    margin-top: 4px;
    opacity: .68;
    font-size: 12px;
}


/* PROSSIMI IMPEGNI */

.dashboard-priority-panel {
    margin-top: 24px;
    margin-bottom: 24px;
}

.dashboard-events-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

.dashboard-event-column {
    min-width: 0;
}

.dashboard-column-title {
    padding-bottom: 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.dashboard-event-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 6px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    text-decoration: none;
    color: inherit;
    transition: background .15s ease, transform .15s ease;
}

.dashboard-event-row:hover {
    background: rgba(0,0,0,.025);
    transform: translateX(3px);
}

.dashboard-event-date {
    flex: 0 0 58px;
    text-align: center;
    padding: 8px 5px;
    border-radius: 10px;
    background: rgba(0,0,0,.035);
}

.dashboard-event-date strong {
    display: block;
    font-size: 20px;
    line-height: 1;
}

.dashboard-event-date span {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    opacity: .65;
}

.dashboard-event-main {
    flex: 1;
    min-width: 0;
}

.dashboard-event-main strong,
.dashboard-event-main span,
.dashboard-event-main small {
    display: block;
}

.dashboard-event-main strong {
    margin-bottom: 4px;
}

.dashboard-event-main span {
    font-size: 13px;
    opacity: .78;
}

.dashboard-event-main small {
    margin-top: 4px;
    opacity: .58;
}


/* ATTIVITÀ */

.dashboard-task-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.dashboard-task-link:hover {
    background: rgba(0,0,0,.025);
}

.dashboard-task-link .arrow {
    margin-left: 10px;
}


/* CONTROLLO STUDIO */

.dashboard-control-panel {
    align-self: start;
}

.dashboard-control-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 4px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    text-decoration: none;
    color: inherit;
    transition: transform .15s ease, background .15s ease;
}

.dashboard-control-row:last-child {
    border-bottom: 0;
}

.dashboard-control-row:hover {
    transform: translateX(3px);
    background: rgba(0,0,0,.025);
}

.dashboard-control-row strong,
.dashboard-control-row span {
    display: block;
}

.dashboard-control-row div > span {
    margin-top: 4px;
    font-size: 13px;
    opacity: .68;
}


/* EMPTY STATE COMPATTO */

.empty-state.compact {
    padding: 24px 10px;
}


/* RESPONSIVE */

@media (max-width: 900px) {
    .dashboard-events-grid {
        grid-template-columns: 1fr;
    }
}


/* ALPHA 0.6.6 - RICERCA GLOBALE */

.search-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 24px;
}

.search-summary span {
    padding: 8px 12px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
}

.search-summary strong {
    margin-right: 4px;
}

.search-section {
    margin-bottom: 22px;
}

.global-result-row {
    transition: transform .15s ease, background .15s ease;
}

.global-result-row:hover {
    transform: translateX(3px);
    background: rgba(0,0,0,.025);
}

/* =========================================================
   ALPHA 0.6.7 - PROFESSIONAL UI LAYER
   Palette: Blu scuro · Oro · Grigio
   ========================================================= */

:root {
    --navy: #14213A;
    --navy-2: #1D2C49;
    --navy-3: #263957;

    --gold: #B08A43;
    --gold-strong: #92702F;
    --gold-soft: #F5F0E6;

    --text: #202A38;
    --muted: #687386;

    --bg: #F4F5F7;
    --paper: #FFFFFF;
    --line: #E1E5EA;
    --line-strong: #D4D9E0;

    --shadow:
        0 1px 2px rgba(20,33,58,.03),
        0 8px 24px rgba(20,33,58,.055);

    --shadow-hover:
        0 3px 8px rgba(20,33,58,.05),
        0 14px 30px rgba(20,33,58,.08);
}


/* BASE */

html,
body {
    background: var(--bg);
    color: var(--text);
}

body {
    font-size: 14px;
    line-height: 1.5;
}


/* SIDEBAR */

.sidebar {
    background:
        linear-gradient(
            180deg,
            #111D32 0%,
            #14213A 55%,
            #101B2E 100%
        );
    border-right: 1px solid rgba(255,255,255,.035);
    box-shadow: 8px 0 30px rgba(10,20,36,.06);
}

.brand {
    padding-bottom: 25px;
    border-bottom-color: rgba(255,255,255,.08);
}

.studio-logo {
    filter: drop-shadow(0 2px 8px rgba(0,0,0,.12));
}

.brand-copy strong {
    color: #FFFFFF;
    letter-spacing: .1px;
}

.side-nav {
    gap: 5px;
}

.side-nav a {
    min-height: 43px;
    border-radius: 9px;
    color: #CCD4DF;
    font-weight: 520;
    border: 1px solid transparent;
}

.side-nav a:hover {
    background: rgba(255,255,255,.055);
    border-color: rgba(255,255,255,.035);
    color: #FFFFFF;
}

.side-nav a.active {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.20),
            rgba(176,138,67,.09)
        );
    border-color: rgba(211,189,138,.20);
    color: #FFFFFF;
    box-shadow: inset 3px 0 0 var(--gold);
}

.side-nav a.active .nav-icon {
    color: #E0C58D;
}

.nav-icon {
    color: #AEB9C8;
}

.user-card .avatar {
    background: var(--navy-3);
    border: 1px solid rgba(211,189,138,.24);
    color: #E2C98F;
}

.logout-button:hover {
    border-color: rgba(211,189,138,.35);
    color: #FFFFFF;
}


/* TOPBAR */

.topbar {
    height: 70px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 3px 16px rgba(20,33,58,.025);
}

.environment {
    color: #7E8999;
}

.environment b {
    color: var(--navy);
}

.global-search {
    width: 360px;
    background: #F8F9FB;
    border-color: var(--line);
    border-radius: 10px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.global-search:focus-within {
    background: #FFFFFF;
    border-color: rgba(176,138,67,.55);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}

.global-search input {
    color: var(--navy);
}

kbd {
    border-color: var(--line-strong);
    color: #778294;
}

.icon-button {
    border-color: var(--line);
    color: var(--gold-strong);
}


/* CONTENUTO */

.main-content {
    max-width: 1480px;
    padding-top: 38px;
}

.hero {
    margin-bottom: 28px;
}

.hero h1 {
    color: var(--navy);
    font-size: 35px;
    letter-spacing: -.35px;
}

.eyebrow {
    color: var(--gold-strong);
    letter-spacing: 1.55px;
    font-size: 9.5px;
}

.matter-subtitle,
.hero p {
    color: var(--muted);
}


/* PANNELLI E CARD */

.panel,
.metric-card,
.matter-kpi,
.proceeding-card,
.next-hearing-card {
    background: var(--paper);
    border-color: var(--line);
    box-shadow: var(--shadow);
}

.panel {
    border-radius: 13px;
}

.metric-card,
.matter-kpi {
    border-radius: 12px;
}

.panel-head {
    border-color: var(--line);
}

.panel-head h2 {
    color: var(--navy);
    letter-spacing: -.15px;
}

.metric-card strong,
.matter-kpi strong {
    color: var(--navy);
}

.metric-card.accent {
    background:
        linear-gradient(
            135deg,
            #14213A 0%,
            #223554 100%
        );
    border-color: rgba(211,189,138,.14);
}

.metric-card.accent strong,
.metric-card.accent span,
.metric-card.accent small {
    color: #FFFFFF;
}


/* HOVER GLOBALE */

.metric-card,
.matter-kpi,
.global-result-row,
.case-row,
.dashboard-event-row,
.dashboard-control-row,
.workspace-jump {
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease,
        background .15s ease;
}

.metric-card:hover,
.matter-kpi:hover {
    border-color: rgba(176,138,67,.42);
    box-shadow: var(--shadow-hover);
}


/* BUTTON */

.button {
    border-radius: 8px;
    font-size: 13px;
    min-height: 39px;
    transition:
        transform .12s ease,
        box-shadow .12s ease,
        background .12s ease,
        border-color .12s ease;
}

.button.primary {
    background:
        linear-gradient(
            180deg,
            #1B2B47,
            #14213A
        );
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(20,33,58,.14);
}

.button.primary:hover {
    background:
        linear-gradient(
            180deg,
            #B08A43,
            #92702F
        );
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(146,112,47,.18);
}

.button.secondary {
    background: #FFFFFF;
    color: var(--navy);
    border-color: var(--line-strong);
}

.button.secondary:hover {
    border-color: rgba(176,138,67,.55);
    color: var(--gold-strong);
}


/* INPUT */

input,
select,
textarea {
    border-color: var(--line-strong);
    color: var(--text);
    background: #FFFFFF;
    border-radius: 8px;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: rgba(176,138,67,.65);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}


/* BADGE */

.status-badge,
.area-badge,
.record-count,
.proceeding-status,
.proposal-state,
.converted-badge {
    border-radius: 999px;
    font-weight: 650;
}

.status-badge {
    background: #EEF1F5;
    color: #4D5B6D;
}

.area-badge {
    border: 1px solid rgba(176,138,67,.18);
}


/* TABELLE / RIGHE */

.case-row,
.global-result-row,
.task-row,
.matter-document,
.matter-communication,
.matter-task,
.matter-person,
.matter-act {
    border-color: var(--line);
}

.case-row:hover,
.global-result-row:hover,
.dashboard-event-row:hover,
.dashboard-control-row:hover {
    background: #FAFAFB;
}


/* TABS FASCICOLO */

.workspace-tabs-v2 {
    border-bottom-color: var(--line);
}

.workspace-tab {
    color: #687386;
}

.workspace-tab:hover {
    color: var(--navy);
}

.workspace-tab.active {
    color: var(--navy);
    border-color: var(--gold);
}


/* SIDEBAR OPERATIVA FASCICOLO */

.quick-action {
    border-color: var(--line);
    color: var(--navy) !important;
    background: #FFFFFF !important;
}

.quick-action:hover {
    border-color: rgba(176,138,67,.5);
    color: var(--gold-strong) !important;
    box-shadow: var(--shadow);
}


/* SCADENZE */

.deadline.confirmed {
    color: #315D4C;
}

.deadline.provisional {
    color: #8A672B;
}

.side-deadline.overdue,
.task-row.is-late {
    border-left: 3px solid #A94A43;
}


/* RICERCA */

.search-summary span {
    border-color: var(--line);
    color: var(--muted);
}

.search-summary strong {
    color: var(--navy);
}

.global-result-icon {
    background: var(--gold-soft);
    color: var(--gold-strong);
}


/* DASHBOARD */

.dashboard-column-title strong {
    color: var(--navy);
}

.dashboard-event-date {
    background: #F3F5F7;
    border: 1px solid var(--line);
}

.dashboard-event-date strong {
    color: var(--navy);
}

.dashboard-control-row strong,
.dashboard-event-main strong {
    color: var(--navy);
}


/* SCROLLBAR - WEBKIT */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #CBD1D9;
    border-radius: 10px;
    border: 3px solid transparent;
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover {
    background: #AEB6C2;
    border: 3px solid transparent;
    background-clip: padding-box;
}


/* =========================================================
   ALPHA 0.6.8 - DASHBOARD PROFESSIONAL REFINEMENT
   ========================================================= */


/* HERO DASHBOARD */

.dashboard-hero {
    padding: 4px 2px 8px;
}

.dashboard-hero h1 {
    font-size: 38px;
    line-height: 1.12;
    margin-bottom: 8px;
}

.dashboard-hero p {
    max-width: 720px;
    font-size: 14px;
}


/* KPI */

.dashboard-metrics {
    gap: 16px;
    margin-top: 6px;
    margin-bottom: 26px;
}

.dashboard-metrics .metric-card {
    position: relative;
    min-height: 112px;
    padding: 20px 21px;
    overflow: hidden;
}

.dashboard-metrics .metric-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #B08A43;
    opacity: .78;
}

.dashboard-metrics .metric-card.accent::before {
    background: #D8BF87;
}

.dashboard-metrics .metric-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    display: grid;
    place-items: center;

    border-radius: 10px;

    background: #F5F0E6;
    border: 1px solid rgba(176,138,67,.17);

    color: #92702F;
    font-size: 17px;
    font-weight: 700;
}

.dashboard-metrics .metric-card.accent .metric-icon {
    background: rgba(255,255,255,.09);
    border-color: rgba(255,255,255,.12);
    color: #E4CB92;
}

.dashboard-metrics .metric-card > div:last-child {
    min-width: 0;
}

.dashboard-metrics .metric-card span {
    display: block;
    color: #687386;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.dashboard-metrics .metric-card strong {
    display: block;
    margin-top: 4px;
    font-family: Georgia, serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 500;
}

.dashboard-metrics .metric-card small {
    margin-top: 8px;
    color: #8791A0;
    font-size: 11px;
}

.dashboard-metrics .metric-card.accent span,
.dashboard-metrics .metric-card.accent small {
    color: rgba(255,255,255,.67);
}


/* PANNELLO AGENDA PRINCIPALE */

.dashboard-priority-panel {
    padding: 22px 24px;
    border-top: 3px solid #B08A43;
}

.dashboard-priority-panel .panel-head {
    margin-bottom: 8px;
}

.dashboard-priority-panel .panel-head h2 {
    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 500;
}

.dashboard-priority-panel .panel-head > a,
.dashboard-work-layout .panel-head > a,
.recent-cases .panel-head > a {
    text-decoration: none;
    color: #92702F;
    font-size: 12px;
    font-weight: 700;
}

.dashboard-priority-panel .panel-head > a:hover,
.dashboard-work-layout .panel-head > a:hover,
.recent-cases .panel-head > a:hover {
    color: #14213A;
}


/* COLONNE AGENDA */

.dashboard-events-grid {
    gap: 34px;
}

.dashboard-event-column + .dashboard-event-column {
    border-left: 1px solid #E5E8ED;
    padding-left: 28px;
}

.dashboard-column-title {
    padding: 10px 0 12px;
    border-bottom: 1px solid #E1E5EA;
}

.dashboard-column-title strong {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.dashboard-event-row {
    min-height: 77px;
    padding: 13px 7px;
}

.dashboard-event-row:hover {
    transform: translateX(2px);
    background: #F8F9FA;
}

.dashboard-event-date {
    flex-basis: 62px;
    padding: 9px 4px;
}

.dashboard-event-date strong {
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.dashboard-event-main strong {
    font-size: 13.5px;
}

.dashboard-event-main span {
    margin-top: 3px;
    color: #667085;
}

.dashboard-event-main small {
    color: #92702F;
}


/* AREA LAVORO */

.dashboard-work-layout {
    gap: 22px;
    margin-top: 22px;
    align-items: start;
}

.dashboard-work-layout > .panel {
    padding: 21px 23px;
}

.dashboard-work-layout .panel-head h2 {
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 500;
}


/* ATTIVITÀ */

.dashboard-task-link {
    min-height: 67px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.dashboard-task-link .task-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #B08A43;
    box-shadow: 0 0 0 4px #F5F0E6;
}

.dashboard-task-link.is-late .task-status {
    background: #A64B44;
    box-shadow: 0 0 0 4px #FAEFED;
}

.dashboard-task-link .task-main strong {
    color: #14213A;
    font-size: 13.5px;
}

.dashboard-task-link .task-main span {
    color: #7A8493;
    font-size: 11.5px;
}

.dashboard-task-link .task-date {
    color: #667085;
    font-size: 11px;
    font-weight: 650;
}


/* CONTROLLO STUDIO */

.dashboard-control-panel {
    border-top: 3px solid #14213A;
}

.dashboard-control-row {
    padding: 15px 6px;
}

.dashboard-control-row strong {
    font-size: 13.5px;
}

.dashboard-control-row div > span {
    color: #7C8796;
    font-size: 11.5px;
}


/* PRATICHE RECENTI */

.recent-cases {
    margin-top: 22px;
    padding: 21px 23px;
}

.recent-cases .panel-head h2 {
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 500;
}

.recent-cases .case-row {
    min-height: 66px;
}

.recent-cases .case-number {
    color: #92702F;
    font-weight: 750;
}

.recent-cases .case-info strong {
    color: #14213A;
}


/* FRECCE */

.dashboard-event-row .arrow,
.dashboard-control-row .arrow,
.dashboard-task-link .arrow,
.recent-cases .arrow {
    color: #B08A43;
    font-size: 16px;
    opacity: .75;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .dashboard-metrics {
        grid-template-columns: repeat(2,1fr);
    }

    .dashboard-event-column + .dashboard-event-column {
        border-left: 0;
        padding-left: 0;
    }
}

@media (max-width: 720px) {

    .dashboard-metrics {
        grid-template-columns: 1fr;
    }

    .dashboard-hero h1 {
        font-size: 31px;
    }

}


/* =========================================================
   ALPHA 0.6.9 - FASCICOLO PROFESSIONAL REFINEMENT
   ========================================================= */

/* HEADER FASCICOLO */

.matter-header {
    padding: 6px 2px 10px;
    margin-bottom: 20px;
}

.matter-heading-line {
    align-items: flex-start;
    gap: 18px;
}

.matter-header h1 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.35px;
    margin-top: 5px;
    margin-bottom: 7px;
}

.matter-subtitle {
    color: #6F7988;
    font-size: 13px;
}

.matter-meta {
    margin-top: 12px;
    gap: 8px;
}

.matter-meta span {
    background: #FFFFFF;
    border: 1px solid #E1E5EA;
    color: #556173;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 10.5px;
    box-shadow: 0 1px 2px rgba(20,33,58,.02);
}

.matter-header-actions {
    gap: 8px;
}


/* PROSSIMA UDIENZA */

.next-hearing-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #DDD6C8;
    border-left: 4px solid #B08A43;
    border-radius: 12px;
    box-shadow: 0 7px 20px rgba(20,33,58,.05);
}

.next-hearing-card:hover {
    border-color: rgba(176,138,67,.48);
    box-shadow: 0 11px 28px rgba(20,33,58,.075);
}

.next-hearing-label {
    color: #92702F;
    font-size: 9px;
    letter-spacing: 1.15px;
    font-weight: 800;
}

.next-hearing-date {
    color: #14213A;
}

.next-hearing-date strong {
    font-family: Georgia, serif;
    font-weight: 500;
}

.next-hearing-meta {
    color: #667085;
}


/* TABS WORKSPACE */

.workspace-tabs-v2 {
    top: 69px;
    padding: 7px;
    margin-bottom: 21px;
    gap: 3px;

    background: rgba(255,255,255,.975);
    border: 1px solid #E1E5EA;
    border-radius: 11px;

    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 7px 18px rgba(20,33,58,.04);
}

.workspace-tab {
    padding: 9px 10px;
    border-radius: 7px;
    color: #667085;
    font-size: 9.5px;
    font-weight: 680;
    letter-spacing: .1px;
}

.workspace-tab:hover {
    background: #F5F6F8;
    color: #14213A;
}

.workspace-tab.active {
    background: #14213A;
    color: #FFFFFF;
    box-shadow: 0 3px 9px rgba(20,33,58,.13);
}


/* KPI FASCICOLO */

.matter-kpi-grid {
    gap: 14px;
    margin-bottom: 24px;
}

.matter-kpi {
    min-height: 92px;
    padding: 16px 17px;
    border-radius: 11px;
    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 5px 15px rgba(20,33,58,.035);
}

.matter-kpi::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #B08A43;
    opacity: .72;
}

.matter-kpi {
    position: relative;
    overflow: hidden;
}

.matter-kpi span {
    color: #7B8492;
    font-size: 9px;
    letter-spacing: .55px;
    text-transform: uppercase;
    font-weight: 750;
}

.matter-kpi strong {
    margin-top: 5px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 500;
}

.matter-kpi-link:hover {
    transform: translateY(-2px);
    border-color: rgba(176,138,67,.43);
}


/* LAYOUT PRINCIPALE */

.matter-layout {
    gap: 25px;
    align-items: start;
}

.matter-layout > div:first-child {
    min-width: 0;
}

.matter-layout .panel {
    border-radius: 12px;
    border-color: #E1E5EA;
    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 6px 18px rgba(20,33,58,.04);
}

.matter-layout .panel-head {
    padding-bottom: 13px;
    margin-bottom: 8px;
}

.matter-layout .panel-head h2 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}


/* BOX INTERNI DEL FASCICOLO */

.matter-act,
.matter-task,
.matter-person,
.matter-document,
.matter-communication,
.proceeding-card {
    margin-bottom: 11px;
    border: 1px solid #E3E6EA;
    border-radius: 9px;
    background: #FFFFFF;
    padding-top: 13px;
    padding-bottom: 13px;
}

.matter-act:last-child,
.matter-task:last-child,
.matter-person:last-child,
.matter-document:last-child,
.matter-communication:last-child,
.proceeding-card:last-child {
    margin-bottom: 0;
}

.workspace-jump:hover,
.matter-act:hover,
.matter-task:hover,
.matter-person:hover,
.matter-document:hover,
.matter-communication:hover,
.proceeding-card:hover {
    background: #FAFAFB;
    border-color: rgba(176,138,67,.35);
    box-shadow: 0 5px 14px rgba(20,33,58,.035);
}


/* TITOLI INTERNI */

.matter-act strong,
.matter-task-main strong,
.matter-person strong,
.matter-document-main strong,
.matter-communication-main strong,
.proceeding-card strong {
    color: #14213A;
}

.matter-act p,
.matter-task-main p,
.matter-document-main p,
.matter-communication-main p {
    color: #697586;
}


/* COLONNA DESTRA */

.matter-layout > aside {
    align-self: start;
}

.matter-side-panel {
    padding: 17px 18px;
    border-radius: 11px;
    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 15px rgba(20,33,58,.035);
}

.matter-side-panel .panel-head {
    margin-bottom: 10px;
}

.matter-side-panel .panel-head h2 {
    font-size: 17px;
}

.quick-actions-panel {
    border-top: 3px solid #B08A43;
}

.quick-actions-grid {
    gap: 7px;
}

.quick-actions-grid .quick-action {
    min-height: 38px;
    border-radius: 7px;
    padding: 8px 9px;

    background: #F8F9FA !important;
    border-color: #E1E5EA;

    color: #14213A !important;

    font-size: 10.5px;
    font-weight: 700;
}

.quick-actions-grid .quick-action:hover {
    background: #FFFFFF !important;
    border-color: rgba(176,138,67,.48);
    color: #92702F !important;
    transform: translateY(-1px);
}


/* FORM LATERALI */

.matter-mini-form {
    gap: 10px;
}

.matter-mini-form label > span {
    color: #657184;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.matter-mini-form input,
.matter-mini-form select,
.matter-mini-form textarea {
    min-height: 37px;
    border-radius: 7px;
    border-color: #DDE2E7;
    font-size: 12px;
}


/* ATTIVITÀ */

.matter-task-check {
    color: #B08A43;
}

.matter-task.completed {
    background: #F8FAF9;
}


/* DOCUMENTI */

.matter-document-meta a {
    color: #92702F;
    font-weight: 700;
}


/* COMUNICAZIONI */

.matter-communication-date {
    color: #566274;
    font-size: 11px;
}

.matter-communication-date span {
    color: #929AA6;
}


/* PROCEDIMENTI */

.proceeding-card {
    position: relative;
}

.proceeding-card::before {
    content: "";
    position: absolute;
    top: 13px;
    bottom: 13px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #B08A43;
    opacity: .55;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .matter-layout {
        grid-template-columns: 1fr;
    }

    .matter-layout > aside {
        width: 100%;
    }

}

@media (max-width: 700px) {

    .matter-header h1 {
        font-size: 28px;
    }

    .matter-kpi-grid {
        grid-template-columns: 1fr 1fr;
    }

}


/* FIX 0.6.9 - TAB FASCICOLO ATTIVO LEGGIBILE */

.workspace-tabs-v2 .workspace-tab.active {
    background: #14213A !important;
    color: #FFFFFF !important;
    border-color: #14213A !important;
    box-shadow: 0 3px 9px rgba(20,33,58,.14);
}

.workspace-tabs-v2 .workspace-tab.active:hover,
.workspace-tabs-v2 .workspace-tab.active:focus {
    background: #14213A !important;
    color: #FFFFFF !important;
}

.workspace-tabs-v2 .workspace-tab.active * {
    color: #FFFFFF !important;
}


/* FIX DEFINITIVO TAB WORKSPACE MAC/WEBKIT */

#case-workspace-tabs button.workspace-tab.active {
    background-color: #14213A !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-indent: 0 !important;
    visibility: visible !important;
}

#case-workspace-tabs button.workspace-tab.active:hover,
#case-workspace-tabs button.workspace-tab.active:focus {
    background-color: #14213A !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* =========================================================
   ALPHA 0.6.10 - ANAGRAFICHE / CLIENTI PROFESSIONAL UI
   ========================================================= */

/* PAGINA ELENCO CLIENTI */

.people-page .hero,
.people-hero {
    margin-bottom: 24px;
}

.people-page .hero h1,
.people-hero h1 {
    font-family: Georgia, serif;
    color: #14213A;
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -.3px;
}

.people-toolbar,
.people-filters {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.people-toolbar form,
.people-filters form {
    flex: 1;
}

.people-toolbar input,
.people-filters input {
    min-height: 42px;
    border-radius: 9px;
    border: 1px solid #DDE2E7;
    background: #FFFFFF;
}

.people-toolbar input:focus,
.people-filters input:focus {
    border-color: rgba(176,138,67,.55);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}


/* RIGHE ANAGRAFICHE */

.people-list,
.client-list {
    display: grid;
    gap: 10px;
}

.person-row,
.client-row {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0,1.6fr) minmax(180px,.9fr) minmax(150px,.8fr) auto;
    align-items: center;
    gap: 16px;

    min-height: 72px;
    padding: 13px 16px;

    background: #FFFFFF;
    border: 1px solid #E1E5EA;
    border-radius: 11px;

    text-decoration: none;
    color: inherit;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 14px rgba(20,33,58,.03);

    transition:
        transform .14s ease,
        border-color .14s ease,
        box-shadow .14s ease,
        background .14s ease;
}

.person-row:hover,
.client-row:hover {
    transform: translateY(-1px);
    background: #FAFAFB;
    border-color: rgba(176,138,67,.38);
    box-shadow: 0 8px 20px rgba(20,33,58,.05);
}

.person-row::before,
.client-row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #B08A43;
    opacity: .65;
}


/* AVATAR */

.person-avatar,
.client-avatar,
.global-result-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;

    display: grid;
    place-items: center;

    background: #F5F0E6;
    border: 1px solid rgba(176,138,67,.18);

    color: #92702F;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 600;
}


/* TESTI */

.person-main strong,
.client-main strong,
.person-row strong,
.client-row strong {
    color: #14213A;
    font-size: 14px;
    font-weight: 700;
}

.person-main span,
.client-main span,
.person-row span,
.client-row span {
    color: #6F7988;
    font-size: 11.5px;
}

.person-main small,
.client-main small {
    display: block;
    margin-top: 4px;
    color: #8B94A2;
    font-size: 10.5px;
}


/* BADGE STATO / TIPO */

.person-type-badge,
.client-type-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;

    padding: 5px 9px;
    border-radius: 999px;

    background: #F3F5F7;
    border: 1px solid #E1E5EA;

    color: #5F6B7C;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .4px;
}


/* DETTAGLIO ANAGRAFICA */

.person-detail-header,
.client-detail-header {
    padding-bottom: 14px;
    margin-bottom: 20px;
    border-bottom: 1px solid #E1E5EA;
}

.person-detail-header h1,
.client-detail-header h1 {
    font-family: Georgia, serif;
    color: #14213A;
    font-size: 33px;
    font-weight: 500;
    letter-spacing: -.3px;
}

.person-detail-header .matter-subtitle,
.client-detail-header .matter-subtitle {
    color: #6E7989;
}


/* GRIGLIA INFORMAZIONI */

.person-info-grid,
.client-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 20px;
}

.person-info-grid > div,
.client-info-grid > div {
    min-height: 82px;
    padding: 14px 15px;

    background: #FFFFFF;
    border: 1px solid #E1E5EA;
    border-radius: 10px;
}

.person-info-grid span,
.client-info-grid span {
    display: block;
    margin-bottom: 7px;

    color: #8A93A1;
    font-size: 8.5px;
    font-weight: 750;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.person-info-grid strong,
.client-info-grid strong {
    color: #14213A;
    font-size: 12.5px;
    line-height: 1.45;
}


/* VALIDAZIONE DATI */

.validation-card,
.client-validation-card {
    border-top: 3px solid #B08A43 !important;
    background: #FFFFFF;
}

.validation-card h2,
.client-validation-card h2 {
    color: #14213A;
    font-family: Georgia, serif;
    font-weight: 500;
}

.validation-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;

    background: #F5F0E6;
    border: 1px solid rgba(176,138,67,.22);

    color: #92702F;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .35px;
}


/* AZIONI ANAGRAFICA */

.person-actions,
.client-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.person-actions .button,
.client-actions .button {
    min-height: 38px;
}


/* FORM ANAGRAFICA */

.modern-grid {
    gap: 14px;
}

.form-panel {
    border-radius: 12px;
    border: 1px solid #E1E5EA;
    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 16px rgba(20,33,58,.035);
}

.form-panel-head {
    margin-bottom: 16px;
}

.form-panel-head h2 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}

.form-panel-head p {
    color: #798394;
    font-size: 11.5px;
}

.step-number {
    background: #14213A;
    color: #FFFFFF;
    border: 1px solid rgba(176,138,67,.25);
}

.modern-grid label > span {
    color: #667085;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.modern-grid input,
.modern-grid select,
.modern-grid textarea {
    min-height: 40px;
    border-radius: 8px;
    border-color: #DDE2E7;
    font-size: 12.5px;
}

.modern-grid input:focus,
.modern-grid select:focus,
.modern-grid textarea:focus {
    border-color: rgba(176,138,67,.58);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}


/* PULSANTE CALCOLO CF */

#calculate-tax-code {
    margin-top: 8px !important;

    background: #F5F0E6;
    border: 1px solid rgba(176,138,67,.28);
    border-radius: 7px;

    color: #92702F;
    font-weight: 750;

    transition:
        background .14s ease,
        border-color .14s ease,
        transform .14s ease;
}

#calculate-tax-code:hover {
    background: #FFFFFF;
    border-color: rgba(176,138,67,.55);
    transform: translateY(-1px);
}


/* COMUNE / STATUS CF */

#cf-place-status {
    color: #8791A0;
    font-size: 10px;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .person-info-grid,
    .client-info-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .person-row,
    .client-row {
        grid-template-columns: 44px minmax(0,1fr) auto;
    }

}

@media (max-width: 650px) {

    .person-info-grid,
    .client-info-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   ALPHA 0.6.11 - AGENDA PROFESSIONAL UI
   ========================================================= */

/* HEADER */

.agenda-page h1,
.agenda-header h1,
body .agenda-workspace ~ h1 {
    font-family: Georgia, serif;
    color: #14213A;
    font-size: 35px;
    font-weight: 500;
    letter-spacing: -.3px;
}


/* KPI */

.agenda-dashboard {
    gap: 15px;
    margin-top: 18px;
    margin-bottom: 25px;
}

.agenda-kpi {
    position: relative;
    min-height: 108px;
    padding: 19px 20px;
    border: 1px solid #E1E5EA;
    border-radius: 12px;
    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 6px 17px rgba(20,33,58,.04);

    overflow: hidden;
}

.agenda-kpi::before {
    width: 3px;
    top: 17px;
    bottom: 17px;
    background: #B08A43;
}

.agenda-kpi.warning::before {
    background: #B08A43;
}

.agenda-kpi.danger::before {
    background: #9D4A44;
}

.agenda-kpi:hover {
    transform: translateY(-2px);
    border-color: rgba(176,138,67,.42);
    box-shadow: 0 10px 25px rgba(20,33,58,.065);
}

.agenda-kpi-label {
    color: #7B8492;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .6px;
}

.agenda-kpi strong {
    margin-top: 6px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 29px;
    font-weight: 500;
}

.agenda-kpi small {
    margin-top: 8px;
    color: #8791A0;
    font-size: 10.5px;
}


/* WORKSPACE */

.agenda-workspace {
    gap: 22px;
    align-items: start;
}


/* CARD GENERALI */

.agenda-card {
    border: 1px solid #E1E5EA;
    border-radius: 12px;
    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 6px 18px rgba(20,33,58,.04);
}

.agenda-card-head {
    padding-bottom: 13px;
    margin-bottom: 14px;
    border-bottom: 1px solid #E5E8ED;
}

.agenda-card-head h2 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 500;
}

.agenda-card-head .eyebrow {
    color: #92702F;
}


/* NUOVO APPUNTAMENTO */

.agenda-card .matter-mini-form {
    gap: 12px;
}

.agenda-card .matter-mini-form label > span {
    color: #667085;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.agenda-card .matter-mini-form input,
.agenda-card .matter-mini-form select,
.agenda-card .matter-mini-form textarea {
    min-height: 40px;
    border-radius: 8px;
    border-color: #DDE2E7;
    background: #FFFFFF;
    font-size: 12.5px;
}

.agenda-card .matter-mini-form input:focus,
.agenda-card .matter-mini-form select:focus,
.agenda-card .matter-mini-form textarea:focus {
    border-color: rgba(176,138,67,.58);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}


/* CAMPI UDIENZA */

#hearing-fields {
    margin-top: 4px;
    padding: 15px;
    border: 1px solid #E5DFD3;
    border-radius: 10px;
    background: #FBF9F5;
}

#hearing-fields .matter-mini-form {
    margin: 0;
}


/* CALENDARIO PERSONALE */

.agenda-calendar-box {
    border-top: 3px solid #14213A;
}

.agenda-calendar-box p {
    color: #697586;
    line-height: 1.6;
}

.agenda-calendar-box .calendar-url-field {
    min-height: 42px;
    border: 1px solid #DDE2E7;
    border-radius: 8px;
    background: #F8F9FA;
    color: #556173;
    font-size: 11.5px;
}

.calendar-actions {
    gap: 8px;
    margin-top: 13px;
}

.calendar-actions .calendar-btn {
    min-height: 38px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
}

.calendar-actions .calendar-btn.primary {
    background: #14213A;
    color: #FFFFFF;
    border: 1px solid #14213A;
}

.calendar-actions .calendar-btn.primary:hover {
    background: #B08A43;
    border-color: #B08A43;
}

.calendar-actions .calendar-btn.secondary {
    background: #FFFFFF;
    color: #14213A;
    border: 1px solid #DDE2E7;
}

.calendar-actions .calendar-btn.secondary:hover {
    color: #92702F;
    border-color: rgba(176,138,67,.5);
}

.calendar-actions .calendar-btn.ghost {
    background: transparent;
    color: #697586;
    border: 1px dashed #CDD3DA;
}

.calendar-actions .calendar-btn.ghost:hover {
    color: #14213A;
    border-color: #B08A43;
}


/* AVVISO LINK RISERVATO */

.agenda-calendar-box .engine-warning {
    border: 1px solid #E7E1D7;
    border-left: 3px solid #B08A43;
    border-radius: 9px;
    background: #FCFAF6;
    padding: 13px 14px;
}

.agenda-calendar-box .engine-warning strong {
    color: #14213A;
}

.agenda-calendar-box .engine-warning p {
    margin-top: 4px;
    color: #727C8B;
    font-size: 11px;
}


/* APPUNTAMENTI */

.appointment-card {
    min-height: 74px;
    border: 1px solid #E2E6EA;
    border-radius: 10px;
    background: #FFFFFF;
    padding: 13px 14px;
    margin-bottom: 10px;

    transition:
        transform .14s ease,
        border-color .14s ease,
        box-shadow .14s ease,
        background .14s ease;
}

.appointment-card:hover {
    transform: translateY(-1px);
    background: #FAFAFB;
    border-color: rgba(176,138,67,.38);
    box-shadow: 0 7px 18px rgba(20,33,58,.045);
}

.appointment-date-box {
    border-radius: 9px;
    background: #F4F6F8;
    border: 1px solid #E1E5EA;
}

.appointment-date-box strong {
    color: #14213A;
    font-family: Georgia, serif;
    font-weight: 500;
}

.appointment-info strong {
    color: #14213A;
    font-size: 13.5px;
}

.appointment-meta {
    color: #737E8E;
    font-size: 11.5px;
}

.appointment-client {
    color: #92702F;
    font-weight: 650;
}

.appointment-assignee {
    color: #7D8796;
}


/* SCADENZE */

.deadline-grid {
    gap: 12px;
}

.deadline-box {
    border: 1px solid #E2E6EA;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 3px 10px rgba(20,33,58,.025);
}

.deadline-box-head h3 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;
}

.deadline-box.today {
    border-left: 3px solid #B08A43;
    background: #FDFBF7;
}

.deadline-box.upcoming {
    border-left: 3px solid #C5A562;
}

.deadline-box.danger {
    border-left: 3px solid #A64B44;
    background: #FFF9F8;
}

.deadline-box.later {
    border-left: 3px solid #AEB6C2;
}

.deadline-box-body {
    color: #667085;
}


/* SEZIONI AGENDA */

.agenda-section {
    border: 1px solid #E1E5EA;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 5px 16px rgba(20,33,58,.035);
}

.agenda-section-head {
    border-bottom: 1px solid #E5E8ED;
}

.agenda-section-head h2 {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .agenda-dashboard {
        grid-template-columns: repeat(2,1fr);
    }

    .agenda-workspace {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 650px) {

    .agenda-dashboard {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   STUDIO LA RANA — PROFESSIONAL ACCOUNTING LAYER 0.6.12
   ========================================================= */

/* ---------- RIEPILOGO ECONOMICO ---------- */

.economic-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 14px;
    margin: 18px 0 22px;
}

.economic-kpi {
    position: relative;
    overflow: hidden;
    min-height: 104px;
    padding: 18px 18px 16px;
    background: #FFFFFF;
    border: 1px solid #E5E8ED;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(20,33,58,.045);
}

.economic-kpi::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #14213A;
}

.economic-kpi span {
    display: block;
    margin-bottom: 12px;
    color: #7A8495;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.economic-kpi strong {
    display: block;
    color: #14213A;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
}

.economic-kpi.positive::before {
    background: #3E7458;
}

.economic-kpi.positive strong {
    color: #315E48;
}

.economic-kpi.residual::before {
    background: #B69352;
}

.economic-kpi.warning::before {
    background: #A96745;
}


/* ---------- SITUAZIONE PAGAMENTI ---------- */

.payment-statement-panel {
    border-top: 3px solid #B69352;
}

.statement-form {
    padding: 18px;
    border: 1px solid #E8EAEF;
    border-radius: 10px;
    background: #FAFBFC;
}

.statement-send-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.statement-help {
    margin-top: 12px;
    color: #7A8495;
    font-size: 10px;
}


/* ---------- PROPOSTE ECONOMICHE ---------- */

.proposal-manager {
    margin-top: 18px;
}

.proposal-record {
    padding: 18px;
    margin-bottom: 10px;
    border: 1px solid #E5E8ED;
    border-left: 3px solid #B69352;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 4px 14px rgba(20,33,58,.035);
}

.proposal-record h3 {
    margin: 5px 0 8px;
    color: #14213A;
}

.proposal-money {
    color: #14213A;
    font-size: 18px;
    font-weight: 700;
}

.proposal-state {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 20px;
    background: #F0F2F5;
    color: #596274;
    font-size: 9px;
    font-weight: 700;
}

.proposal-buttons {
    gap: 6px;
}

.proposal-create {
    border: 1px dashed #CDD2DA;
    border-radius: 10px;
    background: #FAFBFC;
}

.proposal-create summary {
    padding: 13px 15px;
    color: #14213A;
    font-weight: 700;
    cursor: pointer;
}


/* ---------- LAYOUT MANDATI ---------- */

.economic-layout {
    gap: 20px;
}

.mandate-card {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid #E3E6EB;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 5px 18px rgba(20,33,58,.04);
}

.mandate-head {
    padding: 18px 20px;
    background: linear-gradient(180deg,#FFFFFF 0%,#FAFBFC 100%);
    border-bottom: 1px solid #ECEEF2;
}

.mandate-head h3 {
    margin: 6px 0 3px;
    color: #14213A;
    font-size: 16px;
}

.mandate-status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 20px;
    background: #EEF1F5;
    color: #596274;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.mandate-balance {
    min-width: 135px;
    padding-left: 18px;
    border-left: 2px solid #B69352;
    text-align: right;
}

.mandate-balance span {
    display: block;
    color: #8992A1;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.mandate-balance strong {
    display: block;
    margin-top: 5px;
    color: #14213A;
    font-size: 20px;
}


/* ---------- NUMERI DEL MANDATO ---------- */

.mandate-numbers {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    border-bottom: 1px solid #ECEEF2;
}

.mandate-numbers > div {
    min-height: 72px;
    padding: 14px 16px;
    border-right: 1px solid #ECEEF2;
}

.mandate-numbers > div:last-child {
    border-right: 0;
}

.mandate-numbers span {
    display: block;
    margin-bottom: 7px;
    color: #929AA8;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.mandate-numbers strong {
    color: #14213A;
    font-size: 11px;
}


/* ---------- RATE ---------- */

.installments-section,
.payments-list {
    margin: 16px 18px;
    padding: 16px;
    border: 1px solid #E7E9ED;
    border-radius: 10px;
    background: #FAFBFC;
}

.subsection-head h4,
.payments-list h4 {
    margin: 0 0 12px;
    color: #14213A;
    font-size: 12px;
}

.installment-row,
.payment-row {
    padding: 11px 0;
    border-bottom: 1px solid #E7E9ED;
}

.installment-row:last-child,
.payment-row:last-child {
    border-bottom: 0;
}

.installment-row strong,
.payment-row strong {
    color: #14213A;
}

.installment-row span,
.payment-row span {
    color: #7B8493;
    font-size: 9px;
}

.installment-amount {
    color: #14213A;
    font-size: 13px;
    font-weight: 700;
}


/* ---------- MODULI APRIBILI ---------- */

.payment-details {
    margin: 12px 18px 18px;
    border: 1px dashed #CDD2DA;
    border-radius: 9px;
    background: #FFFFFF;
}

.payment-details summary {
    padding: 11px 13px;
    color: #14213A;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.payment-details[open] summary {
    border-bottom: 1px solid #ECEEF2;
}


/* ---------- SIDEBAR NUOVO INCARICO ---------- */

.economic-layout .matter-side-panel {
    position: sticky;
    top: 82px;
    border-top: 3px solid #B69352;
}


/* ---------- CONTABILITÀ GENERALE ---------- */

.accounting-row {
    transition: background .15s ease, transform .15s ease;
}

.accounting-row:hover {
    background: #FAFBFC;
    transform: translateX(2px);
}

.reminder-card {
    border-left: 3px solid #B69352;
    box-shadow: 0 4px 14px rgba(20,33,58,.035);
}

.reminder-card.danger {
    border-left-color: #A74E45;
}

.reminder-kind {
    color: #7A8495;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 1150px) {
    .economic-summary {
        grid-template-columns: repeat(3,1fr);
    }

    .mandate-numbers {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 760px) {
    .economic-summary {
        grid-template-columns: repeat(2,1fr);
    }

    .mandate-numbers {
        grid-template-columns: repeat(2,1fr);
    }

    .economic-layout .matter-side-panel {
        position: static;
    }
}


/* Quaderno Note e anteprima Segreteria */
.notes-quick-link{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;margin-left:auto;border:1px solid rgba(177,139,60,.38);border-radius:12px;background:#13233f;color:#d4af61;text-decoration:none;box-shadow:0 8px 22px rgba(16,35,64,.10);transition:.18s ease}
.notes-quick-link:hover{transform:translateY(-1px);border-color:#b18b3c;box-shadow:0 10px 26px rgba(16,35,64,.14)}
.notes-quick-icon{font-size:21px;line-height:1}
.notes-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}
.note-compose-panel{position:sticky;top:88px}.notes-list{display:grid;gap:16px}.note-form{display:grid;gap:14px}
.note-form label{display:grid;gap:7px;color:#536176;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.note-form input,.note-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7dee9;border-radius:10px;background:#fbfcfe;color:#182640;padding:12px 13px;font:inherit;line-height:1.55;resize:vertical}
.note-form input:focus,.note-form textarea:focus{outline:none;border-color:#b18b3c;box-shadow:0 0 0 3px rgba(177,139,60,.12);background:#fff}
.note-title-input{font-size:18px!important;font-weight:800!important;color:#13233f!important}
.note-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;color:#748096;font-size:12px}
.note-actions{display:flex;justify-content:flex-end;gap:10px}.note-delete-button{border:1px solid #d9b7b7;background:#fff;color:#8d3232}
.notes-empty{display:grid;gap:6px;text-align:center;padding:48px 24px;color:#69768a}.notes-empty strong{color:#172743;font-size:18px}
.task-completed-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.secretary-view-button{border:1px solid rgba(177,139,60,.45);border-radius:10px;background:#fff;color:#182947;padding:9px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.secretary-view-button:hover{border-color:#b18b3c;background:#fbfaf7}
.role-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 20px;background:#f8edd0;border-bottom:1px solid #d7b96e;color:#483916}
.role-preview-banner div{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 14px}.role-preview-banner strong{font-size:13px}.role-preview-banner span{font-size:12px;color:#69582e}
.role-preview-banner button{border:0;border-radius:9px;background:#142642;color:#fff;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
@media (max-width:900px){.notes-layout{grid-template-columns:1fr}.note-compose-panel{position:static}}
@media (max-width:850px){.daily-quote p{font-size:20px!important}.role-preview-banner{align-items:flex-start;flex-direction:column}.secretary-view-button{display:none}}

@media (max-width: 520px) {
    .economic-summary,
    .mandate-numbers {
        grid-template-columns: 1fr;
    }

    .economic-kpi {
        min-height: auto;
    }
}


/* =========================================================
   ALPHA 0.6.13 - INCASSO RAPIDO
   ========================================================= */

.quick-payment-panel {
    margin-bottom: 20px;
    border-top: 3px solid #B08A43;
    box-shadow: 0 6px 18px rgba(20,33,58,.045);
}

.quick-payment-hint {
    padding: 5px 9px;
    border-radius: 999px;
    background: #F5F0E6;
    color: #92702F;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.quick-payment-form {
    display: grid;
    grid-template-columns:
        minmax(280px,2fr)
        minmax(110px,.65fr)
        minmax(135px,.8fr)
        minmax(130px,.8fr)
        minmax(140px,.9fr);
    gap: 11px;
    align-items: end;
}

.quick-payment-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.quick-payment-form label > span {
    color: #667085;
    font-size: 8.5px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.quick-payment-form input,
.quick-payment-form select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #DDE2E7;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: 11.5px;
}

.quick-payment-form input:focus,
.quick-payment-form select:focus {
    border-color: rgba(176,138,67,.58);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}

.quick-payment-mandate {
    grid-column: span 2;
}

.quick-payment-notes {
    grid-column: span 2;
}

.quick-payment-submit {
    display: flex;
    align-items: flex-end;
}

.quick-payment-submit .button {
    width: 100%;
    min-height: 40px;
}

@media (max-width: 1150px) {
    .quick-payment-form {
        grid-template-columns: repeat(3,1fr);
    }

    .quick-payment-mandate {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .quick-payment-form {
        grid-template-columns: 1fr;
    }

    .quick-payment-mandate,
    .quick-payment-notes {
        grid-column: span 1;
    }
}


/* =========================================================
   ALPHA 0.6.18 - STATISTICHE STUDIO
   ========================================================= */

.statistics-heading h1 {
    font-family: Georgia, serif;
    color: #14213A;
    font-size: 35px;
    font-weight: 500;
}

.statistics-filter-panel {
    margin-bottom: 18px;
    border-top: 3px solid #B08A43;
}

.statistics-filters {
    display: grid;
    grid-template-columns: 1.1fr .7fr 1fr auto;
    gap: 12px;
    align-items: end;
}

.statistics-filters label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.statistics-filters label > span {
    color: #667085;
    font-size: 8.5px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.statistics-filters input,
.statistics-filters select {
    min-height: 40px;
    border: 1px solid #DDE2E7;
    border-radius: 8px;
    background: #FFFFFF;
}

.statistics-main-kpis {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.statistics-kpi {
    position: relative;
    overflow: hidden;
    min-height: 112px;
    padding: 18px;
    background: #FFFFFF;
    border: 1px solid #E1E5EA;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(20,33,58,.04);
}

.statistics-kpi::before {
    content: "";
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 3px;
    background: #B08A43;
}

.statistics-kpi span {
    display: block;
    color: #7B8493;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .55px;
}

.statistics-kpi strong {
    display: block;
    margin-top: 8px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 26px;
    font-weight: 500;
}

.statistics-kpi small {
    display: block;
    margin-top: 8px;
    color: #8A93A1;
    font-size: 10px;
}

.statistics-kpi.accent {
    background: linear-gradient(135deg,#14213A,#223554);
}

.statistics-kpi.accent span,
.statistics-kpi.accent strong,
.statistics-kpi.accent small {
    color: #FFFFFF;
}

.statistics-kpi.positive::before {
    background: #42715A;
}

.statistics-kpi.negative::before {
    background: #A64B44;
}

.statistics-area-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 12px;
}

.statistics-area-card {
    padding: 16px;
    border: 1px solid #E3E6EA;
    border-radius: 10px;
    background: #FAFBFC;
}

.statistics-area-card span {
    display: block;
    color: #697586;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.statistics-area-card strong {
    display: block;
    margin-top: 8px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 500;
}

.statistics-area-card small {
    display: block;
    margin-top: 6px;
    color: #929AA6;
    font-size: 9.5px;
}

.statistics-year-panel {
    margin-top: 20px;
}

.statistics-table {
    overflow: hidden;
    border: 1px solid #E3E6EA;
    border-radius: 10px;
}

.statistics-table-head,
.statistics-table-row {
    display: grid;
    grid-template-columns: 1.2fr .8fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 11px 14px;
}

.statistics-table-head {
    background: #F4F6F8;
    color: #697586;
    font-size: 8.5px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.statistics-table-row {
    border-top: 1px solid #ECEEF2;
    color: #5F6B7C;
    font-size: 11.5px;
}

.statistics-table-row strong {
    color: #14213A;
}

.statistics-table-row.current {
    background: #FCF9F3;
    box-shadow: inset 3px 0 0 #B08A43;
}

@media (max-width: 1100px) {

    .statistics-main-kpis {
        grid-template-columns: repeat(2,1fr);
    }

    .statistics-area-grid {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 700px) {

    .statistics-filters {
        grid-template-columns: 1fr;
    }

    .statistics-main-kpis,
    .statistics-area-grid {
        grid-template-columns: 1fr;
    }
}


.statistics-start-notice {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 15px;
    border: 1px solid #E5DFD3;
    border-left: 3px solid #B08A43;
    border-radius: 9px;
    background: #FCFAF6;
}

.statistics-start-notice strong {
    flex: 0 0 auto;
    color: #14213A;
    font-size: 11px;
}

.statistics-start-notice span {
    color: #727C8B;
    font-size: 10.5px;
    line-height: 1.45;
}



/* BRAND SIDEBAR - STUDIO LA RANA */

.brand-signature {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
    padding-left: 2px;
}

.brand-kicker {
    display: block;
    margin-bottom: 5px;
    color: #A88A52;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 2.1px;
    text-transform: uppercase;
}

.brand-name {
    display: block;
    color: #14213A;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 600;
    line-height: .95;
    letter-spacing: 1.2px;
}

.brand-associati {
    display: block;
    margin-top: 5px;
    color: #667085;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    font-style: italic;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}



/* BRAND SIDEBAR 0.6.16 - VERSIONE DUE RIGHE */

.brand-signature {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    padding-left: 4px;
    line-height: 1;
}

.brand-kicker {
    flex: 0 0 100%;
    display: block;
    margin: 0 0 6px 0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 2.3px;
    color: #B79A62;
    text-transform: uppercase;
}

.brand-name {
    display: inline;
    color: #14213A;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: .4px;
}

.brand-associati {
    display: inline;
    margin: 0 0 0 5px;
    color: #14213A;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.05;
    letter-spacing: .3px;
    text-transform: none;
    align-self: flex-end;
    padding-bottom: 1px;
}



/* BRAND SIDEBAR 0.6.17 - ELEGANT LEGAL */

.brand-signature {
    display: block;
    padding-left: 5px;
    line-height: 1;
}

.brand-kicker {
    display: block;
    margin: 0 0 7px 1px;
    color: #A98A50;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 2.6px;
    text-transform: uppercase;
}

.brand-name {
    display: inline;
    color: #14213A;
    font-family: Baskerville, "Baskerville Old Face", "Palatino Linotype", Palatino, serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: .15px;
}

.brand-associati {
    display: inline;
    margin-left: 3px;
    padding: 0;
    color: #14213A;
    font-family: Baskerville, "Baskerville Old Face", "Palatino Linotype", Palatino, serif;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.05;
    letter-spacing: .1px;
    text-transform: none;
}



/* BRAND SIDEBAR 0.6.19 - FIRMA ISTITUZIONALE */

.brand-signature {
    display: block !important;
    padding-left: 5px !important;
    min-width: 0;
}

.brand-signature .brand-kicker {
    display: block !important;
    margin: 0 0 6px 1px !important;
    color: #A88A52 !important;
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: 2.2px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.brand-signature .brand-full-name {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #14213A !important;

    font-family:
        Baskerville,
        "Baskerville Old Face",
        "Iowan Old Style",
        "Palatino Linotype",
        Palatino,
        serif !important;

    font-size: 17px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    line-height: 1.1 !important;
    letter-spacing: .1px !important;
    white-space: nowrap !important;
}

.brand-signature .brand-full-name span {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    opacity: 1 !important;
}


/* BRAND FINALE - FIRMA CORSIVA */

.brand-signature {
    display: block !important;
    padding-left: 5px !important;
    min-width: 0 !important;
}

.brand-signature .brand-kicker {
    display: block !important;
    margin: 0 0 7px 1px !important;
    color: #A88A52 !important;
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: 2.2px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.brand-signature .brand-full-name {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #14213A !important;

    font-family:
        "Snell Roundhand",
        "Apple Chancery",
        "URW Chancery L",
        cursive !important;

    font-size: 19px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;
    opacity: 1 !important;
}


/* =========================================================
   BRAND SIDEBAR - FIRMA ELEGANTE DEFINITIVA
   ========================================================= */

.brand-real .brand-signature {
    display: block !important;
    text-align: center !important;
    padding: 0 !important;
    margin-top: 2px !important;
}

.brand-real .brand-signature .brand-kicker {
    display: block !important;
    margin: 0 0 7px 0 !important;

    color: #C3A568 !important;

    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 600 !important;

    letter-spacing: 2.5px !important;
    line-height: 1 !important;

    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.brand-real .brand-signature .brand-full-name {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-family:
        "Apple Chancery",
        "Snell Roundhand",
        "URW Chancery L",
        cursive !important;

    font-size: 20px !important;
    font-weight: 400 !important;
    font-style: italic !important;

    line-height: 1.2 !important;
    letter-spacing: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;

    text-shadow: 0 1px 2px rgba(0,0,0,.12);
}


/* BRAND 0.6.22 - STUDIO LEGALE PIU' LEGGIBILE */

.brand-real .brand-signature .brand-kicker {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 2.3px !important;
}


/* =========================================================
   0.6.27 - UTENTI & ACCESSI
   ========================================================= */

.user-management-row {
    display: grid;
    grid-template-columns: 42px minmax(220px,1fr) 110px minmax(260px,auto);
    gap: 14px;
    align-items: center;
    padding: 14px 4px;
    border-bottom: 1px solid #EAECF0;
}

.user-management-row:last-child {
    border-bottom: 0;
}

.user-management-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #14213A;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
}

.user-management-main strong {
    display: block;
    color: #14213A;
    font-size: 12px;
}

.user-management-main span,
.user-management-main small {
    display: block;
    margin-top: 3px;
    color: #7A8493;
    font-size: 10px;
}

.user-status {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
}

.user-status.active {
    background: #EDF6F1;
    color: #397057;
}

.user-status.inactive {
    background: #F8EEEE;
    color: #984B48;
}

.user-management-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.user-management-actions form {
    margin: 0;
}

.password-reset summary {
    cursor: pointer;
    color: #14213A;
    font-size: 10px;
    font-weight: 650;
}

.password-reset form {
    display: flex;
    gap: 6px;
    margin-top: 8px;
}

.password-reset input {
    min-height: 36px;
    border: 1px solid #DDE2E7;
    border-radius: 7px;
}

@media(max-width:850px) {
    .user-management-row {
        grid-template-columns: 42px 1fr;
    }

    .user-management-status,
    .user-management-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}



/* =========================================================
   LOGIN PROFESSIONALE - STUDIO LA RANA
   ========================================================= */

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 38px 20px;

    background:
        radial-gradient(circle at top left,
            rgba(176,138,67,.09),
            transparent 32%),
        linear-gradient(
            145deg,
            #0F1B31 0%,
            #14213A 48%,
            #1D2D49 100%
        );
}

.login-shell {
    width: 100%;
    max-width: 470px;
}

.login-brand {
    text-align: center;
    margin-bottom: 22px;
}

.login-logo {
    display: block;
    width: 98px;
    height: 98px;
    object-fit: contain;
    margin: 0 auto 12px;
}

.login-brand-kicker {
    display: block;

    color: #C4A66D;

    font-family:
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-size: 10px;
    font-weight: 650;

    letter-spacing: 3px;
    text-transform: uppercase;
}

.login-brand-name {
    margin-top: 7px;

    color: #FFFFFF;

    font-family:
        "Apple Chancery",
        "Snell Roundhand",
        cursive;

    font-size: 24px;
    font-style: italic;
    font-weight: 400;

    line-height: 1.1;
}

.login-card {
    padding: 32px 34px 28px;

    background:
        rgba(255,255,255,.985);

    border:
        1px solid rgba(255,255,255,.28);

    border-radius: 16px;

    box-shadow:
        0 24px 65px rgba(0,0,0,.24);
}

.login-heading {
    margin-bottom: 25px;
}

.login-heading .eyebrow {
    color: #A88A52;
}

.login-heading h1 {
    margin: 6px 0 8px;

    color: #14213A;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        serif;

    font-size: 31px;
    font-weight: 500;

    line-height: 1.05;
}

.login-heading p {
    margin: 0;

    color: #697586;

    font-size: 12px;
    line-height: 1.55;
}

.login-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.login-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;

    margin: 0;
}

.login-form label > span {
    color: #536174;

    font-size: 9px;
    font-weight: 750;

    letter-spacing: .5px;
    text-transform: uppercase;
}

.login-form input {
    width: 100%;

    min-height: 45px;

    padding: 0 13px;

    margin: 0;

    border:
        1px solid #DDE2E8;

    border-radius: 8px;

    background:
        #FAFBFC;

    color: #14213A;

    font-size: 12px;

    outline: none;

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.login-form input:focus {
    background: #FFFFFF;

    border-color: #B08A43;

    box-shadow:
        0 0 0 3px
        rgba(176,138,67,.10);
}

.login-button {
    min-height: 47px;

    margin-top: 3px;

    border: 0;
    border-radius: 8px;

    background:
        #14213A;

    color:
        #FFFFFF;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .35px;

    cursor: pointer;

    transition:
        transform .14s ease,
        box-shadow .14s ease,
        background .14s ease;
}

.login-button:hover {
    background:
        #1C2C4A;

    box-shadow:
        0 9px 22px
        rgba(20,33,58,.18);

    transform:
        translateY(-1px);
}

.login-alert {
    margin-bottom: 18px;

    padding: 10px 12px;

    border:
        1px solid #E4C3C0;

    border-radius: 8px;

    background:
        #FBF2F1;

    color:
        #934D47;

    font-size: 10.5px;
}

.login-security-note {
    display: flex;
    gap: 10px;

    margin-top: 24px;

    padding-top: 18px;

    border-top:
        1px solid #ECEEF1;

    color:
        #7C8694;
}

.login-security-note > span {
    color:
        #B08A43;

    font-size: 9px;

    margin-top: 2px;
}

.login-security-note strong {
    display: block;

    color:
        #14213A;

    font-size: 10px;
}

.login-security-note p {
    margin:
        3px 0 0;

    font-size:
        9.5px;

    line-height:
        1.45;
}

.login-footer {
    margin-top: 19px;

    text-align:
        center;

    color:
        rgba(255,255,255,.74);
}

.login-footer span {
    display: block;

    font-size:
        10px;

    font-weight:
        600;
}

.login-footer small {
    display: block;

    margin-top:
        4px;

    color:
        rgba(255,255,255,.47);

    font-size:
        7.5px;

    letter-spacing:
        1.3px;
}

@media(max-width:550px) {

    .login-page {
        align-items:
            flex-start;

        padding-top:
            26px;
    }

    .login-card {
        padding:
            25px 22px;
    }

    .login-logo {
        width:
            82px;

        height:
            82px;
    }

    .login-brand-name {
        font-size:
            21px;
    }

}


/* Logo Studio cliccabile - ritorno Dashboard */

.brand-home-link {
    text-decoration: none !important;
    color: inherit !important;
    cursor: pointer;
}

.brand-home-link:hover {
    text-decoration: none !important;
}

.brand-home-link .studio-logo,
.brand-home-link .brand-copy {
    transition:
        transform .18s ease,
        opacity .18s ease;
}

.brand-home-link:hover .studio-logo {
    transform: translateY(-1px);
}

.brand-home-link:hover .brand-copy {
    opacity: .92;
}


/* =========================================================
   ANTISTRESS
   ========================================================= */

.antistress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.antistress-card {
    min-height: 390px;
}

.antistress-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 18px;
    color: #697586;
    font-size: 10px;
}

.memory-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 8px;
}

.memory-cell {
    aspect-ratio: 1;
    border: 1px solid #DDE2E7;
    border-radius: 9px;
    background: #F5F7F9;
    color: #14213A;
    font-size: 22px;
    cursor: pointer;
    transition: .15s ease;
}

.memory-cell:hover {
    border-color: #B08A43;
    transform: translateY(-1px);
}

.memory-cell.open,
.memory-cell.matched {
    background: #14213A;
    color: #FFFFFF;
}

.memory-cell.matched {
    border-color: #B08A43;
}

.tic-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.tic-cell {
    aspect-ratio: 1;
    border: 1px solid #DDE2E7;
    border-radius: 9px;
    background: #FAFBFC;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 30px;
    cursor: pointer;
}

.tic-cell:hover {
    background: #F4F6F8;
    border-color: #B08A43;
}

.breathing-card {
    display: flex;
    flex-direction: column;
}

.breathing-stage {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
}

.breathing-circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #14213A;
    color: #FFFFFF;
    box-shadow: 0 0 0 14px rgba(176,138,67,.10);
    transition: transform 4s ease-in-out;
}

.breathing-circle.expand {
    transform: scale(1.45);
}

.breathing-circle span {
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .4px;
}

@media(max-width:1050px) {
    .antistress-grid {
        grid-template-columns: 1fr;
    }

    .antistress-card {
        min-height: auto;
    }
}


/* =========================================================
   0.6.28B - CENTRO VALIDAZIONI
   ========================================================= */

.validation-kpis {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.validation-card,
.validation-change-card {
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid #E2E6EA;
    border-radius: 11px;
    background: #FFFFFF;
}

.validation-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.validation-main strong,
.validation-main span,
.validation-main small {
    display: block;
}

.validation-main strong {
    margin-top: 7px;
    color: #14213A;
    font-size: 12px;
}

.validation-main span:not(.validation-badge) {
    margin-top: 4px;
    color: #667085;
    font-size: 10.5px;
}

.validation-main small {
    margin-top: 7px;
    color: #98A2B3;
    font-size: 9.5px;
}

.validation-badge {
    display: inline-flex !important;
    padding: 4px 7px;
    border-radius: 999px;
    background: #FCF5E8;
    color: #9B742F;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .5px;
}

.validation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.validation-actions form {
    margin: 0;
}

.validation-change-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 14px;
}

.validation-change-head strong {
    display: block;
    color: #14213A;
}

.validation-change-head span {
    display: block;
    margin-top: 3px;
    color: #87909D;
    font-size: 9.5px;
}

.validation-diff {
    overflow: hidden;
    margin-bottom: 14px;
    border: 1px solid #E7EAEE;
    border-radius: 9px;
}

.validation-diff-head,
.validation-diff-row {
    display: grid;
    grid-template-columns: .8fr 1fr 1fr;
    gap: 12px;
    padding: 9px 12px;
}

.validation-diff-head {
    background: #F5F6F8;
    color: #7B8492;
    font-size: 8px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.validation-diff-row {
    border-top: 1px solid #ECEEF1;
    font-size: 10px;
}

.validation-diff-row strong {
    color: #14213A;
}

.validation-diff-row span {
    color: #667085;
}

.validation-diff-row .proposed {
    color: #14213A;
    font-weight: 650;
    background: #FCF9F2;
    margin: -9px -12px;
    padding: 9px 12px;
}

.validation-reject-form {
    display: flex;
    gap: 7px;
}

.validation-reject-form input {
    min-width: 220px;
}

@media(max-width:800px) {
    .validation-kpis {
        grid-template-columns: 1fr;
    }

    .validation-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .validation-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .validation-diff-head,
    .validation-diff-row {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   CENTRO VALIDAZIONI - SPAZIATURA E LEGGIBILITA
   ========================================================= */

.validation-kpis {
    margin-bottom: 28px !important;
    gap: 18px !important;
}

.validation-kpis + .panel {
    margin-top: 0 !important;
}

/* Distanza tra le due sezioni principali */
#content .panel:has(.validation-card),
#content .panel:has(.validation-change-card) {
    margin-bottom: 28px !important;
}

/* Testata delle sezioni */
.validation-card:first-of-type {
    margin-top: 8px;
}

/* Singolo fascicolo da validare */
.validation-card {
    padding: 20px 22px !important;
    margin-bottom: 16px !important;
    min-height: 92px;
}

/* Informazioni fascicolo */
.validation-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.validation-main strong {
    margin-top: 5px !important;
    font-size: 13px !important;
    line-height: 1.4;
}

.validation-main span:not(.validation-badge) {
    margin-top: 1px !important;
    line-height: 1.5;
}

.validation-main small {
    margin-top: 5px !important;
    line-height: 1.5;
}

/* Pulsanti */
.validation-actions {
    gap: 10px !important;
    margin-left: 20px;
}

.validation-actions .button {
    min-height: 38px;
    padding-left: 15px;
    padding-right: 15px;
}

/* Richieste di modifica */
.validation-change-card {
    padding: 21px 22px !important;
    margin-bottom: 18px !important;
}

.validation-change-head {
    margin-bottom: 20px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid #ECEEF1;
}

.validation-change-head strong {
    font-size: 13px;
}

.validation-change-head span {
    margin-top: 5px !important;
}

/* Tabella confronto */
.validation-diff {
    margin: 4px 0 20px !important;
}

.validation-diff-head,
.validation-diff-row {
    padding: 12px 15px !important;
    gap: 18px !important;
}

.validation-diff-row {
    min-height: 44px;
    align-items: center;
    line-height: 1.45;
}

/* Campo motivo rifiuto */
.validation-reject-form {
    gap: 10px !important;
}

.validation-reject-form input {
    min-width: 270px !important;
    min-height: 38px;
}

/* Stato vuoto */
.validation-card:last-child,
.validation-change-card:last-child {
    margin-bottom: 0 !important;
}

@media(max-width:800px) {

    .validation-card,
    .validation-change-card {
        padding: 17px !important;
    }

    .validation-actions {
        margin-left: 0;
        margin-top: 12px;
    }

    .validation-reject-form {
        width: 100%;
        flex-wrap: wrap;
    }

    .validation-reject-form input {
        min-width: 100% !important;
    }
}



/* =========================================================
   VALIDAZIONI - MAGGIORE SPAZIATURA VERTICALE
   ========================================================= */

/* Titolo pagina -> KPI */
.validation-kpis {
    margin-top: 24px !important;
    margin-bottom: 36px !important;
}

/* KPI più ariosi internamente */
.validation-kpis .statistics-kpi {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

/* Pannelli principali */
.validation-kpis ~ .panel {
    margin-top: 0 !important;
    margin-bottom: 38px !important;
    padding-top: 24px !important;
    padding-bottom: 26px !important;
}

/* Intestazione pannello -> contenuto */
.validation-kpis ~ .panel .panel-head {
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
}

/* Fascicoli singoli */
.validation-card {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

/* Ultimo fascicolo: niente spazio inutile in fondo */
.validation-card:last-child {
    margin-bottom: 0 !important;
}

/* Richieste di modifica */
.validation-change-card {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    padding-top: 23px !important;
    padding-bottom: 23px !important;
}

/* Testata richiesta -> confronto dati */
.validation-change-head {
    margin-bottom: 22px !important;
    padding-bottom: 17px !important;
}

/* Righe Attuale / Proposto */
.validation-diff-row {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Tabella confronto -> pulsanti */
.validation-diff {
    margin-bottom: 22px !important;
}

/* Più respiro sopra i comandi */
.validation-change-card .validation-actions {
    margin-top: 6px !important;
}

/* Ultima richiesta */
.validation-change-card:last-child {
    margin-bottom: 0 !important;
}



/* =========================================================
   0.6.28C - FASCICOLO SOLA LETTURA
   ========================================================= */

.case-readonly-banner {
    display: flex;
    align-items: flex-start;
    gap: 13px;

    margin: 0 0 22px 0;
    padding: 14px 16px;

    border: 1px solid #DED7C8;
    border-left: 3px solid #B08A43;
    border-radius: 9px;

    background: #FCFAF6;
}

.case-readonly-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;
    width: 30px;
    height: 30px;

    border-radius: 50%;

    background: #14213A;
    color: #C5A76D;

    font-size: 14px;
}

.case-readonly-banner strong {
    display: block;

    color: #14213A;

    font-size: 11px;
    font-weight: 750;
}

.case-readonly-banner span {
    display: block;

    margin-top: 4px;

    color: #687386;

    font-size: 10px;
    line-height: 1.5;
}

.readonly-form {
    position: relative;
}

.readonly-form input:disabled,
.readonly-form select:disabled,
.readonly-form textarea:disabled {
    opacity: .72;
    cursor: default;
}

.readonly-form button:disabled {
    opacity: .42;
    cursor: not-allowed;
}



/* =========================================================
   0.6.33 - OGGI / CRUSCOTTO GIORNALIERO COMPLETO
   ========================================================= */

.today-dashboard {
    display: grid;
    grid-template-columns: minmax(0,1fr) 280px;
    gap: 20px;
    align-items: start;
}

.today-workspace {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.today-section {
    margin: 0 !important;
}

.today-section .panel-head {
    margin-bottom: 17px;
}

.today-event-row,
.today-deadline-row {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;

    min-height: 70px;

    padding: 12px 4px;

    border-bottom: 1px solid #ECEEF1;

    text-decoration: none;
    color: inherit;
}

.today-event-row:last-child,
.today-deadline-row:last-child {
    border-bottom: 0;
}

.today-event-row:hover,
.today-deadline-row:hover {
    background: #FAFBFC;
}

.today-event-time {
    color: #14213A;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        serif;

    font-size: 18px;
    font-weight: 600;
}

.today-event-main strong {
    display: block;

    margin-top: 3px;

    color: #14213A;
    font-size: 12px;
}

.today-event-main span {
    display: block;

    margin-top: 4px;

    color: #667085;
    font-size: 10px;
}

.today-event-main small {
    display: block;

    margin-top: 4px;

    color: #98A2B3;
    font-size: 9px;
}

.today-event-type {
    display: inline-flex;

    padding: 3px 6px;

    border-radius: 999px;

    background: #F1F3F5;

    color: #697586;

    font-size: 7.5px;
    font-weight: 800;

    letter-spacing: .4px;
    text-transform: uppercase;
}

.today-event-type.hearing {
    background: #F8F2E7;
    color: #96712E;
}

.today-deadline-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    border-radius: 50%;

    background: #14213A;
    color: #C4A66D;

    font-family: Georgia, serif;
    font-size: 17px;
}

.today-task-link {
    text-decoration: none;
    color: inherit;
}

.today-task-link:hover {
    background: #FAFBFC;
}

.today-task.is-late {
    border-left: 3px solid #A64B44;
    padding-left: 12px;
}

.overdue-section {
    border-top: 2px solid #A64B44 !important;
}

.today-overdue-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 25px;
    height: 25px;

    padding: 0 7px;

    border-radius: 999px;

    background: #F7ECEB;
    color: #A64B44;

    font-size: 9px;
    font-weight: 800;
}

.today-summary-v2 {
    position: sticky;
    top: 82px;
}

.today-summary-v2 .summary-item {
    padding-top: 12px;
    padding-bottom: 12px;
}

.today-summary-v2 .summary-item.important {
    padding: 14px;

    margin-bottom: 5px;

    border-radius: 9px;

    background: #14213A;
}

.today-summary-v2 .summary-item.important span,
.today-summary-v2 .summary-item.important strong {
    color: #FFFFFF;
}

.today-summary-v2 .summary-item.danger strong {
    color: #A64B44;
}

.summary-divider {
    height: 1px;

    margin: 8px 0;

    background: #ECEEF1;
}

@media(max-width:1000px) {

    .today-dashboard {
        grid-template-columns: 1fr;
    }

    .today-summary-v2 {
        position: static;
    }
}

@media(max-width:650px) {

    .today-event-row,
    .today-deadline-row {
        grid-template-columns: 50px 1fr;
    }

    .today-event-row > .arrow,
    .today-deadline-row > .deadline-state {
        grid-column: 2;
    }
}


/* =========================================================
   0.6.34 - DASHBOARD OGGI / PROSSIMI 7 GIORNI
   ========================================================= */

.dashboard-focus-panel {
    margin: 22px 0 26px !important;
    border-top: 3px solid #B08A43;
}

.dashboard-focus-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.dashboard-focus-column {
    min-width: 0;
    padding: 3px 0;
}

.dashboard-focus-column.today {
    padding: 16px;
    margin: -4px 0;
    border-radius: 11px;
    background: #F8F5EE;
}

.dashboard-focus-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
    padding-bottom: 11px;
    border-bottom: 1px solid #E4E7EB;
}

.dashboard-focus-title > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.dashboard-focus-title span {
    color: #687386;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .65px;
}

.dashboard-focus-title strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 999px;
    background: #14213A;
    color: #FFFFFF;
    font-size: 9px;
}

.dashboard-focus-column.today .dashboard-focus-title strong {
    background: #B08A43;
}

.dashboard-focus-title small {
    color: #98A2B3;
    font-size: 8.5px;
}

.dashboard-focus-row {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    gap: 11px;
    align-items: center;

    min-height: 59px;
    padding: 9px 6px;

    border-bottom: 1px solid #ECEEF1;

    color: inherit;
    text-decoration: none;

    transition: background .14s ease;
}

.dashboard-focus-row:hover {
    background: rgba(255,255,255,.65);
}

.dashboard-focus-row:last-of-type {
    border-bottom: 0;
}

.dashboard-focus-time {
    color: #14213A;
    font-size: 10px;
    font-weight: 750;
}

.dashboard-focus-date {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dashboard-focus-date strong {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1;
}

.dashboard-focus-date span {
    margin-top: 3px;
    color: #8B95A3;
    font-size: 8px;
}

.dashboard-focus-main {
    min-width: 0;
}

.dashboard-focus-kind {
    display: block;
    margin-bottom: 3px;
    color: #A08045;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.dashboard-focus-main strong {
    display: block;
    color: #14213A;
    font-size: 10.5px;
    line-height: 1.35;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-focus-main small {
    display: block;
    margin-top: 3px;
    color: #8A94A2;
    font-size: 8.5px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-focus-more {
    display: block;
    margin-top: 10px;
    color: #14213A;
    font-size: 9px;
    font-weight: 650;
    text-decoration: none;
}

.dashboard-focus-more:hover {
    color: #A08045;
}

@media(max-width:950px) {
    .dashboard-focus-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   0.6.35 - DASHBOARD IMPEGNI - MAGGIORE LEGGIBILITA'
   ========================================================= */

.dashboard-focus-panel .panel-head h2 {
    font-size: 28px !important;
    line-height: 1.2;
    margin-top: 5px;
}

.dashboard-focus-title {
    padding: 16px 18px !important;
    margin-bottom: 8px;
}

.dashboard-focus-title span {
    font-size: 15px !important;
    font-weight: 700;
    letter-spacing: 0.7px;
}

.dashboard-focus-title strong {
    font-size: 24px !important;
    font-weight: 800;
    margin-left: 8px;
}

.dashboard-focus-title small {
    font-size: 14px !important;
}

.dashboard-focus-row {
    padding: 16px 14px !important;
    min-height: 78px;
    gap: 16px !important;
}

.dashboard-focus-main > strong {
    display: block;
    font-size: 18px !important;
    line-height: 1.35;
    font-weight: 700;
    margin: 4px 0 5px;
}

.dashboard-focus-main small {
    font-size: 14px !important;
    line-height: 1.4;
}

.dashboard-focus-kind {
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.dashboard-focus-time {
    min-width: 64px;
    font-size: 16px !important;
    font-weight: 800;
}

.dashboard-focus-date {
    min-width: 58px;
    text-align: center;
}

.dashboard-focus-date strong {
    display: block;
    font-size: 24px !important;
    line-height: 1;
}

.dashboard-focus-date span {
    display: block;
    font-size: 14px !important;
    margin-top: 4px;
}

.dashboard-focus-panel .empty-state strong {
    font-size: 17px !important;
}

.dashboard-focus-panel .empty-state span {
    font-size: 14px !important;
    line-height: 1.5;
}

.dashboard-focus-more {
    font-size: 15px !important;
    font-weight: 700;
    padding: 13px 15px !important;
}


/* =========================================================
   0.6.36 - DETTAGLIO E MODIFICA IMPEGNI
   ========================================================= */

.appointment-card-link {
    text-decoration: none;
    color: inherit;
    transition: transform .15s ease,
                box-shadow .15s ease,
                border-color .15s ease;
    cursor: pointer;
}

.appointment-card-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.appointment-detail-panel {
    max-width: 1100px;
}

.appointment-edit-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 24px;
}

.appointment-edit-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.appointment-edit-form label > span {
    font-size: 14px;
    font-weight: 700;
}

.appointment-edit-form .wide {
    grid-column: 1 / -1;
}

.appointment-edit-form input,
.appointment-edit-form select,
.appointment-edit-form textarea {
    width: 100%;
}

.appointment-hearing-fields {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px 24px;
    margin-top: 10px;
    padding: 24px;
    border-radius: 14px;
    background: rgba(176,138,67,.06);
    border: 1px solid rgba(176,138,67,.20);
}

.appointment-section-title {
    grid-column: 1 / -1;
}

.appointment-section-title h3 {
    margin: 4px 0 0;
    font-size: 21px;
}

.appointment-save-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding-top: 10px;
}

@media (max-width: 800px) {

    .appointment-edit-form,
    .appointment-hearing-fields {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   AGENDA - ASSEGNATARIO NELLA STESSA CARD
   ========================================================= */

.appointment-card {
    position: relative;
    display: grid !important;
    grid-template-columns: 110px minmax(0,1fr) auto;
    gap: 24px;
    align-items: center;
}

.appointment-assignee-inline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;

    min-width: 170px;

    padding-left: 22px;

    border-left: 1px solid #E5E9EE;
}

.appointment-assignee-inline span {
    display: block;

    margin-bottom: 5px;

    color: #98A2B3;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .4px;
    text-transform: uppercase;
}

.appointment-assignee-inline strong {
    color: #14213A;

    font-size: 14px;
    font-weight: 700;

    white-space: nowrap;
}

.appointment-card-link {
    overflow: hidden;
}

@media(max-width:900px) {

    .appointment-card {
        grid-template-columns: 90px 1fr !important;
    }

    .appointment-assignee-inline {
        grid-column: 2;
        align-items: flex-start;

        min-width: 0;

        margin-top: 8px;
        padding: 10px 0 0;

        border-left: 0;
        border-top: 1px solid #E5E9EE;
    }
}



/* =========================================================
   0.6.37 - AGENDA: CARD UNICA APPUNTAMENTO
   ========================================================= */

.appointment-card.appointment-card-link {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) 220px !important;
    gap: 26px !important;
    align-items: center !important;

    width: 100%;

    margin-bottom: 16px !important;
    padding: 20px 22px !important;

    border: 1px solid #DDE3E9 !important;
    border-radius: 13px !important;

    background: #FFFFFF !important;

    color: inherit !important;
    text-decoration: none !important;

    box-sizing: border-box;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.appointment-card.appointment-card-link:hover {
    transform: translateY(-2px);

    border-color: #C7B184 !important;

    box-shadow:
        0 10px 28px rgba(20,33,58,.08);
}


.appointment-card-link .appointment-date-box {
    margin: 0 !important;
}


.appointment-card-link .appointment-info {
    min-width: 0;
}


.appointment-type-label {
    display: block;

    margin-bottom: 5px;

    color: #A08045;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .55px;
    text-transform: uppercase;
}


.appointment-card-link .appointment-info > strong {
    display: block;

    color: #14213A;

    font-size: 17px !important;
    line-height: 1.3;
}


.appointment-card-link .appointment-meta {
    margin-top: 7px;
}


.appointment-card-link .appointment-client {
    margin-top: 9px;

    color: #9A742F;

    font-size: 13px !important;
    font-weight: 650;
}


.appointment-notes-inline {
    margin-top: 8px;

    color: #687386;

    font-size: 12px;
    line-height: 1.45;
}


.appointment-assignee-inline {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    min-width: 0;

    padding: 8px 0 8px 22px !important;

    border-left: 1px solid #E3E7EB !important;

    background: transparent !important;
}


.appointment-assignee-inline > span {
    margin-bottom: 6px;

    color: #929CAA;

    font-size: 9px !important;
    font-weight: 800;

    letter-spacing: .55px;
}


.appointment-assignee-inline > strong {
    color: #14213A;

    font-size: 14px !important;
    font-weight: 700;
}


.appointment-assignee-inline > small {
    margin-top: 7px;

    color: #A08045;

    font-size: 10px;
    font-weight: 650;
}


/* Elimina eventuale comportamento grafico del vecchio box */
.appointment-assignee {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}


@media(max-width:900px) {

    .appointment-card.appointment-card-link {
        grid-template-columns: 90px minmax(0,1fr) !important;
    }

    .appointment-assignee-inline {
        grid-column: 2;

        margin-top: 6px;

        padding:
            12px 0 0 !important;

        border-left: 0 !important;
        border-top:
            1px solid #E3E7EB !important;
    }
}



/* =========================================================
   0.6.38 - CENTRO NOTIFICHE
   ========================================================= */

.notification-center {
    position: relative;
}

.notification-bell {
    position: relative;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #E1E5EA;
    border-radius: 11px;

    background: #FFFFFF;

    color: #14213A;

    cursor: pointer;

    transition: .15s ease;
}

.notification-bell:hover {
    border-color: #B08A43;
    box-shadow: 0 5px 16px rgba(20,33,58,.08);
}

.notification-bell-icon {
    font-size: 28px;
    line-height: 1;
}

.notification-badge {
    position: absolute;

    top: -6px;
    right: -6px;

    min-width: 20px;
    height: 20px;

    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #FFFFFF;
    border-radius: 20px;

    background: #B33A3A;
    color: #FFFFFF;

    font-size: 10px;
    font-weight: 800;
}


.notification-dropdown {
    position: absolute;

    z-index: 1000;

    top: calc(100% + 12px);
    right: 0;

    width: 410px;
    max-height: 560px;

    display: none;

    overflow: hidden;

    border: 1px solid #DDE2E8;
    border-radius: 15px;

    background: #FFFFFF;

    box-shadow:
        0 20px 55px rgba(20,33,58,.16);
}

.notification-dropdown.open {
    display: block;
}


.notification-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px 21px 16px;

    border-bottom: 1px solid #EDF0F3;
}

.notification-header > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notification-header strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 20px;
}

.notification-total {
    min-width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #F3EBDD;
    color: #8B692D;

    font-size: 12px;
    font-weight: 800;
}


.notification-list {
    max-height: 410px;
    overflow-y: auto;
}


.notification-item {
    position: relative;

    display: grid;
    grid-template-columns: 5px minmax(0,1fr) 18px;
    gap: 13px;
    align-items: center;

    padding: 15px 18px;

    border-bottom: 1px solid #F0F2F4;

    color: inherit;
    text-decoration: none;

    transition: background .14s ease;
}

.notification-item:hover {
    background: #F8F9FA;
}


.notification-marker {
    width: 5px;
    height: 38px;

    border-radius: 10px;

    background: #AEB6C1;
}


.notification-urgent .notification-marker {
    background: #B33A3A;
}

.notification-today .notification-marker {
    background: #B08A43;
}

.notification-validation .notification-marker {
    background: #526B8A;
}

.notification-soon .notification-marker {
    background: #8391A3;
}


.notification-content {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.notification-label {
    margin-bottom: 3px;

    color: #929CAA;

    font-size: 8px;
    font-weight: 850;

    letter-spacing: .7px;
}

.notification-urgent .notification-label {
    color: #A63131;
}

.notification-today .notification-label {
    color: #9A742F;
}

.notification-validation .notification-label {
    color: #526B8A;
}


.notification-content strong {
    overflow: hidden;

    color: #14213A;

    font-size: 13px;
    font-weight: 750;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.notification-content small {
    margin-top: 3px;

    overflow: hidden;

    color: #768194;

    font-size: 10px;

    white-space: nowrap;
    text-overflow: ellipsis;
}


.notification-arrow {
    color: #B08A43;

    font-size: 14px;
}


.notification-empty {
    padding: 36px 20px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.notification-empty > span {
    width: 37px;
    height: 37px;

    margin-bottom: 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #EEF4EF;
    color: #54725A;

    font-weight: 800;
}

.notification-empty strong {
    color: #14213A;
}

.notification-empty small {
    max-width: 250px;

    margin-top: 5px;

    color: #8B94A3;

    line-height: 1.4;
}


.notification-footer {
    display: block;

    padding: 13px 20px;

    border-top: 1px solid #EDF0F3;

    background: #FAFBFC;

    color: #8B692D;

    font-size: 11px;
    font-weight: 750;

    text-align: center;
    text-decoration: none;
}


@media(max-width:700px) {

    .notification-dropdown {
        position: fixed;

        top: 70px;
        right: 12px;
        left: 12px;

        width: auto;
    }
}


/* 0.6.40 - Bilancia notifiche più grande */
.notification-bell-icon {
    font-size: 34px !important;
    line-height: 1;
}


/* =========================================================
   ATTIVITA - ASSEGNAZIONE MULTIUTENTE
   ========================================================= */

.task-assignee-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 6px;
}

.task-assignee-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;

    padding: 11px 12px;

    border: 1px solid #DDE3E8;
    border-radius: 9px;

    background: #FAFBFC;

    cursor: pointer;

    transition: .15s ease;
}

.task-assignee-option:hover {
    border-color: #B08A43;
    background: #FFFFFF;
}

.task-assignee-option input {
    width: 16px !important;
    height: 16px;
    margin: 0 !important;
}

.task-assignee-option > span {
    min-width: 0;
}

.task-assignee-option strong {
    display: block;

    color: #14213A;

    font-size: 11px;
    font-weight: 700;
}

.task-assignee-option small {
    display: block;

    margin-top: 2px;

    color: #8A94A2;

    font-size: 8.5px;
}

.task-assignee-option:has(input:checked) {
    border-color: #B08A43;
    background: #F8F4EB;
}

@media(max-width:750px) {
    .task-assignee-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   0.6.42 - DETTAGLIO ATTIVITA
   ========================================================= */

.task-detail-panel {
    max-width: 1050px;
}

.task-detail-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 24px;
}

.task-detail-form > label {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.task-detail-form .wide {
    grid-column: 1 / -1;
}

.task-detail-label,
.task-detail-form label > span {
    color: #526071;
    font-size: 11px;
    font-weight: 750;
}

.task-detail-meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px;

    margin-top: 8px;
    padding: 18px;

    border-radius: 10px;
    background: #F7F8FA;
}

.task-detail-meta span,
.task-detail-meta strong {
    display: block;
}

.task-detail-meta span {
    color: #8A94A2;
    font-size: 9px;
    text-transform: uppercase;
}

.task-detail-meta strong {
    margin-top: 4px;
    color: #14213A;
    font-size: 12px;
}

.task-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 5px;
}

@media(max-width:750px) {
    .task-detail-form,
    .task-detail-meta {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   ATTIVITA - COMPLETAMENTO
   ========================================================= */

.task-complete-button {
    margin-right: auto;
    font-weight: 750;
}

.task-completed-badge {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    padding: 11px 16px;
    border-radius: 10px;
    background: #edf6ef;
    border: 1px solid #cfe5d4;
    color: #32633d;
    font-weight: 750;
    font-size: 13px;
}


/* =========================================================
   0.6.43 - ATTIVITA APERTE / COMPLETATE
   ========================================================= */

.matter-task {
    display: flex;
    align-items: center;
    gap: 14px;
}

.matter-task-link {
    flex: 1;

    display: flex;
    align-items: center;
    gap: 14px;

    min-width: 0;

    color: inherit;
    text-decoration: none;
}

.matter-task-link:hover .matter-task-main strong {
    color: #A08045;
}

.completed-tasks-section {
    margin-top: 28px;
    padding-top: 23px;
    border-top: 1px solid #E3E7EB;
}

.completed-tasks-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 12px;
}

.completed-tasks-head h3 {
    margin: 3px 0 0;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
}

.completed-tasks-list {
    border: 1px solid #E7EAEE;
    border-radius: 10px;
    overflow: hidden;
}

.completed-task-row {
    display: grid;
    grid-template-columns: 32px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;

    padding: 12px 14px;

    border-bottom: 1px solid #ECEFF2;

    background: #FAFBFC;

    color: inherit;
    text-decoration: none;
}

.completed-task-row:last-child {
    border-bottom: 0;
}

.completed-task-row:hover {
    background: #F5F7F8;
}

.completed-task-check {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;

    border-radius: 50%;

    background: #EAF3EC;
    color: #477252;

    font-size: 11px;
    font-weight: 850;
}

.completed-task-main strong {
    display: block;

    color: #596575;

    font-size: 11.5px;
    font-weight: 650;

    text-decoration: line-through;
    text-decoration-color: #ADB5C0;
}

.completed-task-main span {
    display: block;

    margin-top: 3px;

    color: #929CAA;

    font-size: 9px;
}


/* =========================================================
   0.6.44 - ATTIVITA FASCICOLO PIU LEGGIBILI
   ========================================================= */

#attivita .panel-head h2 {
    font-size: 24px !important;
    line-height: 1.2;
}

#attivita .matter-task {
    padding: 18px 16px !important;
    margin-bottom: 12px !important;
}

#attivita .matter-task-main > strong {
    font-size: 17px !important;
    line-height: 1.35;
    font-weight: 750;
    color: #14213A;
}

#attivita .matter-task-main > span {
    display: block;
    margin-top: 6px !important;

    font-size: 13px !important;
    line-height: 1.45;

    color: #6D7888;
    font-weight: 600;
}

#attivita .matter-task-main > p {
    margin-top: 9px !important;
    margin-bottom: 0;

    font-size: 14px !important;
    line-height: 1.55;

    color: #4F5D6D;
}

#attivita .matter-task-check {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px;

    font-size: 18px !important;
}

#attivita .small-action {
    min-height: 38px;
    padding: 0 15px !important;

    font-size: 12px !important;
    font-weight: 750;
}


/* Storico completate */
#attivita .completed-tasks-head h3 {
    font-size: 20px !important;
}

#attivita .completed-task-row {
    padding: 15px 16px !important;
}

#attivita .completed-task-main strong {
    font-size: 14px !important;
    line-height: 1.4;
}

#attivita .completed-task-main span {
    margin-top: 5px;

    font-size: 11.5px !important;
    line-height: 1.4;
}

#attivita .completed-task-check {
    width: 30px;
    height: 30px;

    font-size: 13px;
}


/* =========================================================
   0.6.45 - ATTIVITA NELL'AGENDA
   ========================================================= */

.agenda-tasks-panel {
    margin-bottom: 24px;
}

.agenda-task-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.agenda-task-card {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr) auto 24px;
    gap: 18px;
    align-items: center;

    padding: 17px 18px;

    border: 1px solid #E3E7EB;
    border-radius: 11px;

    background: #FFFFFF;

    color: inherit;
    text-decoration: none;

    transition: 0.15s ease;
}

.agenda-task-card:hover {
    border-color: #CDB681;
    box-shadow: 0 5px 16px rgba(20,33,58,.07);
    transform: translateY(-1px);
}

.agenda-task-card.is-today {
    border-left: 4px solid #B08A43;
}

.agenda-task-card.is-overdue {
    border-left: 4px solid #A95050;
}

.agenda-task-date {
    text-align: center;
}

.agenda-task-date strong {
    display: block;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 27px;
    line-height: 1;
}

.agenda-task-date span {
    display: block;

    margin-top: 5px;

    color: #7D8794;
    font-size: 11px;
    font-weight: 650;
}

.agenda-task-content {
    min-width: 0;
}

.agenda-task-label {
    display: block;

    margin-bottom: 4px;

    color: #A08045;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
}

.agenda-task-title {
    display: block;

    color: #14213A;

    font-size: 17px;
    line-height: 1.35;
    font-weight: 750;
}

.agenda-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 15px;

    margin-top: 6px;

    color: #667384;
    font-size: 12.5px;
    font-weight: 550;
}

.agenda-task-instructions {
    margin: 8px 0 0;

    color: #596575;

    font-size: 13px;
    line-height: 1.5;
}

.agenda-task-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;

    min-width: 110px;
}

.agenda-task-deadline {
    color: #647080;
    font-size: 11px;
    white-space: nowrap;
}

.agenda-task-deadline.today {
    color: #9A762F;
}

.agenda-task-deadline.overdue {
    color: #A34848;
}

@media (max-width: 800px) {

    .agenda-task-card {
        grid-template-columns: 55px minmax(0,1fr) 20px;
    }

    .agenda-task-side {
        grid-column: 2;
        align-items: flex-start;
    }

}


/* Scadenze fascicolo cliccabili */
.side-deadline-link {
    color: inherit;
    text-decoration: none;
    transition: .15s ease;
}

.side-deadline-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 15px rgba(20,33,58,.07);
}


/* =========================================================
   0.6.46 - STATO SCADENZA
   ========================================================= */

.act-managed-badge,
.act-open-badge {
    display: inline-flex;
    align-items: center;

    padding: 7px 11px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .5px;
}

.act-managed-badge {
    background: #EAF4EC;
    color: #477252;
}

.act-open-badge {
    background: #F8F1E5;
    color: #8E6C2C;
}

.act-management-text {
    max-width: 750px;

    margin: 0 0 18px;

    color: #657183;

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   0.6.48 - WORKFLOW RINVIO UDIENZA
   ========================================================= */

.hearing-postpone-panel {
    border-top: 3px solid #B08A43;
}

.hearing-postpone-help {
    max-width: 820px;

    margin: 0 0 20px;

    color: #667384;

    font-size: 13px;
    line-height: 1.55;
}

.hearing-postpone-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px 22px;
}

.hearing-postpone-form > label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.hearing-postpone-form .wide {
    grid-column: 1 / -1;
}

.hearing-postpone-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
}

@media(max-width:750px) {

    .hearing-postpone-form {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   0.6.49 - ATTIVITA CONSEGUENTI ALL'UDIENZA
   ========================================================= */

.hearing-followup-panel {
    border-top: 3px solid #B08A43;
}

.hearing-followup-help {
    max-width: 820px;

    margin: 0 0 20px;

    color: #667384;

    font-size: 13px;
    line-height: 1.55;
}

.hearing-followup-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px 22px;
}

.hearing-followup-form > label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.hearing-followup-form .wide {
    grid-column: 1 / -1;
}

.hearing-followup-label {
    display: block;

    margin-bottom: 8px;

    color: #526071;

    font-size: 11px;
    font-weight: 750;
}

.hearing-followup-actions {
    display: flex;
    justify-content: flex-end;

    padding-top: 4px;
}

@media(max-width:750px) {

    .hearing-followup-form {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   0.6.50 - SEPARAZIONE VISIVA ATTIVITA CONSEGUENTI
   ========================================================= */

.hearing-followup-panel {
    margin-top: 34px !important;
    position: relative;

    border-top: 1px solid #D8DEE6 !important;
    padding-top: 26px !important;
}

/* filo conduttore con il blocco udienza */
.hearing-followup-panel::before {
    content: "";
    position: absolute;

    top: -18px;
    left: 26px;

    width: 2px;
    height: 18px;

    background: #D5C49B;
}

/* piccolo punto di raccordo */
.hearing-followup-panel::after {
    content: "";
    position: absolute;

    top: -22px;
    left: 22px;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: #B08A43;
    border: 3px solid #FFFFFF;
}

.hearing-followup-panel .panel-head {
    margin-bottom: 18px;
}

.hearing-followup-panel .panel-head h2 {
    margin-top: 4px;

    font-size: 22px;
}

.hearing-followup-panel .eyebrow {
    letter-spacing: .11em;
}

/* area interna leggermente distinta */
.hearing-followup-form {
    margin-top: 20px;

    padding: 22px;

    border-radius: 12px;
    border: 1px solid #E2E6EA;

    background: #FAFBFC;
}

.hearing-followup-actions {
    margin-top: 6px;
    padding-top: 15px;

    border-top: 1px solid #E2E6EA;
}


/* =========================================================
   0.6.51 - DETTAGLIO DOCUMENTO / IMPORTANTI
   ========================================================= */

.matter-document {
    position: relative;
}

.matter-document-detail-link {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.matter-document-meta,
.matter-document-meta a {
    position: relative;
    z-index: 2;
}

.matter-document.important {
    border-left: 4px solid #B08A43;
    background: #FFFDF8;
}

.document-star {
    color: #B08A43;
    margin-right: 5px;
}

.document-important-badge {
    padding: 7px 11px;
    border-radius: 999px;
    background: #F8F1E5;
    color: #8D692A;
    font-size: 10px;
    font-weight: 800;
}

.document-detail-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px 22px;
}

.document-detail-form .wide {
    grid-column: 1 / -1;
}

.document-important-option {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.document-important-option input {
    width: 18px;
    height: 18px;
}

.document-info-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    padding: 18px;
    background: #F7F8FA;
    border-radius: 10px;
}

.document-info-grid span,
.document-info-grid strong {
    display: block;
}

.document-info-grid span {
    color: #8993A0;
    font-size: 9px;
    text-transform: uppercase;
}

.document-info-grid strong {
    margin-top: 4px;
    color: #14213A;
    font-size: 12px;
}

.document-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}


/* =========================================================
   0.6.52 - RICERCA DOCUMENTI NEL FASCICOLO
   ========================================================= */

.case-document-tools {
    display: grid;
    grid-template-columns: minmax(260px,1fr) 220px auto auto;
    gap: 12px;
    align-items: center;

    margin: 18px 0 20px;
    padding: 15px;

    border: 1px solid #E2E6EA;
    border-radius: 12px;

    background: #F8F9FA;
}

.case-document-search {
    position: relative;
}

.case-document-search > span {
    position: absolute;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);

    color: #7C8795;
    font-size: 17px;
}

.case-document-search input {
    width: 100%;
    padding-left: 38px !important;
}

.case-document-tools select {
    width: 100%;
}

.case-document-important-filter {
    display: flex;
    align-items: center;
    gap: 8px;

    white-space: nowrap;

    color: #586575;
    font-size: 12px;
    font-weight: 650;

    cursor: pointer;
}

.case-document-important-filter input {
    width: 17px;
    height: 17px;
}

.case-document-important-filter span {
    color: #8D692A;
}

.case-document-filter-count {
    white-space: nowrap;

    color: #7D8794;
    font-size: 11px;
    font-weight: 700;

    text-align: right;
}

@media(max-width:900px) {

    .case-document-tools {
        grid-template-columns: 1fr 1fr;
    }

}

@media(max-width:650px) {

    .case-document-tools {
        grid-template-columns: 1fr;
    }

    .case-document-filter-count {
        text-align: left;
    }

}


/* =========================================================
   0.6.53 - FIX LARGHEZZA BARRA DOCUMENTI
   ========================================================= */

.case-document-tools {
    grid-template-columns:
        minmax(240px, 1fr)
        minmax(180px, 220px)
        auto
        minmax(90px, auto) !important;
}

.case-document-filter-count {
    min-width: 90px;
    padding-left: 6px;
    white-space: nowrap;
    overflow: visible;
}

@media(max-width:1100px) {

    .case-document-tools {
        grid-template-columns: 1fr 1fr !important;
    }

    .case-document-filter-count {
        text-align: left;
        min-width: 0;
    }
}

/* ALPHA 0.6 - Eliminazione appuntamento / udienza */

.appointment-delete-zone {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: flex-end;
}

.appointment-delete-button {
    background: #fff;
    color: #b42318;
    border: 1px solid #f1b8b4;
}

.appointment-delete-button:hover {
    background: #fff4f3;
    border-color: #d92d20;
    color: #912018;
}

/* ALPHA 0.6 - Zona eliminazione definitiva pratica */

.case-danger-zone {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #efc1bd;
    border-radius: 10px;
    background: #fffafa;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.case-danger-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.case-danger-info strong {
    color: #912018;
}

.case-danger-info span {
    color: #667085;
    font-size: 12px;
}

.case-delete-button {
    background: #fff;
    color: #b42318;
    border: 1px solid #e5a6a1;
    white-space: nowrap;
    cursor: pointer;
}

.case-delete-button:hover {
    background: #b42318;
    color: #fff;
    border-color: #b42318;
}

@media(max-width:760px) {
    .case-danger-zone {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ALPHA 0.6 - Liberazione anticipata */

.liberation-panel {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.liberation-semester-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.liberation-semester-row {
    display: grid;
    grid-template-columns: 140px 1fr 150px;
    align-items: center;
    gap: 14px;
    padding: 11px 13px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
}

.liberation-semester-row.benefited {
    background: #f7faf7;
    border-color: #b9d5bd;
}

.liberation-semester-number {
    font-weight: 700;
    color: var(--navy);
}

.liberation-semester-period {
    font-size: 12px;
    color: #667085;
}

.liberation-check {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 650;
}

@media(max-width:760px) {
    .liberation-semester-row {
        grid-template-columns: 1fr;
    }
}

/* ALPHA 0.6 - Storico istanze sorveglianza */

.execution-request-card {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 10px;
    background: #fff;
}

.execution-request-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.execution-request-head > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.execution-request-head strong {
    color: var(--navy);
}

.execution-request-head span {
    font-size: 12px;
    color: #667085;
}

.execution-request-update {
    margin-top: 8px;
}

/* ALPHA 0.6 - Reato ostativo art. 4-bis O.P. */

.fourbis-field {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    gap: 7px !important;

    width: 100%;
    min-width: 0;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.fourbis-label {
    display: block;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--navy);
}

.fourbis-control {
    display: flex;
    align-items: center;
    gap: 8px;

    min-height: 40px;
    padding: 0 11px;

    border: 1px solid var(--line-strong);
    border-radius: 7px;
    background: #fff;

    color: #667085;
    font-size: 12px;
    font-weight: 500;

    transition:
        border-color .18s ease,
        background .18s ease,
        color .18s ease;
}

.fourbis-control input {
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    flex: 0 0 auto;

    accent-color: #b42318;
}

.fourbis-status {
    line-height: 1;
}

.fourbis-active .fourbis-label {
    color: #b42318;
}

.fourbis-active .fourbis-control {
    border-color: rgba(180,35,24,.55);
    background: #fffafa;
    color: #b42318;
    font-weight: 700;
}

/* ATTIVO */

.fourbis-alert.fourbis-active {
    background: #fff8f7;
    border-color: rgba(180,35,24,.55);
    box-shadow: 0 0 0 2px rgba(180,35,24,.045);
}

.fourbis-alert.fourbis-active::before {
    background: #b42318;
    color: #fff;
}

.fourbis-alert.fourbis-active .fourbis-title {
    color: #b42318;
}

.fourbis-alert.fourbis-active .fourbis-check-row {
    color: #7a271a;
}

.fourbis-alert.fourbis-active .fourbis-warning {
    display: block;
    color: #b42318;
}

@media (max-width: 700px) {
    .fourbis-alert {
        grid-template-columns: auto 1fr;
    }

    .fourbis-warning {
        grid-column: 2;
    }
}

/* =========================================================
   ALPHA 0.6 - MANDATI & COMPENSI
   Controlli fiscali compatti
   ========================================================= */

.mandate-options-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2px 0 4px;
}

.mandate-compact-option {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    width: auto !important;
    min-height: 38px;
    padding: 8px 12px;
    margin: 0 !important;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    background: #fff;
    color: var(--navy);
    font-size: 12px;
    font-weight: 600;
}

.mandate-compact-option input {
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    flex: 0 0 auto;
}

.withholding-box {
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 8px 10px !important;
    margin-top: 8px;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    background: #fff;
}

.withholding-box .checkbox-line {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    margin: 0 !important;
    gap: 7px;
}

.withholding-box #tf-withholding-wrap {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    width: auto !important;
    margin: 0 !important;
}

.withholding-box #tf-withholding-wrap span {
    white-space: nowrap;
}

.withholding-box #tf-withholding-pct {
    width: 72px !important;
    min-width: 72px;
}





/* ALPHA 0.6 - MARTELLETTO GIUDIZIARIO DASHBOARD */
.metric-icon-gavel {
    width: 42px;
    height: 42px;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
    flex: 0 0 42px;
    background: #0B1F3A;
    display: flex;
    align-items: center;
    justify-content: center;
}

.metric-icon-gavel img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* DASHBOARD - ICONE UNIFICATE */
.metric-icon-unified {
    width: 58px;
    height: 58px;
    padding: 0;
    flex: 0 0 58px;
    overflow: hidden;
    border-radius: 15px;
    background: #0B2342;
    display: flex;
    align-items: center;
    justify-content: center;
}

.metric-icon-unified img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

    
/* =========================================================
   ALPHA 0.6.18 - SIDEBAR SCROLL MENU
   Il menu centrale scorre indipendentemente dalla sidebar.
   Logo e profilo rimangono sempre visibili.
   ========================================================= */

.sidebar {
    height: 100vh;
    min-height: 0;
    overflow: hidden;
}

.side-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(211,189,138,.38) transparent;
}

/* Chrome / Safari */
.side-nav::-webkit-scrollbar {
    width: 5px;
}

.side-nav::-webkit-scrollbar-track {
    background: transparent;
}

.side-nav::-webkit-scrollbar-thumb {
    background: rgba(211,189,138,.38);
    border-radius: 10px;
}

.side-nav::-webkit-scrollbar-thumb:hover {
    background: rgba(211,189,138,.65);
}

.side-nav a {
    flex: 0 0 auto;
}


/* =========================================================
   ALPHA 0.6 - PROSSIMI 20 GIORNI
   ========================================================= */

.upcoming-20-panel {
    margin-top: 22px;
}

.upcoming-20-subtitle {
    display: block;
    margin-top: 4px;
    color: #8D96A3;
}

.upcoming-20-list {
    max-height: 430px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(211,189,138,.38) transparent;
}

.upcoming-20-list::-webkit-scrollbar {
    width: 5px;
}

.upcoming-20-list::-webkit-scrollbar-track {
    background: transparent;
}

.upcoming-20-list::-webkit-scrollbar-thumb {
    background: rgba(211,189,138,.38);
    border-radius: 10px;
}

.upcoming-20-list::-webkit-scrollbar-thumb:hover {
    background: rgba(211,189,138,.65);
}

.upcoming-20-list .today-event-row {
    position: relative;
}

.upcoming-20-list .today-event-date {
    min-width: 58px;
    text-align: center;
}

.upcoming-20-list .today-event-date strong {
    display: block;
    font-size: 1.25rem;
    line-height: 1;
}

.upcoming-20-list .today-event-date span {
    display: block;
    margin-top: 3px;
    font-size: .72rem;
    color: #8D96A3;
}

.upcoming-20-list .today-event-type.hearing {
    color: #D4A63A;
}


/* =========================================================
   ALPHA 0.6 - SUMMARY LINK
   Riepilogo della pagina Oggi completamente interattivo.
   ========================================================= */

.summary-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.summary-link:hover {
    text-decoration: none;
    background: rgba(212,166,58,.07);
    border-color: rgba(212,166,58,.38);
    transform: translateX(2px);
}

.summary-link:hover strong {
    color: #D4A63A;
}

.summary-link span {
    transition: color .18s ease;
}

.summary-link:hover span {
    color: #E3C66B;
}

/* Mantiene il riepilogo compatto anche quando gli elementi sono link */
.summary-link:focus-visible {
    outline: 2px solid rgba(212,166,58,.65);
    outline-offset: 2px;
}


/* =========================================================
   ALPHA 0.6 - PAYMENT EDIT ACTIONS
   ========================================================= */

.payment-row-editable {
    align-items: flex-start;
    gap: 18px;
}

.payment-main {
    min-width: 0;
    flex: 1;
}

.payment-main > strong,
.payment-main > span,
.payment-main > small {
    display: block;
}

.payment-main > small {
    margin-top: 4px;
    color: #98A2B3;
    font-size: 11px;
}

.payment-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.payment-actions form {
    margin: 0;
}

.payment-actions .compact {
    padding: 6px 10px;
    font-size: 11px;
}

.payment-edit-details {
    position: static;
    width: 100%;
}

.payment-edit-details > summary {
    list-style: none;
    cursor: pointer;
}

.payment-edit-details > summary::-webkit-details-marker {
    display: none;
}

.payment-edit-form {
    position: relative;
    z-index: 5;
    width: 100%;
    box-sizing: border-box;
    margin-top: 14px;
    padding: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(16,24,40,.10);
}

.payment-edit-form .wide {
    grid-column: 1 / -1;
}

.payment-edit-form label {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.payment-edit-form label > span {
    font-size: 10px;
    font-weight: 600;
    color: #667085;
}

.payment-edit-form input,
.payment-edit-form select {
    min-height: 36px;
}

.payment-edit-buttons {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.payment-actions .button.danger {
    border-color: rgba(169,79,61,.35);
    color: #A94F3D;
    background: transparent;
}

.payment-actions .button.danger:hover {
    background: rgba(169,79,61,.08);
    border-color: rgba(169,79,61,.55);
}

@media (max-width: 760px) {
    .payment-row-editable {
        flex-direction: column;
    }

    .payment-side {
        width: 100%;
        align-items: flex-start;
    }

    .payment-edit-form {
        position: fixed;
        left: 5vw;
        right: 5vw;
        top: 12vh;
        width: auto;
        max-height: 76vh;
        overflow-y: auto;
    }
}


.payment-edit-details[open] {
    width: 100%;
}

.payment-edit-details[open] .payment-edit-form {
    grid-column: 1 / -1;
}

.payment-row-editable:has(.payment-edit-details[open]) {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
}

.payment-row-editable:has(.payment-edit-details[open]) .payment-edit-details {
    grid-column: 1 / -1;
}

.payment-row-editable:has(.payment-edit-details[open]) .payment-actions {
    align-self: start;
}


/* =========================================================
   ALPHA 0.6 - PAYMENT BUTTON ALIGNMENT
   Azioni incassi uniformate graficamente
   ========================================================= */

.payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 32px;
}

.payment-actions .payment-edit-details {
    margin: 0;
}

.payment-actions .button.compact,
.payment-actions .payment-edit-details > summary.button {
    box-sizing: border-box;
    min-width: 82px;
    height: 32px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

/* MODIFICA */
.payment-actions .payment-edit-details > summary.button {
    border: 1px solid rgba(212,166,58,.45);
    background: rgba(212,166,58,.06);
    color: #A77B18;
    cursor: pointer;
    transition: all .18s ease;
}

.payment-actions .payment-edit-details > summary.button:hover {
    background: rgba(212,166,58,.14);
    border-color: rgba(212,166,58,.70);
    color: #8C6715;
}

/* ELIMINA */
.payment-actions .button.danger.compact {
    min-width: 82px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(169,79,61,.38);
    background: rgba(169,79,61,.04);
    color: #A94F3D;
    cursor: pointer;
    transition: all .18s ease;
}

.payment-actions .button.danger.compact:hover {
    background: rgba(169,79,61,.10);
    border-color: rgba(169,79,61,.58);
    color: #8F3F30;
}

/* Evita che il summary abbia l'aspetto nativo del tag details */
.payment-edit-details > summary.button::-webkit-details-marker {
    display: none;
}

.payment-edit-details > summary.button::marker {
    display: none;
}

.payment-actions form {
    display: flex;
    margin: 0;
}

@media (max-width: 760px) {
    .payment-actions {
        justify-content: flex-start;
    }
}


/* =========================================================
   ALPHA 0.6 - PAYMENT ACTIONS FINAL
   ========================================================= */

.payment-actions {
    width: 100%;
    margin-top: 10px;
}

.payment-action-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.payment-action-buttons .payment-edit-details {
    margin: 0;
    padding: 0;
}

.payment-action-buttons > form {
    margin: 0;
    padding: 0;
    display: flex;
}

.payment-action-buttons .payment-edit-details > summary,
.payment-action-buttons > form > button {
    box-sizing: border-box;
    width: 84px;
    height: 32px;
    min-height: 32px;
    margin: 0;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.payment-action-buttons .payment-edit-details > summary {
    list-style: none;
    cursor: pointer;
}

.payment-action-buttons .payment-edit-details > summary::-webkit-details-marker {
    display: none;
}

.payment-action-buttons .payment-edit-details > summary::marker {
    display: none;
}

.payment-action-buttons .payment-edit-details[open] {
    width: 100%;
}

.payment-action-buttons .payment-edit-details[open] .payment-edit-form {
    margin-top: 14px;
}

/* Quando Modifica è aperto, il modulo occupa tutta la riga */
.payment-actions:has(.payment-edit-details[open]) {
    display: block;
}

.payment-actions:has(.payment-edit-details[open]) .payment-action-buttons {
    justify-content: flex-end;
}

/* Modifica */
.payment-action-buttons .payment-edit-details > summary {
    border: 1px solid rgba(212,166,58,.45);
    background: rgba(212,166,58,.06);
    color: #A77B18;
}

.payment-action-buttons .payment-edit-details > summary:hover {
    background: rgba(212,166,58,.14);
    border-color: rgba(212,166,58,.70);
}

/* Elimina */
.payment-action-buttons .button.danger {
    border: 1px solid rgba(169,79,61,.38);
    background: rgba(169,79,61,.04);
    color: #A94F3D;
}

.payment-action-buttons .button.danger:hover {
    background: rgba(169,79,61,.10);
    border-color: rgba(169,79,61,.58);
}


/* =========================================================
   ALPHA 0.6 - PAYMENT ROW FINAL STRUCTURE
   ========================================================= */

.payment-row-editable {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.payment-main {
    flex: 1;
    min-width: 0;
}

.payment-main > strong,
.payment-main > span,
.payment-main > small {
    display: block;
}

.payment-main > small {
    margin-top: 5px;
    color: #98A2B3;
    font-size: 11px;
}

.payment-right {
    flex: 0 0 auto;
    min-width: 180px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 9px;
}

.payment-amount {
    font-size: 15px;
    white-space: nowrap;
}

.payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.payment-edit-details {
    margin: 0;
    padding: 0;
}

.payment-edit-details > summary {
    list-style: none;
}

.payment-edit-details > summary::-webkit-details-marker {
    display: none;
}

.payment-edit-details > summary::marker {
    display: none;
}

.payment-action-button {
    box-sizing: border-box;
    width: 84px;
    height: 32px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    margin: 0;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.payment-edit-button {
    border: 1px solid rgba(212,166,58,.45);
    background: rgba(212,166,58,.06);
    color: #A77B18;
    cursor: pointer;
}

.payment-edit-button:hover {
    background: rgba(212,166,58,.14);
    border-color: rgba(212,166,58,.70);
}

.payment-delete-form {
    margin: 0;
    padding: 0;
}

.payment-delete-button {
    border: 1px solid rgba(169,79,61,.38);
    background: rgba(169,79,61,.04);
    color: #A94F3D;
    cursor: pointer;
}

.payment-delete-button:hover {
    background: rgba(169,79,61,.10);
    border-color: rgba(169,79,61,.58);
}

.payment-edit-form {
    width: 100%;
    box-sizing: border-box;
    margin-top: 14px;
    padding: 18px;
    background: #F8F9FA;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
}

.payment-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.payment-edit-grid label {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.payment-edit-grid label > span {
    font-size: 10px;
    font-weight: 600;
    color: #667085;
}

.payment-edit-grid input,
.payment-edit-grid select {
    min-height: 36px;
    width: 100%;
    box-sizing: border-box;
}

.payment-edit-wide {
    grid-column: 1 / -1;
}

.payment-edit-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

@media (max-width: 760px) {

    .payment-row-editable {
        flex-direction: column;
    }

    .payment-right {
        width: 100%;
        align-items: flex-start;
        min-width: 0;
    }

    .payment-actions {
        justify-content: flex-start;
    }

    .payment-edit-grid {
        grid-template-columns: 1fr;
    }

    .payment-edit-wide {
        grid-column: auto;
    }
}

/* =========================================================
   ALPHA 0.6 - PAYMENT ACTIONS FIX DEFINITIVO
   Modifica + Elimina sempre sulla stessa riga
   ========================================================= */

.payment-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 176px !important;
    margin-top: 0 !important;
}

.payment-actions .payment-edit-details {
    display: block !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    flex: 0 0 84px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.payment-actions .payment-edit-details > summary {
    box-sizing: border-box !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.payment-actions .payment-delete-form {
    display: flex !important;
    flex: 0 0 84px !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.payment-actions .payment-delete-button {
    box-sizing: border-box !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Il form di modifica resta sotto le azioni */
.payment-edit-details[open] {
    width: auto !important;
}

.payment-edit-details[open] .payment-edit-form {
    width: min(760px, calc(100vw - 80px)) !important;
    margin-top: 14px !important;
}

/* Quando il modulo è aperto NON alteriamo la barra dei pulsanti */
.payment-row-editable:has(.payment-edit-details[open]) .payment-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: auto !important;
}


/* =========================================================
   ALPHA 0.6 - MODIFICA INCASSO VISIBILE
   ========================================================= */

.payment-row-editable {
    overflow: visible !important;
}

.payment-right {
    overflow: visible !important;
}

.payment-actions {
    position: relative !important;
    overflow: visible !important;
}

.payment-edit-details {
    position: static !important;
    overflow: visible !important;
}

.payment-edit-details[open] {
    position: static !important;
    overflow: visible !important;
}

.payment-edit-form {
    position: absolute !important;
    z-index: 100 !important;
    right: 0 !important;
    top: 42px !important;

    width: min(760px, calc(100vw - 100px)) !important;
    max-width: 760px !important;
    max-height: 70vh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    box-sizing: border-box !important;
    padding: 20px !important;

    background: #FFFFFF !important;
    border: 1px solid #D9DEE7 !important;
    border-radius: 12px !important;

    box-shadow: 0 18px 45px rgba(16,24,40,.18) !important;
}

.payment-edit-grid {
    width: 100% !important;
}

.payment-edit-footer {
    position: sticky !important;
    bottom: 0 !important;
    background: #FFFFFF !important;
    padding-top: 12px !important;
}

@media (max-width: 760px) {

    .payment-edit-form {
        position: fixed !important;
        z-index: 1000 !important;

        left: 5vw !important;
        right: 5vw !important;
        top: 10vh !important;

        width: 90vw !important;
        max-width: none !important;
        max-height: 80vh !important;

        overflow-y: auto !important;
    }
}


/* =========================================================
   ALPHA 0.6 - MODIFICA INCASSO
   POSIZIONAMENTO VERTICALE DEFINITIVO
   ========================================================= */

.payment-edit-details {
    position: static !important;
    display: block !important;
    width: auto !important;
    overflow: visible !important;
}

.payment-edit-details[open] {
    width: auto !important;
}

.payment-edit-form {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;

    z-index: 10 !important;

    width: 100% !important;
    max-width: none !important;
    max-height: none !important;

    margin-top: 14px !important;

    overflow: visible !important;

    box-sizing: border-box !important;
}

.payment-actions {
    position: static !important;
    overflow: visible !important;
}

/* Quando il modulo è aperto, lo spazio verticale viene
   occupato normalmente dalla pagina */
.payment-edit-details[open] .payment-edit-form {
    display: block !important;
}

.payment-edit-grid {
    width: 100% !important;
    box-sizing: border-box !important;
}

.payment-edit-footer {
    position: static !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 14px !important;
    padding-top: 0 !important;
}


/* =========================================================
   ALPHA 0.6 - MODIFICA INCASSO A TUTTA LARGHEZZA
   ========================================================= */

.payment-row-editable {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    align-items: start !important;
    overflow: visible !important;
}

.payment-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.payment-right {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 180px !important;
    overflow: visible !important;
}

/* Il pannello aperto si estende sotto L'INTERA riga */
.payment-row-editable:has(.payment-edit-details[open]) {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.payment-row-editable:has(.payment-edit-details[open]) .payment-edit-form {
    width: calc(100vw - 260px) !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin-top: 14px !important;
}

/* Il form viene allineato alla colonna principale,
   ma può estendersi verso destra */
.payment-edit-form {
    min-width: 600px !important;
}

/* Schermi normali */
@media (min-width: 1000px) {
    .payment-row-editable:has(.payment-edit-details[open]) .payment-edit-form {
        width: min(900px, calc(100vw - 300px)) !important;
    }
}

/* Schermi piccoli */
@media (max-width: 900px) {
    .payment-row-editable {
        display: block !important;
    }

    .payment-right {
        width: 100% !important;
        min-width: 0 !important;
    }

    .payment-row-editable:has(.payment-edit-details[open]) .payment-edit-form {
        width: 100% !important;
        min-width: 0 !important;
    }

    .payment-edit-form {
        min-width: 0 !important;
    }
}


/* =========================================================
   ALPHA 0.6 - INCASSI
   STRUTTURA DEFINITIVA MODIFICA / ELIMINA
   ========================================================= */

.payment-row-editable {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    align-items: start !important;
    overflow: visible !important;
}

.payment-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.payment-right {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 190px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 9px !important;
    overflow: visible !important;
}

.payment-amount {
    white-space: nowrap !important;
}

.payment-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 176px !important;
    margin: 0 !important;
}

.payment-action-button {
    box-sizing: border-box !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 7px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.payment-edit-button {
    border: 1px solid rgba(212,166,58,.45) !important;
    background: rgba(212,166,58,.06) !important;
    color: #A77B18 !important;
    cursor: pointer !important;
}

.payment-edit-button:hover {
    background: rgba(212,166,58,.14) !important;
    border-color: rgba(212,166,58,.70) !important;
}

.payment-delete-form {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.payment-delete-button {
    border: 1px solid rgba(169,79,61,.38) !important;
    background: rgba(169,79,61,.04) !important;
    color: #A94F3D !important;
    cursor: pointer !important;
}

.payment-delete-button:hover {
    background: rgba(169,79,61,.10) !important;
    border-color: rgba(169,79,61,.58) !important;
}

/* FORM DI MODIFICA:
   elemento diretto della payment-row,
   quindi può occupare tutta la larghezza */

.payment-row-editable > .payment-edit-form {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    display: none !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    box-sizing: border-box !important;
    margin: 16px 0 0 0 !important;
    padding: 20px !important;

    background: #F8F9FA !important;
    border: 1px solid #D9DEE7 !important;
    border-radius: 10px !important;

    overflow: visible !important;
}

.payment-row-editable > .payment-edit-form.is-open {
    display: block !important;
}

.payment-edit-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
}

.payment-edit-grid label {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.payment-edit-grid label > span {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #667085 !important;
}

.payment-edit-grid input,
.payment-edit-grid select {
    width: 100% !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
}

.payment-edit-wide {
    grid-column: 1 / -1 !important;
}

.payment-edit-footer {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 16px !important;
}

@media (max-width: 800px) {

    .payment-row-editable {
        display: block !important;
    }

    .payment-right {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 10px !important;
        align-items: flex-start !important;
    }

    .payment-actions {
        justify-content: flex-start !important;
    }

    .payment-row-editable > .payment-edit-form {
        width: 100% !important;
    }

    .payment-edit-grid {
        grid-template-columns: 1fr !important;
    }

    .payment-edit-wide {
        grid-column: auto !important;
    }
}

/* SPAZIATURA PAGINA CLIENTE */
.client-workspace-grid > div > .panel + .panel,
.client-workspace-grid > aside > .panel + .panel {
    margin-top: 28px;
}

/* =========================================================
   ANTISTRESS - TRIS CONTRO IL COMPUTER
   Blu notte + oro + grigio
   ========================================================= */

.tic-controls{
    margin:0 0 22px;
    padding:20px;
    background:linear-gradient(
        145deg,
        #14213a 0%,
        #1b2b49 100%
    );
    border:1px solid rgba(176,138,67,.35);
    border-radius:16px;
    box-shadow:
        0 12px 30px rgba(20,33,58,.14),
        inset 0 1px 0 rgba(255,255,255,.04);
    color:#fff;
}

.tic-control-group{
    margin-bottom:18px;
}

.tic-control-group:last-of-type{
    margin-bottom:20px;
}

.tic-control-group > span{
    display:block;
    margin-bottom:9px;
    color:#d8dce3;
    font-size:10px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.tic-choice-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.tic-choice{
    min-width:48px;
    padding:9px 16px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:9px;
    background:rgba(255,255,255,.07);
    color:#e9edf3;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .12s ease,
        box-shadow .18s ease;
}

.tic-choice:hover{
    background:rgba(255,255,255,.13);
    border-color:rgba(176,138,67,.65);
    color:#fff;
    transform:translateY(-1px);
}

.tic-choice.active{
    background:#b08a43 !important;
    border-color:#d2b36c !important;
    color:#14213a !important;
    box-shadow:
        0 4px 12px rgba(176,138,67,.30),
        inset 0 1px 0 rgba(255,255,255,.22);
}

.tic-symbol-choice{
    width:52px;
    min-width:52px;
    font-family:Georgia,serif;
    font-size:16px;
}

.tic-score{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-top:4px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
}

.tic-score > div{
    padding:11px 7px;
    text-align:center;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    border-radius:10px;
}

.tic-score strong{
    display:block;
    color:#d2b36c;
    font-family:Georgia,serif;
    font-size:22px;
    line-height:1;
}

.tic-score span{
    display:block;
    margin-top:6px;
    color:#c4cad4;
    font-size:9px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.tic-actions{
    display:flex;
    gap:9px;
    margin-top:16px;
}

.tic-actions .button{
    flex:1;
    min-height:38px;
    font-size:10px;
}

.tic-grid{
    width:min(100%,360px);
    margin:8px auto 18px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    padding:10px;
    background:#e7e9ed;
    border:1px solid #d8dce2;
    border-radius:16px;
    box-shadow:
        inset 0 1px 2px rgba(20,33,58,.05),
        0 8px 20px rgba(20,33,58,.08);
}

.tic-cell{
    aspect-ratio:1;
    min-height:82px;
    border:1px solid #d5d9df;
    border-radius:12px;
    background:#fff;
    color:#14213a;
    font-family:Georgia,serif;
    font-size:34px;
    font-weight:600;
    cursor:pointer;
    box-shadow:
        0 2px 4px rgba(20,33,58,.05);
    transition:
        transform .12s ease,
        background .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.tic-cell:hover:not(:disabled){
    background:#f8f7f3;
    border-color:#b08a43;
    transform:translateY(-2px);
    box-shadow:
        0 6px 14px rgba(20,33,58,.10);
}

.tic-cell.tic-x{
    color:#14213a;
}

.tic-cell.tic-o{
    color:#b08a43;
}

.tic-cell.tic-winning{
    background:#f7f0df !important;
    border-color:#b08a43 !important;
    box-shadow:
        0 0 0 2px rgba(176,138,67,.22),
        0 8px 18px rgba(176,138,67,.18);
    transform:scale(1.02);
}

#tic-status{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:8px 13px;
    background:#f4f5f7;
    border:1px solid #e1e4e8;
    border-radius:9px;
    color:#14213a;
    font-size:11px;
    font-weight:700;
}

.antistress-card .antistress-footer{
    gap:10px;
}

/* Mobile */
@media(max-width:650px){

    .tic-controls{
        padding:16px;
    }

    .tic-choice{
        padding:8px 12px;
        font-size:10px;
    }

    .tic-score{
        gap:6px;
    }

    .tic-score strong{
        font-size:19px;
    }

    .tic-score span{
        font-size:8px;
    }

    .tic-actions{
        flex-direction:column;
    }

    .tic-grid{
        gap:7px;
        padding:8px;
    }

    .tic-cell{
        min-height:70px;
        font-size:29px;
    }
}


/* =========================================================
   ANTISTRESS - COMPATTAZIONE PRIMI 3 GIOCHI
   ========================================================= */

.antistress-grid > .game-card:nth-child(1),
.antistress-grid > .game-card:nth-child(2),
.antistress-grid > .game-card:nth-child(3){
    padding:15px !important;
}

/* MEMORY - più compatto */
.antistress-grid > .game-card:nth-child(1) .memory-grid{
    transform:scale(.88);
    transform-origin:top center;
    margin-bottom:-18px;
}

.antistress-grid > .game-card:nth-child(1) .antistress-footer{
    margin-top:2px;
}

/* TRIS - compatto */
.antistress-grid > .tic-card{
    padding:15px !important;
}

.antistress-grid > .tic-card .tic-grid{
    max-width:205px;
    gap:4px;
    padding:5px;
    margin:4px auto 5px;
}

.antistress-grid > .tic-card .tic-cell{
    min-height:52px;
    border-radius:7px;
    font-size:23px;
}

.antistress-grid > .tic-card .tic-controls{
    margin-bottom:5px;
    padding:6px 8px;
}

.antistress-grid > .tic-card .tic-control-group{
    gap:4px;
}

.antistress-grid > .tic-card .tic-choice{
    min-width:28px;
    padding:4px 6px;
    font-size:7.5px;
}

.antistress-grid > .tic-card .tic-symbol-choice{
    width:29px;
    min-width:29px;
    font-size:11px;
}

.antistress-grid > .tic-card .antistress-footer{
    margin-top:2px;
}

/* REAZIONE - molto più bassa */
.antistress-grid > .game-card:nth-child(3) .reaction-stage{
    height:125px;
    min-height:125px;
    border-radius:11px;
    font-size:11px;
}

.antistress-grid > .game-card:nth-child(3) .antistress-footer{
    margin-top:7px;
}

/* Uniformità */
.antistress-grid > .game-card:nth-child(-n+3) .panel-head{
    margin-bottom:7px;
}

.antistress-grid > .game-card:nth-child(-n+3) .panel-head h2{
    font-size:16px;
}

@media(max-width:650px){

    .antistress-grid > .game-card:nth-child(1) .memory-grid{
        transform:scale(.94);
        margin-bottom:-10px;
    }

    .antistress-grid > .tic-card .tic-grid{
        max-width:245px;
    }

    .antistress-grid > .tic-card .tic-cell{
        min-height:60px;
    }

    .antistress-grid > .game-card:nth-child(3) .reaction-stage{
        height:130px;
        min-height:130px;
    }
}


/* =========================================================
   FIX TRIS - RIPRISTINO LAYOUT COMPATTO E ORDINATO
   ========================================================= */

.tic-card{
    min-width:0;
    overflow:hidden;
}

.tic-card .tic-controls{
    width:100%;
    box-sizing:border-box;
    margin:0 0 8px !important;
    padding:7px 9px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:nowrap !important;
}

.tic-card .tic-control-group{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0 !important;
    min-width:0;
}

.tic-card .tic-control-group > span{
    white-space:nowrap;
    margin:0 !important;
    font-size:7px !important;
}

.tic-card .tic-choice-row{
    display:flex;
    gap:3px;
    flex-wrap:nowrap;
}

.tic-card .tic-choice{
    min-width:29px !important;
    width:auto;
    height:25px;
    padding:3px 6px !important;
    box-sizing:border-box;
    font-size:7px !important;
    line-height:1;
}

.tic-card .tic-symbol-choice{
    width:27px !important;
    min-width:27px !important;
    font-size:11px !important;
}

.tic-card .tic-grid{
    display:grid !important;
    width:100% !important;
    max-width:190px !important;
    margin:7px auto !important;
    padding:5px !important;
    box-sizing:border-box;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
}

.tic-card .tic-cell{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    aspect-ratio:1 / 1;
    height:auto !important;
    padding:0 !important;
    box-sizing:border-box;
    border-radius:7px;
    font-size:23px !important;
    line-height:1;
}

.tic-card .antistress-footer{
    width:100%;
    box-sizing:border-box;
    margin-top:5px !important;
}

.tic-card #tic-status{
    min-width:0;
    max-width:65%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8px !important;
    padding:5px 8px !important;
}

.tic-card .antistress-footer .button{
    flex:0 0 auto;
    min-height:28px;
    padding:5px 9px;
    font-size:8px;
}

/* Elimina l'effetto di compressione precedente */
.antistress-grid > .tic-card .tic-grid{
    transform:none !important;
}

@media(max-width:650px){

    .tic-card .tic-controls{
        flex-wrap:wrap !important;
    }

    .tic-card .tic-grid{
        max-width:235px !important;
    }

    .tic-card .tic-cell{
        font-size:26px !important;
    }
}


/* =========================================================
   FIX TRIS - RIPRISTINO LAYOUT COMPATTO E ORDINATO
   ========================================================= */

.tic-card{
    min-width:0;
    overflow:hidden;
}

.tic-card .tic-controls{
    width:100%;
    box-sizing:border-box;
    margin:0 0 8px !important;
    padding:7px 9px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:nowrap !important;
}

.tic-card .tic-control-group{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:0 !important;
    min-width:0;
}

.tic-card .tic-control-group > span{
    white-space:nowrap;
    margin:0 !important;
    font-size:7px !important;
}

.tic-card .tic-choice-row{
    display:flex;
    gap:3px;
    flex-wrap:nowrap;
}

.tic-card .tic-choice{
    min-width:29px !important;
    width:auto;
    height:25px;
    padding:3px 6px !important;
    box-sizing:border-box;
    font-size:7px !important;
    line-height:1;
}

.tic-card .tic-symbol-choice{
    width:27px !important;
    min-width:27px !important;
    font-size:11px !important;
}

.tic-card .tic-grid{
    display:grid !important;
    width:100% !important;
    max-width:190px !important;
    margin:7px auto !important;
    padding:5px !important;
    box-sizing:border-box;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
}

.tic-card .tic-cell{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    aspect-ratio:1 / 1;
    height:auto !important;
    padding:0 !important;
    box-sizing:border-box;
    border-radius:7px;
    font-size:23px !important;
    line-height:1;
}

.tic-card .antistress-footer{
    width:100%;
    box-sizing:border-box;
    margin-top:5px !important;
}

.tic-card #tic-status{
    min-width:0;
    max-width:65%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8px !important;
    padding:5px 8px !important;
}

.tic-card .antistress-footer .button{
    flex:0 0 auto;
    min-height:28px;
    padding:5px 9px;
    font-size:8px;
}

/* Elimina l'effetto di compressione precedente */
.antistress-grid > .tic-card .tic-grid{
    transform:none !important;
}

@media(max-width:650px){

    .tic-card .tic-controls{
        flex-wrap:wrap !important;
    }

    .tic-card .tic-grid{
        max-width:235px !important;
    }

    .tic-card .tic-cell{
        font-size:26px !important;
    }
}


/* =========================================================
   TRIS - IMPOSTAZIONI ULTRA COMPATTE
   Il campo di gioco rimane comodo
   ========================================================= */

.tic-card .tic-controls{
    width:100%;
    box-sizing:border-box;
    margin:0 0 10px !important;
    padding:6px 8px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    flex-wrap:nowrap !important;

    background:#14213a;
    border-radius:9px;
}

/* Gruppi X/O e difficoltà */
.tic-card .tic-control-group{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
}

.tic-card .tic-control-group > span{
    margin:0 !important;
    padding:0 !important;

    font-size:7px !important;
    line-height:1 !important;
    letter-spacing:.35px !important;

    white-space:nowrap !important;
}

/* Pulsanti */
.tic-card .tic-choice-row{
    display:flex !important;
    align-items:center !important;
    gap:3px !important;
    flex-wrap:nowrap !important;
}

.tic-card .tic-choice{
    height:22px !important;
    min-width:27px !important;

    margin:0 !important;
    padding:2px 6px !important;

    border-radius:5px !important;

    font-size:7px !important;
    line-height:1 !important;
}

/* X / O */
.tic-card .tic-symbol-choice{
    width:25px !important;
    min-width:25px !important;
    padding:2px !important;

    font-size:10px !important;
}

/* =========================================================
   CAMPO DI GIOCO
   ========================================================= */

.tic-card .tic-grid{
    width:100% !important;
    max-width:225px !important;

    margin:10px auto 9px !important;
    padding:7px !important;

    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:5px !important;

    box-sizing:border-box;
}

.tic-card .tic-cell{
    width:100% !important;
    aspect-ratio:1 / 1 !important;

    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;

    padding:0 !important;
    margin:0 !important;

    font-size:28px !important;
    line-height:1 !important;

    border-radius:8px !important;
}

/* Stato + nuova partita */
.tic-card .antistress-footer{
    margin-top:4px !important;
    min-height:28px;
}

.tic-card #tic-status{
    min-height:26px !important;
    padding:5px 8px !important;

    font-size:8px !important;
}

.tic-card .antistress-footer .button{
    min-height:27px !important;
    padding:5px 9px !important;

    font-size:8px !important;
}

/* Mobile: permetti ai controlli di andare su due righe */
@media(max-width:650px){

    .tic-card .tic-controls{
        gap:7px !important;
        flex-wrap:wrap !important;
    }

    .tic-card .tic-grid{
        max-width:255px !important;
    }

    .tic-card .tic-cell{
        font-size:30px !important;
    }
}


/* =========================================================
   TRIS - IMPOSTAZIONI ULTRA COMPATTE
   Il campo di gioco rimane comodo
   ========================================================= */

.tic-card .tic-controls{
    width:100%;
    box-sizing:border-box;
    margin:0 0 10px !important;
    padding:6px 8px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    flex-wrap:nowrap !important;

    background:#14213a;
    border-radius:9px;
}

/* Gruppi X/O e difficoltà */
.tic-card .tic-control-group{
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
}

.tic-card .tic-control-group > span{
    margin:0 !important;
    padding:0 !important;

    font-size:7px !important;
    line-height:1 !important;
    letter-spacing:.35px !important;

    white-space:nowrap !important;
}

/* Pulsanti */
.tic-card .tic-choice-row{
    display:flex !important;
    align-items:center !important;
    gap:3px !important;
    flex-wrap:nowrap !important;
}

.tic-card .tic-choice{
    height:22px !important;
    min-width:27px !important;

    margin:0 !important;
    padding:2px 6px !important;

    border-radius:5px !important;

    font-size:7px !important;
    line-height:1 !important;
}

/* X / O */
.tic-card .tic-symbol-choice{
    width:25px !important;
    min-width:25px !important;
    padding:2px !important;

    font-size:10px !important;
}

/* =========================================================
   CAMPO DI GIOCO
   ========================================================= */

.tic-card .tic-grid{
    width:100% !important;
    max-width:225px !important;

    margin:10px auto 9px !important;
    padding:7px !important;

    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:5px !important;

    box-sizing:border-box;
}

.tic-card .tic-cell{
    width:100% !important;
    aspect-ratio:1 / 1 !important;

    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;

    padding:0 !important;
    margin:0 !important;

    font-size:28px !important;
    line-height:1 !important;

    border-radius:8px !important;
}

/* Stato + nuova partita */
.tic-card .antistress-footer{
    margin-top:4px !important;
    min-height:28px;
}

.tic-card #tic-status{
    min-height:26px !important;
    padding:5px 8px !important;

    font-size:8px !important;
}

.tic-card .antistress-footer .button{
    min-height:27px !important;
    padding:5px 9px !important;

    font-size:8px !important;
}

/* Mobile: permetti ai controlli di andare su due righe */
@media(max-width:650px){

    .tic-card .tic-controls{
        gap:7px !important;
        flex-wrap:wrap !important;
    }

    .tic-card .tic-grid{
        max-width:255px !important;
    }

    .tic-card .tic-cell{
        font-size:30px !important;
    }
}


/* =========================================================
   TRIS - RICOSTRUZIONE COMPLETA DEL LAYOUT
   Ultima regola: prevale sulle precedenti definizioni
   ========================================================= */

.tic-card{
    position:relative !important;
    overflow:visible !important;
    min-width:0 !important;
}

/* ---------------------------------------------------------
   CONTENITORE IMPOSTAZIONI
   --------------------------------------------------------- */

.tic-card .tic-controls{
    position:relative !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 0 12px !important;
    padding:8px 10px !important;

    box-sizing:border-box !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;

    gap:16px !important;

    flex-wrap:nowrap !important;

    background:#14213a !important;
    border:1px solid rgba(176,138,67,.35) !important;
    border-radius:9px !important;

    box-shadow:none !important;

    color:#fff !important;

    overflow:hidden !important;
}

/* ---------------------------------------------------------
   GRUPPI "TU GIOCHI CON" / "DIFFICOLTÀ"
   --------------------------------------------------------- */

.tic-card .tic-controls .tic-control-group{
    position:relative !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    height:26px !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    gap:5px !important;
}

.tic-card .tic-controls .tic-control-group > span{
    display:block !important;

    width:auto !important;
    margin:0 !important;
    padding:0 !important;

    color:#d9dee7 !important;

    font-size:7px !important;
    line-height:1 !important;
    font-weight:700 !important;

    letter-spacing:.35px !important;
    white-space:nowrap !important;
    text-transform:uppercase !important;
}

/* ---------------------------------------------------------
   RIGA DEI PULSANTI
   --------------------------------------------------------- */

.tic-card .tic-controls .tic-choice-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;

    width:auto !important;
    height:24px !important;

    margin:0 !important;
    padding:0 !important;

    gap:3px !important;
    flex-wrap:nowrap !important;
}

.tic-card .tic-controls .tic-choice{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    height:23px !important;

    margin:0 !important;
    padding:3px 7px !important;

    box-sizing:border-box !important;

    border-radius:5px !important;

    font-size:7px !important;
    line-height:1 !important;
    font-weight:700 !important;

    white-space:nowrap !important;
}

/* X e O */
.tic-card .tic-controls .tic-symbol-choice{
    width:25px !important;
    min-width:25px !important;
    padding:2px !important;

    font-family:Georgia,serif !important;
    font-size:11px !important;
}

/* ---------------------------------------------------------
   NASCONDIAMO LE STATISTICHE DAL BLOCCO IMPOSTAZIONI
   Le statistiche rimangono salvate dal JavaScript.
   --------------------------------------------------------- */

.tic-card .tic-controls .tic-score{
    display:none !important;
}

/* ---------------------------------------------------------
   NASCONDIAMO LE AZIONI DUPLICATE
   Rimane il pulsante "Nuova" nel footer principale.
   --------------------------------------------------------- */

.tic-card .tic-controls .tic-actions{
    display:none !important;
}

/* ---------------------------------------------------------
   SCACCHIERA
   --------------------------------------------------------- */

.tic-card #tic-grid,
.tic-card .tic-grid{
    position:relative !important;

    width:100% !important;
    max-width:245px !important;

    height:auto !important;
    min-height:0 !important;

    margin:12px auto 10px !important;
    padding:7px !important;

    box-sizing:border-box !important;

    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-template-rows:repeat(3,minmax(0,1fr)) !important;

    gap:6px !important;

    background:#eef0f3 !important;

    border:1px solid #d9dde3 !important;
    border-radius:13px !important;

    box-shadow:
        0 5px 14px rgba(20,33,58,.08) !important;
}

/* Celle */
.tic-card #tic-grid .tic-cell,
.tic-card .tic-grid .tic-cell{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;

    height:auto !important;
    aspect-ratio:1 / 1 !important;

    margin:0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    border:1px solid #d7dbe1 !important;
    border-radius:9px !important;

    background:#fff !important;

    color:#14213a !important;

    font-family:Georgia,serif !important;
    font-size:31px !important;
    font-weight:600 !important;
    line-height:1 !important;

    cursor:pointer !important;

    transition:
        transform .12s ease,
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease !important;
}

.tic-card #tic-grid .tic-cell:hover{
    background:#faf9f6 !important;
    border-color:#b08a43 !important;
    transform:translateY(-1px) !important;
}

/* X */
.tic-card #tic-grid .tic-cell.tic-x{
    color:#14213a !important;
}

/* O */
.tic-card #tic-grid .tic-cell.tic-o{
    color:#b08a43 !important;
}

/* Vincente */
.tic-card #tic-grid .tic-cell.tic-winning{
    background:#f7f0df !important;
    border-color:#b08a43 !important;

    box-shadow:
        0 0 0 2px rgba(176,138,67,.18) !important;

    transform:none !important;
}

/* ---------------------------------------------------------
   FOOTER DEL TRIS
   --------------------------------------------------------- */

.tic-card > .antistress-footer{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;
    min-height:30px !important;

    margin:4px 0 0 !important;
    padding:0 !important;
}

.tic-card > .antistress-footer #tic-status{
    display:inline-flex !important;
    align-items:center !important;

    min-width:0 !important;
    max-width:70% !important;
    min-height:27px !important;

    margin:0 !important;
    padding:5px 9px !important;

    box-sizing:border-box !important;

    background:#f4f5f7 !important;
    border:1px solid #e0e3e8 !important;
    border-radius:7px !important;

    color:#14213a !important;

    font-size:8px !important;
    font-weight:700 !important;
    line-height:1 !important;

    white-space:nowrap !important;
}

.tic-card > .antistress-footer .button{
    flex:0 0 auto !important;

    min-height:29px !important;

    margin:0 !important;
    padding:5px 11px !important;

    border-radius:7px !important;

    font-size:8px !important;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:650px){

    .tic-card .tic-controls{
        gap:8px !important;
        padding:7px !important;
    }

    .tic-card .tic-controls .tic-control-group > span{
        font-size:6.5px !important;
    }

    .tic-card #tic-grid,
    .tic-card .tic-grid{
        max-width:270px !important;
    }

    .tic-card #tic-grid .tic-cell,
    .tic-card .tic-grid .tic-cell{
        font-size:31px !important;
    }
}


/* ALPHA 0.6 - Multi alert più compatto */
.multi-alert-grid {
    gap: 6px !important;
}

.multi-alert-option {
    gap: 6px !important;
    padding: 6px 8px !important;
    min-height: 30px !important;
    border-radius: 8px !important;
}

.multi-alert-option input {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
}

.multi-alert-option span {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

.multi-alert-help {
    margin-top: 5px !important;
    font-size: 10px !important;
}


/* =========================================================
   ALPHA 0.6 - AREA DELLA PRATICA / RESTYLING PROFESSIONALE
   ========================================================= */

.area-selector {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch;
}

.area-option {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
    min-height: 118px !important;
    padding: 13px 12px 12px !important;
    border: 1px solid #dfe4e9 !important;
    border-radius: 10px !important;
    background: #ffffff;
    cursor: pointer;
    overflow: hidden;
    transition: border-color .15s ease,
                box-shadow .15s ease,
                background .15s ease,
                transform .15s ease;
}

.area-option::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: transparent;
    transition: background .15s ease;
}

.area-option:hover {
    transform: translateY(-1px) !important;
    border-color: #b8c1ca !important;
    box-shadow: 0 6px 16px rgba(16, 40, 63, .06) !important;
}

.area-option.selected {
    border-color: #b89552 !important;
    background: #fbf9f4 !important;
    box-shadow: 0 0 0 1px rgba(184,149,82,.14) !important;
}

.area-option.selected::before {
    background: #b89552;
}

.area-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.area-option-icon {
    display: grid !important;
    place-items: center;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px;
    margin: 0 0 9px 0 !important;
    border-radius: 7px !important;
    background: #f1f4f6 !important;
    color: #10283f;
    transition: background .15s ease, color .15s ease;
}

.area-option-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.area-option.selected .area-option-icon {
    background: #10283f !important;
    color: #d7b66d;
}

.area-option strong {
    display: block;
    margin: 0 0 5px !important;
    color: #10283f;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 750;
}

.area-option small {
    display: block;
    color: #74808c !important;
    font-size: 9.5px;
    line-height: 1.35 !important;
}

.area-esecuzione-card strong {
    font-size: 11px;
}

@media (max-width: 1250px) {
    .area-selector {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

@media (max-width: 720px) {
    .area-selector {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (max-width: 480px) {
    .area-selector {
        grid-template-columns: 1fr !important;
    }
}


/* ALPHA 0.6 - Allineamento testata Nuova pratica */
.practice-heading {
    max-width: 1150px;
}

.practice-heading .practice-number {
    margin-left: auto;
}


/* =========================================================
   ALPHA 0.6 - OGGI / PULSANTI TESTATA ALLINEATI A DESTRA
   ========================================================= */

.today-heading {
    width: 100%;
}

.today-heading .hero-actions {
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}


/* =========================================================
   ALPHA 0.6 - CORREZIONE ALLINEAMENTO TESTATE
   ========================================================= */

/* annulla il limite globale introdotto in precedenza */
.practice-heading {
    max-width: none !important;
}

/* il limite 1150px vale solo per Nuova pratica */
.case-form-heading,
.practice-form {
    width: 100%;
    max-width: 1150px !important;
}

/* pagina Oggi: testata larga quanto tutta la pagina */
.today-heading {
    width: 100% !important;
    max-width: none !important;
    display: flex;
    align-items: center;
}

/* i tre pulsanti arrivano sul vero margine destro */
.today-heading .hero-actions {
    margin-left: auto !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}



/* =========================================================
   ALPHA 0.6 - PEC INBOX
   ========================================================= */

.pec-hero {
    align-items: center;
}

.pec-hero .hero-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.pec-account {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 14px;
    border-right: 1px solid #E2E5E9;
}

.pec-account span {
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}

.pec-account strong {
    margin-top: 4px;
    color: #14213A;
    font-size: 11px;
}

.pec-sync-message {
    margin: -4px 0 18px;
    padding: 11px 14px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 650;
}

.pec-sync-message.success {
    background: #EDF5F0;
    color: #42715A;
}

.pec-sync-message.error {
    background: #F7ECEB;
    color: #A64B44;
}

.pec-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.pec-kpi {
    position: relative;
    padding: 16px 18px;
    border: 1px solid #E3E6EA;
    border-radius: 11px;
    background: #FFFFFF;
    text-decoration: none;
    transition: .15s ease;
}

.pec-kpi:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 20px rgba(20,33,58,.06);
}

.pec-kpi.active {
    border-color: #B08A43;
    box-shadow: inset 3px 0 0 #B08A43;
}

.pec-kpi span {
    display: block;
    color: #697586;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
}

.pec-kpi strong {
    display: block;
    margin-top: 7px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 500;
}

.pec-kpi small {
    display: block;
    margin-top: 4px;
    color: #929AA6;
    font-size: 9.5px;
}

.pec-inbox {
    margin-top: 0 !important;
}

.pec-panel-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.pec-search {
    display: flex;
    align-items: center;
    gap: 7px;
}

.pec-search input {
    width: 260px;
    min-height: 34px;
}

.pec-row {
    display: grid;
    grid-template-columns: 4px 55px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px 2px;
    border-top: 1px solid #ECEEF1;
}

.pec-state-marker {
    width: 3px;
    height: 42px;
    border-radius: 4px;
    background: #CBD1D9;
}

.pec-state-nuova {
    background: #B08A43;
}

.pec-state-da-gestire {
    background: #A64B44;
}

.pec-state-gestita {
    background: #42715A;
}

.pec-date {
    display: flex;
    flex-direction: column;
}

.pec-date strong {
    color: #14213A;
    font-size: 11px;
}

.pec-date span {
    margin-top: 3px;
    color: #929AA6;
    font-size: 9px;
}

.pec-row-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pec-sender {
    color: #344054;
    font-size: 10px;
}

.pec-status {
    padding: 3px 6px;
    border-radius: 999px;
    background: #F2F4F6;
    color: #697586;
    font-size: 8px;
    font-weight: 750;
    text-transform: uppercase;
}

.pec-main h3 {
    margin: 5px 0 4px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 15px;
    font-weight: 500;
}

.pec-main p {
    margin: 0;
    max-width: 850px;
    color: #697586;
    font-size: 10px;
    line-height: 1.45;
}

.pec-meta {
    display: flex;
    gap: 12px;
    margin-top: 7px;
}

.pec-meta span {
    color: #92702F;
    font-size: 8.5px;
    font-weight: 700;
}

.pec-empty {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
}

.pec-empty-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 13px;
    border-radius: 10px;
    background: #F5F1E8;
    color: #B08A43;
    font-size: 15px;
}

.pec-empty strong {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 500;
}

.pec-empty p {
    max-width: 470px;
    margin: 8px 0 17px;
    color: #697586;
    font-size: 10.5px;
    line-height: 1.55;
}

@media(max-width:1000px) {
    .pec-kpi-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .pec-panel-head {
        align-items: stretch;
        flex-direction: column;
    }
}



/* =========================================================
   ALPHA 0.6 - PEC DETAIL
   ========================================================= */

.pec-detail-header {
    align-items: center;
}

.pec-detail-status {
    margin-left: auto;
    text-align: right;
}

.pec-detail-status span {
    display: block;
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .7px;
}

.pec-detail-status strong {
    display: block;
    margin-top: 4px;
    color: #B08A43;
    font-size: 12px;
}

.pec-detail-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 310px;
    gap: 20px;
    align-items: start;
}

.pec-detail-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pec-detail-side {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pec-message-meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #ECEEF1;
}

.pec-message-meta span {
    display: block;
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.pec-message-meta strong {
    display: block;
    margin-top: 4px;
    color: #344054;
    font-size: 10px;
    word-break: break-word;
}

.pec-original-body {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #ECEEF1;
    border-radius: 9px;
    background: #FAFBFC;
    color: #44505E;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 10px;
    line-height: 1.65;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.pec-analysis-panel {
    border-top: 3px solid #B08A43;
}

.pec-analysis-content p {
    color: #344054;
    font-size: 11px;
    line-height: 1.6;
}

.pec-analysis-row {
    padding: 11px 0;
    border-top: 1px solid #ECEEF1;
}

.pec-analysis-row span {
    display: block;
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.pec-analysis-row strong {
    display: block;
    margin-top: 4px;
    color: #14213A;
    font-size: 10.5px;
}

.pec-action-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pec-action-stack form {
    margin: 0;
}

.pec-full-button {
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.pec-linked-case {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pec-linked-case > span {
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .5px;
}

.pec-linked-case > strong {
    color: #B08A43;
    font-size: 13px;
}

.pec-linked-case small {
    color: #697586;
    font-size: 9.5px;
}

.pec-linked-case .button {
    margin-top: 8px;
}

@media(max-width:1050px) {

    .pec-detail-layout {
        grid-template-columns: 1fr;
    }

}

@media(max-width:650px) {

    .pec-message-meta {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   ALPHA 0.6 - PEC / AZIONI OPERATIVE
   ========================================================= */

.pec-inline-action {
    display: none;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid #E2E5E9;
    border-radius: 10px;
    background: #FAFBFC;
}

.pec-inline-action.open {
    display: block;
}

.pec-inline-head {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E7E9EC;
}

.pec-inline-head .eyebrow {
    display: block;
    margin-bottom: 3px;
}

.pec-inline-head strong {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 14px;
    font-weight: 500;
}

.pec-inline-submit {
    display: flex;
    justify-content: flex-end;
    padding-top: 4px;
}

.pec-alert-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 5px;
    margin-top: 6px;
}

.pec-alert-option {
    display: flex !important;
    min-height: 27px;
    flex-direction: row !important;
    align-items: center;
    gap: 5px !important;
    padding: 4px 6px;
    border: 1px solid #DFE4E9;
    border-radius: 7px;
    background: #FFFFFF;
    cursor: pointer;
}

.pec-alert-option:has(input:checked) {
    border-color: #B08A43;
    background: #F8F4EB;
}

.pec-alert-option input {
    width: 12px !important;
    height: 12px !important;
    margin: 0;
    accent-color: #14213A;
}

.pec-alert-option span {
    color: #495664;
    font-size: 9px !important;
    font-weight: 700;
    white-space: nowrap;
}

.pec-fixed-case {
    display: flex;
    min-height: 38px;
    flex-direction: column;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid #E2E5E9;
    border-radius: 8px;
    background: #FFFFFF;
}

.pec-fixed-case strong {
    color: #92702F;
    font-size: 10px;
}

.pec-fixed-case span {
    margin-top: 2px;
    color: #697586;
    font-size: 9px;
}

.pec-assignee-select {
    min-height: 72px !important;
}

.pec-action-warning {
    padding: 13px;
    border-left: 3px solid #B08A43;
    border-radius: 6px;
    background: #FCF9F3;
}

.pec-action-warning strong {
    color: #14213A;
    font-size: 10.5px;
}

.pec-action-warning p {
    margin: 5px 0 0;
    color: #697586;
    font-size: 9.5px;
    line-height: 1.5;
}

@media(max-width:650px) {

    .pec-alert-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}



/* =========================================================
   ALPHA 0.6 - PEC / MATCHING PRATICA
   ========================================================= */

.pec-match-panel {
    border-top: 3px solid #B08A43;
}

.pec-match-confidence {
    padding: 4px 8px;
    border: 1px solid #E4D8BE;
    border-radius: 999px;
    background: #FCF9F3;
    color: #92702F;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.pec-match-intro {
    margin: -2px 0 13px;
    color: #697586;
    font-size: 9.5px;
    line-height: 1.5;
}

.pec-match-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pec-match-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid #E2E5E9;
    border-radius: 9px;
    background: #FAFBFC;
}

.pec-match-main {
    min-width: 0;
}

.pec-match-number {
    margin-bottom: 3px;
    color: #B08A43;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .3px;
}

.pec-match-main > strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 500;
}

.pec-match-main > span {
    display: block;
    margin-top: 3px;
    color: #697586;
    font-size: 9px;
}

.pec-match-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.pec-match-reasons small {
    padding: 3px 6px;
    border-radius: 999px;
    background: #F2EEE5;
    color: #80652F;
    font-size: 7.5px;
    font-weight: 750;
}

@media(max-width:650px) {

    .pec-match-card {
        grid-template-columns: 1fr;
    }

    .pec-match-card form {
        width: 100%;
    }

    .pec-match-card .button {
        width: 100%;
        justify-content: center;
    }

}



/* =========================================================
   ALPHA 0.6 - PEC / KPI PROFESSIONALI
   ========================================================= */

.pec-kpi-grid {
    gap: 14px;
    margin-bottom: 22px;
}

.pec-kpi {
    --pec-accent: #14213A;
    position: relative;
    min-height: 112px;
    padding: 15px 17px 14px;
    overflow: hidden;
    border: 1px solid #E2E5E9;
    border-radius: 12px;
    background:
        linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%);
    box-shadow: 0 3px 12px rgba(20,33,58,.035);
    text-decoration: none;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.pec-kpi::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    border-radius: 0 0 3px 3px;
    background: var(--pec-accent);
    opacity: .72;
}

.pec-kpi:hover {
    transform: translateY(-1px);
    border-color: #D6DAE0;
    box-shadow: 0 7px 20px rgba(20,33,58,.06);
}

.pec-kpi.active {
    border-color: color-mix(in srgb, var(--pec-accent) 55%, #FFFFFF);
    box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--pec-accent) 18%, transparent),
        0 6px 18px rgba(20,33,58,.055);
}

.pec-kpi-head {
    display: flex;
    align-items: center;
    gap: 9px;
}

.pec-kpi-head > span {
    color: #667085;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .65px;
}

.pec-kpi-icon {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    border: 1px solid color-mix(in srgb, var(--pec-accent) 16%, #E5E7EB);
    border-radius: 8px;
    background: color-mix(in srgb, var(--pec-accent) 5%, #FFFFFF);
}

.pec-kpi-icon svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: var(--pec-accent);
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pec-kpi > strong {
    display: block;
    margin-top: 10px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}

.pec-kpi > small {
    display: block;
    margin-top: 6px;
    color: #8B93A0;
    font-size: 9px;
    line-height: 1.3;
}

.pec-kpi-new {
    --pec-accent: #243B62;
}

.pec-kpi-manage {
    --pec-accent: #A47D32;
}

.pec-kpi-seen {
    --pec-accent: #667487;
}

.pec-kpi-done {
    --pec-accent: #587362;
}

.pec-kpi-new.active {
    background: linear-gradient(180deg,#FFFFFF 0%,#F7F9FC 100%);
}

.pec-kpi-manage.active {
    background: linear-gradient(180deg,#FFFFFF 0%,#FCFAF5 100%);
}

.pec-kpi-seen.active {
    background: linear-gradient(180deg,#FFFFFF 0%,#F8F9FA 100%);
}

.pec-kpi-done.active {
    background: linear-gradient(180deg,#FFFFFF 0%,#F7FAF8 100%);
}

@media(max-width:700px) {

    .pec-kpi {
        min-height: 102px;
    }

}



/* =========================================================
   ALPHA 0.6 - PEC / KPI TESTI PIÙ LEGGIBILI
   ========================================================= */

.pec-kpi-head > span {
    font-size: 11px;
    letter-spacing: .55px;
}

.pec-kpi > strong {
    font-size: 31px;
}

.pec-kpi > small {
    margin-top: 7px;
    font-size: 11.5px;
    line-height: 1.4;
}

.pec-kpi-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.pec-kpi-icon svg {
    width: 17px;
    height: 17px;
}

.pec-kpi {
    min-height: 122px;
    padding: 17px 19px 16px;
}



/* =========================================================
   ALPHA 0.6 - PEC / KPI DIMENSIONE TESTI DEFINITIVA
   ========================================================= */

.pec-kpi-head > span {
    font-size: 12px;
}

.pec-kpi > strong {
    font-size: 33px;
}

.pec-kpi > small {
    font-size: 12.5px;
    line-height: 1.4;
}

.pec-kpi-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}

.pec-kpi-icon svg {
    width: 18px;
    height: 18px;
}

.pec-kpi {
    min-height: 126px;
}



/* =========================================================
   ALPHA 0.6 - ANTISTRESS / FORZA 4
   ========================================================= */

.connect4-card {
    overflow: hidden;
}

.connect4-wrap {
    display: flex;
    justify-content: center;
    padding: 8px 0 12px;
}

.connect4-grid {
    display: grid;
    grid-template-columns: repeat(7, 34px);
    grid-template-rows: repeat(6, 34px);
    gap: 5px;
    padding: 10px;
    border: 1px solid #DDE2E8;
    border-radius: 12px;
    background: #F6F8FA;
    box-shadow:
        inset 0 1px 2px rgba(20,33,58,.035);
}

.connect4-cell {
    position: relative;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #D8DEE5;
    border-radius: 50%;
    background: #FFFFFF;
    cursor: pointer;
    transition:
        transform .12s ease,
        border-color .12s ease,
        background .12s ease;
}

.connect4-cell:hover {
    transform: translateY(-1px);
    border-color: #B08A43;
}

.connect4-cell.player {
    border-color: #14213A;
    background:
        radial-gradient(
            circle at 35% 30%,
            #364C70 0%,
            #203552 48%,
            #14213A 100%
        );
    box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.10);
}

.connect4-cell.computer {
    border-color: #A17B34;
    background:
        radial-gradient(
            circle at 35% 30%,
            #C4A362 0%,
            #AD8741 48%,
            #8C6A2E 100%
        );
    box-shadow:
        inset 0 0 0 3px rgba(255,255,255,.16);
}

@media(max-width:650px) {

    .connect4-grid {
        grid-template-columns: repeat(7, 30px);
        grid-template-rows: repeat(6, 30px);
        gap: 4px;
    }

    .connect4-cell {
        width: 30px;
        height: 30px;
    }

}



/* =========================================================
   ALPHA 0.6 - ANTISTRESS / AREA RESPIRA
   ========================================================= */

.breathing-card {
    margin-top: 38px !important;
    padding: 28px 32px 26px;
    border: 1px solid rgba(176,138,67,.34);
    border-radius: 15px;
    background:
        linear-gradient(
            145deg,
            #14213A 0%,
            #182945 58%,
            #101C31 100%
        );
    box-shadow:
        0 12px 30px rgba(20,33,58,.14);
    overflow: hidden;
}

.breathing-card .panel-head {
    margin-bottom: 0;
}

.breathing-card .panel-head .eyebrow {
    color: #C6A768;
}

.breathing-card .panel-head h2 {
    color: #FFFFFF;
    font-size: 24px;
}

.breathing-stage {
    min-height: 270px;
}

.breathing-circle {
    width: 128px;
    height: 128px;
    border: 1px solid rgba(205,173,105,.68);
    background:
        radial-gradient(
            circle at 35% 30%,
            #2B3E60 0%,
            #1C2D4B 48%,
            #14213A 100%
        );
    color: #FFFFFF;
    box-shadow:
        0 0 0 14px rgba(176,138,67,.08),
        0 0 0 28px rgba(176,138,67,.035),
        0 12px 30px rgba(0,0,0,.16);
}

.breathing-circle span {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: .5px;
}

.breathing-card .antistress-footer {
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.11);
}

.breathing-card .antistress-footer > span {
    color: #D8DEE8;
    font-family: Georgia, serif;
    font-size: 18px;
}

.breathing-card .button.primary {
    border-color: #B08A43;
    background: #B08A43;
    color: #FFFFFF;
}

.breathing-card .button.primary:hover {
    background: #9D793A;
    border-color: #9D793A;
}

@media(max-width:700px) {

    .breathing-card {
        margin-top: 28px !important;
        padding: 24px 20px;
    }

    .breathing-stage {
        min-height: 235px;
    }

}



/* =========================================================
   ALPHA 0.6 - SUB PROCEDIMENTO / WORKSPACE LEGGIBILE
   ========================================================= */

.proceeding-card-v2 {
    position: relative;
    display: block !important;

    margin: 0 0 18px;
    padding: 0 !important;

    overflow: hidden;

    border: 1px solid #DEE3E9;
    border-radius: 13px;

    background: #FFFFFF;

    box-shadow:
        0 2px 5px rgba(20,33,58,.025),
        0 8px 20px rgba(20,33,58,.035);
}

.proceeding-card-v2::before {
    display: none !important;
}


/* TESTATA */

.proceeding-v2-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;

    padding: 20px 22px 18px;

    border-bottom: 1px solid #E5E8EC;

    background:
        linear-gradient(
            135deg,
            #F9FAFB 0%,
            #FFFFFF 65%
        );
}

.proceeding-v2-title {
    min-width: 0;
}

.proceeding-v2-eyebrow {
    display: block;

    margin-bottom: 6px;

    color: #A17B34;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .85px;
}

.proceeding-v2-title h3 {
    margin: 0;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;

    line-height: 1.2;
}

.proceeding-v2-primary {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;

    margin-top: 9px;
}

.proceeding-v2-registry {
    color: #92702F;

    font-size: 12px;
    font-weight: 800;
}

.proceeding-v2-authority {
    color: #5E6979;

    font-size: 12px;
    font-weight: 600;
}


.proceeding-v2-head-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    min-width: 180px;

    gap: 10px;
}


/* STATO */

.proceeding-card-v2 .proceeding-status {
    display: inline-flex;
    align-items: center;

    min-height: 26px;

    padding: 4px 9px;

    border: 1px solid #DCE2E7;
    border-radius: 999px;

    background: #F5F7F8;

    color: #526071;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .35px;
    text-transform: uppercase;
}

.proceeding-card-v2 .proceeding-status-attivo {
    border-color: #D6E5DA;
    background: #EFF6F1;
    color: #50705C;
}

.proceeding-card-v2 .proceeding-status-sospeso {
    border-color: #E9DFC8;
    background: #FBF7EE;
    color: #92702F;
}

.proceeding-card-v2 .proceeding-status-chiuso {
    background: #F1F3F5;
    color: #7B8491;
}


/* FASE */

.proceeding-v2-phase {
    min-width: 180px;

    padding: 9px 11px;

    border-left: 3px solid #B08A43;
    border-radius: 5px;

    background: #FCF9F3;
}

.proceeding-v2-phase span {
    display: block;

    color: #8A7350;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .55px;
}

.proceeding-v2-phase strong {
    display: block;

    margin-top: 4px;

    color: #14213A;

    font-size: 12px;
    font-weight: 700;
}


/* SEZIONE DATI */

.proceeding-v2-section {
    padding: 18px 22px 20px;
}

.proceeding-v2-section-head {
    margin-bottom: 12px;
}

.proceeding-v2-section-head span {
    color: #7B8492;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .7px;
}

.proceeding-v2-data-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap: 10px;
}

.proceeding-v2-data {
    min-height: 72px;

    padding: 12px 13px;

    border: 1px solid #E5E8EC;
    border-radius: 8px;

    background: #FAFBFC;
}

.proceeding-v2-data span {
    display: block;

    color: #818A97;

    font-size: 9.5px;
    font-weight: 750;

    letter-spacing: .2px;
}

.proceeding-v2-data strong {
    display: block;

    margin-top: 7px;

    color: #182640;

    font-size: 13px;
    font-weight: 650;

    line-height: 1.35;
}


/* NOTE */

.proceeding-v2-notes {
    margin: 0 22px 20px;

    padding: 13px 15px;

    border-left: 3px solid #B08A43;
    border-radius: 6px;

    background: #FCFAF6;
}

.proceeding-v2-notes > span {
    display: block;

    color: #92702F;

    font-size: 8.5px;
    font-weight: 800;

    letter-spacing: .6px;
}

.proceeding-v2-notes p {
    margin: 6px 0 0;

    color: #475467;

    font-size: 12px;
    line-height: 1.55;
}


/* GESTIONE */

.proceeding-v2-management {
    padding: 17px 22px 20px;

    border-top: 1px solid #E2E6EA;

    background: #F7F8FA;
}

.proceeding-v2-management-head {
    margin-bottom: 13px;
}

.proceeding-v2-management-head span {
    display: block;

    color: #9A7A3C;

    font-size: 8.5px;
    font-weight: 800;

    letter-spacing: .65px;
}

.proceeding-v2-management-head strong {
    display: block;

    margin-top: 3px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 15px;
    font-weight: 500;
}

.proceeding-v2-management-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.65fr)
        minmax(220px,.75fr);

    gap: 14px;
}

.proceeding-v2-form {
    display: grid;

    gap: 10px;

    padding: 14px;

    border: 1px solid #DEE3E8;
    border-radius: 9px;

    background: #FFFFFF;
}

.proceeding-v2-form-title {
    padding-bottom: 8px;

    border-bottom: 1px solid #ECEEF1;

    color: #14213A;

    font-size: 11px;
    font-weight: 800;
}

.proceeding-v2-form label {
    display: flex;
    flex-direction: column;

    gap: 5px;
}

.proceeding-v2-form label > span {
    color: #697586;

    font-size: 9px;
    font-weight: 750;

    text-transform: uppercase;
    letter-spacing: .35px;
}

.proceeding-v2-form input,
.proceeding-v2-form select {
    width: 100%;
    min-height: 39px;

    border: 1px solid #DCE1E6;
    border-radius: 7px;

    background: #FFFFFF;

    color: #26354D;

    font-size: 12px;
}

.proceeding-v2-form .button {
    justify-self: start;
}


/* RESPONSIVE */

@media(max-width:900px) {

    .proceeding-v2-head {
        flex-direction: column;
    }

    .proceeding-v2-head-right {
        width: 100%;
        align-items: flex-start;
    }

    .proceeding-v2-phase {
        width: 100%;
        box-sizing: border-box;
    }

    .proceeding-v2-data-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .proceeding-v2-management-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:600px) {

    .proceeding-v2-data-grid {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   ALPHA 0.6 - SUB PROCEDIMENTI / TESTI PIÙ LEGGIBILI
   ========================================================= */

.proceeding-v2-eyebrow {
    font-size: 10.5px;
}

.proceeding-v2-title h3 {
    font-size: 25px;
}

.proceeding-v2-registry,
.proceeding-v2-authority {
    font-size: 13.5px;
}

.proceeding-v2-phase span {
    font-size: 9.5px;
}

.proceeding-v2-phase strong {
    font-size: 14px;
}

.proceeding-v2-section-head span,
.proceeding-hearing-head > div > span,
.proceeding-v2-management-head span,
.proceeding-edit-head span {
    font-size: 10px;
}

.proceeding-v2-data span {
    font-size: 10.5px;
}

.proceeding-v2-data strong {
    font-size: 14.5px;
}

.proceeding-v2-notes > span {
    font-size: 10px;
}

.proceeding-v2-notes p {
    font-size: 13px;
}

.proceeding-edit-head strong,
.proceeding-hearing-head > div > strong {
    font-size: 19px;
}

.proceeding-edit-form label > span,
.proceeding-hearing-form label > span,
.proceeding-v2-form label > span {
    font-size: 10.5px;
}

.proceeding-edit-form input,
.proceeding-edit-form select,
.proceeding-edit-form textarea,
.proceeding-hearing-form input,
.proceeding-hearing-form select,
.proceeding-hearing-form textarea,
.proceeding-v2-form input,
.proceeding-v2-form select {
    font-size: 13.5px;
}

.proceeding-hearing-main > strong {
    font-size: 15.5px;
}

.proceeding-hearing-main > span:not(.proceeding-hearing-label) {
    font-size: 12.5px;
}

.proceeding-hearing-main > small {
    font-size: 11px;
}

.proceeding-hearing-main > p {
    font-size: 12.5px;
}

.proceeding-no-hearing strong {
    font-size: 13.5px;
}

.proceeding-no-hearing span {
    font-size: 11.5px;
}

.proceeding-v2-form-title {
    font-size: 12.5px;
}

.proceeding-card-v2 .button {
    font-size: 11.5px;
}



/* =========================================================
   ALPHA 0.6.62 - SUB PROCEDIMENTO / CONTROLLI OPERATIVI
   ========================================================= */

.proceeding-v2-section-head-actions,
.proceeding-hearing-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.proceeding-edit-panel,
.proceeding-hearing-section {
    margin: 24px 26px 30px;
    padding: 22px;

    border:1px solid #E0E4E9;
    border-radius:12px;

    background:#FFFFFF;

    box-shadow:0 5px 18px rgba(20,33,58,.035);
}

.proceeding-hearing-section {
    background:#FAFBFC;
}

.proceeding-edit-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;

    margin-bottom:20px;
}

.proceeding-edit-head span,
.proceeding-hearing-head > div > span {
    display:block;

    color:#9A7837;

    font-size:11px !important;
    font-weight:800;

    letter-spacing:.65px;
}

.proceeding-edit-head strong,
.proceeding-hearing-head > div > strong {
    display:block;

    margin-top:5px;

    color:#14213A;

    font-family:Georgia,serif;
    font-size:20px !important;
    font-weight:500;
}

.proceeding-close-button {
    width:32px;
    height:32px;

    border:1px solid #D9DEE5;
    border-radius:50%;

    background:#FFFFFF;
    color:#667085;

    font-size:20px;

    cursor:pointer;
}

.proceeding-edit-form,
.proceeding-hearing-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:18px 20px;
}

.proceeding-edit-form label,
.proceeding-hearing-form label {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.proceeding-edit-form label > span,
.proceeding-hearing-form label > span {
    color:#606D7F;

    font-size:11px !important;
    font-weight:750;

    text-transform:uppercase;
    letter-spacing:.3px;
}

.proceeding-edit-form input,
.proceeding-edit-form select,
.proceeding-edit-form textarea,
.proceeding-hearing-form input,
.proceeding-hearing-form select,
.proceeding-hearing-form textarea {
    width:100%;
    box-sizing:border-box;

    min-height:44px;

    border:1px solid #D7DDE4;
    border-radius:8px;

    background:#FFFFFF;

    color:#20304A;

    font-size:14px !important;
}

.proceeding-edit-form textarea,
.proceeding-hearing-form textarea {
    padding:11px 12px;
}

.proceeding-edit-form .wide,
.proceeding-hearing-form .wide {
    grid-column:1 / -1;
}

.proceeding-edit-actions {
    display:flex;
    justify-content:flex-end;
    align-items:center;

    gap:10px;

    padding-top:6px;
}

.proceeding-no-hearing {
    margin-top:18px;
    padding:18px;

    border:1px dashed #D7DDE4;
    border-radius:9px;

    background:#FFFFFF;
}

.proceeding-no-hearing strong {
    display:block;
    color:#14213A;
    font-size:14px !important;
}

.proceeding-hearing-register {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

.proceeding-hearing-register-block {
    min-width:0;
    padding:14px;
    border:1px solid #E0E4E9;
    border-radius:10px;
    background:#FFFFFF;
}

.proceeding-hearing-register-title {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
    color:#697586;
    font-size:10px;
    font-weight:800;
    letter-spacing:.45px;
}

.proceeding-hearing-register-title strong {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    height:26px;
    border-radius:999px;
    background:#EEF2FF;
    color:#3447A8;
    font-size:12px;
}

.proceeding-hearing-row {
    display:grid;
    gap:4px;
    margin-top:8px;
    padding:11px 12px;
    border:1px solid #E5E9EF;
    border-radius:8px;
    background:#FCFDFE;
    color:#20304A;
    text-decoration:none;
}

.proceeding-hearing-row:hover {
    border-color:#B9C4D2;
    background:#FFFFFF;
}

.proceeding-hearing-row strong { font-size:13px; }
.proceeding-hearing-row span { font-size:12px; }
.proceeding-hearing-row small {
    color:#697586;
    font-size:11px;
    white-space:pre-line;
}
.proceeding-hearing-row.is-history { opacity:.88; }
.proceeding-hearing-empty {
    padding:12px 0 4px;
    color:#8A94A3;
    font-size:12px;
}

/* Registro udienze: separazione e gerarchia visiva */
.proceeding-hearing-section .proceeding-hearing-register {
    gap:22px;
    margin-top:30px;
    padding-top:26px;
    border-top:1px solid #E1E6EC;
}

.proceeding-hearing-section .proceeding-hearing-register-block {
    padding:18px;
    border-color:#DCE2E9;
    border-radius:12px;
    box-shadow:0 4px 14px rgba(20,33,58,.035);
}

.proceeding-hearing-section .proceeding-hearing-register-title {
    margin-bottom:14px;
    padding-bottom:12px;
    border-bottom:1px solid #E9EDF2;
    color:#4E5C70;
    font-size:11px;
}

.proceeding-hearing-section .proceeding-hearing-register-title strong {
    min-width:28px;
    height:28px;
    background:#F4F0E7;
    color:#87682E;
}

.proceeding-hearing-section .proceeding-hearing-row {
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:15px;
    margin-top:10px;
    padding:13px 14px;
    border-color:#E1E6EC;
    background:#FFFFFF;
}

.proceeding-hearing-date {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:88px;
    padding-right:14px;
    border-right:1px solid #E4E8ED;
}

.proceeding-hearing-date strong {
    color:#182640;
    font-size:13px;
}

.proceeding-hearing-date small {
    margin-top:3px;
    color:#9A7837;
    font-size:10.5px;
    font-weight:700;
}

.proceeding-hearing-info {
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
}

.proceeding-hearing-info strong {
    color:#20304A;
    font-size:13px;
}

.proceeding-hearing-info > span {
    color:#647184;
    font-size:11.5px;
}

.proceeding-hearing-info small {
    color:#697586;
    font-size:11px;
    line-height:1.45;
    white-space:pre-line;
}

.proceeding-hearing-open {
    color:#A17B34;
    font-size:18px;
    transition:transform .16s ease;
}

.proceeding-hearing-row:hover .proceeding-hearing-open {
    transform:translateX(3px);
}

.proceeding-hearing-section .proceeding-hearing-row.is-history {
    background:#FAFBFC;
    opacity:1;
}

.proceeding-hearing-section .proceeding-hearing-empty {
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    border:1px dashed #D7DEE6;
    border-radius:8px;
    background:#FAFBFC;
    text-align:center;
}

@media(max-width:800px) {
    .proceeding-hearing-register { grid-template-columns:1fr; }

    .proceeding-hearing-section .proceeding-hearing-register {
        gap:16px;
        margin-top:24px;
        padding-top:22px;
    }

    .proceeding-hearing-section .proceeding-hearing-row {
        grid-template-columns:1fr auto;
    }

    .proceeding-hearing-date {
        grid-column:1 / -1;
        min-width:0;
        padding:0 0 9px;
        border-right:0;
        border-bottom:1px solid #E7EBF0;
    }
}

.proceeding-no-hearing span {
    display:block;

    margin-top:5px;

    color:#707B8B;
    font-size:12.5px !important;
    line-height:1.5;
}

.proceeding-hearing-form-panel {
    margin-top:22px;
    padding-top:22px;

    border-top:1px solid #E3E6EA;
}

.proceeding-card-v2 .button {
    font-size:12px !important;
}

@media(max-width:800px) {

    .proceeding-edit-form,
    .proceeding-hearing-form {
        grid-template-columns:1fr;
    }

    .proceeding-edit-form .wide,
    .proceeding-hearing-form .wide {
        grid-column:auto;
    }

    .proceeding-v2-section-head-actions,
    .proceeding-hearing-head {
        align-items:stretch;
        flex-direction:column;
    }
}



/* =========================================================
   ALPHA 0.6 - SUB PROCEDIMENTO / PROMEMORIA MULTIPLI
   ========================================================= */

.proceeding-multi-alerts {
    display:flex;
    flex-direction:column;
    gap:9px;
}

.proceeding-multi-alerts-label {
    color:#606D7F;
    font-size:11px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.3px;
}

.proceeding-multi-alerts-grid {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.proceeding-alert-option {
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    gap:7px !important;

    min-height:auto !important;

    padding:9px 12px;

    border:1px solid #D8DEE5;
    border-radius:8px;

    background:#FFFFFF;

    cursor:pointer;
}

.proceeding-alert-option:hover {
    border-color:#B08A43;
    background:#FCFAF6;
}

.proceeding-alert-option input {
    width:16px !important;
    height:16px !important;
    min-height:0 !important;
    margin:0;
}

.proceeding-alert-option span {
    color:#334155 !important;
    font-size:12px !important;
    font-weight:650 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
}

.proceeding-multi-alerts small {
    color:#8A94A3;
    font-size:10.5px;
}



/* =========================================================
   ALPHA 0.6 - PROSSIMA UDIENZA GLOBALE / MODALE
   ========================================================= */

.next-hearing-card-v2 {
    position:relative;

    display:grid;
    grid-template-columns:
        minmax(260px,1.05fr)
        minmax(280px,1.35fr)
        auto;

    align-items:center;
    gap:26px;

    margin:22px 0 26px;
    padding:22px 24px;

    border:1px solid #DDD5C5;
    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #FCFAF6 100%
        );

    box-shadow:
        0 3px 8px rgba(20,33,58,.025),
        0 10px 26px rgba(20,33,58,.045);

    cursor:pointer;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.next-hearing-card-v2::before {
    content:"";

    position:absolute;

    top:18px;
    bottom:18px;
    left:0;

    width:4px;

    border-radius:0 4px 4px 0;

    background:#B08A43;
}

.next-hearing-card-v2:hover {
    transform:translateY(-1px);

    border-color:rgba(176,138,67,.55);

    box-shadow:
        0 8px 26px rgba(20,33,58,.07);
}

.next-hearing-card-v2 .next-hearing-label {
    color:#967333;

    font-size:10.5px !important;
    font-weight:800;

    letter-spacing:.75px;
}

.next-hearing-card-v2 .next-hearing-date {
    margin-top:6px;

    color:#14213A;

    font-family:Georgia,serif;
    font-size:24px !important;
    font-weight:500;
}

.next-hearing-card-v2 .next-hearing-date span {
    color:#667085;

    font-family:inherit;
    font-size:14px !important;
}

.next-hearing-card-v2 .next-hearing-meta {
    display:flex;
    flex-wrap:wrap;

    gap:7px 13px;

    margin-top:9px;
}

.next-hearing-card-v2 .next-hearing-meta span {
    color:#5E6979;

    font-size:12.5px !important;
    font-weight:600;
}

.next-hearing-card-v2 .next-hearing-proceeding {
    width:100%;

    color:#92702F !important;

    font-size:11.5px !important;
    font-weight:750 !important;
}

.next-hearing-card-v2 .next-hearing-todo p {
    margin:7px 0 0;

    color:#344054;

    font-size:13px !important;

    line-height:1.55;
}

.next-hearing-open-hint {
    display:block;

    margin-bottom:8px;

    color:#92702F;

    font-size:10.5px;
    font-weight:750;
}


/* DIALOG */

.hearing-edit-dialog {
    width:min(820px,calc(100vw - 40px));

    max-height:calc(100vh - 50px);

    padding:0;

    border:0;
    border-radius:15px;

    background:#FFFFFF;

    box-shadow:
        0 24px 70px rgba(20,33,58,.25);
}

.hearing-edit-dialog::backdrop {
    background:rgba(17,28,48,.58);

    backdrop-filter:blur(2px);
}

.hearing-edit-dialog-shell {
    padding:26px;
}

.hearing-edit-dialog-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:20px;

    padding-bottom:19px;
    margin-bottom:21px;

    border-bottom:1px solid #E6E8EC;
}

.hearing-edit-dialog-head h2 {
    margin:4px 0 0;

    color:#14213A;

    font-family:Georgia,serif;
    font-size:25px;
    font-weight:500;
}

.hearing-edit-dialog-head p {
    margin:7px 0 0;

    color:#667085;
    font-size:12px;
}

.hearing-dialog-close {
    width:34px;
    height:34px;

    border:1px solid #DDE2E7;
    border-radius:50%;

    background:#FFFFFF;

    color:#667085;

    font-size:21px;

    cursor:pointer;
}

.hearing-edit-form {
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:17px 20px;
}

.hearing-edit-form label {
    display:flex;
    flex-direction:column;

    gap:7px;
}

.hearing-edit-form label > span,
.hearing-dialog-label {
    color:#657184;

    font-size:10.5px;
    font-weight:750;

    letter-spacing:.3px;
    text-transform:uppercase;
}

.hearing-edit-form input,
.hearing-edit-form select,
.hearing-edit-form textarea {
    width:100%;
    box-sizing:border-box;

    min-height:43px;

    border:1px solid #D8DEE5;
    border-radius:8px;

    background:#FFFFFF;

    color:#20304A;

    font-size:13.5px;
}

.hearing-edit-form textarea {
    padding:10px 12px;
}

.hearing-edit-form .wide {
    grid-column:1 / -1;
}


/* PROMEMORIA */

.hearing-dialog-alerts {
    display:flex;
    flex-direction:column;

    gap:9px;
}

.hearing-dialog-alert-grid {
    display:flex;
    flex-wrap:wrap;

    gap:8px;
}

.hearing-alert-choice {
    display:flex !important;
    flex-direction:row !important;

    align-items:center;

    gap:7px !important;

    padding:9px 11px;

    border:1px solid #D8DEE5;
    border-radius:8px;

    background:#FAFBFC;

    cursor:pointer;
}

.hearing-alert-choice input {
    width:15px !important;
    height:15px !important;
    min-height:0 !important;
}

.hearing-alert-choice span {
    color:#344054 !important;

    font-size:12px !important;

    text-transform:none !important;
}


/* AZIONI */

.hearing-dialog-actions {
    display:flex;

    justify-content:flex-end;

    gap:9px;

    padding-top:5px;
}


/* ELIMINAZIONE */

.hearing-dialog-danger {
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-top:25px;
    padding:17px 18px;

    border:1px solid #EDD7D4;
    border-radius:10px;

    background:#FCF7F6;
}

.hearing-dialog-danger strong {
    display:block;

    color:#8F403B;

    font-size:12px;
}

.hearing-dialog-danger span {
    display:block;

    margin-top:4px;

    color:#8B6B69;

    font-size:10.5px;
}

.hearing-delete-button {
    border-color:#D9AAA5 !important;

    background:#FFFFFF !important;

    color:#A34B44 !important;
}


/* RESPONSIVE */

@media(max-width:850px) {

    .next-hearing-card-v2 {
        grid-template-columns:1fr;
        gap:18px;
    }

    .hearing-edit-form {
        grid-template-columns:1fr;
    }

    .hearing-edit-form .wide {
        grid-column:auto;
    }

    .hearing-dialog-danger {
        align-items:stretch;
        flex-direction:column;
    }

}



/* =========================================================
   ALPHA 0.6.67 - PROSSIMA UDIENZA / MAGGIORE EVIDENZA
   ========================================================= */

.next-hearing-card-v2 {
    margin: 28px 0 32px !important;
    padding: 27px 29px !important;

    min-height: 125px;

    border: 1px solid rgba(176,138,67,.48) !important;
    border-radius: 15px !important;

    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #FDFBF7 58%,
            #F8F3E9 100%
        ) !important;

    box-shadow:
        0 2px 4px rgba(20,33,58,.025),
        0 12px 30px rgba(20,33,58,.065) !important;
}


/* BARRA ORO LATERALE PIÙ IMPORTANTE */

.next-hearing-card-v2::before {
    top: 20px !important;
    bottom: 20px !important;

    width: 5px !important;

    background: #B08A43 !important;

    opacity: 1 !important;
}


/* HOVER */

.next-hearing-card-v2:hover {
    transform: translateY(-2px) !important;

    border-color: #B08A43 !important;

    box-shadow:
        0 4px 8px rgba(20,33,58,.035),
        0 16px 38px rgba(20,33,58,.09) !important;
}


/* ETICHETTA */

.next-hearing-card-v2 .next-hearing-label {
    font-size: 11px !important;
    letter-spacing: .85px !important;
}


/* DATA */

.next-hearing-card-v2 .next-hearing-date {
    margin-top: 8px !important;

    font-size: 27px !important;
    line-height: 1.15;
}

.next-hearing-card-v2 .next-hearing-date span {
    margin-left: 5px;

    font-size: 14px !important;
}


/* META */

.next-hearing-card-v2 .next-hearing-meta {
    margin-top: 12px !important;

    gap: 8px 16px !important;
}

.next-hearing-card-v2 .next-hearing-meta span {
    font-size: 13px !important;
}


/* DA FARE */

.next-hearing-card-v2 .next-hearing-todo {
    padding-left: 8px;
}

.next-hearing-card-v2 .next-hearing-todo p {
    margin-top: 9px !important;

    font-size: 13.5px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   AZIONI - PIÙ DISTANZIATE
   ========================================================= */

.next-hearing-card-v2 .next-hearing-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;

    min-width: 145px;

    gap: 18px !important;

    padding-left: 20px;

    border-left: 1px solid rgba(176,138,67,.20);
}


/* APRI / MODIFICA */

.next-hearing-open-hint {
    position: relative;

    display: inline-flex !important;
    align-items: center;

    margin: 0 !important;

    padding-right: 20px;

    color: #92702F !important;

    font-size: 11.5px !important;
    font-weight: 800 !important;

    letter-spacing: .15px;
}

.next-hearing-open-hint::after {
    content: "›";

    position: absolute;
    right: 2px;
    top: 50%;

    transform: translateY(-53%);

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;

    color: #B08A43;
}


/* STORICO UDIENZE */

.next-hearing-card-v2 .next-hearing-actions .button {
    min-width: 132px;

    padding: 9px 13px !important;

    background: #FFFFFF !important;

    border-color: #D8DDE4 !important;

    color: #526071 !important;

    font-size: 11px !important;
}

.next-hearing-card-v2 .next-hearing-actions .button:hover {
    border-color: #B08A43 !important;

    color: #92702F !important;

    background: #FCFAF6 !important;
}


/* MOBILE */

@media(max-width:850px) {

    .next-hearing-card-v2 .next-hearing-actions {
        align-items: flex-start !important;

        padding-left: 0;
        padding-top: 18px;

        border-left: 0;
        border-top: 1px solid rgba(176,138,67,.20);
    }

}



/* =========================================================
   ALPHA 0.6.68 - PROSSIMA UDIENZA / ORO SFUMATO
   ========================================================= */

.next-hearing-card-v2 {
    background:
        linear-gradient(
            120deg,
            #FFFFFF 0%,
            #FCF9F1 30%,
            #F5EBD6 68%,
            #EAD8B5 100%
        ) !important;

    border-color: rgba(176,138,67,.62) !important;

    box-shadow:
        0 3px 7px rgba(20,33,58,.035),
        0 14px 32px rgba(20,33,58,.075),
        inset 0 1px 0 rgba(255,255,255,.72) !important;
}


/* ACCENTO ORO LATERALE */

.next-hearing-card-v2::before {
    background:
        linear-gradient(
            180deg,
            #C5A45F 0%,
            #A77E35 100%
        ) !important;

    width: 5px !important;
}


/* HOVER LEGGERMENTE PIÙ PREZIOSO */

.next-hearing-card-v2:hover {
    background:
        linear-gradient(
            120deg,
            #FFFFFF 0%,
            #FBF7ED 28%,
            #F2E5CC 67%,
            #E5CFA5 100%
        ) !important;

    border-color: #B08A43 !important;

    box-shadow:
        0 4px 9px rgba(20,33,58,.04),
        0 17px 38px rgba(20,33,58,.10),
        inset 0 1px 0 rgba(255,255,255,.75) !important;
}


/* ETICHETTA PROSSIMA UDIENZA */

.next-hearing-card-v2 .next-hearing-label {
    color: #8D692C !important;
}


/* SUB-PROCEDIMENTO */

.next-hearing-card-v2 .next-hearing-proceeding {
    color: #876426 !important;
}


/* APRI / MODIFICA */

.next-hearing-open-hint {
    color: #876426 !important;
}

.next-hearing-open-hint::after {
    color: #9D762E !important;
}



/* =========================================================
   ALPHA 0.6 - STORICO UDIENZE / ORIGINE PROCEDIMENTO
   ========================================================= */

.hearing-history-row {
    grid-template-columns: 78px minmax(0,1fr) !important;

    gap: 20px !important;

    padding: 18px 0 !important;
}

.hearing-history-date {
    padding: 10px 7px !important;

    background:
        linear-gradient(
            145deg,
            #FAF8F2,
            #F2EADC
        ) !important;

    border-color: #DED3BE !important;
}

.hearing-history-date strong {
    font-size: 25px !important;
}

.hearing-history-date span {
    font-size: 11px !important;
}


/* TESTI PRINCIPALI */

.hearing-history-main > strong {
    margin-bottom: 6px !important;

    font-size: 14.5px !important;
}

.hearing-history-main > span {
    font-size: 12.5px !important;
}


/* ORIGINE UDIENZA */

.hearing-history-origin {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 7px 10px;

    margin-top: 10px;
    margin-bottom: 4px;

    padding: 9px 11px;

    border: 1px solid #E3E6EA;
    border-radius: 8px;

    background: #FAFBFC;
}

.hearing-history-origin strong {
    display: inline !important;

    margin: 0 !important;

    color: #14213A !important;

    font-size: 12px !important;
    font-weight: 700 !important;
}

.hearing-history-origin small {
    color: #7B8492;

    font-size: 10.5px;
}


/* BADGE */

.hearing-origin-badge {
    display: inline-flex;

    align-items: center;

    padding: 4px 7px;

    border-radius: 999px;

    font-size: 8.5px !important;
    font-weight: 800;

    letter-spacing: .45px;
}

.hearing-origin-badge.sub {
    background: #F4EAD7;

    color: #896526;
}

.hearing-origin-badge.main {
    background: #EEF1F5;

    color: #42516A;
}


/* RESOCONTO PIÙ DISTANZIATO */

.hearing-report-form {
    margin-top: 14px !important;
}

.hearing-history-main p {
    font-size: 13px !important;

    line-height: 1.55 !important;
}


/* MOBILE */

@media(max-width:650px) {

    .hearing-history-row {
        grid-template-columns: 64px minmax(0,1fr) !important;

        gap: 13px !important;
    }

    .hearing-history-origin {
        align-items: flex-start;
        flex-direction: column;
    }

}



/* =========================================================
   ALPHA 0.6.70 - WORKSPACE FASCICOLO / NAVIGAZIONE PREMIUM
   ========================================================= */

#case-workspace-tabs {
    display: flex;
    align-items: center;

    gap: 8px;

    margin: 22px 0 28px;
    padding: 8px;

    overflow-x: auto;
    overflow-y: hidden;

    border: 1px solid #E0E4E9;
    border-radius: 13px;

    background:
        linear-gradient(
            180deg,
            #FBFCFD 0%,
            #F5F7F9 100%
        );

    box-shadow:
        0 2px 5px rgba(20,33,58,.025),
        0 8px 20px rgba(20,33,58,.03);

    scrollbar-width: thin;
}


/* TAB */

#case-workspace-tabs button.workspace-tab {
    flex: 0 0 auto;

    min-height: 42px;

    padding: 10px 15px;

    border: 1px solid transparent;
    border-radius: 9px;

    background: transparent;

    color: #536174 !important;
    -webkit-text-fill-color: #536174 !important;

    font-size: 12.5px !important;
    font-weight: 700 !important;

    letter-spacing: .05px;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background .14s ease,
        color .14s ease,
        border-color .14s ease,
        transform .14s ease,
        box-shadow .14s ease;
}


/* HOVER */

#case-workspace-tabs button.workspace-tab:hover {
    background: #FFFFFF !important;

    border-color: #DCE1E6 !important;

    color: #14213A !important;
    -webkit-text-fill-color: #14213A !important;

    transform: translateY(-1px);

    box-shadow:
        0 3px 9px rgba(20,33,58,.045);
}


/* TAB ATTIVA */

#case-workspace-tabs button.workspace-tab.active,
#case-workspace-tabs button.workspace-tab.active:hover,
#case-workspace-tabs button.workspace-tab.active:focus {
    position: relative;

    background:
        linear-gradient(
            135deg,
            #14213A 0%,
            #1B2B49 100%
        ) !important;

    border-color: #14213A !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 12.5px !important;
    font-weight: 750 !important;

    opacity: 1 !important;

    box-shadow:
        0 4px 10px rgba(20,33,58,.16) !important;

    transform: none;
}


/* ACCENTO ORO TAB ATTIVA */

#case-workspace-tabs button.workspace-tab.active::after {
    content: "";

    position: absolute;

    left: 16px;
    right: 16px;
    bottom: 5px;

    height: 2px;

    border-radius: 2px;

    background: #B08A43;
}


/* FOCUS */

#case-workspace-tabs button.workspace-tab:focus-visible {
    outline: 2px solid rgba(176,138,67,.45);
    outline-offset: 2px;
}


/* SCROLL */

#case-workspace-tabs::-webkit-scrollbar {
    height: 5px;
}

#case-workspace-tabs::-webkit-scrollbar-thumb {
    background: #C8CED6;
    border-radius: 999px;
}

#case-workspace-tabs::-webkit-scrollbar-track {
    background: transparent;
}


/* SCHERMI PICCOLI */

@media(max-width:900px) {

    #case-workspace-tabs {
        margin-bottom: 24px;

        padding: 7px;
        gap: 6px;
    }

    #case-workspace-tabs button.workspace-tab {
        min-height: 40px;

        padding: 9px 13px;

        font-size: 12px !important;
    }

    #case-workspace-tabs button.workspace-tab.active {
        font-size: 12px !important;
    }
}



/* =========================================================
   ALPHA 0.6.71 - KPI MANDATI & COMPENSI
   ========================================================= */

.matter-kpi-mandates {
    position: relative;

    text-decoration: none !important;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FCFAF5 100%
        ) !important;

    border-color:
        rgba(176,138,67,.34) !important;
}

.matter-kpi-mandates::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;
    bottom: 12px;

    width: 3px;

    border-radius: 0 3px 3px 0;

    background: #B08A43;
}

.matter-kpi-mandates:hover {
    border-color:
        rgba(176,138,67,.65) !important;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #F8F1E4 100%
        ) !important;
}

.matter-kpi-mandates span {
    color: #796541;
}

.matter-kpi-mandates strong {
    color: #14213A;
}

.matter-kpi-mandates small {
    color: #92702F;
}



/* =========================================================
   ALPHA 0.6.72 - KPI FASCICOLO / 6 BOX SU UN'UNICA RIGA
   ========================================================= */

/* GRIGLIA */

.matter-kpi-grid {
    display: grid !important;

    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

    gap: 10px !important;

    margin-top: 18px !important;
    margin-bottom: 24px !important;
}


/* SINGOLO KPI */

.matter-kpi {
    min-width: 0 !important;
    min-height: 104px !important;

    padding: 14px 14px !important;

    border-radius: 10px !important;

    box-sizing: border-box !important;
}


/* ETICHETTA */

.matter-kpi > span {
    display: block;

    min-height: 28px;

    margin-bottom: 5px !important;

    font-size: 10px !important;
    font-weight: 750 !important;

    line-height: 1.3 !important;

    letter-spacing: .15px !important;
}


/* NUMERO */

.matter-kpi > strong {
    display: block;

    margin: 2px 0 5px !important;

    font-family: Georgia, serif;

    font-size: 25px !important;
    font-weight: 500 !important;

    line-height: 1 !important;
}


/* TESTO INFERIORE */

.matter-kpi > small {
    display: block;

    margin-top: 5px !important;

    font-size: 9.5px !important;

    line-height: 1.25 !important;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* MANDATI & COMPENSI */

.matter-kpi-mandates::before {
    top: 11px !important;
    bottom: 11px !important;
}


/* TABLET:
   3 + 3, evitando box troppo stretti */

@media(max-width:1100px) {

    .matter-kpi-grid {
        grid-template-columns:
            repeat(3, minmax(0,1fr)) !important;
    }

}


/* MOBILE */

@media(max-width:650px) {

    .matter-kpi-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;

        gap: 9px !important;
    }

    .matter-kpi {
        min-height: 96px !important;

        padding: 12px !important;
    }

}



/* =========================================================
   ALPHA 0.6.73 - NUOVA PRATICA / LARGHEZZA COERENTE
   ========================================================= */

.practice-form {
    width: 100% !important;
    max-width: none !important;
}

.case-form-heading {
    width: 100% !important;
    max-width: none !important;
}

.form-panel {
    width: 100%;
    box-sizing: border-box;
}


/* Più respiro sui desktop larghi */

@media(min-width:1200px) {

    .practice-form {
        max-width: none !important;
    }

    .form-panel {
        padding: 26px 28px;
    }

}


/* Manteniamo leggibilità nei campi */

.modern-grid {
    gap: 18px 20px;
}

.modern-grid input,
.modern-grid select,
.modern-grid textarea {
    font-size: 13.5px;
}



/* =========================================================
   ALPHA 0.6.74 - AGENDA OPERATIVA DEL FASCICOLO
   ========================================================= */

.case-agenda-panel {
    padding-bottom: 15px;
}

.case-agenda-panel .panel-head {
    margin-bottom: 9px;
}

.case-agenda-panel .panel-head h2 {
    font-size: 18px;
}


/* RIGA */

.case-agenda-row {
    display: grid;

    grid-template-columns:
        50px minmax(0,1fr) 16px;

    align-items: center;

    gap: 12px;

    padding: 12px 4px;

    border-bottom: 1px solid #ECEEF1;

    color: inherit;
    text-decoration: none;

    transition:
        background .14s ease,
        transform .14s ease;
}

.case-agenda-row:last-of-type {
    border-bottom: 0;
}

.case-agenda-row:hover {
    background: #FAFBFC;

    transform: translateX(2px);
}


/* DATA */

.case-agenda-date {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 6px 4px;

    border: 1px solid #E0E4E9;
    border-radius: 8px;

    background: #F7F8FA;
}

.case-agenda-date strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 20px;

    line-height: 1;
}

.case-agenda-date span {
    margin-top: 4px;

    color: #818A98;

    font-size: 9px;
}


/* CONTENUTO */

.case-agenda-main {
    min-width: 0;
}

.case-agenda-main > strong {
    display: block;

    margin-top: 4px;

    color: #14213A;

    font-size: 12px;
    line-height: 1.35;
}

.case-agenda-main > small {
    display: block;

    margin-top: 4px;

    color: #7B8492;

    font-size: 10.5px;

    line-height: 1.4;
}


/* TIPO */

.case-agenda-kind {
    display: inline-flex;

    width: fit-content;

    padding: 3px 6px;

    border-radius: 999px;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .45px;

    text-transform: uppercase;
}

.case-agenda-kind.task {
    background: #EEF1F5;

    color: #46566F;
}

.case-agenda-kind.appointment {
    background: #F4EAD7;

    color: #876426;
}

.case-agenda-kind.deadline {
    background: #F8F1E5;

    color: #8E6C2C;
}


/* SCADUTA */

.case-agenda-row.overdue .case-agenda-date {
    border-color: #E4C4C1;

    background: #FBF2F1;
}

.case-agenda-row.overdue .case-agenda-date strong {
    color: #A34848;
}

.case-agenda-row.overdue .case-agenda-kind.deadline,
.case-agenda-row.overdue .case-agenda-kind.task {
    background: #F7E9E8;

    color: #A34848;
}


/* FRECCIA */

.case-agenda-arrow {
    color: #B08A43;

    font-family: Georgia, serif;
    font-size: 21px;
}


/* MOBILE */

@media(max-width:700px) {

    .case-agenda-row {
        grid-template-columns:
            46px minmax(0,1fr) 14px;
    }

}



/* =========================================================
   ALPHA 0.6.75 - CALENDARIO MENSILE UDIENZE
   ========================================================= */

.hearing-calendar-panel {
    margin: 24px 0 30px;
    padding: 22px 24px 24px;

    border: 1px solid #E1E4E8;
    border-radius: 14px;

    background: #FFFFFF;

    box-shadow:
        0 3px 8px rgba(20,33,58,.025),
        0 10px 26px rgba(20,33,58,.04);
}


/* HEADER */

.hearing-calendar-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 18px;
}

.hearing-calendar-head h2 {
    margin: 4px 0 0;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.hearing-calendar-head p {
    margin: 6px 0 0;

    color: #747F8F;

    font-size: 11.5px;
}


/* NAV */

.hearing-calendar-nav {
    display: flex;
    align-items: center;

    gap: 10px;
}

.hearing-calendar-nav strong {
    min-width: 155px;

    text-align: center;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;
}


/* GIORNI SETTIMANA */

.hearing-calendar-weekdays {
    display: grid;

    grid-template-columns:
        repeat(7,minmax(0,1fr));

    border: 1px solid #E3E6EA;
    border-bottom: 0;

    border-radius: 10px 10px 0 0;

    overflow: hidden;
}

.hearing-calendar-weekdays span {
    padding: 9px 6px;

    background: #F5F7F9;

    border-right: 1px solid #E3E6EA;

    color: #758092;

    text-align: center;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .65px;
}

.hearing-calendar-weekdays span:last-child {
    border-right: 0;
}


/* GRIGLIA */

.hearing-calendar-grid {
    display: grid;

    grid-template-columns:
        repeat(7,minmax(0,1fr));

    border-left: 1px solid #E3E6EA;
    border-top: 1px solid #E3E6EA;
}


/* CELLA */

.hearing-calendar-cell {
    min-height: 132px;

    padding: 8px;

    box-sizing: border-box;

    border-right: 1px solid #E3E6EA;
    border-bottom: 1px solid #E3E6EA;

    background: #FFFFFF;
}

.hearing-calendar-cell.outside {
    background: #FAFBFC;
}


/* NUMERO GIORNO */

.hearing-calendar-day {
    display: flex;

    justify-content: flex-end;

    margin-bottom: 7px;
}

.hearing-calendar-day strong {
    color: #14213A;

    font-size: 11px;
    font-weight: 750;
}


/* UDIENZA */

.hearing-calendar-event {
    display: block;

    margin-top: 6px;
    padding: 7px 8px;

    border: 1px solid rgba(176,138,67,.30);
    border-radius: 7px;

    background:
        linear-gradient(
            135deg,
            #FCFAF5 0%,
            #F4E9D5 100%
        );

    color: inherit;
    text-decoration: none;

    transition:
        transform .14s ease,
        border-color .14s ease,
        box-shadow .14s ease;
}

.hearing-calendar-event:hover {
    transform: translateY(-1px);

    border-color: #B08A43;

    box-shadow:
        0 4px 10px rgba(20,33,58,.06);
}


/* ORA */

.hearing-calendar-time {
    display: block;

    margin-bottom: 3px;

    color: #92702F;

    font-size: 9px;
    font-weight: 800;
}


/* CLIENTE */

.hearing-calendar-event strong {
    display: block;

    color: #14213A;

    font-size: 10.5px;
    font-weight: 750;

    line-height: 1.25;
}


/* LUOGO */

.hearing-calendar-event small {
    display: block;

    margin-top: 3px;

    color: #667085;

    font-size: 9px;

    line-height: 1.3;
}


/* PRATICA */

.hearing-calendar-event em {
    display: block;

    margin-top: 3px;

    color: #9A7A3C;

    font-size: 8.5px;
    font-style: normal;
    font-weight: 700;
}


/* RESPONSIVE */

@media(max-width:1050px) {

    .hearing-calendar-panel {
        overflow-x: auto;
    }

    .hearing-calendar-weekdays,
    .hearing-calendar-grid {
        min-width: 920px;
    }

}

@media(max-width:700px) {

    .hearing-calendar-head {
        align-items: stretch;
        flex-direction: column;
    }

    .hearing-calendar-nav {
        justify-content: space-between;
    }

}



/* =========================================================
   ALPHA 0.6.77 - ARCHIVIO PRATICHE / NUMERO INTERNO
   ========================================================= */

.practice-table-head,
.practice-table-row {
    grid-template-columns:
        105px
        145px
        minmax(190px,1fr)
        125px
        minmax(180px,1.35fr)
        95px
        24px !important;

    gap: 14px !important;
}


/* NUMERO PRATICA INTERNO */

.practice-internal-number strong {
    display: block;

    color: #14213A !important;

    font-family: Georgia, serif;

    font-size: 13.5px !important;
    font-weight: 600 !important;

    white-space: nowrap;
}

.practice-internal-number small {
    display: block;

    margin-top: 4px;

    color: #9A7A3C !important;

    font-size: 8.5px !important;
    font-weight: 750;

    letter-spacing: .35px;

    text-transform: uppercase;
}


/* RESPONSIVE */

@media(max-width:1100px) {

    .practice-table-row {
        grid-template-columns:
            100px
            135px
            minmax(0,1fr)
            105px
            24px !important;
    }

    .practice-table-row > div:nth-child(5),
    .practice-table-row > div:nth-child(6) {
        display: none;
    }

}

@media(max-width:760px) {

    .practice-table-row {
        grid-template-columns:
            92px
            minmax(0,1fr)
            24px !important;
    }

    .practice-table-row > div:nth-child(2),
    .practice-table-row > div:nth-child(4),
    .practice-table-row > div:nth-child(5),
    .practice-table-row > div:nth-child(6) {
        display: none;
    }

}



/* =========================================================
   ALPHA 0.6.76 - CALCOLO MANUALE PRESCRIZIONE
   ========================================================= */

.limitation-control {
    display: flex;
    align-items: center;
    gap: 9px;
}

.limitation-control input {
    flex: 1;
    min-width: 0;
}

.limitation-calculate-button {
    flex: 0 0 auto;
    min-height: 43px;
    padding: 9px 13px;

    border-color: rgba(176,138,67,.42) !important;
    background: #FCFAF5 !important;
    color: #82652D !important;

    font-size: 11px !important;
    font-weight: 750 !important;

    white-space: nowrap;
}

.limitation-calculate-button:hover {
    background: #F8F1E4 !important;
    border-color: #B08A43 !important;
    color: #6F5424 !important;
}

.limitation-message {
    display: block;
    margin-top: 5px;

    font-size: 10.5px;
    line-height: 1.4;
}

.limitation-message.error {
    color: #A34848;
}

.limitation-message.success {
    color: #477252;
}

@media(max-width:700px) {

    .limitation-control {
        align-items: stretch;
        flex-direction: column;
    }

    .limitation-calculate-button {
        width: 100%;
    }
}


/* =========================================================
   ALPHA 0.6.78 - PRESCRIZIONE / DATA SEMPRE LEGGIBILE
   ========================================================= */

.limitation-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.limitation-control {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100%;
}

.limitation-control input[type="date"] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;

    box-sizing: border-box;

    padding: 9px 11px;

    border: 1px solid #D7DDE4;
    border-radius: 8px;

    background: #FFFFFF;

    color: #14213A !important;
    -webkit-text-fill-color: #14213A !important;

    font-size: 13.5px !important;
    font-weight: 650 !important;

    opacity: 1 !important;
}

.limitation-control input[type="date"]::-webkit-datetime-edit {
    color: #14213A !important;
    -webkit-text-fill-color: #14213A !important;
}

.limitation-control input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: .75;
}

.limitation-calculate-button {
    width: 100% !important;
    min-height: 42px !important;

    justify-content: center;

    border-color: rgba(176,138,67,.45) !important;
    background: #FCFAF5 !important;

    color: #82652D !important;
    -webkit-text-fill-color: #82652D !important;

    font-size: 11.5px !important;
    font-weight: 750 !important;
}

#limitation-help {
    margin-top: 2px;

    color: #7A8492;

    font-size: 10.5px;
    line-height: 1.45;
}



/* =========================================================
   ALPHA 0.6 - SIDEBAR PROFESSIONAL ICONS
   ========================================================= */

.side-nav{
    gap:5px;
}

.side-nav a{
    position:relative;
    min-height:46px;
    padding:6px 9px;
    gap:10px;
    border:1px solid transparent;
    border-radius:11px;
}

.side-nav a .nav-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;

    background:rgba(255,255,255,.035);
    color:#AEB8C6;

    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.side-nav .nav-icon svg{
    width:17px;
    height:17px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.side-nav a:hover{
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.055);
    color:#FFFFFF;
    transform:translateX(2px);
}

.side-nav a:hover .nav-icon{
    color:#DFC68F;
    background:rgba(168,134,70,.10);
    border-color:rgba(168,134,70,.20);
}

.side-nav a.active{
    background:
        linear-gradient(
            90deg,
            rgba(168,134,70,.19),
            rgba(168,134,70,.07)
        );
    border-color:rgba(168,134,70,.17);
    color:#FFFFFF;
    box-shadow:
        inset 3px 0 0 #B08A43,
        0 4px 14px rgba(0,0,0,.06);
}

.side-nav a.active .nav-icon{
    color:#E4C98D;
    background:rgba(168,134,70,.16);
    border-color:rgba(211,183,121,.32);
}

.side-nav a > span:last-of-type{
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.01em;
}

.side-nav .nav-icon-text{
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:600;
}

.side-nav .nav-icon-coffee{
    font-size:16px;
    filter:saturate(.7);
}

.side-nav .nav-icon-ai{
    color:#D8BE83;
    font-size:17px;
}

.side-nav .ai-nav{
    opacity:.78;
}

.side-nav .ai-nav:hover{
    transform:none;
}

.nav-divider{
    margin:12px 8px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.11),
        transparent
    );
}

@media(max-width:760px){

    .side-nav a{
        padding:6px;
    }

    .side-nav a .nav-icon{
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .side-nav a:hover{
        transform:none;
    }
}



/* =========================================================
   ALPHA 0.6 - DASHBOARD APRI FASCICOLO
   ========================================================= */

.dashboard-open-case {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    margin-left: auto;
    min-height: 34px;
    padding: 7px 11px;

    border: 1px solid rgba(176,138,67,.38);
    border-radius: 8px;

    background: #FCFAF5;
    color: #82652D;

    font-size: 11px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: .01em;

    white-space: nowrap;
    cursor: pointer;

    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        transform .16s ease,
        box-shadow .16s ease;
}

.dashboard-open-case:hover,
.dashboard-open-case:focus {
    outline: none;

    background: #F6EFE1;
    border-color: #B08A43;
    color: #684F23;

    transform: translateY(-1px);

    box-shadow:
        0 4px 11px rgba(20,33,58,.07);
}

.dashboard-open-case > span {
    color: #B08A43;
    font-size: 14px;
}

@media(max-width:720px) {

    .dashboard-open-case {
        min-height: 31px;
        padding: 6px 8px;
        font-size: 10px;
    }
}


/* =========================================================
   ALPHA 0.6 - APRI FASCICOLO PREMIUM
   ========================================================= */

.dashboard-open-case {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;

    margin-left: auto;
    min-height: 36px;
    padding: 8px 13px;

    background: #14213A !important;
    border: 1px solid #B08A43 !important;
    border-radius: 9px !important;

    color: #FFFFFF !important;

    font-size: 11px !important;
    line-height: 1;
    font-weight: 700 !important;
    letter-spacing: .15px;

    white-space: nowrap;
    cursor: pointer;

    box-shadow:
        0 2px 6px rgba(20,33,58,.12);

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease,
        border-color .15s ease;
}

.dashboard-open-case::before {
    content: "▣";
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #D2B16D;

    font-size: 13px;
    line-height: 1;
}

.dashboard-open-case > span {
    color: #D2B16D !important;
    font-size: 14px !important;
    transition: transform .15s ease;
}

.dashboard-open-case:hover,
.dashboard-open-case:focus {
    background: #1C2D4C !important;
    border-color: #C7A45C !important;
    color: #FFFFFF !important;

    transform: translateY(-1px);

    box-shadow:
        0 5px 14px rgba(20,33,58,.18);
}

.dashboard-open-case:hover > span {
    transform: translateX(2px);
}



/* =========================================================
   ALPHA 0.6 - AGENDA OPERATIVA 30 GIORNI
   ========================================================= */

.agenda-range-note {
    display: block;
    margin-top: 5px;
    color: #8A96A3;
    font-size: 11px;
}


/* ---------- AGENDA STUDIO COMPATTA ---------- */

.agenda-studio-compact {
    margin-bottom: 24px;
}

.agenda-studio-compact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 10px;
}

.agenda-studio-compact-row {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto 20px;
    gap: 12px;
    align-items: center;

    min-height: 58px;
    padding: 8px 12px;

    border: 1px solid #E5E8ED;
    border-radius: 9px;
    background: #FFFFFF;

    color: inherit;
    text-decoration: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.agenda-studio-compact-row:hover {
    border-color: #C9B17E;
    box-shadow: 0 4px 12px rgba(20,33,58,.05);
    transform: translateY(-1px);
}

.agenda-studio-compact-row.is-hearing {
    border-left: 3px solid #B08A43;
}

.agenda-studio-compact-row.is-appointment {
    border-left: 3px solid #607086;
}

.agenda-compact-date {
    text-align: center;
    line-height: 1;
}

.agenda-compact-date strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}

.agenda-compact-date span {
    display: block;
    margin-top: 4px;
    color: #92702F;
    font-size: 9px;
    font-weight: 700;
}

.agenda-compact-main {
    min-width: 0;
}

.agenda-compact-topline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
}

.agenda-compact-time {
    color: #657184;
    font-size: 10px;
    font-weight: 700;
}

.agenda-compact-main > strong {
    display: block;
    overflow: hidden;
    color: #14213A;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.agenda-compact-main small {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: #7A8493;
    font-size: 10.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.agenda-compact-assignee {
    color: #7A8493;
    font-size: 10px;
    white-space: nowrap;
}

.agenda-compact-more {
    padding: 9px 12px;
    color: #7A8493;
    font-size: 10px;
    text-align: right;
}


/* ---------- BLOCCHI OPERATIVI ---------- */

.agenda-operational-section {
    margin-top: 24px;
    padding: 18px;
}

.agenda-operational-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 15px;
}

.agenda-operational-head h2 {
    margin: 4px 0 3px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.agenda-operational-head p {
    margin: 0;
    color: #7A8493;
    font-size: 12px;
}

.agenda-operational-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.agenda-operational-box {
    overflow: hidden;
    border: 1px solid #E2E6EA;
    border-radius: 11px;
    background: #FFFFFF;
}

.agenda-operational-box.critical {
    border-top: 3px solid #A64B44;
}

.agenda-operational-box.future {
    border-top: 3px solid #B08A43;
}

.agenda-operational-box-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;

    padding: 13px 14px;
    border-bottom: 1px solid #ECEEF2;
    background: #FAFBFC;
}

.agenda-operational-box-head h3 {
    margin: 3px 0 0;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 500;
}

.agenda-operational-box-head > strong {
    display: grid;
    place-items: center;

    min-width: 31px;
    height: 31px;
    padding: 0 7px;

    border-radius: 999px;
    background: #14213A;
    color: #FFFFFF;

    font-size: 12px;
}

.agenda-operational-list {
    padding: 4px 12px 8px;
}

.agenda-operational-row {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) auto auto;
    gap: 10px;
    align-items: center;

    min-height: 58px;
    padding: 8px 2px;

    border-bottom: 1px solid #EEF0F3;

    color: inherit;
    text-decoration: none;
}

.agenda-operational-row:last-child {
    border-bottom: 0;
}

.agenda-operational-row:hover
.agenda-operational-main > strong {
    color: #9A7637;
}

.agenda-mini-date {
    text-align: center;
}

.agenda-mini-date strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 18px;
    line-height: 1;
}

.agenda-mini-date span {
    display: block;
    margin-top: 4px;
    color: #9A7637;
    font-size: 9px;
    font-weight: 700;
}

.agenda-operational-main {
    min-width: 0;
}

.agenda-operational-main > strong {
    display: block;
    overflow: hidden;
    color: #14213A;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.agenda-operational-main small {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: #7A8493;
    font-size: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.agenda-operational-state {
    white-space: nowrap;
}

.agenda-operational-side {
    min-width: 68px;
    color: #657184;
    font-size: 10px;
    text-align: right;
    white-space: nowrap;
}

.agenda-operational-box.critical
.agenda-operational-side strong {
    color: #9A403B;
}

#agenda-appuntamenti,
#agenda-attivita,
#agenda-attivita-critiche,
#agenda-attivita-30,
#agenda-scadenze,
#agenda-scadenze-critiche,
#agenda-imminenti {
    scroll-margin-top: 90px;
}

@media(max-width:1000px) {

    .agenda-operational-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:720px) {

    .agenda-studio-compact-row {
        grid-template-columns: 48px minmax(0,1fr) 18px;
    }

    .agenda-compact-assignee {
        display: none;
    }

    .agenda-operational-row {
        grid-template-columns: 42px minmax(0,1fr) auto;
    }

    .agenda-operational-state {
        display: none;
    }
}



/* =========================================================
   ALPHA 0.6 - AGENDA STUDIO 20 IMPEGNI / 2 COLONNE
   ========================================================= */

.agenda-studio-compact-row {
    grid-template-columns: 48px minmax(0,1fr) 18px;
    min-height: 56px;
    padding: 8px 10px;
}

.agenda-studio-compact-row .agenda-compact-assignee {
    display: none;
}

.agenda-studio-compact-row .agenda-compact-main > strong {
    font-size: 12.5px;
}

.agenda-studio-compact-row .agenda-compact-main small {
    font-size: 10px;
}

.agenda-compact-more {
    grid-column: 1 / -1;
}

@media(max-width:1050px) {
    .agenda-studio-compact-list {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - AGENDA MOSTRA ALTRI
   ========================================================= */

.agenda-show-more {
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;

    border: 0;
    border-top: 1px solid #E8EBEF;

    background: #FAFBFC;
    color: #687487;

    font-size: 10.5px;
    font-weight: 650;
    text-align: left;

    cursor: pointer;
}

.agenda-show-more span {
    float: right;
    color: #9A7637;
    font-weight: 750;
}

.agenda-show-more:hover {
    background: #F7F4ED;
    color: #14213A;
}

.agenda-extra-items {
    border-top: 1px solid #EEF0F3;
}

.agenda-extra-items[hidden] {
    display: none;
}


/* =========================================================
   ALPHA 0.6 - DESCRIZIONE AGENDA OPERATIVA DASHBOARD
   ========================================================= */

.dashboard-focus-description {
    margin: 5px 0 0;
    color: #7A8493;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
}



/* =========================================================
   ALPHA 0.6 - ORIZZONTE OPERATIVO 20 / 2 COLONNE
   ========================================================= */

.dashboard-30-description {
    margin: 5px 0 0;
    color: #7A8493;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
}

.dashboard-30-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px 10px !important;
}

.dashboard-30-list .dashboard-event-row {
    min-width: 0;
    min-height: 72px;

    padding: 11px 12px !important;

    border: 1px solid #E5E8ED;
    border-radius: 10px;

    background: #FFFFFF;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.dashboard-30-list .dashboard-event-row:hover {
    border-color: #C9B17E;
    box-shadow: 0 4px 12px rgba(20,33,58,.055);
    transform: translateY(-1px);
}

.dashboard-30-list .dashboard-event-date {
    min-width: 48px;
}

.dashboard-30-list .dashboard-event-date strong {
    font-size: 20px;
}

.dashboard-30-list .dashboard-event-main {
    min-width: 0;
}

.dashboard-30-list .dashboard-event-main > strong {
    display: block;
    overflow: hidden;

    font-size: 13px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.dashboard-30-list .dashboard-event-main small {
    display: block;
    overflow: hidden;

    margin-top: 4px;

    font-size: 10.5px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.dashboard-30-list .dashboard-open-case {
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
}


/* Riga elementi ulteriori */

.dashboard-30-more {
    grid-column: 1 / -1;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;

    margin-top: 3px;
    padding: 11px 14px;

    border: 1px solid #E2E5E9;
    border-radius: 9px;

    background: #FAFBFC;

    color: #667085;
    text-decoration: none;

    font-size: 11px;
}

.dashboard-30-more strong {
    color: #14213A;
    font-weight: 700;
}

.dashboard-30-more span {
    color: #9A7637;
    font-weight: 750;
}

.dashboard-30-more:hover {
    background: #F8F5EF;
    border-color: #D2C19D;
}

@media(max-width:1050px) {

    .dashboard-30-list {
        grid-template-columns: 1fr !important;
    }
}



/* =========================================================
   ALPHA 0.6 - MONITORAGGIO STUDIO
   ========================================================= */

.dashboard-monitor-panel {
    margin-top: 22px;
    border-top: 3px solid #14213A;
}

.dashboard-monitor-description {
    margin: 5px 0 0;
    color: #7A8493;
    font-size: 12px;
    line-height: 1.4;
}

.dashboard-monitor-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.dashboard-monitor-card {
    position: relative;

    display: grid;
    grid-template-columns: 46px minmax(0,1fr) 20px;
    gap: 13px;
    align-items: center;

    min-height: 104px;
    padding: 16px;

    border: 1px solid #E2E6EA;
    border-radius: 11px;

    background: #FFFFFF;

    color: inherit;
    text-decoration: none;

    box-shadow: 0 4px 14px rgba(20,33,58,.035);

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.dashboard-monitor-card:hover {
    transform: translateY(-1px);
    border-color: #C9B17E;
    box-shadow: 0 7px 18px rgba(20,33,58,.07);
}

.dashboard-monitor-card.pec {
    border-left: 3px solid #B08A43;
}

.dashboard-monitor-card.validation {
    border-left: 3px solid #66788F;
}

.dashboard-monitor-icon {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    border-radius: 10px;

    background: #14213A;
    color: #D5B46D;

    font-size: 18px;
    font-weight: 700;
}

.dashboard-monitor-main {
    min-width: 0;
}

.dashboard-monitor-main > span {
    display: block;

    margin-bottom: 5px;

    color: #7A8493;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .7px;
}

.dashboard-monitor-main > strong {
    display: block;

    color: #14213A;

    font-size: 27px;
    line-height: 1;
    font-weight: 750;
}

.dashboard-monitor-main > small {
    display: block;

    margin-top: 7px;

    color: #7A8493;

    font-size: 10.5px;
}

.dashboard-monitor-arrow {
    color: #B08A43;
    font-size: 17px;
}

@media(max-width:850px) {
    .dashboard-monitor-grid {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - DASHBOARD UDIENZE 20 GIORNI
   ========================================================= */

.dashboard-hearings-panel {
    margin-top: 22px;
    border-top: 3px solid #B08A43;
}

.dashboard-hearings-description {
    margin: 5px 0 0;
    color: #7A8493;
    font-size: 12px;
    line-height: 1.4;
}

.dashboard-hearings-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px 10px;
}

.dashboard-hearing-row {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) auto;
    gap: 11px;
    align-items: center;

    min-height: 68px;
    padding: 10px 11px;

    border: 1px solid #E4E7EB;
    border-left: 3px solid #B08A43;
    border-radius: 10px;

    background: #FFFFFF;

    color: inherit;
    text-decoration: none;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.dashboard-hearing-row:hover {
    transform: translateY(-1px);
    border-color: #C7AD78;
    box-shadow: 0 5px 14px rgba(20,33,58,.06);
}

.dashboard-hearing-date {
    text-align: center;
}

.dashboard-hearing-date strong {
    display: block;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 21px;
    line-height: 1;
    font-weight: 500;
}

.dashboard-hearing-date span {
    display: block;

    margin-top: 4px;

    color: #9A7637;

    font-size: 9px;
    font-weight: 700;
}

.dashboard-hearing-main {
    min-width: 0;
}

.dashboard-hearing-topline {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 3px;
}

.dashboard-hearing-label {
    color: #9A7637;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .65px;
}

.dashboard-hearing-time {
    color: #657184;

    font-size: 10px;
    font-weight: 700;
}

.dashboard-hearing-main > strong {
    display: block;
    overflow: hidden;

    color: #14213A;

    font-size: 13px;
    font-weight: 700;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.dashboard-hearing-main small {
    display: block;
    overflow: hidden;

    margin-top: 4px;

    color: #7A8493;

    font-size: 10.5px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.dashboard-hearing-row .dashboard-open-case {
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
}

.dashboard-hearings-empty {
    grid-column: 1 / -1;
}

@media(max-width:1050px) {

    .dashboard-hearings-grid {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - PRATICHE RECENTI 20 / 2 COLONNE
   ========================================================= */

.recent-cases-description {
    margin: 5px 0 0;
    color: #7A8493;
    font-size: 12px;
    line-height: 1.4;
}

.recent-cases-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px 10px !important;
}

.recent-cases-grid .case-row {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr) auto auto 18px;
    gap: 10px;
    align-items: center;

    min-width: 0;
    min-height: 64px;

    padding: 10px 11px;

    border: 1px solid #E5E8ED;
    border-radius: 10px;

    background: #FFFFFF;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.recent-cases-grid .case-row:hover {
    transform: translateY(-1px);
    border-color: #C9B17E;
    box-shadow: 0 5px 14px rgba(20,33,58,.055);
}

.recent-cases-grid .case-number {
    min-width: 0;

    color: #92702F;
    font-size: 11px;
    font-weight: 750;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recent-cases-grid .case-info {
    min-width: 0;
}

.recent-cases-grid .case-info strong {
    display: block;

    overflow: hidden;

    color: #14213A;
    font-size: 12.5px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.recent-cases-grid .case-info span {
    display: block;

    overflow: hidden;
    margin-top: 3px;

    color: #7A8493;
    font-size: 10px;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.recent-cases-grid .area-badge,
.recent-cases-grid .status-badge {
    white-space: nowrap;
    font-size: 9px;
}

@media(max-width:1150px) {

    .recent-cases-grid {
        grid-template-columns: 1fr !important;
    }
}

@media(max-width:720px) {

    .recent-cases-grid .case-row {
        grid-template-columns: 64px minmax(0,1fr) 18px;
    }

    .recent-cases-grid .area-badge,
    .recent-cases-grid .status-badge {
        display: none;
    }
}



/* =========================================================
   ALPHA 0.6 - CONTABILITA OPERATIVA 90 GG
   ========================================================= */

.accounting-hearing-panel,
.accounting-alert-panel,
.accounting-portfolio-panel {
    margin-top:22px;
}

.accounting-hearing-panel .panel-head p,
.accounting-alert-panel .panel-head p,
.accounting-portfolio-panel .panel-head p {
    margin:5px 0 0;
    color:#7A8493;
    font-size:11.5px;
}


/* PRE UDIENZA */

.accounting-hearing-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.accounting-hearing-card {
    padding:14px;
    border:1px solid #E3E6EA;
    border-left:3px solid #B08A43;
    border-radius:10px;
    background:#FFF;
}

.accounting-hearing-card-head {
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.accounting-hearing-card-head > span {
    color:#92702F;
    font-size:9px;
    font-weight:800;
    letter-spacing:.7px;
}

.accounting-hearing-card-head > strong {
    color:#14213A;
    font-size:10.5px;
}

.accounting-hearing-card h3 {
    margin:10px 0 3px;
    color:#14213A;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:500;
}

.accounting-hearing-card > p {
    margin:0;
    color:#7A8493;
    font-size:10.5px;
}

.accounting-hearing-money {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    margin-top:12px;
}

.accounting-hearing-money > span {
    padding:8px;
    border-radius:7px;
    background:#F7F8FA;
    color:#7A8493;
    font-size:8.5px;
}

.accounting-hearing-money strong {
    display:block;
    margin-top:3px;
    color:#14213A;
    font-size:11.5px;
}

.accounting-hearing-money .residual {
    background:#FCF7EC;
}

.accounting-hearing-money .residual strong {
    color:#8B682D;
}

.accounting-hearing-actions {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.accounting-hearing-actions .button {
    min-height:31px;
    padding:6px 9px;
    font-size:9.5px;
}

.accounting-grid-empty {
    grid-column:1 / -1;
}


/* ALERT INCASSI */

.accounting-alert-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.accounting-alert-box {
    min-width:0;
    overflow:hidden;
    border:1px solid #E3E6EA;
    border-radius:10px;
}

.accounting-alert-box.danger {
    border-top:3px solid #A64B44;
}

.accounting-alert-box.warning {
    border-top:3px solid #B08A43;
}

.accounting-alert-box-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:12px 13px;
    background:#FAFBFC;
    border-bottom:1px solid #E8EBEF;
}

.accounting-alert-box-head span {
    display:block;
    color:#7A8493;
    font-size:8px;
    font-weight:800;
    letter-spacing:.6px;
}

.accounting-alert-box-head h3 {
    margin:3px 0 0;
    color:#14213A;
    font-size:12px;
}

.accounting-alert-box-head > strong {
    display:grid;
    place-items:center;
    min-width:30px;
    height:30px;
    padding:0 7px;
    border-radius:999px;
    background:#14213A;
    color:#FFF;
    font-size:11px;
}

.accounting-alert-item {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 16px;
    gap:9px;
    align-items:center;
    min-height:56px;
    padding:9px 11px;
    border-bottom:1px solid #ECEEF1;
    color:inherit;
    text-decoration:none;
}

.accounting-alert-item:hover {
    background:#F8F9FA;
}

.accounting-alert-item > div:first-child {
    min-width:0;
}

.accounting-alert-item > div:first-child strong {
    display:block;
    overflow:hidden;
    color:#14213A;
    font-size:11px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.accounting-alert-item > div:first-child span {
    display:block;
    overflow:hidden;
    margin-top:3px;
    color:#7A8493;
    font-size:9px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.accounting-alert-item > div:nth-child(2) {
    text-align:right;
    white-space:nowrap;
}

.accounting-alert-item small {
    display:block;
    color:#8A94A2;
    font-size:8px;
}

.accounting-alert-item b {
    color:#8B682D;
    font-size:10.5px;
}

.accounting-more {
    padding:9px 11px;
    color:#92702F;
    background:#FAFBFC;
    font-size:9.5px;
    font-weight:700;
}


/* PORTAFOGLIO */

.accounting-portfolio-grid,
.accounting-all-mandates-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 10px;
}

.accounting-portfolio-grid .accounting-row,
.accounting-all-mandates-grid .accounting-row {
    margin:0;
    border:1px solid #E5E8ED;
    border-radius:9px;
}

.accounting-all-mandates {
    margin-top:20px;
}

@media(max-width:1000px) {

    .accounting-hearing-grid,
    .accounting-alert-grid,
    .accounting-portfolio-grid,
    .accounting-all-mandates-grid {
        grid-template-columns:1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - CONTABILITA LAYOUT REFINEMENT
   ========================================================= */


/* =========================================================
   PRE-UDIENZA - PIU' AMPIO E LEGGIBILE
   ========================================================= */

.accounting-hearing-panel {
    grid-column: 1 / -1 !important;
    width: 100%;
}

.accounting-hearing-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

.accounting-hearing-card {
    display: grid;
    grid-template-columns:
        minmax(220px, .9fr)
        minmax(330px, 1.4fr)
        auto;

    column-gap: 24px;
    align-items: center;

    min-height: 118px;
    padding: 18px 20px !important;

    border: 1px solid #DEE3E8 !important;
    border-left: 4px solid #B08A43 !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.035) 0%,
            #FFFFFF 24%
        ) !important;

    box-shadow:
        0 4px 14px rgba(20,33,58,.04);
}

.accounting-hearing-card:hover {
    border-color: #C7B17D !important;
    box-shadow:
        0 7px 19px rgba(20,33,58,.07);
}

.accounting-hearing-card-head {
    display: block !important;
}

.accounting-hearing-card-head > span {
    display: inline-flex;

    margin-bottom: 7px;
    padding: 5px 8px;

    border-radius: 999px;
    background: #F7F1E5;

    color: #8B682D !important;

    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .7px;
}

.accounting-hearing-card-head > strong {
    display: block;

    color: #14213A !important;

    font-family: Georgia, serif;
    font-size: 18px !important;
    font-weight: 500 !important;
}

.accounting-hearing-card h3 {
    margin: 0 0 5px !important;

    color: #14213A !important;

    font-family: Georgia, serif;
    font-size: 20px !important;
    font-weight: 500 !important;
}

.accounting-hearing-card > p {
    margin: 0 0 13px !important;

    color: #6F7988 !important;

    font-size: 12px !important;
    line-height: 1.45;
}

.accounting-hearing-money {
    grid-column: 2;
    grid-row: 1;

    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px !important;

    margin: 0 !important;
}

.accounting-hearing-money > span {
    padding: 12px 13px !important;

    border: 1px solid #E7EAEE;
    border-radius: 9px !important;

    background: #FAFBFC !important;

    color: #7A8493 !important;

    font-size: 9.5px !important;
    font-weight: 650;
}

.accounting-hearing-money strong {
    margin-top: 5px !important;

    color: #14213A !important;

    font-size: 15px !important;
    font-weight: 750 !important;
}

.accounting-hearing-money .residual {
    border-color: #DECFAE !important;
    background: #FBF7EE !important;
}

.accounting-hearing-money .residual strong {
    color: #8B682D !important;
}

.accounting-hearing-actions {
    grid-column: 3;
    grid-row: 1;

    display: flex !important;
    flex-direction: column !important;

    min-width: 150px;

    margin: 0 !important;
}

.accounting-hearing-actions .button {
    width: 100%;

    min-height: 36px !important;
    padding: 8px 11px !important;

    font-size: 10px !important;

    text-align: center;
}


/* =========================================================
   PORTAFOGLIO - CARD PROFESSIONALI
   ========================================================= */

.accounting-portfolio-panel {
    margin-top: 28px !important;
    border-top: 3px solid #14213A;
}

.accounting-portfolio-grid {
    gap: 12px 14px !important;
}

.accounting-portfolio-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 170px;
    padding: 17px 18px 15px;

    border: 1px solid #DFE4E9;
    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FBFCFD 100%
        );

    color: inherit;
    text-decoration: none;

    box-shadow:
        0 4px 14px rgba(20,33,58,.035);

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.accounting-portfolio-card:hover {
    transform: translateY(-2px);

    border-color: #C8B079;

    box-shadow:
        0 8px 22px rgba(20,33,58,.075);
}

.accounting-portfolio-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.accounting-portfolio-client {
    min-width: 0;
}

.accounting-portfolio-number {
    display: block;

    margin-bottom: 5px;

    color: #9A7637;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.accounting-portfolio-client strong {
    display: block;
    overflow: hidden;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.accounting-portfolio-status {
    flex: 0 0 auto;

    padding: 5px 8px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F7F8FA;

    color: #667085;

    font-size: 8.5px;
    font-weight: 750;
}

.accounting-portfolio-title {
    overflow: hidden;

    margin-top: 11px;

    color: #697586;

    font-size: 11px;
    line-height: 1.4;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.accounting-portfolio-money {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;

    margin-top: 15px;
}

.accounting-portfolio-money > div {
    padding: 10px 11px;

    border: 1px solid #E7EAEE;
    border-radius: 8px;

    background: #F9FAFB;
}

.accounting-portfolio-money span {
    display: block;

    color: #8993A1;

    font-size: 8.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.accounting-portfolio-money strong {
    display: block;

    margin-top: 4px;

    color: #14213A;

    font-size: 14px;
    font-weight: 750;
}

.accounting-portfolio-money .residual {
    border-color: #DED0B1;
    background: #FCF8EF;
}

.accounting-portfolio-money .residual strong {
    color: #8B682D;
}

.accounting-portfolio-money .paid,
.accounting-mandate-values .paid {
    border-color:#cfe1d7;
    background:#f1f7f4;
}

.accounting-portfolio-money .paid strong,
.accounting-mandate-values .paid strong {
    color:#356a50;
}

.accounting-portfolio-money .payment-date strong,
.accounting-mandate-values .payment-date strong {
    font-size:12px;
    line-height:1.25;
}

@media(max-width:1100px) and (min-width:761px) {
    .accounting-portfolio-money {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .accounting-portfolio-money .payment-date {
        grid-column:1 / -1;
    }
}

.accounting-portfolio-open {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;

    margin-top: auto;
    padding-top: 13px;

    color: #8B682D;

    font-size: 9.5px;
    font-weight: 750;
}

.accounting-portfolio-open span {
    font-size: 14px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1150px) {

    .accounting-hearing-card {
        grid-template-columns: 1fr;
        row-gap: 15px;
    }

    .accounting-hearing-money,
    .accounting-hearing-actions {
        grid-column: 1;
        grid-row: auto;
    }

    .accounting-hearing-actions {
        flex-direction: row !important;
    }
}

@media(max-width:760px) {

    .accounting-hearing-money,
    .accounting-portfolio-money {
        grid-template-columns: 1fr !important;
    }

    .accounting-hearing-actions {
        flex-direction: column !important;
    }
}



/* =========================================================
   ALPHA 0.6 - PAGINA PORTAFOGLIO MANDATI ELEGANTE
   ========================================================= */

.accounting-mandates-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 22px;

    margin-bottom: 20px;
    padding: 4px 2px 10px;
}

.accounting-mandates-hero h1 {
    margin: 5px 0 6px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 34px;
    line-height: 1.08;
    font-weight: 500;
}

.accounting-mandates-hero p {
    margin: 0;

    color: #6F7988;

    font-size: 13px;
}


/* KPI PORTAFOGLIO */

.accounting-mandates-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;

    margin-bottom: 22px;
}

.accounting-mandates-summary > div {
    padding: 15px 16px;

    border: 1px solid #E1E5EA;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 4px 14px rgba(20,33,58,.035);
}

.accounting-mandates-summary span {
    display: block;

    color: #7A8493;

    font-size: 9px;
    font-weight: 750;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.accounting-mandates-summary strong {
    display: block;

    margin-top: 7px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.accounting-mandates-summary .residual {
    border-color: #DCCDAE;

    background:
        linear-gradient(
            145deg,
            #FFFDF9,
            #FBF5E9
        );
}

.accounting-mandates-summary .residual strong {
    color: #8B682D;
}


/* PANNELLO */

.accounting-mandates-panel {
    border-top: 3px solid #14213A;
}

.accounting-mandates-panel .panel-head p {
    margin: 5px 0 0;

    color: #7A8493;

    font-size: 11.5px;
}


/* GRID */

.accounting-mandates-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px 14px;
}


/* CARD */

.accounting-mandate-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 205px;
    padding: 18px;

    border: 1px solid #DFE4E9;
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FBFCFD 100%
        );

    color: inherit;
    text-decoration: none;

    box-shadow:
        0 5px 16px rgba(20,33,58,.04);

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.accounting-mandate-card:hover {
    transform: translateY(-2px);

    border-color: #C8B079;

    box-shadow:
        0 9px 24px rgba(20,33,58,.08);
}


/* TESTATA CARD */

.accounting-mandate-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.accounting-mandate-client {
    min-width: 0;
}

.accounting-mandate-client > span {
    display: block;

    margin-bottom: 5px;

    color: #9A7637;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.accounting-mandate-client > strong {
    display: block;
    overflow: hidden;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 18px;
    font-weight: 500;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.accounting-mandate-status {
    flex: 0 0 auto;

    padding: 5px 9px;

    border: 1px solid #DDE2E7;
    border-radius: 999px;

    background: #F7F8FA;

    color: #667085;

    font-size: 8.5px;
    font-weight: 750;
}


/* TITOLO */

.accounting-mandate-title {
    overflow: hidden;

    margin-top: 13px;

    color: #687487;

    font-size: 11.5px;
    line-height: 1.4;

    white-space: nowrap;
    text-overflow: ellipsis;
}


/* VALORI */

.accounting-mandate-values {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;

    margin-top: 17px;
}

.accounting-mandate-values > div {
    padding: 10px 11px;

    border: 1px solid #E6E9ED;
    border-radius: 8px;

    background: #F9FAFB;
}

.accounting-mandate-values span {
    display: block;

    color: #8993A1;

    font-size: 8px;
    font-weight: 750;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.accounting-mandate-values strong {
    display: block;

    margin-top: 5px;

    color: #14213A;

    font-size: 13px;
    font-weight: 750;
}

.accounting-mandate-values .residual {
    border-color: #DED0B1;

    background: #FCF8EF;
}

.accounting-mandate-values .residual strong {
    color: #8B682D;
}


/* FOOTER */

.accounting-mandate-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;

    margin-top: auto;
    padding-top: 16px;

    border-top: 1px solid #EEF0F3;
}

.accounting-mandate-footer > span {
    color: #8A94A2;

    font-size: 9px;
}

.accounting-mandate-footer > strong {
    color: #8B682D;

    font-size: 9.5px;
    font-weight: 750;
}

.accounting-mandates-empty {
    grid-column: 1 / -1;
}


/* RESPONSIVE */

@media(max-width:1100px) {

    .accounting-mandates-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .accounting-mandates-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:650px) {

    .accounting-mandates-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .accounting-mandates-summary {
        grid-template-columns: 1fr;
    }

    .accounting-mandate-values {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - ATTI E SCADENZE PROCESSUALI REFINEMENT
   ========================================================= */


/* PANNELLO */

.matter-acts-panel {
    position: relative;

    padding: 21px 23px;

    border: 1px solid #DFE4E9;
    border-top: 3px solid #14213A;
    border-radius: 13px;

    background: #FFFFFF;

    box-shadow:
        0 4px 15px rgba(20,33,58,.035);
}

.matter-acts-head {
    margin-bottom: 15px;
}

.matter-acts-head h2 {
    margin-top: 4px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.matter-acts-description {
    margin: 5px 0 0;

    color: #7A8493;

    font-size: 11.5px;
    line-height: 1.4;
}


/* SINGOLO ATTO */

.matter-acts-panel .matter-act {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(185px,220px);

    gap: 22px;
    align-items: center;

    min-height: 92px;

    margin: 0 0 9px;
    padding: 15px 17px 15px 19px;

    border: 1px solid #E2E6EA;
    border-left: 3px solid #B08A43;
    border-radius: 10px;

    background:
        linear-gradient(
            100deg,
            rgba(176,138,67,.035) 0%,
            #FFFFFF 23%
        );

    box-shadow:
        0 2px 8px rgba(20,33,58,.025);

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.matter-acts-panel .matter-act:last-child {
    margin-bottom: 0;
}

.matter-acts-panel .matter-act:hover {
    transform: translateY(-1px);

    border-color: #CDBA91;
    border-left-color: #9A7637;

    box-shadow:
        0 5px 14px rgba(20,33,58,.055);
}


/* TIPO ATTO */

.matter-acts-panel .matter-act > div:first-child > strong {
    display: block;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
}


/* DESCRIZIONE */

.matter-acts-panel .matter-act > div:first-child > p {
    margin: 5px 0 0;

    color: #697586;

    font-size: 11.5px;
    line-height: 1.45;
}


/* DATE ATTO / NOTIFICA */

.matter-acts-panel .matter-act-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin-top: 11px;
}

.matter-acts-panel .matter-act-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 5px 8px;

    border: 1px solid #E4E7EB;
    border-radius: 7px;

    background: #F8F9FA;

    color: #536174;

    font-size: 10px;
    font-weight: 650;
}

.matter-acts-panel .matter-act-meta small {
    color: #9A7637;

    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .45px;
}


/* AREA SCADENZA */

.matter-acts-panel .matter-deadline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;

    min-height: 60px;

    padding-left: 18px;

    border-left: 1px solid #E8EBEF;
}


/* LABEL */

.matter-acts-panel .deadline {
    display: inline-flex;

    padding: 5px 8px;

    border-radius: 999px;

    font-size: 8px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
}


/* CONFERMATA */

.matter-acts-panel .deadline.confirmed {
    border: 1px solid #DCCDAE;

    background: #F8F2E7;

    color: #8B682D;
}


/* DA VERIFICARE */

.matter-acts-panel .deadline.provisional {
    border: 1px solid #E4D9C2;

    background: #FBF8F1;

    color: #8A7350;
}


/* DATA SCADENZA */

.matter-acts-panel .matter-deadline > strong {
    margin-top: 7px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -.2px;
}


/* NESSUNA SCADENZA */

.matter-acts-panel .no-deadline {
    display: inline-flex;

    padding: 6px 9px;

    border: 1px solid #E3E6EA;
    border-radius: 999px;

    background: #F7F8FA;

    color: #8993A1;

    font-size: 8.5px;
    font-weight: 750;
    letter-spacing: .3px;
    text-transform: uppercase;
}


/* EMPTY STATE */

.matter-acts-panel .empty-state {
    padding: 24px;

    border: 1px dashed #DDE2E7;
    border-radius: 10px;

    background: #FAFBFC;

    color: #7A8493;

    text-align: center;
}


/* RESPONSIVE */

@media(max-width:800px) {

    .matter-acts-panel .matter-act {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .matter-acts-panel .matter-deadline {
        align-items: flex-start;

        padding-top: 12px;
        padding-left: 0;

        border-top: 1px solid #E8EBEF;
        border-left: 0;
    }
}


/* =========================================================
   ALPHA 0.6 - ATTO PROCESSUALE FORM COMPLETO
   ========================================================= */

.new-act-panel {
    border-top: 3px solid #B08A43;
}

.new-act-head h2 {
    margin: 3px 0 0;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.new-act-subtitle {
    display: inline-flex;
    margin-top: 7px;
    padding: 5px 9px;
    border: 1px solid #DFD2B7;
    border-radius: 999px;
    background: #F8F2E7;
    color: #8B682D;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.new-act-description {
    margin: 7px 0 0;
    color: #7A8493;
    font-size: 10.5px;
    line-height: 1.45;
}

.new-act-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 13px 12px;
}

.new-act-form > label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.new-act-form > label > span,
.new-act-document-meta label > span,
.new-act-document-notes > span {
    color: #596678;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.new-act-wide {
    grid-column: 1 / -1;
}

.new-act-section-title {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 5px;
    padding-bottom: 8px;
    border-bottom: 1px solid #E8EBEF;
}

.new-act-section-title > span {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #F4EEDF;
    color: #92702F;
    font-size: 8px;
    font-weight: 850;
}

.new-act-section-title > strong {
    color: #14213A;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.new-act-form input,
.new-act-form textarea,
.new-act-form select {
    border: 1px solid #DDE2E7;
    border-radius: 8px;
    background: #FFFFFF;
}

.new-act-form input:focus,
.new-act-form textarea:focus,
.new-act-form select:focus {
    border-color: rgba(176,138,67,.65);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}


/* DOCUMENTO COLLEGATO */

.new-act-document-box {
    padding: 12px;
    border: 1px solid #E0E4E9;
    border-radius: 10px;
    background: #FAFBFC;
}

.new-act-file-zone {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    padding: 14px;
    border: 1px dashed #C9B47D;
    border-radius: 9px;
    background: #FFFFFF;
    cursor: pointer;
    text-align: center;
    transition: .15s ease;
}

.new-act-file-zone:hover {
    border-color: #96712F;
    background: #FFFEFB;
    box-shadow: 0 4px 12px rgba(20,33,58,.04);
}

.new-act-file-zone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.new-act-file-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #F4EEDF;
    color: #92702F;
    font-size: 17px;
}

.new-act-file-zone > strong {
    color: #14213A;
    font-size: 10.5px;
}

.new-act-file-zone > span {
    margin-top: 3px;
    color: #7D8898;
    font-size: 9px;
}

.new-act-file-zone > small {
    margin-top: 8px;
    color: #92702F;
    font-size: 8.5px;
    font-weight: 700;
}

.new-act-document-meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.new-act-document-meta > label,
.new-act-document-notes {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px;
}

.new-act-document-notes {
    margin-top: 10px;
}

.new-act-submit {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    margin-top: 3px;
    padding-top: 12px;
    border-top: 1px solid #EDF0F2;
}

.new-act-submit .button {
    min-width: 200px;
}

@media(max-width:750px) {
    .new-act-form,
    .new-act-document-meta {
        grid-template-columns: 1fr;
    }

    .new-act-wide,
    .new-act-section-title,
    .new-act-submit {
        grid-column: 1;
    }
}



/* =========================================================
   ATTO PROCESSUALE - DRAG DROP FEEDBACK
   ========================================================= */

.new-act-file-zone.is-dragging {
    border-color: #92702F !important;
    border-style: solid !important;

    background: #FBF6EA !important;

    box-shadow:
        0 0 0 3px rgba(176,138,67,.10),
        0 6px 16px rgba(20,33,58,.06);

    transform: translateY(-1px);
}

.new-act-file-zone.is-dragging .new-act-file-icon {
    background: #B08A43;
    color: #FFFFFF;
}

.new-act-file-zone.has-file {
    border-color: #B9A168;
    background: #FFFDF8;
}

.new-act-file-zone.has-file > small {
    color: #7D622C;
    font-weight: 800;
}


/* =========================================================
   ALPHA 0.6 - ARCHIVIO DOCUMENTI FASCICOLO
   PROFESSIONAL REFINEMENT
   ========================================================= */

/* PANNELLO ARCHIVIO */

#documenti {
    position: relative;
    overflow: hidden;
}

#documenti > .panel-head {
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #E6E9ED;
}

#documenti > .panel-head h2 {
    margin-top: 2px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -.15px;
}

#documenti > .panel-head .record-count {
    background: #F6F7F8;
    border: 1px solid #E1E5E9;
    color: #687486;
}


/* GENERAZIONE DOCUMENTI */

#documenti .document-generator-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    margin: 0 0 14px;
    padding: 10px 12px;

    border: 1px solid #E4E7EB;
    border-radius: 9px;

    background: #FAFAFB;
}

#documenti .document-generator-main .button {
    min-height: 34px;
    padding: 7px 13px;
    font-size: 10.5px;
}

#documenti .document-template-shortcuts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

#documenti .document-template-shortcuts a {
    padding: 6px 9px;

    border: 1px solid #DDD4C2;
    border-radius: 6px;

    background: #FFFFFF;

    color: #80622E;
    font-size: 9.5px;
    font-weight: 700;

    text-decoration: none;

    transition: .15s ease;
}

#documenti .document-template-shortcuts a:hover {
    border-color: #B08A43;
    background: #FFFDF8;
    color: #6E5225;
}


/* BARRA RICERCA E FILTRI */

#documenti .case-document-tools {
    grid-template-columns:
        minmax(240px, 1fr)
        minmax(155px, 190px)
        auto
        auto;

    gap: 9px;

    margin: 0 0 16px;
    padding: 10px 11px;

    border: 1px solid #E2E6EA;
    border-radius: 9px;

    background: #F7F8F9;
}

#documenti .case-document-search input,
#documenti .case-document-tools select {
    min-height: 35px;

    border: 1px solid #DDE2E7;
    border-radius: 7px;

    background: #FFFFFF;

    color: #26354A;
    font-size: 11px;
}

#documenti .case-document-search input:focus,
#documenti .case-document-tools select:focus {
    border-color: rgba(176,138,67,.65);
    box-shadow: 0 0 0 3px rgba(176,138,67,.07);
}

#documenti .case-document-important-filter {
    padding: 0 4px;
    font-size: 10.5px;
}

#documenti .case-document-filter-count {
    color: #84909E;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .15px;
}


/* =========================================================
   RIGA DOCUMENTO
   ========================================================= */

#documenti .matter-document {
    position: relative;

    display: grid;
    grid-template-columns:
        48px
        minmax(0, 1fr)
        auto;

    align-items: center;
    gap: 13px;

    min-height: 72px;

    margin-bottom: 7px;
    padding: 10px 13px;

    border: 1px solid #E2E6EA;
    border-radius: 8px;

    background: #FFFFFF;

    box-shadow: none;

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

#documenti .matter-document:hover {
    background: #FCFCFD;

    border-color: #D4C7AA;

    box-shadow:
        0 4px 12px rgba(20,33,58,.045);

    transform: translateY(-1px);
}


/* TIPO FILE */

#documenti .document-file-icon.small {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin: 0;

    border: 1px solid #DDE2E7;
    border-radius: 8px;

    background: #F6F7F8;

    color: #445269;

    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .5px;

    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}


/* INFORMAZIONI PRINCIPALI */

#documenti .matter-document-main {
    min-width: 0;
}

#documenti .matter-document-main strong {
    display: block;

    margin-bottom: 4px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 14px;
    font-weight: 500;

    line-height: 1.25;
}

#documenti .matter-document-main > span {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #7A8594;

    font-size: 9.5px;
    line-height: 1.35;
}

#documenti .matter-document-main p {
    margin: 5px 0 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #697586;

    font-size: 9.5px;
    line-height: 1.35;
}


/* METADATI DESTRA */

#documenti .matter-document-meta {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 10px;

    padding-left: 12px;

    border-left: 1px solid #EDF0F2;

    white-space: nowrap;
}

#documenti .matter-document-meta > span {
    color: #8A94A2;

    font-size: 9.5px;
    font-weight: 650;
}

#documenti .matter-document-meta > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 54px;
    min-height: 29px;

    padding: 5px 9px;

    border: 1px solid #D8CBAE;
    border-radius: 6px;

    background: #FFFDF8;

    color: #80612B;

    font-size: 9.5px;
    font-weight: 800;

    text-decoration: none;

    transition: .15s ease;
}

#documenti .matter-document-meta > a:hover {
    border-color: #B08A43;

    background: #F7F0E2;

    color: #684E22;
}


/* =========================================================
   DOCUMENTO IMPORTANTE
   ========================================================= */

#documenti .matter-document.important {
    border-left: 3px solid #B08A43;

    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.055) 0,
            rgba(176,138,67,.018) 90px,
            #FFFFFF 210px
        );
}

#documenti .matter-document.important:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.075) 0,
            rgba(176,138,67,.025) 100px,
            #FCFCFD 220px
        );
}

#documenti .matter-document.important
.document-file-icon.small {
    border-color: #D9C79F;
    background: #FAF5EA;
    color: #896728;
}

#documenti .document-star {
    margin-right: 5px;

    color: #B08A43;

    font-family: inherit;
    font-size: 11px;
}


/* LINK INVISIBILE DETTAGLIO */

#documenti .matter-document-detail-link {
    position: absolute;
    inset: 0;
    z-index: 1;

    border-radius: inherit;
}


/* STATO VUOTO */

#documenti .empty-state {
    padding: 28px 18px;

    border: 1px dashed #D7DDE3;
    border-radius: 9px;

    background: #FAFBFC;

    text-align: center;
}

#documenti .empty-state strong {
    color: #526073;
    font-family: Georgia, serif;
    font-weight: 500;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    #documenti .case-document-tools {
        grid-template-columns: 1fr 1fr;
    }

    #documenti .matter-document {
        grid-template-columns: 42px minmax(0,1fr);
    }

    #documenti .matter-document-meta {
        grid-column: 2;

        justify-content: flex-start;

        padding-left: 0;
        padding-top: 7px;

        border-left: 0;
        border-top: 1px solid #EDF0F2;
    }
}

@media (max-width: 620px) {

    #documenti .document-generator-tools {
        align-items: flex-start;
        flex-direction: column;
    }

    #documenti .document-template-shortcuts {
        justify-content: flex-start;
    }

    #documenti .case-document-tools {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   ALPHA 0.6 - DESCRIZIONI BOX PAGINA OGGI
   ========================================================= */

.today-box-description {
    max-width: 620px;
    margin: 5px 0 0;

    color: #7A8493;

    font-size: 10.5px;
    line-height: 1.4;
    font-weight: 500;
}

.today-section .panel-head,
.today-reminders-panel .panel-head,
.today-summary-v2 .panel-head {
    align-items: flex-start;
}

.today-section .panel-head h2,
.today-reminders-panel .panel-head h2,
.today-summary-v2 .panel-head h2 {
    margin-bottom: 0;
}



/* =========================================================
   ALPHA 0.6 - RICERCA GLOBALE PROFESSIONAL REFINEMENT
   ========================================================= */


/* DESCRIZIONI */

.search-section-description {
    max-width: 720px;

    margin: 5px 0 0;

    color: #7B8594;

    font-size: 10.5px;
    line-height: 1.4;
    font-weight: 500;
}


/* =========================================================
   PRATICHE - RISULTATO PRINCIPALE
   ========================================================= */

.search-cases-section {
    position: relative;

    overflow: hidden;

    border-top: 3px solid #14213A;

    box-shadow:
        0 4px 16px rgba(20,33,58,.04);
}

.search-cases-section > .panel-head {
    padding-bottom: 14px;
    margin-bottom: 12px;

    border-bottom: 1px solid #E5E8EC;
}

.search-cases-section > .panel-head h2 {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 500;
}

.search-case-list {
    display: flex;
    flex-direction: column;

    gap: 8px;
}


/* RIGA PRATICA */

.global-case-result {
    position: relative;

    display: grid;

    grid-template-columns:
        95px
        minmax(0,1fr)
        24px;

    gap: 15px;
    align-items: center;

    min-height: 88px;

    padding: 13px 14px;

    border: 1px solid #E1E5EA;
    border-left: 3px solid #B08A43;
    border-radius: 9px;

    background:
        linear-gradient(
            100deg,
            rgba(176,138,67,.035) 0,
            #FFFFFF 150px
        );

    box-shadow:
        0 2px 7px rgba(20,33,58,.025);

    text-decoration: none;
}

.global-case-result:hover {
    transform: translateY(-1px);

    border-color: #CFBE98;
    border-left-color: #94702F;

    background:
        linear-gradient(
            100deg,
            rgba(176,138,67,.055) 0,
            #FCFCFD 170px
        );

    box-shadow:
        0 6px 16px rgba(20,33,58,.055);
}


/* NUMERO PRATICA */

.global-case-number {
    display: flex;
    flex-direction: column;

    justify-content: center;

    min-height: 55px;

    padding-right: 13px;

    border-right: 1px solid #E7EAEF;
}

.global-case-number > span {
    margin-bottom: 4px;

    color: #9A793D;

    font-size: 7.5px;
    font-weight: 850;
    letter-spacing: .8px;
}

.global-case-number > strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}


/* ASSISTITO */

.global-case-main {
    min-width: 0;
}

.global-case-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.global-case-heading > strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
}

.global-case-type {
    display: inline-flex;
    align-items: center;

    padding: 4px 7px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F6F7F9;

    color: #596678;

    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
}


/* REGISTRI */

.global-case-registry {
    display: flex;
    flex-wrap: wrap;

    gap: 5px;

    margin-top: 7px;
}

.global-case-registry > span {
    display: inline-flex;

    padding: 4px 6px;

    border-radius: 5px;

    background: #F8F9FA;
    border: 1px solid #E5E8EB;

    color: #687587;

    font-size: 8px;
    font-weight: 700;
}


/* AUTORITA / OGGETTO */

.global-case-detail {
    display: block;

    margin-top: 6px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #7D8795;

    font-size: 9.5px;
}


/* FRECCIA */

.global-case-result > .arrow {
    color: #B08A43;

    font-size: 17px;

    opacity: .72;

    transition: transform .15s ease;
}

.global-case-result:hover > .arrow {
    transform: translateX(2px);

    opacity: 1;
}


/* =========================================================
   PROCEDIMENTI / SUB-PROCEDIMENTI
   ========================================================= */

.search-proceedings-section {
    border-top: 2px solid #D4D9DF;
}

.search-proceedings-section > .panel-head h2 {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}


/* RESTO DEI RISULTATI */

.search-section:not(.search-cases-section)
.global-result-row {
    min-height: 66px;

    border-radius: 8px;
}

.search-section:not(.search-cases-section)
.global-result-main > strong {
    color: #14213A;
}


/* RESPONSIVE */

@media(max-width:750px) {

    .global-case-result {
        grid-template-columns:
            1fr
            24px;

        gap: 10px;
    }

    .global-case-number {
        grid-column: 1 / -1;

        min-height: auto;

        padding: 0 0 8px;

        border-right: 0;
        border-bottom: 1px solid #E7EAEF;
    }

}


/* =========================================================
   ALPHA 0.6 - RICERCA PRATICHE SPACING REFINEMENT
   ========================================================= */

.search-cases-section .global-case-result {
    grid-template-columns:
        118px
        minmax(0, 1fr)
        24px;

    column-gap: 24px;

    padding: 15px 17px;
}


/* NUMERO PRATICA PIÙ DISTINTO */

.search-cases-section .global-case-number {
    min-height: 62px;

    padding-right: 20px;

    border-right: 1px solid #E1E5EA;
}

.search-cases-section .global-case-number > span {
    margin-bottom: 6px;

    color: #9A793D;

    font-size: 7px;
    font-weight: 850;
    letter-spacing: 1px;
}

.search-cases-section .global-case-number > strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 600;
}


/* ASSISTITO CON PIÙ RESPIRO */

.search-cases-section .global-case-main {
    padding-left: 2px;
}

.search-cases-section .global-case-heading {
    gap: 10px;
}

.search-cases-section .global-case-heading > strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
    letter-spacing: -.1px;
}


/* BADGE TIPO PRATICA PIÙ SOBRIO */

.search-cases-section .global-case-type {
    padding: 4px 8px;

    border-color: #DDD5C5;

    background: #FAF7F1;

    color: #80632D;

    font-size: 7px;
}


/* REGISTRI PIÙ ORDINATI */

.search-cases-section .global-case-registry {
    gap: 6px;
    margin-top: 8px;
}

.search-cases-section .global-case-registry > span {
    padding: 4px 7px;

    border-radius: 6px;

    background: #F7F8FA;

    color: #637084;

    font-size: 8px;
}


/* AUTORITÀ / OGGETTO */

.search-cases-section .global-case-detail {
    margin-top: 7px;

    color: #7B8695;

    font-size: 9.5px;
}


/* HOVER PIÙ ELEGANTE */

.search-cases-section .global-case-result:hover {
    border-color: #C9B98F;
    border-left-color: #9B7735;

    box-shadow:
        0 7px 18px rgba(20,33,58,.06);
}


/* MOBILE */

@media(max-width:750px) {

    .search-cases-section .global-case-result {
        grid-template-columns:
            1fr
            24px;

        column-gap: 10px;
    }

    .search-cases-section .global-case-number {
        grid-column: 1 / -1;

        min-height: auto;

        padding: 0 0 10px;

        border-right: 0;
        border-bottom: 1px solid #E1E5EA;
    }

    .search-cases-section .global-case-main {
        padding-left: 0;
    }
}



/* =========================================================
   ALPHA 0.6 - DOCUMENTI GLOBAL ARCHIVE PROFESSIONAL
   ========================================================= */


/* =========================================================
   HERO
   ========================================================= */

.documents-page-hero {
    margin-bottom: 22px;
}

.documents-page-hero h1 {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: -.35px;
}

.documents-page-hero p {
    max-width: 720px;

    color: #6E7989;

    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   FILTRI
   ========================================================= */

.documents-page-filters {
    margin-bottom: 20px;
}

.documents-page-filters .search-box {
    min-height: 52px;
    height: auto;

    padding-left: 16px;

    border: 1px solid #DDE2E7;
    border-radius: 10px;

    background: #FFFFFF;

    box-shadow:
        0 2px 8px rgba(20,33,58,.025);
}

.documents-page-filters .search-box > span {
    color: #8A94A2;

    font-size: 18px;
}

.documents-page-filters .search-box input {
    min-height: 48px;

    padding: 0 14px;

    color: #26354A;

    font-size: 12px;
}

.documents-page-filters .search-box select {
    min-width: 190px;
    max-width: 240px;
    min-height: 48px;

    padding: 0 14px;

    border: 0;
    border-left: 1px solid #E3E6EA;
    border-radius: 0;

    background: #FAFBFC;

    color: #596678;

    font-size: 11px;
}

.documents-search-button {
    align-self: stretch;

    min-width: 92px;

    padding: 0 18px;

    border: 0;
    border-radius: 0 9px 9px 0;

    background:
        linear-gradient(
            180deg,
            #1B2B47,
            #14213A
        );

    color: #FFFFFF;

    font-size: 10.5px;
    font-weight: 750;

    cursor: pointer;
}

.documents-search-button:hover {
    background:
        linear-gradient(
            180deg,
            #B08A43,
            #92702F
        );
}


/* =========================================================
   PANNELLO ARCHIVIO
   ========================================================= */

.documents-archive-panel {
    overflow: hidden;

    border-top: 3px solid #14213A;

    box-shadow:
        0 5px 18px rgba(20,33,58,.04);
}

.documents-archive-panel > .panel-head {
    margin-bottom: 12px;
    padding-bottom: 15px;

    border-bottom: 1px solid #E4E8EC;
}

.documents-archive-panel > .panel-head h2 {
    margin-top: 2px;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: -.15px;
}

.documents-archive-description {
    max-width: 700px;

    margin: 5px 0 0;

    color: #7A8493;

    font-size: 10.5px;
    line-height: 1.4;
}

.documents-archive-panel .record-count {
    padding: 6px 10px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F6F7F9;

    color: #697587;

    font-size: 9.5px;
    font-weight: 700;
}


/* =========================================================
   LISTA
   ========================================================= */

.documents-archive-panel .document-list {
    display: flex;
    flex-direction: column;

    gap: 7px;
}


/* =========================================================
   RIGA DOCUMENTO
   ========================================================= */

.documents-page-row {
    display: grid;

    grid-template-columns:
        52px
        minmax(250px, 1fr)
        minmax(135px, 170px)
        115px
        135px
        78px;

    gap: 16px;

    align-items: center;

    min-height: 78px;

    padding: 11px 14px;

    border: 1px solid #E2E6EA;
    border-radius: 8px;

    background: #FFFFFF;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.documents-page-row:hover {
    transform: translateY(-1px);

    border-color: #D1C29E;

    background: #FCFCFD;

    box-shadow:
        0 5px 14px rgba(20,33,58,.045);
}


/* =========================================================
   ICONA FILE
   ========================================================= */

.documents-page-row .document-file-icon {
    width: 44px;
    height: 44px;

    border: 1px solid #DDD5C4;
    border-radius: 8px;

    background: #FAF7F0;

    color: #87672E;

    font-family: Georgia, serif;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .4px;
}


/* =========================================================
   DOCUMENTO
   ========================================================= */

.documents-page-row .document-main {
    min-width: 0;
}

.documents-page-row .document-main strong {
    display: block;

    margin: 0;

    font-size: inherit;
}

.documents-page-title-link {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 14.5px;
    line-height: 1.3;
    font-weight: 500;

    text-decoration: none;
}

.documents-page-title-link:hover {
    color: #8B682D;
}

.documents-page-row .document-main > span {
    display: block;

    margin-top: 5px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #84909E;

    font-size: 9.5px;
}

.documents-page-row .document-main p {
    margin: 5px 0 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #697586;

    font-size: 9.5px;
}


/* =========================================================
   CATEGORIA
   ========================================================= */

.documents-page-row .document-category {
    display: inline-flex;
    align-items: center;

    max-width: 100%;

    padding: 5px 8px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    border: 1px solid #DDD2B9;
    border-radius: 999px;

    background: #FAF6ED;

    color: #80612B;

    font-size: 8px;
    font-weight: 750;
}


/* =========================================================
   PRATICA
   ========================================================= */

.documents-page-row .document-case {
    padding-left: 12px;

    border-left: 1px solid #E8EBEF;
}

.documents-case-label {
    display: block;

    margin-bottom: 3px;

    color: #A18550;

    font-size: 6.5px;
    font-weight: 850;
    letter-spacing: .8px;
}

.documents-page-row .document-case a {
    display: block;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 11px;
    font-weight: 600;

    text-decoration: none;
}

.documents-page-row .document-case a:hover {
    color: #8B682D;
}

.documents-page-row .document-case span:not(.documents-case-label) {
    display: block;

    margin-top: 3px;

    color: #8B95A2;

    font-size: 7.5px;
}


/* =========================================================
   DATA / AUTORE
   ========================================================= */

.documents-page-row .document-date {
    color: #566274;

    font-size: 9.5px;
    font-weight: 650;

    text-align: left;
}

.documents-page-row .document-date span {
    display: block;

    margin-top: 4px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #919AA6;

    font-size: 8px;
    font-weight: 500;
}


/* =========================================================
   APRI / SCARICA
   ========================================================= */

.documents-page-row .document-download {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    min-width: 68px;
    height: 31px;

    padding: 0 8px;

    border: 1px solid #D6C8A8;
    border-radius: 6px;

    background: #FFFDF8;

    color: #80612B;

    font-size: 8.5px;
    font-weight: 800;

    text-decoration: none;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

.documents-page-row .document-download:hover {
    border-color: #B08A43;

    background: #F7F0E2;

    color: #654B20;
}


/* =========================================================
   STATO VUOTO
   ========================================================= */

.documents-archive-panel .empty-state {
    padding: 34px 20px;

    border: 1px dashed #D6DCE2;
    border-radius: 9px;

    background: #FAFBFC;

    text-align: center;
}

.documents-archive-panel .empty-state strong {
    color: #14213A;

    font-family: Georgia, serif;
    font-size: 14px;
    font-weight: 500;
}

.documents-archive-panel .empty-state span {
    display: block;

    margin-top: 5px;

    color: #84909E;

    font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px) {

    .documents-page-row {
        grid-template-columns:
            46px
            minmax(220px,1fr)
            minmax(120px,160px)
            105px
            72px;
    }

    .documents-page-row .document-date {
        display: none;
    }
}

@media(max-width:820px) {

    .documents-page-row {
        grid-template-columns:
            46px
            minmax(0,1fr)
            70px;
    }

    .documents-page-row > div:nth-child(3),
    .documents-page-row .document-case {
        display: none;
    }

    .documents-page-filters .search-box {
        flex-wrap: wrap;

        height: auto;

        padding: 7px;
    }

    .documents-page-filters .search-box input,
    .documents-page-filters .search-box select {
        flex: 1 1 100%;

        min-width: 100%;

        border: 0;
    }

    .documents-search-button {
        width: 100%;

        min-height: 38px;

        border-radius: 7px;
    }
}


/* =========================================================
   ALPHA 0.6 — PROFESSIONAL READABILITY LAYER
   Leggibilità uniforme StudioLaRana
   ========================================================= */

/* Base */
body {
    font-size: 15px;
    line-height: 1.55;
}

/* Sottotitoli delle pagine */
.matter-subtitle,
.hero p,
.practice-heading p,
.page-heading p {
    font-size: 13px;
    line-height: 1.55;
}

/* Micro-intestazioni: ancora discrete ma leggibili */
.eyebrow {
    font-size: 10.5px !important;
    line-height: 1.3;
    letter-spacing: 1.35px;
}

/* Conteggi e metadati generali */
.record-count,
.meta,
.muted,
.helper,
.hint,
.subtle,
small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

/* =========================================================
   DOCUMENTI — ARCHIVIO GENERALE
   ========================================================= */

.document-main strong {
    font-size: 14px !important;
    line-height: 1.35;
}

.document-main > span,
.document-main p {
    font-size: 11.5px !important;
    line-height: 1.5;
}

.document-category {
    font-size: 10.5px !important;
    line-height: 1.25;
    padding: 6px 9px;
}

.document-case a {
    font-size: 12.5px !important;
    line-height: 1.4;
}

.document-case span {
    font-size: 11px !important;
    line-height: 1.4;
}

.document-date {
    font-size: 11.5px !important;
    line-height: 1.4;
}

.document-date span {
    font-size: 10.5px !important;
}

.document-file-icon {
    font-size: 10px !important;
}

/* =========================================================
   DOCUMENTI DEL FASCICOLO
   ========================================================= */

#documenti .matter-document-main strong {
    font-size: 14px !important;
    line-height: 1.35;
}

#documenti .matter-document-main span,
#documenti .matter-document-main p {
    font-size: 11.5px !important;
    line-height: 1.5;
}

#documenti .matter-document-meta,
#documenti .matter-document-meta span,
#documenti .matter-document-meta small {
    font-size: 11px !important;
    line-height: 1.45;
}

#documenti .document-file-icon.small {
    font-size: 9.5px !important;
}

/* =========================================================
   PRATICHE
   ========================================================= */

.practice-table-head {
    font-size: 10.5px !important;
    letter-spacing: .75px;
}

.practice-table-row strong {
    font-size: 13.5px !important;
    line-height: 1.4;
}

.practice-table-row span,
.practice-table-row small {
    font-size: 11.5px !important;
    line-height: 1.45;
}

/* =========================================================
   RICERCA GLOBALE
   ========================================================= */

.global-result-row strong,
.search-result-row strong {
    font-size: 13.5px !important;
    line-height: 1.4;
}

.global-result-row span,
.global-result-row small,
.search-result-row span,
.search-result-row small {
    font-size: 11.5px !important;
    line-height: 1.45;
}

/* =========================================================
   ANAGRAFICHE / CLIENTI
   ========================================================= */

.person-row strong,
.client-row strong,
.people-row strong {
    font-size: 13.5px !important;
    line-height: 1.4;
}

.person-row span,
.person-row small,
.client-row span,
.client-row small,
.people-row span,
.people-row small {
    font-size: 11.5px !important;
    line-height: 1.45;
}

/* =========================================================
   COMUNICAZIONI
   ========================================================= */

.communication-row strong {
    font-size: 13.5px !important;
    line-height: 1.4;
}

.communication-row span,
.communication-row small,
.communication-row p {
    font-size: 11.5px !important;
    line-height: 1.5;
}

/* =========================================================
   FORM
   ========================================================= */

label > span,
.form-label,
.field-label {
    font-size: 11.5px !important;
    line-height: 1.4;
}

input,
select,
textarea,
button {
    font-size: 13px;
}

/* =========================================================
   FASCICOLO — METADATI
   ========================================================= */

.matter-meta span {
    font-size: 11px !important;
    line-height: 1.4;
}

/* =========================================================
   TABELLE GENERALI
   ========================================================= */

table td {
    font-size: 12.5px !important;
    line-height: 1.5;
}

table th {
    font-size: 10.5px !important;
    line-height: 1.4;
}

/* Non alteriamo la gerarchia dei titoli */
h1,
h2,
h3,
.panel-head h2,
.hero h1,
.matter-header h1 {
    line-height: 1.2;
}


/* =========================================================
   ALPHA 0.6 — READABILITY PLUS
   Scala tipografica definitiva più leggibile
   ========================================================= */

body {
    font-size: 16px;
}

/* Testi descrittivi */
.matter-subtitle,
.hero p,
.practice-heading p,
.page-heading p {
    font-size: 14px !important;
    line-height: 1.6;
}

/* Micro intestazioni */
.eyebrow {
    font-size: 11px !important;
}

/* Metadati */
.record-count,
.meta,
.muted,
.helper,
.hint,
.subtle,
small {
    font-size: 12px !important;
    line-height: 1.5 !important;
}


/* ================= DOCUMENTI ================= */

.documents-page-title-link,
.document-main strong,
#documenti .matter-document-main strong {
    font-size: 15.5px !important;
}

.document-main > span,
.document-main p,
#documenti .matter-document-main span,
#documenti .matter-document-main p {
    font-size: 12.5px !important;
}

.document-category {
    font-size: 11px !important;
}

.document-case a {
    font-size: 13px !important;
}

.document-case span,
.document-date,
#documenti .matter-document-meta,
#documenti .matter-document-meta span,
#documenti .matter-document-meta small {
    font-size: 12px !important;
}

.document-date span {
    font-size: 11.5px !important;
}

.document-file-icon {
    font-size: 10.5px !important;
}


/* ================= PRATICHE ================= */

.practice-table-head {
    font-size: 11px !important;
}

.practice-table-row strong {
    font-size: 14.5px !important;
}

.practice-table-row span,
.practice-table-row small {
    font-size: 12.5px !important;
}


/* ================= RICERCA ================= */

.global-result-row strong,
.search-result-row strong {
    font-size: 14.5px !important;
}

.global-result-row span,
.global-result-row small,
.search-result-row span,
.search-result-row small {
    font-size: 12.5px !important;
}


/* ================= CLIENTI ================= */

.person-row strong,
.client-row strong,
.people-row strong {
    font-size: 14.5px !important;
}

.person-row span,
.person-row small,
.client-row span,
.client-row small,
.people-row span,
.people-row small {
    font-size: 12.5px !important;
}


/* ================= COMUNICAZIONI ================= */

.communication-row strong {
    font-size: 14.5px !important;
}

.communication-row span,
.communication-row small,
.communication-row p {
    font-size: 12.5px !important;
}


/* ================= FORM ================= */

label > span,
.form-label,
.field-label {
    font-size: 12.5px !important;
}

input,
select,
textarea,
button {
    font-size: 13.5px;
}


/* ================= TABELLE ================= */

table td {
    font-size: 13.5px !important;
}

table th {
    font-size: 11.5px !important;
}


/* =========================================================
   ALPHA 0.6 — ARCHIVIO PRATICHE PROFESSIONAL
   Restyling elegante Studio Legale
   ========================================================= */

.practices-panel {
    overflow: hidden;
}

/* Testata archivio */

.practices-panel > .panel-head {
    padding-bottom: 17px;
    margin-bottom: 2px;
    border-bottom: 1px solid #E4E8ED;
}

.practices-panel > .panel-head h2 {
    margin-top: 3px;
    color: #14213A;
}

/* Ricerca */

.practice-search {
    margin-bottom: 20px;
}

.practice-search .search-box {
    min-height: 52px;
    border: 1px solid #DCE2E8;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 3px 12px rgba(20,33,58,.035);
}

.practice-search .search-box > span {
    color: #B08A43;
    font-size: 19px;
    margin-right: 8px;
}

.practice-search .search-box input {
    font-size: 14px !important;
    color: #1D2939;
}

.practice-search .search-box input::placeholder {
    color: #98A2B3;
}

.practice-search .search-box button {
    padding-left: 22px;
    padding-right: 22px;
}


/* =========================================================
   GRIGLIA
   ========================================================= */

.practices-panel .practice-table-head,
.practices-panel .practice-table-row {
    grid-template-columns:
        120px
        170px
        minmax(210px, 1.25fr)
        125px
        minmax(180px, 1fr)
        105px
        28px !important;

    gap: 22px !important;
}


/* Intestazioni */

.practices-panel .practice-table-head {
    padding: 14px 14px 12px;

    color: #7A8493;

    font-size: 10.5px !important;
    font-weight: 750;

    letter-spacing: .85px;

    background: #FAFBFC;

    border-bottom: 1px solid #E3E7EC;
}


/* =========================================================
   RIGA PRATICA
   ========================================================= */

.practices-panel .practice-table-row {
    position: relative;

    min-height: 82px;

    padding: 17px 14px;

    border-bottom: 1px solid #E9EDF1;

    background: #FFFFFF;

    transition:
        background .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.practices-panel .practice-table-row:last-child {
    border-bottom: 0;
}

.practices-panel .practice-table-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.055) 0,
            rgba(176,138,67,.018) 150px,
            #FCFDFE 360px
        );

    box-shadow:
        inset 3px 0 0 rgba(176,138,67,.72);
}


/* =========================================================
   NUMERO PRATICA
   ========================================================= */

.practices-panel .practice-internal-number {
    padding-right: 18px;

    border-right: 1px solid #E4E8ED;
}

.practices-panel .practice-internal-number strong {
    display: block;

    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 17px !important;
    font-weight: 600 !important;

    line-height: 1.2;

    letter-spacing: .15px;

    white-space: nowrap;
}

.practices-panel .practice-internal-number small {
    display: block;

    margin-top: 7px;

    color: #9A7838 !important;

    font-size: 10px !important;
    font-weight: 750 !important;

    line-height: 1.25;

    letter-spacing: .65px;

    text-transform: uppercase;
}


/* =========================================================
   PROCEDIMENTO
   ========================================================= */

.practices-panel .practice-table-row > div:nth-child(2) strong {
    color: #27364E;

    font-size: 13.5px !important;
    font-weight: 700;

    line-height: 1.4;
}

.practices-panel .practice-table-row > div:nth-child(2) small {
    margin-top: 6px;

    color: #8A94A3;

    font-size: 11.5px !important;
}


/* =========================================================
   CLIENTE / ASSISTITO
   ========================================================= */

.practices-panel .practice-table-row > div:nth-child(3) strong {
    color: #101D33;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 15.5px !important;
    font-weight: 600;

    line-height: 1.35;
}

.practices-panel .practice-table-row > div:nth-child(3) small {
    margin-top: 6px;

    color: #697586;

    font-family: Inter, Arial, sans-serif;

    font-size: 11.5px !important;

    line-height: 1.4;
}


/* =========================================================
   AREA
   ========================================================= */

.practices-panel .area-badge {
    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 5px 10px;

    border: 1px solid #DDE3E9;
    border-radius: 999px;

    background: #F7F9FB;

    color: #34445B;

    font-size: 10.5px !important;
    font-weight: 750;

    line-height: 1.2;

    letter-spacing: .25px;
}


/* =========================================================
   OGGETTO
   ========================================================= */

.practices-panel .practice-object {
    color: #475467;

    font-size: 12.5px !important;
    font-weight: 500;

    line-height: 1.45;

    white-space: normal;

    overflow: hidden;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}


/* =========================================================
   STATO
   ========================================================= */

.practices-panel .status-badge {
    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 5px 10px;

    border: 1px solid #DCE4DF;
    border-radius: 999px;

    background: #F5F8F6;

    color: #486253;

    font-size: 10.5px !important;
    font-weight: 750;

    line-height: 1.2;
}


/* =========================================================
   FRECCIA
   ========================================================= */

.practices-panel .practice-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border: 1px solid transparent;
    border-radius: 50%;

    color: #A2AAB5;

    font-size: 16px;

    transition: .16s ease;
}

.practices-panel .practice-table-row:hover .practice-arrow {
    border-color: rgba(176,138,67,.30);

    background: #FAF6ED;

    color: #9A7838;

    transform: translateX(2px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1200px) {

    .practices-panel .practice-table-head,
    .practices-panel .practice-table-row {
        grid-template-columns:
            115px
            155px
            minmax(190px,1fr)
            110px
            minmax(150px,.8fr)
            28px !important;

        gap: 17px !important;
    }

    .practices-panel .practice-table-head > span:nth-child(6) {
        display: none;
    }

    .practices-panel .practice-table-row > div:nth-child(6) {
        display: none;
    }
}

@media(max-width:900px) {

    .practices-panel .practice-table-head {
        display: none;
    }

    .practices-panel .practice-table-row {
        grid-template-columns:
            110px
            minmax(150px,.8fr)
            minmax(190px,1fr)
            28px !important;
    }

    .practices-panel .practice-table-row > div:nth-child(4),
    .practices-panel .practice-table-row > div:nth-child(5),
    .practices-panel .practice-table-row > div:nth-child(6) {
        display: none;
    }
}

@media(max-width:650px) {

    .practices-panel .practice-table-row {
        grid-template-columns:
            100px
            minmax(0,1fr)
            28px !important;

        gap: 14px !important;

        padding: 15px 10px;
    }

    .practices-panel .practice-table-row > div:nth-child(2),
    .practices-panel .practice-table-row > div:nth-child(4),
    .practices-panel .practice-table-row > div:nth-child(5),
    .practices-panel .practice-table-row > div:nth-child(6) {
        display: none;
    }

    .practices-panel .practice-internal-number {
        padding-right: 12px;
    }
}


/* =========================================================
   ALPHA 0.6 — ARCHIVIO PRATICHE LUXURY REFINEMENT
   ========================================================= */

.practices-panel {
    border: 1px solid #E2E6EB;
    border-top: 3px solid #14213A;
    border-radius: 14px;
    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 10px 28px rgba(20,33,58,.045);
}


/* TESTATA */

.practices-panel > .panel-head {
    padding: 4px 2px 18px;
    margin-bottom: 0;

    border-bottom: 1px solid #E5E9ED;
}

.practices-panel > .panel-head h2 {
    margin-top: 4px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px !important;
    font-weight: 500;

    color: #14213A;
}

.practices-panel > .panel-head .record-count {
    padding: 7px 11px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F7F8FA;

    color: #697486;

    font-size: 11px !important;
}


/* TESTATA COLONNE */

.practices-panel .practice-table-head {
    padding: 14px 16px 11px;

    background: #FBFCFD;

    border-bottom: 1px solid #E6E9ED;

    color: #7E8794;

    font-size: 10px !important;
    font-weight: 800;

    letter-spacing: .9px;
}


/* =========================================================
   RIGA
   ========================================================= */

.practices-panel .practice-table-row {
    position: relative;

    min-height: 88px;

    padding: 18px 16px;

    background: #FFFFFF;

    border-bottom: 1px solid #EDF0F3;

    box-shadow: none;

    transform: none !important;
}

.practices-panel .practice-table-row::before {
    content: "";

    position: absolute;

    left: 0;
    top: 16px;
    bottom: 16px;

    width: 2px;

    border-radius: 0 2px 2px 0;

    background: transparent;

    transition: .15s ease;
}

.practices-panel .practice-table-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.032) 0,
            rgba(176,138,67,.009) 170px,
            #FFFFFF 360px
        );

    box-shadow: none;
}

.practices-panel .practice-table-row:hover::before {
    background: #B08A43;
}


/* =========================================================
   NUMERO PRATICA
   ========================================================= */

.practices-panel .practice-internal-number {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 56px;

    padding-right: 22px;

    border-right: 1px solid #E6E9ED;
}

.practices-panel .practice-internal-number strong {
    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 17.5px !important;
    font-weight: 500 !important;

    letter-spacing: -.1px;
}

.practices-panel .practice-internal-number small {
    margin-top: 7px;

    color: #A07D3C !important;

    font-size: 9.5px !important;
    font-weight: 800 !important;

    letter-spacing: .8px;
}


/* =========================================================
   PROCEDIMENTO
   ========================================================= */

.practices-panel .practice-table-row > div:nth-child(2) {
    padding-left: 2px;
}

.practices-panel .practice-table-row > div:nth-child(2) strong {
    color: #354258;

    font-size: 13px !important;
    font-weight: 650;

    line-height: 1.35;
}

.practices-panel .practice-table-row > div:nth-child(2) small {
    margin-top: 6px;

    color: #929BA7;

    font-size: 11px !important;
}


/* =========================================================
   ASSISTITO
   ========================================================= */

.practices-panel .practice-table-row > div:nth-child(3) strong {
    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 16px !important;
    font-weight: 500;

    line-height: 1.3;

    letter-spacing: -.1px;
}

.practices-panel .practice-table-row > div:nth-child(3) small {
    margin-top: 7px;

    color: #778292;

    font-size: 11.5px !important;

    line-height: 1.4;
}


/* =========================================================
   AREA
   ========================================================= */

.practices-panel .area-badge {
    min-height: 26px;

    padding: 5px 10px;

    border: 1px solid #DED7C7;
    border-radius: 999px;

    background: #FBF8F2;

    color: #7A5D2A;

    font-size: 10px !important;
    font-weight: 750;
}


/* =========================================================
   OGGETTO
   ========================================================= */

.practices-panel .practice-object {
    color: #5E6979;

    font-size: 12px !important;
    font-weight: 500;

    line-height: 1.45;
}


/* =========================================================
   STATO
   ========================================================= */

.practices-panel .status-badge {
    min-height: 26px;

    padding: 5px 10px;

    border: 1px solid #DEE3E7;
    border-radius: 999px;

    background: #F7F9FA;

    color: #4D5B6C;

    font-size: 10px !important;
    font-weight: 750;
}


/* =========================================================
   FRECCIA
   ========================================================= */

.practices-panel .practice-arrow {
    width: 26px;
    height: 26px;

    border: 0;

    background: transparent;

    color: #B0B7C0;

    font-size: 15px;
}

.practices-panel .practice-table-row:hover .practice-arrow {
    background: transparent;

    color: #9A7838;

    transform: translateX(3px);
}


/* =========================================================
   RICERCA
   ========================================================= */

.practice-search .search-box {
    min-height: 54px;

    border: 1px solid #DDE2E7;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 16px rgba(20,33,58,.035);
}

.practice-search .search-box button {
    min-width: 100px;

    border: 0;
    border-radius: 0 10px 10px 0;

    background:
        linear-gradient(
            180deg,
            #1B2B47,
            #14213A
        );

    color: #FFFFFF;

    font-weight: 700;
}

.practice-search .search-box button:hover {
    background:
        linear-gradient(
            180deg,
            #B08A43,
            #92702F
        );
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:900px) {

    .practices-panel .practice-table-row {
        min-height: 78px;
    }

    .practices-panel .practice-internal-number {
        min-height: 50px;
    }

}


/* =========================================================
   ALPHA 0.6 — ARCHIVIO CLIENTI EXECUTIVE
   Studio Legale La Rana & Associati
   ========================================================= */


/* PANNELLO PRINCIPALE */

.clients-archive-panel {
    overflow: hidden;

    border: 1px solid #E1E6EB;
    border-top: 3px solid #14213A;
    border-radius: 14px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 10px 28px rgba(20,33,58,.045);
}


/* TESTATA */

.clients-archive-panel > .panel-head {
    padding-bottom: 17px;
    margin-bottom: 0;

    border-bottom: 1px solid #E5E9ED;
}

.clients-archive-panel > .panel-head h2 {
    margin-top: 4px;

    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px !important;
    font-weight: 500;

    letter-spacing: -.2px;
}

.clients-archive-panel > .panel-head .record-count {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding: 5px 11px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F7F8FA;

    color: #697586;

    font-size: 11px !important;
    font-weight: 650;
}


/* =========================================================
   ELENCO
   ========================================================= */

.clients-archive-panel .client-list {
    display: block;

    margin-top: 0;
}


/* RIGA CLIENTE */

.clients-archive-panel .client-row {
    position: relative;

    display: grid;

    grid-template-columns:
        54px
        minmax(250px,1.25fr)
        minmax(250px,1fr)
        145px
        30px;

    gap: 22px;
    align-items: center;

    min-height: 88px;

    padding: 17px 16px;

    border: 0;
    border-bottom: 1px solid #EBEEF2;
    border-radius: 0;

    background: #FFFFFF;

    box-shadow: none;

    color: inherit;
    text-decoration: none;

    transform: none !important;

    transition:
        background .16s ease,
        box-shadow .16s ease;
}

.clients-archive-panel .client-row:last-child {
    border-bottom: 0;
}


/* FILETTO ORO */

.clients-archive-panel .client-row::before {
    content: "";

    position: absolute;

    left: 0;
    top: 17px;
    bottom: 17px;

    width: 2px;

    border-radius: 0 2px 2px 0;

    background: transparent;

    opacity: 1;

    transition: background .16s ease;
}


.clients-archive-panel .client-row:hover {
    border-color: transparent;

    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.035) 0,
            rgba(176,138,67,.012) 150px,
            #FFFFFF 380px
        );

    box-shadow: none;
}

.clients-archive-panel .client-row:hover::before {
    background: #B08A43;
}


/* =========================================================
   AVATAR
   ========================================================= */

.clients-archive-panel .client-avatar {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    border: 1px solid #D8C79F;
    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #182944,
            #101C31
        );

    color: #D7B76E;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px !important;
    font-weight: 500;

    box-shadow:
        0 3px 8px rgba(20,33,58,.10);
}


/* =========================================================
   IDENTITÀ CLIENTE
   ========================================================= */

.clients-archive-panel .client-main {
    min-width: 0;
}

.clients-archive-panel .client-main strong {
    display: block;

    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 16.5px !important;
    font-weight: 500 !important;

    line-height: 1.3;

    letter-spacing: -.1px;
}

.clients-archive-panel .client-main span {
    display: block;

    margin-top: 7px;

    color: #7A8492 !important;

    font-family: Inter, Arial, sans-serif;

    font-size: 11.5px !important;
    font-weight: 500;

    line-height: 1.35;

    letter-spacing: .1px;
}


/* =========================================================
   CONTATTI
   ========================================================= */

.clients-archive-panel .client-contact {
    min-width: 0;

    padding-left: 21px;

    border-left: 1px solid #E7EAEE;
}

.clients-archive-panel .client-contact strong {
    display: block;

    color: #354258 !important;

    font-size: 13px !important;
    font-weight: 650 !important;

    line-height: 1.35;
}

.clients-archive-panel .client-contact span {
    display: block;

    margin-top: 7px;

    color: #7C8796 !important;

    font-size: 11.5px !important;

    line-height: 1.35;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   VALIDAZIONE
   ========================================================= */

.clients-archive-panel .validation-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 27px;

    padding: 5px 10px;

    border: 1px solid #E1E5E9;
    border-radius: 999px;

    background: #F7F8FA;

    font-size: 10px !important;
    font-weight: 750;

    line-height: 1.2;

    white-space: nowrap;
}


/* DA VERIFICARE */

.clients-archive-panel .validation-da-verificare {
    border-color: #E6D5AE;

    background: #FBF7EE;

    color: #876625;
}


/* RICHIESTA INVIATA */

.clients-archive-panel .validation-richiesta-inviata {
    border-color: #D8E1ED;

    background: #F3F6FA;

    color: #49647F;
}


/* CONVALIDATA */

.clients-archive-panel .validation-convalidata {
    border-color: #D7E5DD;

    background: #F3F8F5;

    color: #3F6852;
}


/* =========================================================
   FRECCIA
   ========================================================= */

.clients-archive-panel .practice-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border: 0;
    border-radius: 50%;

    background: transparent;

    color: #ADB4BD !important;

    font-size: 16px !important;

    transition:
        color .16s ease,
        transform .16s ease;
}

.clients-archive-panel .client-row:hover .practice-arrow {
    color: #9A7838 !important;

    transform: translateX(3px);
}


/* =========================================================
   RICERCA CLIENTI
   ========================================================= */

.clients-archive-panel + * {
    box-sizing: border-box;
}

.hero.compact + .practice-search .search-box {
    min-height: 54px;

    border: 1px solid #DDE2E7;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 16px rgba(20,33,58,.035);
}

.hero.compact + .practice-search .search-box > span {
    margin-right: 9px;

    color: #B08A43;

    font-size: 19px;
}

.hero.compact + .practice-search .search-box input {
    color: #25344B;

    font-size: 13.5px !important;
}

.hero.compact + .practice-search .search-box input::placeholder {
    color: #98A1AE;
}

.hero.compact + .practice-search .search-box button {
    min-width: 100px;

    border: 0;
    border-radius: 0 10px 10px 0;

    background:
        linear-gradient(
            180deg,
            #1B2B47,
            #14213A
        );

    color: #FFFFFF;

    font-size: 12px;
    font-weight: 700;
}

.hero.compact + .practice-search .search-box button:hover {
    background:
        linear-gradient(
            180deg,
            #B08A43,
            #92702F
        );
}


/* =========================================================
   STATO VUOTO
   ========================================================= */

.clients-archive-panel .empty-state {
    margin: 18px 0 2px;

    padding: 30px 20px;

    border: 1px dashed #D8DEE5;
    border-radius: 10px;

    background: #FAFBFC;

    color: #667085;

    text-align: center;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px) {

    .clients-archive-panel .client-row {
        grid-template-columns:
            50px
            minmax(220px,1.2fr)
            minmax(200px,1fr)
            30px;

        gap: 18px;
    }

    .clients-archive-panel .client-row > div:nth-child(4) {
        display: none;
    }
}


@media(max-width:760px) {

    .clients-archive-panel .client-row {
        grid-template-columns:
            48px
            minmax(0,1fr)
            30px;

        min-height: 78px;

        padding: 15px 12px;
    }

    .clients-archive-panel .client-contact,
    .clients-archive-panel .client-row > div:nth-child(4) {
        display: none;
    }

    .clients-archive-panel .client-avatar {
        width: 41px;
        height: 41px;

        font-size: 16px !important;
    }

    .clients-archive-panel .client-main strong {
        font-size: 15px !important;
    }
}


/* =========================================================
   ALPHA 0.6 — COMMUNICATIONS EXECUTIVE
   Studio Legale La Rana & Associati
   ========================================================= */


/* ===================== CENTRO SUPERIORE ===================== */

.communications-center {
    margin: 22px 0 25px;
}

.communication-center-grid {
    gap: 22px;
    align-items: start;
}


/* Pannelli */

.birthday-panel,
.message-composer,
.communications-register-panel {
    border: 1px solid #E1E6EB;
    border-top: 3px solid #14213A;
    border-radius: 14px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 10px 28px rgba(20,33,58,.045);

    overflow: hidden;
}


/* Testate */

.birthday-panel > .panel-head,
.message-composer > .panel-head,
.communications-register-panel > .panel-head {
    padding-bottom: 16px;
    margin-bottom: 0;

    border-bottom: 1px solid #E5E9ED;
}

.birthday-panel > .panel-head h2,
.message-composer > .panel-head h2,
.communications-register-panel > .panel-head h2 {
    margin-top: 4px;

    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px !important;
    font-weight: 500;

    letter-spacing: -.15px;
}

.birthday-panel .panel-head p,
.message-composer .panel-head p {
    margin-top: 7px;

    color: #6D7888;

    font-size: 12.5px !important;
    line-height: 1.5;
}


/* ===================== COMPLEANNI ===================== */

.birthday-row {
    position: relative;

    min-height: 66px;

    padding: 14px 4px;

    border-top: 0;
    border-bottom: 1px solid #ECEFF2;

    transition: background .16s ease;
}

.birthday-row:last-child {
    border-bottom: 0;
}

.birthday-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.045),
            rgba(176,138,67,.01) 180px,
            transparent 360px
        );
}

.birthday-row strong {
    color: #1D2C45 !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px !important;
    font-weight: 500;
}

.birthday-row span {
    margin-top: 6px;

    color: #788493 !important;

    font-size: 12px !important;
}

.birthday-row .birthday-compose {
    min-height: 35px;

    padding: 7px 12px;

    border: 1px solid #DCCDAA;
    border-radius: 8px;

    background: #FCF9F2;

    color: #806329;

    font-size: 11.5px !important;
    font-weight: 700;
}

.birthday-row .birthday-compose:hover {
    border-color: #B08A43;
    background: #F8F1E3;
}


/* ===================== CENTRO MESSAGGI ===================== */

.message-form {
    gap: 15px;

    padding-top: 17px;
}

.message-form label > span {
    margin-bottom: 7px;

    color: #526071;

    font-size: 11.5px !important;
    font-weight: 700;

    letter-spacing: .15px;
}

.message-form input,
.message-form select,
.message-form textarea {
    min-height: 43px;

    padding: 9px 11px;

    border: 1px solid #DCE2E8;
    border-radius: 8px;

    background: #FFFFFF;

    color: #26364D;

    font-size: 13px !important;

    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.message-form textarea {
    min-height: 190px;

    line-height: 1.55;

    resize: vertical;
}

.message-form input:focus,
.message-form select:focus,
.message-form textarea:focus {
    outline: none;

    border-color: #B99A59;

    box-shadow:
        0 0 0 3px rgba(176,138,67,.09);
}


/* Stato destinatario */

.message-recipient-status {
    padding: 11px 13px;

    border: 1px solid #E5D8BA;
    border-left: 3px solid #B08A43;
    border-radius: 8px;

    background: #FCFAF5;

    color: #657182;

    font-size: 12px !important;
    line-height: 1.5;
}


/* Invio globale */

.global-send-box {
    padding: 15px;

    border: 1px solid #DDCEAA;
    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #FFFCF5,
            #FAF6EC
        );
}

.global-send-box > strong {
    color: #735820;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px !important;
    font-weight: 500;
}

.global-send-box > span {
    margin-top: 5px;

    font-size: 12px !important;
}

.global-send-options label {
    color: #4E5B6C;

    font-size: 12px !important;
}


/* Azioni */

.message-actions {
    gap: 9px;

    padding-top: 3px;
}

.message-actions .button {
    min-height: 37px;

    padding: 8px 12px;

    border-radius: 8px;

    font-size: 11.5px !important;
    font-weight: 700;
}

.message-actions .history-save {
    border-color: #D6C49A;

    background: #FCF9F2;

    color: #785E28;
}


/* Feedback */

.history-feedback {
    min-height: 20px;

    padding-top: 2px;

    color: #697586;

    font-size: 12px !important;
}

.history-feedback.ok {
    color: #3F6852;

    font-weight: 650;
}


/* ===================== RICERCA ===================== */

.communications-center + .practice-search {
    margin-top: 2px;
    margin-bottom: 22px;
}

.communications-center + .practice-search .search-box {
    min-height: 54px;

    border: 1px solid #DDE2E7;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 16px rgba(20,33,58,.035);
}

.communications-center + .practice-search .search-box > span {
    margin-right: 9px;

    color: #B08A43;

    font-size: 19px;
}

.communications-center + .practice-search input {
    font-size: 13.5px !important;
}


/* ===================== REGISTRO ===================== */

.communications-register-panel .record-count {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding: 5px 11px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F7F8FA;

    color: #697586;

    font-size: 11px !important;
    font-weight: 650;
}


/* Riga comunicazione */

.communications-register-panel .communication-row {
    position: relative;

    grid-template-columns:
        48px
        minmax(300px,1fr)
        minmax(150px,190px)
        105px
        28px;

    gap: 20px;

    min-height: 86px;

    padding: 16px 14px;

    border-top: 0;
    border-bottom: 1px solid #E9EDF1;

    background: #FFFFFF;

    transition: background .16s ease;
}

.communications-register-panel .communication-row:last-child {
    border-bottom: 0;
}


/* filetto oro hover */

.communications-register-panel .communication-row::before {
    content: "";

    position: absolute;

    left: 0;
    top: 16px;
    bottom: 16px;

    width: 2px;

    background: transparent;

    border-radius: 0 2px 2px 0;
}

.communications-register-panel .communication-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.04),
            rgba(176,138,67,.012) 160px,
            #FFFFFF 420px
        );
}

.communications-register-panel .communication-row:hover::before {
    background: #B08A43;
}


/* Icona */

.communications-register-panel .communication-icon {
    width: 40px;
    height: 40px;

    border: 1px solid #DCE2E8;
    border-radius: 9px;

    background: #F7F8FA;

    color: #34445B;

    font-size: 12px !important;
    font-weight: 800;
}


/* Manteniamo distinzione canali ma più sobria */

.communications-register-panel .type-pec {
    border-color: #D7E0ED;
    background: #F2F6FB;
    color: #385D8A;
}

.communications-register-panel .type-email {
    background: #F6F7F9;
    color: #3D4B5E;
}

.communications-register-panel .type-whatsapp {
    border-color: #D7E5DD;
    background: #F2F8F4;
    color: #3E7154;
}

.communications-register-panel .type-telefonata {
    border-color: #E8D8B7;
    background: #FBF7EE;
    color: #876525;
}

.communications-register-panel .type-incontro {
    border-color: #E0DAE7;
    background: #F7F4F9;
    color: #665574;
}


/* Oggetto */

.communications-register-panel .communication-main strong {
    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 15.5px !important;
    font-weight: 500;

    line-height: 1.3;
}


/* Metadati */

.communications-register-panel .communication-main > span {
    margin-top: 6px;

    color: #788493 !important;

    font-size: 11.5px !important;
    font-weight: 550;
}

.communications-register-panel .communication-main p {
    margin-top: 7px;

    color: #566375 !important;

    font-size: 12px !important;
    line-height: 1.5;
}


/* Contatto */

.communications-register-panel .communication-contact {
    padding-left: 18px;

    border-left: 1px solid #E7EAEE;

    color: #566375;

    font-size: 12px !important;
}


/* Data */

.communications-register-panel .communication-date {
    color: #334158;

    font-size: 12px !important;
    font-weight: 650;
}

.communications-register-panel .communication-date span {
    margin-top: 5px;

    color: #8B95A3;

    font-size: 11px !important;
    font-weight: 500;
}


/* Freccia */

.communications-register-panel .communication-row > span:last-child {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    color: #AAB2BD;

    font-size: 16px !important;

    transition:
        color .16s ease,
        transform .16s ease;
}

.communications-register-panel .communication-row:hover > span:last-child {
    color: #9A7838;

    transform: translateX(3px);
}


/* Vuoto */

.communications-register-panel .empty-state {
    margin: 18px 0 2px;

    padding: 30px 20px;

    border: 1px dashed #D8DEE5;
    border-radius: 10px;

    background: #FAFBFC;

    color: #667085;

    text-align: center;
}


/* ===================== RESPONSIVE ===================== */

@media(max-width:1000px) {

    .communications-register-panel .communication-row {
        grid-template-columns:
            46px
            minmax(250px,1fr)
            100px
            28px;
    }

    .communications-register-panel .communication-contact {
        display: none;
    }
}


@media(max-width:650px) {

    .communications-register-panel .communication-row {
        grid-template-columns:
            42px
            minmax(0,1fr)
            27px;

        min-height: 78px;

        gap: 13px;

        padding: 14px 10px;
    }

    .communications-register-panel .communication-date {
        display: none;
    }

    .communications-register-panel .communication-main strong {
        font-size: 14.5px !important;
    }

    .message-actions .button {
        flex: 1 1 150px;
    }
}


/* =========================================================
   ALPHA 0.6 — OGGI / ACTIVITY DIALOG EXECUTIVE
   Studio Legale La Rana & Associati
   ========================================================= */


/* CONFERMA */

.today-task-success {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 46px;

    margin-bottom: 19px;
    padding: 11px 16px 11px 19px;

    border: 1px solid #D7E4DC;
    border-left: 3px solid #527762;
    border-radius: 9px;

    background: #F4F8F5;

    color: #416451;

    font-size: 12.5px;
    font-weight: 650;

    box-shadow: 0 2px 8px rgba(20,33,58,.025);
}


/* =========================================================
   DIALOG
   ========================================================= */

.today-task-dialog {
    width: min(720px,94vw);

    max-height: 90vh;

    padding: 0;

    border: 0;
    border-radius: 14px;

    background: #FFFFFF;

    box-shadow:
        0 28px 80px rgba(10,25,45,.25),
        0 4px 15px rgba(10,25,45,.10);

    overflow: hidden;
}


/* backdrop */

.today-task-dialog::backdrop {
    background: rgba(14,25,42,.52);

    backdrop-filter: blur(2px);
}


/* =========================================================
   TESTATA
   ========================================================= */

.today-task-dialog-head {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 90px;

    padding: 21px 25px;

    border-bottom: 1px solid rgba(215,183,110,.30);

    background:
        linear-gradient(
            135deg,
            #172943 0%,
            #102039 58%,
            #0D1B30 100%
        );

    color: #FFFFFF;
}


/* piccolo dettaglio oro */

.today-task-dialog-head::after {
    content: "";

    position: absolute;

    left: 25px;
    bottom: -1px;

    width: 62px;
    height: 2px;

    background: #B08A43;
}


.today-task-dialog-eyebrow {
    display: block;

    margin-bottom: 6px;

    color: #D8BC80;

    font-size: 9.5px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: 1.35px;
}


.today-task-dialog-title {
    display: block;

    color: #FFFFFF;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;
    font-weight: 500;

    line-height: 1.2;

    letter-spacing: -.15px;
}


/* CHIUSURA */

.today-task-dialog-close {
    flex: 0 0 auto;

    display: grid;
    place-items: center;

    width: 36px;
    height: 36px;

    padding: 0;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;

    background: rgba(255,255,255,.055);

    color: #FFFFFF;

    font-family: Arial,sans-serif;
    font-size: 23px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.today-task-dialog-close:hover {
    border-color: rgba(216,188,128,.55);

    background: rgba(216,188,128,.13);

    transform: rotate(3deg);
}


/* =========================================================
   FORM
   ========================================================= */

.today-task-dialog-form {
    padding: 25px 26px 24px;

    background: #FFFFFF;
}


/* LABEL */

.today-task-dialog-form label > span {
    margin-bottom: 7px;

    color: #4B586B;

    font-size: 11.5px !important;
    font-weight: 700;

    letter-spacing: .1px;
}


/* CAMPI */

.today-task-dialog-form input,
.today-task-dialog-form select,
.today-task-dialog-form textarea {
    min-height: 43px;

    border: 1px solid #DCE1E6;
    border-radius: 8px;

    background: #FFFFFF;

    color: #27374E;

    font-size: 13px !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}


.today-task-dialog-form textarea {
    min-height: 105px;

    line-height: 1.5;

    resize: vertical;
}


.today-task-dialog-form select[multiple] {
    min-height: 90px;

    padding-top: 5px;
    padding-bottom: 5px;
}


.today-task-dialog-form input:focus,
.today-task-dialog-form select:focus,
.today-task-dialog-form textarea:focus {
    outline: none;

    border-color: #B69A60;

    box-shadow:
        0 0 0 3px rgba(176,138,67,.09);
}


/* HELP */

.today-task-dialog-help {
    display: block;

    margin-top: 7px;

    color: #7B8794;

    font-size: 10.5px;

    line-height: 1.4;
}


/* =========================================================
   AZIONI
   ========================================================= */

.today-task-dialog-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;

    gap: 10px;

    margin-top: 10px;
    padding-top: 18px;

    border-top: 1px solid #ECEFF2;
}


.today-task-dialog-actions .button {
    min-width: 110px;
    min-height: 38px;

    border-radius: 8px;

    font-size: 11.5px !important;
    font-weight: 700;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:650px) {

    .today-task-dialog {
        width: calc(100vw - 24px);
    }

    .today-task-dialog-head {
        min-height: 82px;

        padding: 18px 19px;
    }

    .today-task-dialog-head::after {
        left: 19px;
    }

    .today-task-dialog-title {
        font-size: 20px;
    }

    .today-task-dialog-form {
        padding: 20px 18px;
    }

    .today-task-dialog-actions {
        flex-direction: column-reverse;
    }

    .today-task-dialog-actions .button {
        width: 100%;
    }
}


/* =========================================================
   ALPHA 0.6 — OGGI / PROSSIMI 20 GIORNI EXECUTIVE
   Agenda prospettica
   ========================================================= */

.upcoming-20-panel {
    position: relative;

    margin-top: 22px;

    overflow: hidden;

    border: 1px solid #E1E6EB;
    border-top: 3px solid #14213A;
    border-radius: 14px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 9px 26px rgba(20,33,58,.04);
}


/* =========================================================
   TESTATA
   ========================================================= */

.upcoming-20-panel > .panel-head {
    position: relative;

    margin-bottom: 0 !important;
    padding-bottom: 17px;

    border-bottom: 1px solid #E5E9ED;
}

.upcoming-20-panel > .panel-head::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -1px;

    width: 52px;
    height: 2px;

    background: #B08A43;
}

.upcoming-20-panel > .panel-head h2 {
    margin-top: 4px;

    color: #14213A;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px !important;
    font-weight: 500;

    letter-spacing: -.15px;
}

.upcoming-20-panel .today-box-description {
    max-width: 520px;

    margin-top: 7px;

    color: #748091;

    font-size: 12.5px !important;
    line-height: 1.45;
}

.upcoming-20-panel > .panel-head > a {
    display: inline-flex;
    align-items: center;

    min-height: 32px;

    padding: 6px 10px;

    border: 1px solid #E0E4E8;
    border-radius: 7px;

    background: #FAFBFC;

    color: #536174;

    font-size: 11px !important;
    font-weight: 700;

    text-decoration: none;

    transition:
        border-color .15s ease,
        color .15s ease,
        background .15s ease;
}

.upcoming-20-panel > .panel-head > a:hover {
    border-color: #D7C294;

    background: #FCF9F2;

    color: #8A692C;
}


/* =========================================================
   LISTA
   ========================================================= */

.upcoming-20-list {
    max-height: 470px;

    overflow-y: auto;
    overflow-x: hidden;

    padding: 4px 5px 4px 0;

    scrollbar-width: thin;
    scrollbar-color: rgba(176,138,67,.30) transparent;
}

.upcoming-20-list::-webkit-scrollbar {
    width: 5px;
}

.upcoming-20-list::-webkit-scrollbar-track {
    background: transparent;
}

.upcoming-20-list::-webkit-scrollbar-thumb {
    border-radius: 10px;

    background: rgba(176,138,67,.30);
}

.upcoming-20-list::-webkit-scrollbar-thumb:hover {
    background: rgba(176,138,67,.55);
}


/* =========================================================
   SINGOLO EVENTO
   ========================================================= */

.upcoming-20-list .today-event-row {
    position: relative;

    display: grid;

    grid-template-columns:
        62px
        66px
        minmax(0,1fr)
        28px;

    gap: 18px;
    align-items: center;

    min-height: 92px;

    padding: 14px 13px;

    border-bottom: 1px solid #E9EDF1;

    background: #FFFFFF;

    color: inherit;
    text-decoration: none;

    transition:
        background .15s ease,
        box-shadow .15s ease;
}

.upcoming-20-list .today-event-row:last-child {
    border-bottom: 0;
}


/* filetto oro laterale */

.upcoming-20-list .today-event-row::before {
    content: "";

    position: absolute;

    left: 0;
    top: 16px;
    bottom: 16px;

    width: 2px;

    border-radius: 0 2px 2px 0;

    background: transparent;

    transition: background .15s ease;
}

.upcoming-20-list .today-event-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.04) 0,
            rgba(176,138,67,.012) 150px,
            #FFFFFF 400px
        );
}

.upcoming-20-list .today-event-row:hover::before {
    background: #B08A43;
}


/* =========================================================
   DATA — MINI CALENDARIO
   ========================================================= */

.upcoming-20-list .today-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 57px;
    min-width: 57px;
    height: 61px;

    padding: 6px 4px;

    border: 1px solid #DDD5C4;
    border-radius: 9px;

    background:
        linear-gradient(
            180deg,
            #FDFBF7,
            #F8F5EE
        );

    box-shadow:
        0 2px 6px rgba(20,33,58,.035);

    text-align: center;
}

.upcoming-20-list .today-event-date strong {
    display: block;

    color: #14213A;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        serif;

    font-size: 23px !important;
    font-weight: 500;

    line-height: 1;
}

.upcoming-20-list .today-event-date span {
    display: block;

    margin-top: 6px;

    color: #96752F;

    font-size: 9.5px !important;
    font-weight: 750;

    line-height: 1;

    letter-spacing: .25px;
}


/* =========================================================
   ORARIO
   ========================================================= */

.upcoming-20-list .today-event-time {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;

    padding-right: 17px;

    border-right: 1px solid #E5E9ED;

    color: #263750;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        serif;

    font-size: 17px !important;
    font-weight: 600;

    line-height: 1;

    white-space: nowrap;
}


/* =========================================================
   CONTENUTO
   ========================================================= */

.upcoming-20-list .today-event-main {
    min-width: 0;
}


/* tipo */

.upcoming-20-list .today-event-type {
    display: inline-flex;
    align-items: center;

    min-height: 21px;

    margin-bottom: 6px;
    padding: 3px 7px;

    border: 1px solid #E0E4E8;
    border-radius: 999px;

    background: #F6F8FA;

    color: #657183;

    font-size: 9px !important;
    font-weight: 800;

    line-height: 1;

    letter-spacing: .55px;

    text-transform: uppercase;
}


/* udienza */

.upcoming-20-list .today-event-type.hearing {
    border-color: #DDCDA8;

    background: #FBF7EE;

    color: #8A6828;
}


/* titolo */

.upcoming-20-list .today-event-main strong {
    display: block;

    margin-top: 0;

    overflow: hidden;

    color: #14213A;

    font-family:
        "Iowan Old Style",
        Baskerville,
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px !important;
    font-weight: 500;

    line-height: 1.3;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* luogo */

.upcoming-20-list .today-event-main > span {
    display: block;

    margin-top: 6px;

    overflow: hidden;

    color: #667385;

    font-size: 11.5px !important;
    font-weight: 500;

    line-height: 1.3;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* pratica */

.upcoming-20-list .today-event-main small {
    display: inline-flex;
    align-items: center;

    margin-top: 7px;
    padding: 3px 7px;

    border-radius: 5px;

    background: #F3F5F7;

    color: #697586;

    font-size: 10px !important;
    font-weight: 650;

    line-height: 1.2;
}


/* =========================================================
   FRECCIA
   ========================================================= */

.upcoming-20-list .today-event-row > .arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    color: #ADB5BF;

    font-size: 16px;

    transition:
        color .15s ease,
        transform .15s ease;
}

.upcoming-20-list .today-event-row:hover > .arrow {
    color: #9A7838;

    transform: translateX(3px);
}


/* =========================================================
   STATO VUOTO
   ========================================================= */

.upcoming-20-list .empty-state.compact {
    margin: 14px 4px;
    padding: 25px 18px;

    border: 1px dashed #D9DEE4;
    border-radius: 9px;

    background: #FAFBFC;

    color: #667385;

    text-align: center;
}

.upcoming-20-list .empty-state.compact strong {
    color: #435167;

    font-size: 12.5px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:700px) {

    .upcoming-20-list .today-event-row {
        grid-template-columns:
            55px
            minmax(0,1fr)
            25px;

        gap: 13px;

        min-height: 84px;

        padding: 12px 9px;
    }

    .upcoming-20-list .today-event-time {
        position: absolute;

        left: 76px;
        top: 14px;

        min-height: auto;

        padding: 0;

        border: 0;

        color: #8A692C;

        font-family: inherit;

        font-size: 10px !important;
        font-weight: 750;
    }

    .upcoming-20-list .today-event-main {
        padding-top: 15px;
    }

    .upcoming-20-list .today-event-date {
        width: 51px;
        min-width: 51px;
        height: 57px;
    }

    .upcoming-20-list .today-event-date strong {
        font-size: 21px !important;
    }

    .upcoming-20-list .today-event-main strong {
        font-size: 14px !important;
    }
}


/* =========================================================
   ALPHA 0.6 — CLIENT WORKSPACE EXECUTIVE
   Studio Legale La Rana & Associati
   ========================================================= */


/* ================= HEADER CLIENTE ================= */

.client-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;

    margin-bottom: 24px;
    padding: 25px 27px;

    border: 1px solid #DFE4E9;
    border-radius: 14px;

    background:
        linear-gradient(
            110deg,
            #FFFFFF 0%,
            #FFFFFF 68%,
            #F8F6F0 100%
        );

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 8px 24px rgba(20,33,58,.045);

    overflow: hidden;
}

.client-header::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    bottom: 20px;
    width: 3px;
    background: #B08A43;
    border-radius: 0 3px 3px 0;
}

.client-identity {
    gap: 20px;
    min-width: 0;
}

.client-big-avatar {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;

    border: 1px solid rgba(176,138,67,.48);

    background:
        linear-gradient(
            145deg,
            #1B2D4A,
            #101C31
        );

    color: #D9BA73;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px !important;
    font-weight: 500;

    box-shadow:
        0 5px 14px rgba(20,33,58,.16),
        inset 0 1px 0 rgba(255,255,255,.06);
}

.client-identity h1 {
    margin: 4px 0 10px;

    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px !important;
    font-weight: 500;

    line-height: 1.15;
    letter-spacing: -.35px;
}

.client-meta {
    gap: 7px;
}

.client-meta span {
    min-height: 27px;
    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    border: 1px solid #E0E4E8;
    border-radius: 6px;

    background: rgba(255,255,255,.85);

    color: #687386;

    font-size: 11px !important;
    font-weight: 600;
    line-height: 1.2;
}


/* ================= AZIONI HEADER ================= */

.client-header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;

    max-width: 480px;
}

.client-header-actions .button {
    min-height: 39px;
    padding-left: 14px;
    padding-right: 14px;

    border-radius: 8px;

    font-size: 12px !important;
    font-weight: 700;
}


/* ================= NAVIGAZIONE WORKSPACE ================= */

.workspace-tabs {
    gap: 3px;

    margin-bottom: 21px;
    padding: 6px;

    border: 1px solid #E0E5EA;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 15px rgba(20,33,58,.035);
}

.workspace-tabs a {
    padding: 9px 13px;

    border-radius: 7px;

    color: #697587;

    font-size: 12px !important;
    font-weight: 650;

    transition:
        background .15s ease,
        color .15s ease;
}

.workspace-tabs a:hover {
    background: #F5F6F8;
    color: #14213A;
}

.workspace-tabs a.active {
    background: #14213A;
    color: #FFFFFF;

    box-shadow: 0 3px 8px rgba(20,33,58,.12);
}


/* ================= KPI CLIENTE ================= */

.workspace-overview-grid {
    gap: 14px;
    margin-bottom: 24px;
}

.workspace-summary-card {
    position: relative;

    min-height: 91px;

    padding: 17px 18px 16px 20px;

    border: 1px solid #E1E5EA;
    border-radius: 11px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 5px 15px rgba(20,33,58,.035);

    overflow: hidden;
}

.workspace-summary-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;

    width: 3px;

    border-radius: 0 3px 3px 0;

    background: #B08A43;
    opacity: .78;
}

.workspace-summary-card span {
    margin-bottom: 8px;

    color: #7A8594;

    font-size: 11px !important;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .45px;
}

.workspace-summary-card strong {
    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px !important;
    font-weight: 500;

    line-height: 1.35;
}


/* ================= COLONNE WORKSPACE ================= */

.client-workspace-grid {
    grid-template-columns:
        minmax(0,1.65fr)
        minmax(320px,.70fr);

    gap: 25px;
    align-items: start;
}


/* ================= PANNELLI CLIENTE ================= */

.client-workspace-grid .panel {
    border: 1px solid #E1E5EA;
    border-radius: 13px;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(20,33,58,.02),
        0 7px 20px rgba(20,33,58,.038);

    overflow: hidden;
}

.client-workspace-grid .panel > .panel-head {
    padding-bottom: 15px;
    margin-bottom: 0;

    border-bottom: 1px solid #E7EAEE;
}

.client-workspace-grid .panel > .panel-head h2 {
    margin-top: 4px;

    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px !important;
    font-weight: 500;

    letter-spacing: -.1px;
}

.client-workspace-grid .panel > .panel-head > a {
    color: #92702F;

    font-size: 12px !important;
    font-weight: 700;

    text-decoration: none;
}

.client-workspace-grid .panel > .panel-head > a:hover {
    color: #14213A;
}


/* =========================================================
   PRATICHE COLLEGATE
   ========================================================= */

.workspace-case {
    position: relative;

    grid-template-columns:
        150px
        130px
        minmax(190px,1fr)
        100px
        28px;

    gap: 18px;
    align-items: center;

    min-height: 78px;

    padding: 16px 7px 16px 10px;

    border-top: 0;
    border-bottom: 1px solid #EAEDF0;

    background: #FFFFFF;

    transition:
        background .16s ease,
        padding-left .16s ease;
}

.workspace-case:last-of-type {
    border-bottom: 0;
}

.workspace-case::before {
    content: "";

    position: absolute;

    left: 0;
    top: 17px;
    bottom: 17px;

    width: 2px;

    background: transparent;

    transition: background .16s ease;
}

.workspace-case:hover {
    padding-left: 13px;

    background:
        linear-gradient(
            90deg,
            rgba(176,138,67,.045) 0,
            rgba(176,138,67,.012) 170px,
            #FFFFFF 430px
        );
}

.workspace-case:hover::before {
    background: #B08A43;
}


/* Numero pratica */

.workspace-case > div:first-child strong {
    display: block;

    color: #14213A;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px !important;
    font-weight: 500;

    line-height: 1.25;
}

.workspace-case > div:first-child span {
    display: block;

    margin-top: 7px;

    color: #7C8796;

    font-size: 11.5px !important;
    font-weight: 550;

    line-height: 1.3;
}


/* Area */

.workspace-case .area-badge {
    font-size: 10.5px !important;
    font-weight: 750;

    line-height: 1.2;
}


/* Oggetto */

.workspace-object {
    color: #354258;

    font-size: 13px !important;
    font-weight: 600;

    line-height: 1.4;
}


/* Stato */

.workspace-case .status-badge {
    justify-self: start;

    font-size: 10.5px !important;
    font-weight: 750;
}


/* Freccia */

.workspace-case > span:last-child {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #A7AFB9;

    font-size: 17px !important;

    transition:
        color .16s ease,
        transform .16s ease;
}

.workspace-case:hover > span:last-child {
    color: #987536;
    transform: translateX(3px);
}


/* ================= ATTIVITÀ ================= */

.client-task-row {
    min-height: 64px;

    margin-bottom: 0;
    padding: 15px 5px;

    border-top: 0;
    border-bottom: 1px solid #EAEDF0;

    align-items: center;
}

.client-task-row:last-child {
    border-bottom: 0;
}

.client-task-row strong {
    color: #25344B;

    font-size: 13.5px !important;
    font-weight: 650;
}

.client-task-row span {
    margin-top: 6px;

    color: #7B8695;

    font-size: 11.5px !important;
}

.client-task-row > div:last-child {
    color: #667085;

    font-size: 12px !important;
    font-weight: 600;
}


/* ================= ANAGRAFICA LATERALE ================= */

.detail-grid {
    gap: 0 20px;
}

.detail-grid > div {
    min-height: 67px;

    padding: 14px 2px;

    border-bottom: 1px solid #EAEDF0;
}

.detail-grid span {
    color: #7B8695;

    font-size: 10.5px !important;
    font-weight: 750;

    text-transform: uppercase;
    letter-spacing: .55px;
}

.detail-grid strong {
    margin-top: 7px;

    color: #26364D;

    font-size: 13px !important;
    font-weight: 650;

    line-height: 1.45;

    overflow-wrap: anywhere;
}

.detail-grid .wide {
    grid-column: 1 / -1;
}


/* ================= CONVALIDA ================= */

.validation-state {
    margin: 4px 0 16px;
    padding: 16px 17px;

    border: 1px solid transparent;
    border-radius: 9px;
}

.validation-state strong {
    font-size: 13px !important;
    font-weight: 750;
}

.validation-state p {
    margin-top: 7px;

    font-size: 12px !important;
    line-height: 1.5;
}

.validation-state-da-verificare {
    border-color: #E9D8B1;
    background: #FBF7EE;
    color: #805F23;
}

.validation-state-richiesta-inviata {
    border-color: #D7E1ED;
    background: #F3F6FA;
    color: #45617E;
}

.validation-state-convalidata {
    border-color: #D6E4DB;
    background: #F2F7F4;
    color: #3D6850;
}

.validation-actions {
    align-items: stretch;
    justify-content: initial;

    margin-left: 0;

    gap: 9px;
}

.validation-channel,
.quick-contact {
    padding: 11px 12px;

    border-color: #DEE3E8;
    border-radius: 8px;

    color: #344054;

    font-size: 12px !important;
}

.validation-link {
    margin-top: 7px;
}

.validation-link span {
    margin-bottom: 6px;

    color: #7A8594;

    font-size: 10.5px !important;
    font-weight: 700;
}

.validation-link input {
    min-height: 38px;

    font-size: 11.5px !important;
}


/* ================= MODULI FUTURI ================= */

.future-module {
    margin-top: 2px;
    padding: 20px;

    gap: 15px;

    border: 1px dashed #D5DBE1;
    border-radius: 9px;

    background: #FAFBFC;
}

.future-module-icon {
    width: 42px;
    height: 42px;

    border: 1px solid #DED4BD;
    border-radius: 8px;

    background: #FFFFFF;

    color: #A47E35;

    font-size: 16px !important;
}

.future-module strong {
    color: #2B3A50;

    font-size: 13px !important;
    font-weight: 650;
}

.future-module p {
    margin-top: 6px;

    color: #788494;

    font-size: 12px !important;
    line-height: 1.5;
}


/* ================= RESPONSIVE ================= */

@media(max-width:1100px) {

    .client-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .client-header-actions {
        max-width: none;
        justify-content: flex-start;
    }

    .client-workspace-grid {
        grid-template-columns: 1fr;
    }

}

@media(max-width:850px) {

    .workspace-case {
        grid-template-columns:
            135px
            110px
            minmax(150px,1fr)
            28px;
    }

    .workspace-case > .status-badge {
        display: none;
    }

}

@media(max-width:650px) {

    .client-header {
        padding: 20px 18px;
    }

    .client-identity {
        align-items: flex-start;
    }

    .client-big-avatar {
        width: 58px;
        height: 58px;
        flex-basis: 58px;

        font-size: 23px !important;
    }

    .client-identity h1 {
        font-size: 27px !important;
    }

    .workspace-case {
        grid-template-columns:
            minmax(0,1fr)
            28px;

        gap: 12px;
    }

    .workspace-case > div:nth-child(2),
    .workspace-case > div:nth-child(3),
    .workspace-case > .status-badge {
        display: none;
    }

    .detail-grid {
        grid-template-columns: 1fr;
    }

    .detail-grid .wide {
        grid-column: auto;
    }

}


/* =========================================================
   ALPHA 0.6.78 - AGENDA / EXECUTIVE LUX RESTYLING
   ========================================================= */


/* ---------------------------------------------------------
   TESTATA AGENDA
   --------------------------------------------------------- */

.agenda-main-header {
    position: relative;
    margin-bottom: 20px !important;
    padding: 26px 28px !important;

    border: 1px solid #DFE4EA !important;
    border-radius: 16px !important;

    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #FBFCFD 62%,
            #F6F1E8 100%
        ) !important;

    box-shadow:
        0 2px 5px rgba(20,33,58,.025),
        0 12px 32px rgba(20,33,58,.045) !important;

    overflow: hidden;
}

.agenda-main-header::before {
    content: "";
    position: absolute;

    top: 21px;
    bottom: 21px;
    left: 0;

    width: 4px;

    border-radius: 0 5px 5px 0;

    background: #B08A43;
}

.agenda-main-header .matter-heading-line {
    margin-bottom: 6px;
}

.agenda-main-header .eyebrow {
    color: #9A7637 !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: 1.35px !important;
}

.agenda-main-header h1 {
    margin: 0 !important;

    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 31px !important;
    font-weight: 500 !important;

    letter-spacing: -.4px;
}

.agenda-main-header .matter-subtitle {
    max-width: 640px;

    margin: 8px 0 0 !important;

    color: #758092 !important;

    font-size: 12.5px !important;
    line-height: 1.5 !important;
}


/* ---------------------------------------------------------
   AZIONI TESTATA
   --------------------------------------------------------- */

.agenda-header-actions {
    display: flex;
    align-items: center;

    gap: 9px !important;
}

.agenda-header-actions .button {
    min-height: 39px;

    padding: 9px 15px !important;

    border-radius: 9px !important;

    font-size: 11px !important;
    font-weight: 750 !important;

    letter-spacing: .1px;

    box-shadow: none !important;
}

.agenda-header-actions .button.primary {
    border: 1px solid #14213A !important;

    background:
        linear-gradient(
            180deg,
            #1B2B47 0%,
            #14213A 100%
        ) !important;

    color: #FFFFFF !important;
}

.agenda-header-actions .button.primary:hover {
    border-color: #B08A43 !important;

    background:
        linear-gradient(
            180deg,
            #243654 0%,
            #182842 100%
        ) !important;

    box-shadow:
        0 5px 14px rgba(20,33,58,.13) !important;

    transform: translateY(-1px);
}

.agenda-header-actions .button.secondary {
    border: 1px solid #D8DDE4 !important;

    background: #FFFFFF !important;

    color: #536174 !important;
}

.agenda-header-actions .button.secondary:hover {
    border-color: #C9B17E !important;

    background: #FBF9F4 !important;

    color: #856529 !important;
}


/* ---------------------------------------------------------
   KPI AGENDA
   --------------------------------------------------------- */

.agenda-dashboard {
    display: grid !important;

    grid-template-columns:
        repeat(4,minmax(0,1fr)) !important;

    gap: 11px !important;

    margin: 0 0 25px !important;
}

.agenda-kpi {
    position: relative;

    min-height: 112px !important;

    padding: 17px 18px 16px !important;

    border: 1px solid #E1E5EA !important;
    border-radius: 13px !important;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FAFBFC 100%
        ) !important;

    box-shadow:
        0 2px 5px rgba(20,33,58,.02),
        0 7px 18px rgba(20,33,58,.025) !important;

    overflow: hidden;
}

.agenda-kpi::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;

    width: auto !important;
    height: 3px !important;

    border-radius: 0 !important;

    background: #64748B !important;
}

.agenda-kpi.warning::before {
    background: #B08A43 !important;
}

.agenda-kpi.danger::before {
    background: #A64B44 !important;
}

.agenda-kpi:hover {
    border-color: #C9B17E !important;

    box-shadow:
        0 4px 9px rgba(20,33,58,.035),
        0 12px 24px rgba(20,33,58,.05) !important;

    transform: translateY(-2px) !important;
}

.agenda-kpi-label {
    display: block;

    margin-bottom: 8px;

    color: #7A8493 !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: .8px !important;

    text-transform: uppercase;
}

.agenda-kpi strong {
    display: block;

    margin: 0 0 4px !important;

    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    font-weight: 500 !important;

    line-height: 1 !important;
}

.agenda-kpi small {
    color: #8A94A3 !important;

    font-size: 10.5px !important;
    font-weight: 500 !important;
}


/* ---------------------------------------------------------
   SEZIONE AGENDA DELLO STUDIO
   --------------------------------------------------------- */

.agenda-studio-section {
    margin-top: 0 !important;
    margin-bottom: 26px !important;

    padding: 21px 22px 22px !important;

    border: 1px solid #E0E4E9 !important;
    border-radius: 15px !important;

    background: #FFFFFF !important;

    box-shadow:
        0 2px 5px rgba(20,33,58,.02),
        0 10px 28px rgba(20,33,58,.035) !important;
}

.agenda-studio-head {
    align-items: flex-start !important;

    margin-bottom: 16px !important;
    padding-bottom: 15px;

    border-bottom: 1px solid #ECEEF2;
}

.agenda-studio-head .eyebrow {
    color: #9A7637 !important;

    font-size: 8.5px !important;
    font-weight: 800 !important;

    letter-spacing: 1.2px !important;
}

.agenda-studio-head h2 {
    margin: 4px 0 4px !important;

    color: #14213A !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;

    letter-spacing: -.2px;
}

.agenda-studio-head p {
    color: #778293 !important;

    font-size: 11.5px !important;
}

.agenda-range-note {
    margin-top: 5px !important;

    color: #9A7637 !important;

    font-size: 9.5px !important;
    font-weight: 650;
}

.agenda-studio-head .record-count {
    min-width: 82px;

    padding: 7px 11px !important;

    border: 1px solid #E3D7BF !important;
    border-radius: 999px !important;

    background: #FBF7EF !important;

    color: #896626 !important;

    font-size: 9.5px !important;
    font-weight: 750 !important;

    text-align: center;
}


/* ---------------------------------------------------------
   ELENCO IMPEGNI
   --------------------------------------------------------- */

.agenda-studio-compact-list {
    gap: 8px 10px !important;
}

.agenda-studio-compact-row {
    position: relative;

    min-height: 64px !important;

    padding: 9px 11px !important;

    border: 1px solid #E5E8EC !important;
    border-left-width: 3px !important;
    border-radius: 10px !important;

    background: #FFFFFF !important;

    box-shadow:
        0 1px 2px rgba(20,33,58,.015) !important;
}

.agenda-studio-compact-row.is-hearing {
    border-left-color: #B08A43 !important;
}

.agenda-studio-compact-row.is-appointment {
    border-left-color: #7B8798 !important;
}

.agenda-studio-compact-row:hover {
    border-top-color: #D5C49F !important;
    border-right-color: #D5C49F !important;
    border-bottom-color: #D5C49F !important;

    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #FCFAF6 100%
        ) !important;

    box-shadow:
        0 5px 14px rgba(20,33,58,.055) !important;

    transform: translateY(-1px) !important;
}

.agenda-compact-date {
    min-width: 44px;

    padding-right: 10px;

    border-right: 1px solid #ECEEF1;

    text-align: center !important;
}

.agenda-compact-date strong {
    color: #14213A !important;

    font-size: 21px !important;
    font-weight: 500 !important;
}

.agenda-compact-date span {
    margin-top: 4px !important;

    color: #9A7637 !important;

    font-size: 8.5px !important;
    font-weight: 750 !important;
}

.agenda-compact-topline {
    margin-bottom: 4px !important;
}

.agenda-studio-type {
    color: #9A7637 !important;

    font-size: 8.5px !important;
    font-weight: 800 !important;

    letter-spacing: .85px !important;
}

.agenda-compact-time {
    padding-left: 8px;

    border-left: 1px solid #E5E8EC;

    color: #657184 !important;

    font-size: 9px !important;
}

.agenda-compact-main > strong {
    color: #14213A !important;

    font-size: 12.5px !important;
    font-weight: 720 !important;
}

.agenda-compact-main small {
    color: #7C8796 !important;

    font-size: 9.5px !important;
}

.agenda-studio-compact-row .arrow {
    color: #A7884C !important;

    font-size: 14px !important;

    transition: transform .14s ease;
}

.agenda-studio-compact-row:hover .arrow {
    transform: translateX(2px);
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media(max-width:1100px) {

    .agenda-dashboard {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:720px) {

    .agenda-main-header {
        padding: 21px 19px !important;
    }

    .agenda-header-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .agenda-header-actions .button {
        justify-content: center;
    }

    .agenda-dashboard {
        grid-template-columns: 1fr !important;
    }

    .agenda-studio-section {
        padding: 17px 15px !important;
    }

}


/* =========================================================
   ALPHA 0.6.82 - PRATICA / LEGGIBILITA PLUS
   ========================================================= */


/* TESTATA PRATICA */

.matter-header h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
}

.matter-subtitle {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.matter-meta,
.matter-meta span {
    font-size: 12.5px !important;
}


/* TAB WORKSPACE */

#case-workspace-tabs button.workspace-tab {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
}


/* KPI */

.matter-kpi > span {
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.matter-kpi > strong {
    font-size: 27px !important;
    line-height: 1 !important;
}

.matter-kpi > small {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
}


/* TITOLI PANNELLI */

.workspace-tab-section .panel-head h2,
.matter-layout .panel-head h2,
.matter-side-panel .panel-head h2 {
    font-size: 21px !important;
    line-height: 1.25 !important;
}


/* FORM E CAMPI */

.case-info-grid label > span,
.matter-mini-form label > span,
.matter-mini-form .form-label {
    font-size: 11.5px !important;
    font-weight: 750 !important;
}

.case-info-grid input,
.case-info-grid select,
.case-info-grid textarea,
.matter-mini-form input,
.matter-mini-form select,
.matter-mini-form textarea {
    font-size: 14px !important;
    line-height: 1.4 !important;
}


/* TESTI INFORMATIVI GENERALI */

.workspace-tab-section p,
.workspace-tab-section li,
.workspace-tab-section td,
.workspace-tab-section th {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
}


/* ATTI PROCESSUALI */

.matter-act strong,
.matter-act-main > strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-act span,
.matter-act small,
.matter-act-meta {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* SCADENZE */

.matter-deadline {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.matter-deadline strong {
    font-size: 13.5px !important;
}


/* ATTIVITA DI STUDIO */

.matter-task-main > strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-task-main span,
.matter-task-main small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* PERSONE / ASSISTITI */

.matter-person strong {
    font-size: 14px !important;
}

.matter-person span,
.matter-person small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* DOCUMENTI */

.matter-document-main strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-document-main span,
.matter-document-main small,
.matter-document-meta {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* COMUNICAZIONI */

.matter-communication-main strong {
    font-size: 14px !important;
}

.matter-communication-main span,
.matter-communication-main small,
.matter-communication-date {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* AGENDA LATERALE DELLA PRATICA */

.case-agenda-main > strong {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
}

.case-agenda-main > small {
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.case-agenda-date strong {
    font-size: 22px !important;
}


/* PANNELLI LATERALI */

.matter-side-panel p,
.matter-side-panel span,
.matter-side-panel small {
    line-height: 1.45;
}

.matter-side-panel .panel-head .eyebrow {
    font-size: 9.5px !important;
}


/* RESPONSIVE */

@media(max-width:760px) {

    .matter-header h1 {
        font-size: 28px !important;
    }

    #case-workspace-tabs button.workspace-tab {
        font-size: 12.5px !important;
    }

    .matter-kpi > strong {
        font-size: 24px !important;
    }

}


/* =========================================================
   ALPHA 0.6.82 - PRATICA / LEGGIBILITA PLUS
   ========================================================= */


/* TESTATA PRATICA */

.matter-header h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
}

.matter-subtitle {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.matter-meta,
.matter-meta span {
    font-size: 12.5px !important;
}


/* TAB WORKSPACE */

#case-workspace-tabs button.workspace-tab {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
}


/* KPI */

.matter-kpi > span {
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.matter-kpi > strong {
    font-size: 27px !important;
    line-height: 1 !important;
}

.matter-kpi > small {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
}


/* TITOLI PANNELLI */

.workspace-tab-section .panel-head h2,
.matter-layout .panel-head h2,
.matter-side-panel .panel-head h2 {
    font-size: 21px !important;
    line-height: 1.25 !important;
}


/* FORM E CAMPI */

.case-info-grid label > span,
.matter-mini-form label > span,
.matter-mini-form .form-label {
    font-size: 11.5px !important;
    font-weight: 750 !important;
}

.case-info-grid input,
.case-info-grid select,
.case-info-grid textarea,
.matter-mini-form input,
.matter-mini-form select,
.matter-mini-form textarea {
    font-size: 14px !important;
    line-height: 1.4 !important;
}


/* TESTI INFORMATIVI GENERALI */

.workspace-tab-section p,
.workspace-tab-section li,
.workspace-tab-section td,
.workspace-tab-section th {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
}


/* ATTI PROCESSUALI */

.matter-act strong,
.matter-act-main > strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-act span,
.matter-act small,
.matter-act-meta {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* SCADENZE */

.matter-deadline {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.matter-deadline strong {
    font-size: 13.5px !important;
}


/* ATTIVITA DI STUDIO */

.matter-task-main > strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-task-main span,
.matter-task-main small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* PERSONE / ASSISTITI */

.matter-person strong {
    font-size: 14px !important;
}

.matter-person span,
.matter-person small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* DOCUMENTI */

.matter-document-main strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.matter-document-main span,
.matter-document-main small,
.matter-document-meta {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* COMUNICAZIONI */

.matter-communication-main strong {
    font-size: 14px !important;
}

.matter-communication-main span,
.matter-communication-main small,
.matter-communication-date {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* AGENDA LATERALE DELLA PRATICA */

.case-agenda-main > strong {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
}

.case-agenda-main > small {
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.case-agenda-date strong {
    font-size: 22px !important;
}


/* PANNELLI LATERALI */

.matter-side-panel p,
.matter-side-panel span,
.matter-side-panel small {
    line-height: 1.45;
}

.matter-side-panel .panel-head .eyebrow {
    font-size: 9.5px !important;
}


/* RESPONSIVE */

@media(max-width:760px) {

    .matter-header h1 {
        font-size: 28px !important;
    }

    #case-workspace-tabs button.workspace-tab {
        font-size: 12.5px !important;
    }

    .matter-kpi > strong {
        font-size: 24px !important;
    }

}


/* =========================================================
   ALPHA 0.6.83 - PEC DETAIL / LEGGIBILITA PLUS
   ========================================================= */


/* OGGETTO PEC */

.pec-detail-header h1 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    letter-spacing: -.25px !important;
}


/* SOTTOTITOLO TESTATA */

.pec-detail-header .matter-subtitle {
    font-size: 14px !important;
    line-height: 1.55 !important;
}


/* STATO PEC */

.pec-detail-status span {
    font-size: 11px !important;
}

.pec-detail-status strong {
    font-size: 14px !important;
}


/* METADATI:
   mittente - destinatario - data - allegati */

.pec-message-meta span {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

.pec-message-meta strong {
    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* =========================================================
   CORPO DELLA PEC
   elemento principale da leggere
   ========================================================= */

.pec-original-body {
    font-size: 16px !important;
    line-height: 1.68 !important;

    color: #263244 !important;

    padding: 22px 24px !important;

    letter-spacing: .02px;
}

.pec-original-body p,
.pec-original-body div,
.pec-original-body span,
.pec-original-body td,
.pec-original-body li {
    font-size: 16px !important;
    line-height: 1.68 !important;
}

.pec-original-body strong,
.pec-original-body b {
    font-size: inherit !important;
    font-weight: 700 !important;
}

.pec-original-body a {
    font-size: inherit !important;
}


/* ANALISI PEC */

.pec-analysis-panel .panel-head h2 {
    font-size: 20px !important;
}

.pec-analysis-content p {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.pec-analysis-row span {
    font-size: 11.5px !important;
}

.pec-analysis-row strong {
    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* AZIONI LATERALI */

.pec-action-stack .button,
.pec-full-button {
    font-size: 13px !important;
    min-height: 41px !important;
}


/* FORM AZIONI PEC */

.pec-inline-head .eyebrow {
    font-size: 10px !important;
}

.pec-inline-head strong {
    font-size: 15px !important;
}

.pec-inline-action label > span {
    font-size: 11.5px !important;
    font-weight: 700 !important;
}

.pec-inline-action input,
.pec-inline-action select,
.pec-inline-action textarea {
    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* COLLEGAMENTO ALLA PRATICA */

.pec-linked-case > span {
    font-size: 11px !important;
}

.pec-linked-case > strong {
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.pec-linked-case small {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}


/* ABBINAMENTO PRATICHE */

.pec-match-intro {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.pec-match-main > strong {
    font-size: 14px !important;
}

.pec-match-main > span {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.pec-match-reasons small {
    font-size: 11px !important;
    line-height: 1.45 !important;
}


/* AVVERTENZE */

.pec-action-warning strong {
    font-size: 13px !important;
}

.pec-action-warning p {
    font-size: 12px !important;
    line-height: 1.5 !important;
}


/* MOBILE */

@media(max-width:760px) {

    .pec-detail-header h1 {
        font-size: 25px !important;
    }

    .pec-original-body,
    .pec-original-body p,
    .pec-original-body div,
    .pec-original-body span,
    .pec-original-body td,
    .pec-original-body li {
        font-size: 15px !important;
    }

}


/* =========================================================
   ALPHA 0.6.84 - PROMEMORIA IMPEGNI / LETTO
   ========================================================= */

.today-reminder-row-shell {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 7px;
}

.today-reminder-row-shell .today-reminder-row-main {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0 !important;
}

.today-reminder-read-form {
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
    margin: 0;
}

.today-reminder-read-button {
    min-width: 74px;
    padding: 0 12px;

    border: 1px solid #D8DDE4;
    border-radius: 9px;

    background: #FFFFFF;
    color: #536174;

    font-family: inherit;
    font-size: 11px;
    font-weight: 750;

    cursor: pointer;

    transition:
        border-color .14s ease,
        background .14s ease,
        color .14s ease,
        transform .14s ease;
}

.today-reminder-read-button:hover {
    border-color: #B08A43;
    background: #FBF7EF;
    color: #806126;
    transform: translateY(-1px);
}

.today-reminder-row-shell.overdue .today-reminder-read-button {
    border-color: #E3C8C4;
}

.today-reminder-row-shell.overdue .today-reminder-read-button:hover {
    border-color: #A64B44;
    background: #FBF3F2;
    color: #8E403A;
}

@media(max-width:720px) {

    .today-reminder-row-shell {
        flex-direction: column;
    }

    .today-reminder-read-button {
        width: 100%;
        min-height: 36px;
    }

}


/* =========================================================
   ALPHA 0.6.85 - PRATICHE / BADGE AREA LUNGA
   ========================================================= */

/*
   Consente alle tipologie lunghe, in particolare
   "Esecuzione Penale / Sorveglianza",
   di disporsi ordinatamente su due righe.
*/

.practices-panel .area-badge {
    white-space: normal !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    padding: 6px 10px !important;

    line-height: 1.22 !important;
    text-align: center !important;

    overflow-wrap: normal !important;
    word-break: normal !important;

    box-sizing: border-box;
}

/*
   La colonna che contiene il badge deve poter
   restringersi senza farlo uscire dalla riga.
*/

.practices-panel .practice-table-row > div:nth-child(4) {
    min-width: 0 !important;
    overflow: visible !important;
}


/* =========================================================
   ALPHA 0.6.86 - AUTOCOMPLETE ASSISTITO NUOVA PRATICA
   ========================================================= */

.client-autocomplete-field {
    position: relative;
}

.client-autocomplete-field > label {
    display: block;
    margin-bottom: 7px;
}

.client-autocomplete {
    position: relative;
    width: 100%;
}

.client-autocomplete-input {
    width: 100%;
    box-sizing: border-box;
}

.client-autocomplete-input.has-selection {
    border-color: #A7884C !important;
    background: #FFFCF6 !important;
}

.client-autocomplete-results {
    position: absolute;
    z-index: 1000;

    top: calc(100% + 5px);
    left: 0;
    right: 0;

    max-height: 285px;
    overflow-y: auto;

    padding: 6px;

    border: 1px solid #D9DEE6;
    border-radius: 10px;

    background: #FFFFFF;

    box-shadow:
        0 14px 35px rgba(20, 33, 58, .13);
}

.client-autocomplete-result {
    display: block;

    width: 100%;

    padding: 10px 12px;

    border: 0;
    border-radius: 7px;

    background: transparent;
    color: #17243B;

    font-family: inherit;
    font-size: 13px;
    font-weight: 650;

    line-height: 1.35;
    text-align: left;

    cursor: pointer;
}

.client-autocomplete-result:hover,
.client-autocomplete-result:focus {
    outline: none;
    background: #F5F7FA;
    color: #8A692D;
}

.client-autocomplete-empty {
    padding: 11px 12px;

    color: #7B8593;

    font-size: 12px;
    font-weight: 600;
}

.client-autocomplete-help {
    display: block;

    margin-top: 7px;

    color: #7A8492;

    font-size: 11px;
    line-height: 1.35;
}

.client-autocomplete-help.selected {
    color: #806126;
    font-weight: 700;
}

.client-autocomplete-help.client-search-error {
    color: #A3443E;
    font-weight: 700;
}


/* ALPHA 0.6 - Ricerca fascicolo collegato */
.case-link-search-field {
    position: relative;
}

#case-link-search {
    width: 100%;
    font-size: 15px;
}

.case-link-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 2px);
    z-index: 1000;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d9dde5;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(20, 32, 52, .14);
    padding: 5px;
}

.case-link-search-option {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.case-link-search-option:hover {
    background: #f3f5f8;
}

.case-link-search-option strong {
    display: block;
    font-size: 14px;
    color: #24344d;
}

.case-link-search-option small {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: #667085;
    line-height: 1.35;
}

.case-link-search-option[hidden] {
    display: none !important;
}


/* ==========================================================
   ALPHA 0.6 - SCADENZE CRITICHE AGENDA
   ========================================================== */

#agenda-criticita.agenda-critical-highlight {
    position: relative;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid rgba(166, 75, 68, .28);
    border-top: 4px solid #A64B44;
    border-radius: 14px;
    background:
        linear-gradient(
            180deg,
            rgba(166, 75, 68, .055) 0%,
            rgba(255, 255, 255, 1) 48%
        );
    box-shadow:
        0 6px 18px rgba(20, 33, 58, .045);
}

#agenda-criticita .agenda-operational-head {
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(166, 75, 68, .15);
}

#agenda-criticita .agenda-operational-head .eyebrow {
    color: #A64B44;
}

#agenda-criticita .agenda-operational-head h2 {
    color: #7F3833;
}

#agenda-criticita .record-count {
    color: #8D403A;
    border-color: rgba(166, 75, 68, .22);
    background: rgba(166, 75, 68, .07);
}

#agenda-criticita .agenda-operational-box {
    border-color: rgba(166, 75, 68, .20);
    box-shadow: 0 3px 10px rgba(166, 75, 68, .035);
}

#agenda-criticita .agenda-operational-box.critical {
    border-top: 3px solid #A64B44;
}

#agenda-criticita .agenda-operational-box-head .eyebrow {
    color: #A64B44;
}

#agenda-criticita .agenda-operational-side strong {
    color: #9A453F;
}


/* ==========================================================
   ALPHA 0.6 - DASHBOARD CONTROLLO OPERATIVO
   ========================================================== */

.dashboard-operational-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
    margin-bottom: 22px;
}

.dashboard-operational-pair > .panel {
    margin: 0;
    min-width: 0;
}

.dashboard-operational-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.dashboard-operational-head h2 {
    margin: 4px 0 3px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.dashboard-operational-head p {
    margin: 0;
    color: #7A8493;
    font-size: 12px;
}

.dashboard-operational-head > a {
    flex: 0 0 auto;
    color: #8A6B32;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
}

.dashboard-operational-count {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding-bottom: 14px;
    margin-bottom: 4px;
    border-bottom: 1px solid #E8EBEF;
}

.dashboard-operational-count strong {
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 500;
}

.dashboard-operational-count span {
    color: #7A8493;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.dashboard-operational-list,
.dashboard-critical-list {
    display: grid;
}

.dashboard-operational-row {
    display: grid;
    grid-template-columns: 43px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 11px 2px;
    border-bottom: 1px solid #EDF0F3;
    color: inherit;
    text-decoration: none;
}

.dashboard-operational-row:hover {
    background: rgba(20,33,58,.018);
}

.dashboard-operational-date {
    text-align: center;
}

.dashboard-operational-date strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

.dashboard-operational-date span {
    display: block;
    margin-top: 3px;
    color: #8A94A2;
    font-size: 9px;
    font-weight: 700;
}

.dashboard-operational-main {
    min-width: 0;
}

.dashboard-operational-main > strong {
    display: block;
    overflow: hidden;
    color: #263247;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-operational-main small {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #7A8493;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-operational-status {
    color: #8A6B32;
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

.dashboard-operational-more {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    color: #7A8493;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}


/* Agenda critica */

.dashboard-critical-agenda {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(166,75,68,.26) !important;
    border-top: 4px solid #A64B44 !important;
    background:
        linear-gradient(
            180deg,
            rgba(166,75,68,.055) 0%,
            #FFFFFF 43%
        ) !important;
}

.dashboard-critical-agenda .eyebrow {
    color: #A64B44;
}

.dashboard-critical-agenda .dashboard-operational-head h2 {
    color: #7F3833;
}

.dashboard-critical-agenda .dashboard-operational-head > a {
    color: #93413B;
}

.dashboard-critical-summary {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    overflow: hidden;
    margin-bottom: 10px;
    border: 1px solid rgba(166,75,68,.16);
    border-radius: 10px;
    background: rgba(255,255,255,.78);
}

.dashboard-critical-summary > div {
    padding: 12px;
    border-right: 1px solid rgba(166,75,68,.12);
}

.dashboard-critical-summary > div:last-child {
    border-right: 0;
}

.dashboard-critical-summary span {
    display: block;
    color: #7A8493;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.dashboard-critical-summary strong {
    display: block;
    margin-top: 5px;
    color: #8C403A;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 500;
}

.dashboard-critical-summary small {
    display: block;
    margin-top: 3px;
    color: #8C929B;
    font-size: 9px;
}

.dashboard-critical-summary .total {
    background: rgba(166,75,68,.055);
}

.dashboard-critical-row {
    display: grid;
    grid-template-columns: 66px minmax(0,1fr);
    align-items: center;
    gap: 10px;
    padding: 10px 2px;
    border-bottom: 1px solid rgba(166,75,68,.11);
    color: inherit;
    text-decoration: none;
}

.dashboard-critical-row > div {
    min-width: 0;
}

.dashboard-critical-row > div > strong {
    display: block;
    overflow: hidden;
    color: #3F454F;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-critical-row small {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #8B8F97;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-critical-type {
    display: inline-flex;
    justify-content: center;
    padding: 5px 6px;
    border-radius: 5px;
    background: rgba(166,75,68,.10);
    color: #93413B;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
}

.dashboard-critical-type.deadline {
    background: rgba(176,138,67,.12);
    color: #856526;
}

@media (max-width: 1050px) {
    .dashboard-operational-pair {
        grid-template-columns: 1fr;
    }
}



/* ==========================================================
   ALPHA 0.6 - AGENDA CRITICA DASHBOARD FULL WIDTH
   ========================================================== */

.dashboard-critical-agenda-full {
    width: 100%;
    margin-top: 22px;
    margin-bottom: 22px;
}

.dashboard-critical-agenda-full .dashboard-critical-list-full {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
}

.dashboard-critical-agenda-full .dashboard-critical-row {
    min-width: 0;
}

@media (max-width: 1050px) {
    .dashboard-critical-agenda-full .dashboard-critical-list-full {
        grid-template-columns: 1fr;
    }
}


/* ALPHA 0.6 - Agenda critica vuota centrata */
.dashboard-critical-agenda .empty-state.compact {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.dashboard-critical-agenda .empty-state.compact strong,
.dashboard-critical-agenda .empty-state.compact span {
    text-align: center;
}


/* ALPHA 0.6 - Testate Dashboard cliccabili */
.dashboard-focus-title-link {
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
    transition:
        background .16s ease,
        transform .16s ease;
}

.dashboard-focus-title-link:hover {
    background: rgba(20,33,58,.035);
    transform: translateY(-1px);
}

.dashboard-focus-title-link small {
    transition: color .16s ease;
}

.dashboard-focus-title-link:hover small {
    color: #8A6B32;
}


/* ==========================================================
   ALPHA 0.6 - SETTIMANA OPERATIVA
   ========================================================== */

.week-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 24px;
    margin-bottom: 18px;
    border: 1px solid #E2E6EA;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            rgba(20,33,58,.035) 0%,
            rgba(176,138,67,.045) 100%
        );
}

.week-hero h1 {
    margin: 5px 0 6px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 500;
}

.week-hero p {
    margin: 0;
    color: #76808D;
    font-size: 12px;
}

.week-hero-actions {
    display: flex;
    gap: 9px;
    flex: 0 0 auto;
}

.week-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.week-kpi-card {
    position: relative;
    padding: 17px 18px 16px;
    border: 1px solid #E2E6EA;
    border-radius: 12px;
    background: #FFFFFF;
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 3px 8px rgba(20,33,58,.025);
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.week-kpi-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;
    width: 3px;
    background: #14213A;
}

.week-kpi-card.warning::before {
    background: #B08A43;
}

.week-kpi-card:hover {
    transform: translateY(-2px);
    border-color: rgba(176,138,67,.40);
    box-shadow:
        0 8px 20px rgba(20,33,58,.055);
}

.week-kpi-card span {
    display: block;
    color: #7A8493;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.week-kpi-card strong {
    display: block;
    margin-top: 8px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 29px;
    font-weight: 500;
    line-height: 1;
}

.week-kpi-card small {
    display: block;
    margin-top: 6px;
    color: #9299A3;
    font-size: 10px;
}

.week-panel {
    margin-bottom: 20px;
    padding: 18px;
}

.week-panel-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #E8EBEF;
}

.week-panel-head h2 {
    margin: 4px 0 3px;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
}

.week-panel-head p {
    margin: 0;
    color: #7A8493;
    font-size: 11px;
}

.week-list {
    display: grid;
}

.week-row {
    display: grid;
    grid-template-columns: 48px 58px minmax(0,1fr) auto;
    align-items: center;
    gap: 13px;
    min-height: 66px;
    padding: 10px 5px;
    border-bottom: 1px solid #EDF0F3;
    color: inherit;
    text-decoration: none;
    transition:
        background .14s ease,
        padding-left .14s ease;
}

.week-row:hover {
    background: rgba(20,33,58,.018);
    padding-left: 9px;
}

.week-date {
    text-align: center;
}

.week-date strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
}

.week-date span {
    display: block;
    margin-top: 3px;
    color: #8B94A0;
    font-size: 9px;
    font-weight: 750;
}

.week-date.deadline strong {
    color: #8A6830;
}

.week-time {
    color: #596474;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
}

.week-main {
    min-width: 0;
}

.week-main-wide {
    grid-column: 2 / 4;
}

.week-main > strong {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #263247;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.week-main small {
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #7A8493;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.week-topline {
    display: flex;
    align-items: center;
    gap: 8px;
}

.week-kind {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 5px;
    background: rgba(20,33,58,.065);
    color: #4F5D70;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.week-kind.hearing {
    background: rgba(176,138,67,.13);
    color: #856629;
}

.week-kind.task {
    background: rgba(20,33,58,.075);
    color: #35465F;
}

.week-kind.deadline {
    background: rgba(176,138,67,.13);
    color: #856629;
}

.week-notes {
    margin: 5px 0 0;
    color: #8A919B;
    font-size: 10px;
}

.week-deadline-panel {
    border-top: 3px solid #B08A43;
}

.week-empty {
    min-height: 105px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #858E9A;
}

.week-empty strong {
    color: #536070;
    font-size: 12px;
}

.week-empty span {
    margin-top: 5px;
    font-size: 10px;
}

@media (max-width: 1050px) {
    .week-kpi-grid {
        grid-template-columns: 1fr;
    }

    .week-row {
        grid-template-columns: 45px minmax(0,1fr) auto;
    }

    .week-time {
        display: none;
    }

    .week-main-wide {
        grid-column: auto;
    }
}

@media (max-width: 700px) {
    .week-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .week-hero-actions {
        width: 100%;
    }
}



/* ==========================================================
   ALPHA 0.6 - INSERIMENTO RAPIDO PRIMARY ACTION
   ========================================================== */

.quick-entry-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 40px;
    padding-left: 17px !important;
    padding-right: 18px !important;

    font-weight: 700;
    letter-spacing: .01em;

    box-shadow:
        0 5px 14px rgba(18, 35, 62, .12),
        0 1px 2px rgba(18, 35, 62, .08);

    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.quick-entry-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 8px 20px rgba(18, 35, 62, .17),
        0 2px 4px rgba(18, 35, 62, .08);
}

.quick-entry-primary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    font-size: 15px;
    line-height: 1;
}

.cases-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

@media (max-width: 760px) {
    .cases-header-actions {
        justify-content: flex-start;
    }
}



/* ALPHA 0.6 - Icona professionale Inserimento rapido */
.quick-entry-primary-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==========================================================
   ALPHA 0.6 - AZIONI DASHBOARD BLU / ORO
   ========================================================== */

/* Pulsanti secondari Dashboard */
.dashboard-hero .hero-actions .button.secondary {
    border: 1px solid rgba(176, 138, 67, .48) !important;
    background: #ffffff !important;
    color: #1d2d47 !important;

    box-shadow:
        inset 0 2px 0 rgba(176, 138, 67, .10),
        0 2px 7px rgba(20, 33, 58, .04);

    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.dashboard-hero .hero-actions .button.secondary:hover {
    border-color: #B08A43 !important;

    background:
        linear-gradient(
            180deg,
            rgba(176, 138, 67, .08),
            rgba(176, 138, 67, .025)
        ) !important;

    color: #17263d !important;

    transform: translateY(-1px);

    box-shadow:
        0 5px 13px rgba(20, 33, 58, .08);
}


/* Inserimento rapido: azione principale */
.dashboard-hero .quick-entry-primary {
    position: relative;

    border: 1px solid #B08A43 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 5px 14px rgba(20,33,58,.15),
        0 0 0 1px rgba(176,138,67,.08);
}


/* Icona dorata */
.dashboard-hero .quick-entry-primary-icon {
    color: #D4B46A !important;
}


/* Piccolo accento oro superiore */
.dashboard-hero .quick-entry-primary::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 14px;
    right: 14px;
    height: 2px;

    border-radius: 0 0 3px 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #C7A252,
            transparent
        );
}


/* Hover Inserimento rapido */
.dashboard-hero .quick-entry-primary:hover {
    border-color: #C09A4A !important;

    transform: translateY(-1px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 8px 19px rgba(20,33,58,.19),
        0 0 0 1px rgba(176,138,67,.12);
}



/* ==========================================================
   ALPHA 0.6 - DASHBOARD AGENDA CRITICA MAGGIORE LEGGIBILITA
   ========================================================== */

/* Titolo principale */
.dashboard-critical-agenda .dashboard-operational-head h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    letter-spacing: -0.015em;
    color: #17263d !important;
}

/* Descrizione sotto il titolo */
.dashboard-critical-agenda .dashboard-operational-head p {
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #5f6977 !important;
}

/* Link Apri criticità */
.dashboard-critical-agenda .dashboard-operational-head > a {
    font-size: 13px !important;
    font-weight: 700 !important;
}


/* ----------------------------------------------------------
   CONTATORI
   ---------------------------------------------------------- */

.dashboard-critical-summary {
    gap: 12px !important;
}

.dashboard-critical-summary > div {
    min-height: 104px;
    padding: 16px 17px !important;
}

/* Etichetta: Attività di Studio / Scadenze processuali */
.dashboard-critical-summary > div > span {
    display: block;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 750 !important;
    letter-spacing: .025em;
    text-transform: uppercase;
}

/* Numero */
.dashboard-critical-summary > div > strong {
    display: block;
    margin: 5px 0 2px !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

/* non completate / non gestite / da verificare subito */
.dashboard-critical-summary > div > small {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    font-weight: 500;
}


/* ----------------------------------------------------------
   ELENCO SINGOLE CRITICITA
   ---------------------------------------------------------- */

.dashboard-critical-list {
    margin-top: 16px !important;
    gap: 9px !important;
}

.dashboard-critical-row {
    min-height: 68px;
    padding: 12px 14px !important;
    gap: 13px !important;
}

/* ATTIVITÀ / TERMINE */
.dashboard-critical-type {
    min-width: 76px;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .045em;
}

/* Titolo della criticità */
.dashboard-critical-row > div > strong {
    display: block;
    font-size: 14.5px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #202c3d !important;
}

/* Data scadenza + pratica */
.dashboard-critical-row > div > small {
    display: block;
    margin-top: 5px;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: #667080 !important;
}


/* ----------------------------------------------------------
   STATO VUOTO
   ---------------------------------------------------------- */

.dashboard-critical-agenda .empty-state.compact {
    min-height: 130px !important;
}

.dashboard-critical-agenda .empty-state.compact strong {
    font-size: 16px !important;
    line-height: 1.35 !important;
    color: #26354a !important;
}

.dashboard-critical-agenda .empty-state.compact span {
    margin-top: 5px;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: #697382 !important;
}



/* ==========================================================
   ALPHA 0.6 - DASHBOARD TYPOGRAPHY SYSTEM
   ========================================================== */

/* Titoli principali delle sezioni */
.dashboard-hero h1,
.dashboard-focus-panel h2,
.dashboard-30-panel h2,
.dashboard-monitor-panel h2,
.dashboard-critical-agenda h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

/* Titolo principale Dashboard */
.dashboard-hero h1 {
    font-size: 30px !important;
    font-weight: 500 !important;
}

/* Eyebrow */
.dashboard-hero .eyebrow,
.dashboard-focus-panel .eyebrow,
.dashboard-30-panel .eyebrow,
.dashboard-monitor-panel .eyebrow,
.dashboard-critical-agenda .eyebrow {
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .085em !important;
    text-transform: uppercase;
}

/* Descrizioni delle sezioni */
.dashboard-hero p,
.dashboard-focus-description,
.dashboard-30-description,
.dashboard-monitor-description,
.dashboard-critical-agenda .dashboard-operational-head p {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

/* KPI superiori */
.dashboard-metrics .metric-card span {
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.dashboard-metrics .metric-card strong {
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
}

.dashboard-metrics .metric-card small {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

/* Titoli colonne Oggi / Prossimi 7 giorni */
.dashboard-focus-title span {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .065em !important;
}

.dashboard-focus-title strong {
    font-size: 27px !important;
    line-height: 1 !important;
}

.dashboard-focus-title small {
    font-size: 11.5px !important;
}

/* Tipologia riga */
.dashboard-focus-kind {
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
}

/* Titolo singolo impegno */
.dashboard-focus-main > strong,
.dashboard-event-main > strong {
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

/* Metadati singolo impegno */
.dashboard-focus-main small,
.dashboard-event-main small {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

/* Date / orari */
.dashboard-focus-time,
.dashboard-focus-date,
.dashboard-event-date {
    font-size: 11.5px !important;
}

.dashboard-focus-date strong,
.dashboard-event-date strong {
    font-size: 20px !important;
    line-height: 1 !important;
}

.dashboard-focus-date span,
.dashboard-event-date span {
    font-size: 10px !important;
}

/* Box Impegni 8-30 giorni */
.dashboard-30-panel .dashboard-event-row {
    font-size: 13px;
}

.dashboard-30-panel .dashboard-event-main > strong {
    font-size: 13.5px !important;
}

.dashboard-30-panel .dashboard-event-main small {
    font-size: 11.5px !important;
}

/* Monitoraggio Studio */
.dashboard-monitor-main > span {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
}

.dashboard-monitor-main > strong {
    font-size: 28px !important;
    line-height: 1 !important;
}

.dashboard-monitor-main small {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

/* Agenda critica */
.dashboard-critical-summary > div > span {
    font-size: 10.5px !important;
}

.dashboard-critical-summary > div > strong {
    font-size: 28px !important;
}

.dashboard-critical-summary > div > small {
    font-size: 11.5px !important;
}

.dashboard-critical-row > div > strong {
    font-size: 13.5px !important;
}

.dashboard-critical-row > div > small {
    font-size: 11.5px !important;
}

.dashboard-critical-type {
    font-size: 9.5px !important;
}

/* Link azione nelle intestazioni */
.dashboard-focus-panel .panel-head > a,
.dashboard-30-panel .panel-head > a,
.dashboard-operational-head > a {
    font-size: 11.5px !important;
    font-weight: 700 !important;
}

/* Stato vuoto */
.dashboard-focus-panel .empty-state strong,
.dashboard-30-panel .empty-state strong,
.dashboard-critical-agenda .empty-state strong {
    font-size: 14px !important;
}

.dashboard-focus-panel .empty-state span,
.dashboard-30-panel .empty-state span,
.dashboard-critical-agenda .empty-state span {
    font-size: 12px !important;
    line-height: 1.45 !important;
}



/* ==========================================================
   ALPHA 0.6 - QUICK ENTRY RICERCA ANAGRAFICA
   ========================================================== */

.quick-entry-duplicate {
    margin-top: 4px;
}

.qe-search-head {
    padding: 12px 14px 10px;
    border: 1px solid rgba(176,138,67,.24);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: rgba(176,138,67,.045);
}

.qe-search-head strong {
    display: block;
    color: #17263d;
    font-size: 13px;
}

.qe-search-head span {
    display: block;
    margin-top: 3px;
    color: #747e8c;
    font-size: 11px;
}

.qe-person-results {
    overflow: hidden;
    border: 1px solid rgba(176,138,67,.24);
    border-radius: 0 0 10px 10px;
    background: #fff;
}

.qe-person-result {
    width: 100%;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;

    padding: 10px 12px;

    border: 0;
    border-bottom: 1px solid #eceff2;

    background: #fff;

    text-align: left;
    cursor: pointer;
}

.qe-person-result:last-child {
    border-bottom: 0;
}

.qe-person-result:hover {
    background: rgba(176,138,67,.055);
}

.qe-person-avatar {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #172a45;
    color: #d5b66e;

    font-family: Georgia, serif;
    font-size: 15px;
}

.qe-person-result-main {
    min-width: 0;
}

.qe-person-result-main strong {
    display: block;

    color: #26354a;
    font-size: 13px;
}

.qe-person-result-main small {
    display: block;

    margin-top: 3px;

    color: #7a8492;
    font-size: 10.5px;
}

.qe-person-use {
    color: #967331;
    font-size: 10.5px;
    font-weight: 750;
}

.qe-selected-person {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    padding: 13px 15px;

    border: 1px solid rgba(176,138,67,.36);
    border-radius: 10px;

    background: rgba(176,138,67,.07);
}

.qe-selected-person strong {
    display: block;
    color: #26354a;
    font-size: 13px;
}

.qe-selected-person span {
    display: block;
    margin-top: 4px;

    color: #687382;
    font-size: 11px;
}

.qe-change-person {
    flex: 0 0 auto;

    border: 0;
    background: transparent;

    color: #8c6a2e;
    font-size: 10.5px;
    font-weight: 750;

    cursor: pointer;
}


/* ==========================================================
   ALPHA 0.6 - KPI IMPEGNI STUDIO / CERCHI NUMERICI
   ========================================================== */

.dashboard-focus-title strong {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 50% !important;

    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;

    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    box-sizing: border-box;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.20),
        0 2px 6px rgba(20,33,58,.06);
}

.dashboard-focus-title > div {
    display: flex;
    align-items: center;
    gap: 10px;
}



/* ==========================================================
   ALPHA 0.6 - LEGALE RAPPRESENTANTE SOCIETA / ENTE
   ========================================================== */

.legal-representative-panel {
    position: relative;
    border-top: 3px solid rgba(176,138,67,.72);
    background:
        linear-gradient(
            180deg,
            rgba(176,138,67,.035),
            #ffffff 70px
        );
}

.legal-representative-panel .form-panel-head h2 {
    color: #17263d;
}

.legal-representative-panel .step-number {
    border-color: rgba(176,138,67,.45);
    color: #956f2d;
    background: rgba(176,138,67,.08);
}

.legal-representative-detail {
    border-top: 3px solid rgba(176,138,67,.72);
}

.legal-representative-detail .eyebrow {
    color: #96712f;
}



/* ==========================================================
   ALPHA 0.6 - CF LEGALE RAPPRESENTANTE
   ========================================================== */

.legal-rep-tax-code-field {
    margin-top: 4px;
    padding-top: 15px;
    border-top: 1px solid rgba(176,138,67,.22);
}

.legal-rep-tax-code-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
}

.legal-rep-tax-code-row .small-action {
    margin: 0 !important;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .legal-rep-tax-code-row {
        grid-template-columns: 1fr;
    }
}



/* ==========================================================
   ALPHA 0.6 - KPI AREE PAGINA PRATICHE
   ========================================================== */

.cases-area-kpi-section {
    margin: 22px 0 26px;
}

.cases-area-kpi-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.cases-area-kpi-head h2 {
    margin: 3px 0 0;
    font-size: 19px;
    color: #17263d;
}

.cases-area-reset {
    font-size: 13px;
    font-weight: 600;
    color: #9b762f;
    text-decoration: none;
}

.cases-area-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.cases-area-kpi-card {
    min-height: 105px;
    padding: 14px 15px;
    border: 1px solid #e1e5ea;
    border-radius: 13px;
    background: #fff;
    text-decoration: none;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.cases-area-kpi-card:hover {
    transform: translateY(-2px);
    border-color: rgba(176,138,67,.45);
    box-shadow: 0 8px 22px rgba(20,33,58,.07);
}

.cases-area-kpi-card.active {
    border-color: rgba(176,138,67,.75);
    box-shadow:
        inset 0 3px 0 rgba(176,138,67,.78),
        0 8px 22px rgba(20,33,58,.06);
}

.cases-area-kpi-card > span {
    font-size: 12px;
    line-height: 1.25;
    font-weight: 650;
    color: #596577;
}

.cases-area-kpi-card strong {
    margin-top: 10px;
    font-size: 27px;
    line-height: 1;
    font-weight: 650;
    color: #17263d;
}

.cases-area-kpi-card small {
    margin-top: 7px;
    font-size: 11px;
    color: #8a94a3;
}

@media (max-width: 1200px) {
    .cases-area-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .cases-area-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ==========================================================
   ALPHA 0.6 - ICONE KPI AREE PRATICHE
   ========================================================== */

.cases-area-kpi-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cases-area-kpi-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(176,138,67,.08);
    border: 1px solid rgba(176,138,67,.22);

    color: #9a742e;
}

.cases-area-kpi-icon svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cases-area-kpi-name {
    font-size: 12px !important;
    line-height: 1.2;
    font-weight: 650 !important;
    color: #4d596a !important;
}

.cases-area-kpi-value {
    margin-top: 12px;
}

.cases-area-kpi-value strong {
    display: block;
    margin: 0;

    font-size: 27px;
    line-height: 1;
    font-weight: 650;

    color: #17263d;
}

.cases-area-kpi-value small {
    display: block;
    margin-top: 6px;

    font-size: 11px;
    color: #8a94a3;
}

.cases-area-kpi-card:hover .cases-area-kpi-icon,
.cases-area-kpi-card.active .cases-area-kpi-icon {
    background: rgba(176,138,67,.14);
    border-color: rgba(176,138,67,.48);
}



/* ==========================================================
   ALPHA 0.6 - CONTROLLO OPERATIVO PAGINA PRATICHE
   ========================================================== */

.cases-operational-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 8px 0 26px;
}

.cases-operational-card {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto 18px;
    align-items: center;
    gap: 14px;

    min-height: 116px;
    padding: 18px;

    border: 1px solid #e2e6eb;
    border-radius: 15px;
    background: #fff;

    text-decoration: none;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        border-color .16s ease;
}

.cases-operational-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(20,33,58,.08);
}

.cases-operational-card.critical {
    border-top: 3px solid #a64b44;
    background:
        linear-gradient(
            180deg,
            rgba(166,75,68,.035),
            #fff 72px
        );
}

.cases-operational-card.dormant {
    border-top: 3px solid #b08a43;
    background:
        linear-gradient(
            180deg,
            rgba(176,138,67,.04),
            #fff 72px
        );
}

.cases-operational-card.active {
    box-shadow: 0 10px 28px rgba(20,33,58,.09);
}

.cases-operational-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    font-size: 20px;
    font-weight: 700;

    color: #99443e;
    background: rgba(166,75,68,.09);
    border: 1px solid rgba(166,75,68,.20);
}

.cases-operational-icon.dormant {
    color: #936f2f;
    background: rgba(176,138,67,.09);
    border-color: rgba(176,138,67,.24);
}

.cases-operational-content > span {
    display: block;
    margin-bottom: 3px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;

    color: #8a94a3;
}

.cases-operational-content h3 {
    margin: 0;
    font-size: 17px;
    color: #17263d;
}

.cases-operational-content p {
    margin: 5px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: #687486;
}

.cases-operational-value {
    min-width: 62px;
    text-align: center;
}

.cases-operational-value strong {
    display: block;
    font-size: 30px;
    line-height: 1;
    font-weight: 650;
    color: #17263d;
}

.cases-operational-value small {
    display: block;
    margin-top: 5px;
    font-size: 10px;
    color: #929baa;
}

.cases-operational-arrow {
    color: #a6afbb;
    font-size: 18px;
}

.cases-review-panel {
    margin: 0 0 24px;
}

.cases-review-panel.critical {
    border-top: 3px solid #a64b44;
}

.cases-review-panel.dormant {
    border-top: 3px solid #b08a43;
}

.cases-review-panel .panel-head p {
    margin: 5px 0 0;
    font-size: 12px;
    color: #6c7787;
}

.cases-review-list {
    display: grid;
    gap: 9px;
}

.cases-review-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;

    padding: 12px 14px;

    border: 1px solid #e4e7eb;
    border-radius: 11px;
    background: #fafbfc;
}

.cases-review-main {
    display: flex;
    flex-direction: column;
    gap: 4px;

    min-width: 0;
    text-decoration: none;
}

.cases-review-main strong {
    color: #17263d;
    font-size: 13px;
}

.cases-review-main span {
    color: #778291;
    font-size: 11px;
}

.cases-review-action {
    border: 1px solid rgba(166,75,68,.28);
    border-radius: 9px;

    padding: 8px 12px;

    background: #fff;
    color: #93443e;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;
}

.cases-review-action.dormant {
    border-color: rgba(176,138,67,.34);
    color: #8d6a29;
}

.cases-review-action:hover {
    background: #f7f8fa;
}

@media (max-width: 850px) {
    .cases-operational-control {
        grid-template-columns: 1fr;
    }

    .cases-operational-card {
        grid-template-columns: 42px minmax(0,1fr) auto;
    }

    .cases-operational-arrow {
        display: none;
    }
}


/* =========================================================
   ALPHA 0.6.87 — PEC CASE AUTOCOMPLETE
   Ricerca pratica progressiva
   ========================================================= */

.pec-case-search-field {
    position: relative;
}

.pec-case-search-field > label {
    display: block;
    margin-bottom: 7px;
}

.pec-case-search-box {
    position: relative;
    width: 100%;
}

.pec-case-search-input {
    box-sizing: border-box;

    width: 100%;
    min-height: 44px;

    padding: 9px 12px;

    border: 1px solid #D9DEE5;
    border-radius: 8px;

    background: #FFFFFF;

    color: #24344D;

    font-size: 15px !important;
    font-weight: 500;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.pec-case-search-input::placeholder {
    color: #8C96A5;
    font-weight: 450;
}

.pec-case-search-input:focus {
    outline: none;

    border-color: #A7884C;

    box-shadow:
        0 0 0 3px rgba(176,138,67,.10);
}

.pec-case-search-input.has-selection {
    border-color: #A7884C !important;

    background: #FFFCF6 !important;
}


/* RISULTATI */

.pec-case-search-results {
    position: absolute;

    z-index: 1500;

    top: calc(100% + 5px);
    left: 0;
    right: 0;

    max-height: 320px;

    overflow-y: auto;

    padding: 5px;

    border: 1px solid #D9DDE5;
    border-radius: 10px;

    background: #FFFFFF;

    box-shadow:
        0 14px 35px rgba(20,33,58,.14);
}

.pec-case-search-results[hidden] {
    display: none !important;
}


/* SINGOLA PRATICA */

.pec-case-search-option {
    display: block;

    width: 100%;

    padding: 10px 12px;

    border: 0;
    border-radius: 7px;

    background: transparent;

    color: #17243B;

    font-family: inherit;

    text-align: left;

    cursor: pointer;
}

.pec-case-search-option:hover,
.pec-case-search-option:focus {
    outline: none;

    background: #F5F7FA;

    color: #8A692D;
}

.pec-case-search-option strong {
    display: block;

    color: #24344D;

    font-size: 14px !important;
    font-weight: 700;
}

.pec-case-search-option small {
    display: block;

    margin-top: 4px;

    color: #667085;

    font-size: 12px !important;

    line-height: 1.4;
}

.pec-case-search-option[hidden] {
    display: none !important;
}


/* MESSAGGIO */

.pec-case-search-help {
    display: block;

    margin-top: 7px;

    color: #7A8492;

    font-size: 11px !important;

    line-height: 1.35;
}

.pec-case-search-help.case-search-error {
    color: #A3443E;

    font-weight: 700;
}



/* =========================================================
   ALPHA 0.6 — REGISTRO OPERATIVO AGENDA
   Ultime attività e scadenze gestite
   ========================================================= */

.agenda-history-section {
    margin-top: 28px;
}

.agenda-history-heading {
    margin-bottom: 14px;
}

.agenda-history-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #9A772F;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
}

.agenda-history-heading h2 {
    margin: 0;
    color: #172B4D;
    font-size: 21px;
    font-weight: 750;
    letter-spacing: -.02em;
}

.agenda-history-heading p {
    max-width: 720px;
    margin: 5px 0 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

.agenda-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.agenda-history-card {
    overflow: hidden;
    border: 1px solid #DCE2E8;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .025),
        0 8px 22px rgba(23, 43, 77, .035);
}

.agenda-history-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 18px 14px;
    border-bottom: 1px solid #E9EDF1;
    background:
        linear-gradient(
            90deg,
            rgba(23,43,77,.035),
            rgba(176,138,67,.025)
        );
}

.agenda-history-type {
    display: block;
    margin-bottom: 4px;
    color: #9A772F;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
}

.agenda-history-card-head h3 {
    margin: 0;
    color: #172B4D;
    font-size: 16px;
    font-weight: 750;
}

.agenda-history-count {
    min-width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #DED2B6;
    border-radius: 50%;
    background: #FBF8F1;
    color: #8A692B;
    font-size: 12px;
    font-weight: 800;
}

.agenda-history-list {
    padding: 3px 0;
}

.agenda-history-row {
    position: relative;
    display: grid;
    grid-template-columns: 4px minmax(0, 1fr) 18px;
    gap: 12px;
    align-items: center;
    padding: 13px 17px;
    border-bottom: 1px solid #EEF1F4;
    color: inherit;
    text-decoration: none;
    transition:
        background .15s ease,
        transform .15s ease;
}

.agenda-history-row:last-child {
    border-bottom: 0;
}

.agenda-history-row:hover {
    background: #FAFBFC;
}

.agenda-history-marker {
    align-self: stretch;
    min-height: 45px;
    border-radius: 999px;
}

.agenda-history-marker.task-marker {
    background: #B08A43;
}

.agenda-history-marker.act-marker {
    background: #263E62;
}

.agenda-history-main {
    min-width: 0;
}

.agenda-history-main > strong {
    display: block;
    overflow: hidden;
    color: #24344D;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agenda-history-context {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
    color: #7A8493;
    font-size: 12px;
}

.agenda-history-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 12px;
    margin-top: 7px;
}

.agenda-history-user {
    color: #3E506B;
    font-size: 12px;
    font-weight: 650;
}

.agenda-history-user::before {
    content: "Gestita da ";
    color: #98A2B3;
    font-weight: 500;
}

.agenda-history-time {
    color: #7C8797;
    font-size: 12px;
}

.agenda-history-time::before {
    content: "●";
    margin-right: 7px;
    color: #D3B46F;
    font-size: 7px;
    vertical-align: 1px;
}

.agenda-history-arrow {
    color: #A5ADBA;
    font-size: 21px;
    font-weight: 300;
    transition: transform .15s ease;
}

.agenda-history-row:hover .agenda-history-arrow {
    transform: translateX(2px);
    color: #8A692B;
}

.agenda-history-footer {
    padding: 11px 17px 12px;
    border-top: 1px solid #E9EDF1;
    background: #FBFCFD;
}

.agenda-history-footer a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #263E62;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.agenda-history-footer a:hover {
    color: #8A692B;
}

.agenda-history-empty {
    padding: 25px 18px;
    text-align: center;
}

.agenda-history-empty strong {
    display: block;
    color: #475467;
    font-size: 13px;
}

.agenda-history-empty span {
    display: block;
    margin-top: 4px;
    color: #98A2B3;
    font-size: 12px;
}

@media (max-width: 980px) {
    .agenda-history-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .agenda-history-row {
        padding-left: 13px;
        padding-right: 13px;
    }

    .agenda-history-main > strong {
        white-space: normal;
    }

    .agenda-history-meta {
        display: block;
    }

    .agenda-history-time {
        display: block;
        margin-top: 3px;
    }

    .agenda-history-time::before {
        display: none;
    }
}



/* =========================================================
   ALPHA 0.6 — REGISTRO OPERATIVO / ARCHIVIO COMPLETO
   ========================================================= */

.operational-history-page {
    max-width: 1500px;
    margin: 0 auto;
}

.operational-history-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.operational-history-hero h1 {
    margin: 3px 0 5px;
    color: #172B4D;
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.operational-history-hero p {
    max-width: 720px;
    margin: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.55;
}

.operational-history-summary {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 15px;
    padding: 8px 12px;
    border: 1px solid #DED2B6;
    border-radius: 9px;
    background: #FBF8F1;
}

.operational-history-summary span {
    color: #80662F;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.operational-history-summary strong {
    min-width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #263E62;
    color: #FFF;
    font-size: 11px;
}

.operational-history-card {
    overflow: hidden;
    border: 1px solid #DCE2E8;
    border-radius: 12px;
    background: #FFF;
    box-shadow: 0 8px 25px rgba(23,43,77,.04);
}

.task-history-grid,
.act-history-grid {
    display: grid;
    grid-template-columns:
        minmax(300px, 2.1fr)
        minmax(150px, .8fr)
        minmax(160px, .8fr)
        minmax(130px, .65fr);
    gap: 18px;
    align-items: center;
}

.task-history-grid-actions{
    grid-template-columns:minmax(280px,2fr) minmax(130px,.7fr) minmax(145px,.75fr) minmax(120px,.6fr) minmax(145px,.65fr);
}
.history-task-link{color:inherit;text-decoration:none}.history-task-link:hover{color:#9a742f}
.history-reopen-form{display:flex;justify-content:flex-end}
.history-reopen-button{border:1px solid #b08a43;border-radius:9px;background:#fff;color:#6b511e;padding:8px 10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.history-reopen-button:hover{background:#f8f1df}

.operational-history-table-head {
    padding: 11px 18px;
    border-bottom: 1px solid #DCE2E8;
    background: #F7F8FA;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.operational-history-item {
    padding: 14px 18px;
    border-bottom: 1px solid #EDF0F3;
    color: inherit;
    text-decoration: none;
    transition: background .15s ease;
}

.operational-history-item:last-child {
    border-bottom: 0;
}

.operational-history-item:hover {
    background: #FAFBFC;
}

.operational-history-title {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-width: 0;
}

.history-dot {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-top: 6px;
    border-radius: 50%;
}

.history-dot.task {
    background: #B08A43;
}

.history-dot.act {
    background: #263E62;
}

.operational-history-title strong,
.operational-history-case strong,
.operational-history-date strong {
    display: block;
    color: #24344D;
    font-size: 13px;
    font-weight: 700;
}

.operational-history-title small,
.operational-history-case small,
.operational-history-date small {
    display: block;
    margin-top: 3px;
    color: #8993A2;
    font-size: 11px;
    line-height: 1.35;
}

.operational-history-user {
    color: #40516A;
    font-size: 12px;
    font-weight: 600;
}

.history-muted {
    color: #98A2B3;
    font-weight: 500;
}

.operational-history-empty {
    padding: 45px 20px;
    text-align: center;
}

.operational-history-empty strong {
    color: #475467;
    font-size: 14px;
}

.operational-history-empty p {
    margin: 5px 0 0;
    color: #98A2B3;
    font-size: 12px;
}

@media (max-width: 900px) {
    .operational-history-table-head {
        display: none;
    }

    .task-history-grid,
    .act-history-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .operational-history-item {
        padding: 16px;
    }

    .operational-history-hero {
        display: block;
    }

    .operational-history-hero .button {
        margin-top: 14px;
    }
}


/* =========================================================
   ALPHA 0.6 - Dashboard 8-30 giorni - Udienze in oro
   ========================================================= */

.dashboard-30-panel .dashboard-event-row.dashboard-event-hearing {
    border-left: 4px solid #b89445 !important;
    background:
        linear-gradient(
            90deg,
            rgba(184, 148, 69, .10) 0%,
            rgba(184, 148, 69, .035) 42%,
            rgba(255, 255, 255, 0) 100%
        ) !important;
}

.dashboard-30-panel .dashboard-event-hearing .dashboard-event-date {
    border-color: rgba(184, 148, 69, .45) !important;
}

.dashboard-30-panel .dashboard-event-hearing .dashboard-event-date strong {
    color: #9b762d !important;
}

.dashboard-30-panel .dashboard-event-hearing .dashboard-focus-kind {
    color: #8b6824 !important;
    background: rgba(184, 148, 69, .13) !important;
    border: 1px solid rgba(184, 148, 69, .35) !important;
}

.dashboard-30-panel .dashboard-event-hearing:hover {
    border-left-color: #9b762d !important;
    background:
        linear-gradient(
            90deg,
            rgba(184, 148, 69, .16) 0%,
            rgba(184, 148, 69, .055) 45%,
            rgba(255, 255, 255, 0) 100%
        ) !important;
}


/* ALPHA 0.6 - Gestione modifica/elimina mandato */
.mandate-management-actions {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(36, 52, 77, .12);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
}

.mandate-edit-details {
    flex: 1 1 100%;
}

.mandate-edit-details > summary {
    display: inline-flex;
    cursor: pointer;
    list-style: none;
}

.mandate-edit-details > summary::-webkit-details-marker {
    display: none;
}

.mandate-edit-form {
    margin-top: 14px;
    padding: 18px;
    border: 1px solid rgba(36, 52, 77, .14);
    border-radius: 12px;
    background: #f8f9fb;
}

.mandate-edit-tariff {
    grid-column: 1 / -1;
}

.mandate-delete-form {
    margin: 0;
}

.mandate-delete-button {
    border: 1px solid #a33a3a;
    background: transparent;
    color: #8b2f2f;
}

.mandate-delete-button:hover {
    background: #8b2f2f;
    color: #fff;
}

.mandate-delete-protected {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 8px;
    background: #f5f2eb;
    color: #725d32;
    font-size: .82rem;
}


/* =========================================================
   ALPHA 0.6 - MANDATI · HARMONY FINAL
   Restyling coerente StudioLaRana
   ========================================================= */

/* CONTENITORE PRINCIPALE */

.economic-layout .mandate-card {
    position: relative;
    overflow: visible;
    margin-bottom: 20px;
    border: 1px solid #E1E5EA;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 7px 22px rgba(20,33,58,.045);
}

.economic-layout .mandate-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    bottom: 15px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #B08A43;
    opacity: .72;
}


/* TESTATA */

.economic-layout .mandate-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 17px 20px 15px 23px;
    background:
        linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%);
    border-bottom: 1px solid #E9ECF0;
    border-radius: 14px 14px 0 0;
}

.economic-layout .mandate-head > div:first-child {
    min-width: 0;
    flex: 1;
}

.economic-layout .mandate-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 9px;
    border: 1px solid rgba(176,138,67,.20);
    border-radius: 999px;
    background: #F7F3EA;
    color: #8C692A;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .65px;
    text-transform: uppercase;
}

.economic-layout .mandate-head h3 {
    margin: 7px 0 3px;
    color: #14213A;
    font-size: 17px;
    font-weight: 720;
    letter-spacing: -.15px;
    line-height: 1.25;
}

.economic-layout .mandate-head p {
    margin: 0;
    color: #7B8493;
    font-size: 10.5px;
    line-height: 1.45;
}


/* RESIDUO */

.economic-layout .mandate-balance {
    min-width: 145px;
    padding: 2px 0 2px 18px;
    border-left: 1px solid #DED6C7;
    text-align: right;
}

.economic-layout .mandate-balance span {
    display: block;
    margin-bottom: 3px;
    color: #929AA6;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .65px;
    text-transform: uppercase;
}

.economic-layout .mandate-balance strong {
    display: block;
    margin: 0;
    color: #14213A;
    font-size: 21px;
    font-weight: 750;
    letter-spacing: -.35px;
}


/* RIEPILOGO ECONOMICO */

.economic-layout .mandate-numbers {
    display: grid;
    grid-template-columns:
        1fr
        1fr
        1.15fr
        1.15fr
        1.15fr;
    padding-left: 4px;
    background: #FCFCFD;
    border-bottom: 1px solid #EAEDF1;
}

.economic-layout .mandate-numbers > div {
    min-height: 62px;
    padding: 12px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #EAEDF1;
}

.economic-layout .mandate-numbers > div:last-child {
    border-right: 0;
}

.economic-layout .mandate-numbers span {
    display: block;
    margin: 0 0 5px;
    color: #98A0AD;
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.economic-layout .mandate-numbers strong {
    color: #26364E;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.economic-layout .mandate-numbers > div:nth-child(1) strong {
    color: #14213A;
    font-size: 13px;
}

.economic-layout .mandate-numbers > div:nth-child(2) strong {
    color: #8A692C;
    font-size: 13px;
}


/* NOTE */

.economic-layout .mandate-notes {
    margin: 14px 20px 2px 23px;
    padding: 10px 12px;
    border-left: 2px solid rgba(176,138,67,.55);
    border-radius: 0 7px 7px 0;
    background: #FBF9F5;
    color: #657184;
    font-size: 10.5px;
    line-height: 1.55;
}


/* PROPOSTA PDF */

.economic-layout .proposal-actions {
    margin: 14px 20px 0 23px;
    padding: 11px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid #EEF0F3;
    background: transparent;
}

.economic-layout .proposal-actions .button {
    min-height: 34px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #DDE2E7;
    border-radius: 7px;
    background: #FFFFFF;
    color: #26364E;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.economic-layout .proposal-actions .button:hover {
    border-color: rgba(176,138,67,.55);
    color: #92702F;
    background: #FCFAF6;
}

.economic-layout .proposal-actions > span {
    color: #929AA6;
    font-size: 9.5px;
    line-height: 1.4;
}


/* AZIONI MANDATO */

.economic-layout .mandate-management-actions {
    margin: 0 20px 0 23px;
    padding: 11px 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    border: 0;
}

.economic-layout .mandate-edit-details {
    flex: 0 0 auto;
    margin: 0;
}

.economic-layout .mandate-edit-details > summary {
    box-sizing: border-box;
    min-width: 118px;
    height: 34px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    border: 1px solid rgba(176,138,67,.42);
    border-radius: 7px;
    background: rgba(176,138,67,.055);
    color: #92702F;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: all .16s ease;
}

.economic-layout .mandate-edit-details > summary:hover {
    background: rgba(176,138,67,.12);
    border-color: rgba(176,138,67,.66);
    color: #7E5D22;
}

.economic-layout .mandate-edit-details > summary::-webkit-details-marker {
    display: none;
}

.economic-layout .mandate-edit-details > summary::marker {
    display: none;
}

.economic-layout .mandate-delete-form {
    margin: 0;
}

.economic-layout .mandate-delete-button {
    box-sizing: border-box;
    min-width: 110px;
    height: 34px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(169,79,61,.32);
    border-radius: 7px;
    background: rgba(169,79,61,.025);
    color: #A05040;
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    transition: all .16s ease;
}

.economic-layout .mandate-delete-button:hover {
    border-color: rgba(169,79,61,.55);
    background: rgba(169,79,61,.08);
    color: #8E4032;
}

.economic-layout .mandate-delete-protected {
    min-height: 34px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #E7E1D7;
    border-radius: 7px;
    background: #FCFAF6;
    color: #8B7957;
    font-size: 9px;
}


/* =========================================================
   FORM MODIFICA MANDATO
   ========================================================= */

.economic-layout .mandate-edit-details[open] {
    flex: 1 1 100%;
    width: 100%;
}

.economic-layout .mandate-edit-details[open] > summary {
    margin-bottom: 12px;
    background: #14213A;
    border-color: #14213A;
    color: #FFFFFF;
}

.economic-layout .mandate-edit-form {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px 16px;
    border: 1px solid #E2E6EB;
    border-radius: 11px;
    background: #F9FAFB;
    box-shadow: none;
}

.economic-layout .mandate-edit-form .wide {
    grid-column: 1 / -1;
}

.economic-layout .mandate-edit-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.economic-layout .mandate-edit-form label > span {
    color: #667085;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.economic-layout .mandate-edit-form input,
.economic-layout .mandate-edit-form select,
.economic-layout .mandate-edit-form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid #DCE1E7;
    border-radius: 7px;
    background: #FFFFFF;
    color: #26364E;
    font-size: 11.5px;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.economic-layout .mandate-edit-form textarea {
    min-height: 82px;
    resize: vertical;
}

.economic-layout .mandate-edit-form input:focus,
.economic-layout .mandate-edit-form select:focus,
.economic-layout .mandate-edit-form textarea:focus {
    outline: none;
    border-color: rgba(176,138,67,.60);
    box-shadow: 0 0 0 3px rgba(176,138,67,.075);
}


/* BLOCCO ECONOMICO DELLA MODIFICA */

.economic-layout .mandate-edit-tariff {
    grid-column: 1 / -1;
    margin: 3px 0;
    padding: 17px;
    border: 1px solid #E5DFD3;
    border-radius: 10px;
    background: #FCFAF6;
}

.economic-layout .mandate-edit-tariff .tariff-title {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E8E1D5;
}

.economic-layout .mandate-edit-tariff .tariff-title strong {
    color: #14213A;
    font-size: 13px;
}

.economic-layout .mandate-edit-tariff .tariff-two,
.economic-layout .mandate-edit-tariff .tariff-three {
    gap: 11px;
}

.economic-layout .mandate-edit-tariff .withholding-box {
    margin-top: 4px;
    padding: 12px;
    border: 1px solid #E6E0D5;
    border-radius: 8px;
    background: #FFFFFF;
}

.economic-layout .mandate-edit-tariff .tariff-preview {
    margin-top: 13px;
    overflow: hidden;
    border: 1px solid #E2E5E9;
    border-radius: 9px;
    background: #FFFFFF;
}

.economic-layout .mandate-edit-tariff .tariff-gross,
.economic-layout .mandate-edit-tariff .tariff-total {
    padding: 11px 13px;
}

.economic-layout .mandate-edit-tariff .tariff-total {
    background: #14213A;
}

.economic-layout .mandate-edit-tariff .tariff-total span,
.economic-layout .mandate-edit-tariff .tariff-total strong {
    color: #FFFFFF;
}


/* GRATUITO PATROCINIO */

.economic-layout .mandate-options-row {
    display: flex;
    align-items: center;
}

.economic-layout .mandate-compact-option {
    min-height: 39px;
    padding: 0 12px;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    border: 1px solid #E1E5EA;
    border-radius: 7px;
    background: #FFFFFF;
}

.economic-layout .mandate-compact-option input {
    width: auto;
    min-height: auto;
    margin: 0;
}


/* SALVA */

.economic-layout .mandate-edit-form > .button.primary {
    min-height: 41px;
    margin-top: 2px;
    border-radius: 8px;
    background: #14213A;
    border-color: #14213A;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 750;
}

.economic-layout .mandate-edit-form > .button.primary:hover {
    background: #1B2C4B;
    border-color: #1B2C4B;
}


/* =========================================================
   RATE E INCASSI
   ========================================================= */

.economic-layout .installments-section,
.economic-layout .payments-list {
    margin: 3px 20px 16px 23px;
    padding: 15px 16px;
    border: 1px solid #E5E8EC;
    border-radius: 10px;
    background: #FAFBFC;
}

.economic-layout .installments-section {
    border-left: 2px solid rgba(176,138,67,.55);
}

.economic-layout .payments-list {
    border-left: 2px solid #14213A;
}

.economic-layout .subsection-head,
.economic-layout .payments-list > h4 {
    margin-bottom: 9px;
}

.economic-layout .subsection-head h4,
.economic-layout .payments-list h4 {
    color: #26364E;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .05px;
}

.economic-layout .installment-row,
.economic-layout .payment-row {
    padding: 10px 0;
}

.economic-layout .installment-row strong,
.economic-layout .payment-row strong {
    font-size: 11px;
}

.economic-layout .installment-row span,
.economic-layout .payment-row span {
    color: #7B8493;
    font-size: 9px;
}


/* MODULI AGGIUNTA INCASSO/RATA */

.economic-layout .payment-details {
    margin: 5px 20px 15px 23px;
    overflow: hidden;
    border: 1px dashed #D4D9E0;
    border-radius: 8px;
    background: #FFFFFF;
}

.economic-layout .payment-details summary {
    padding: 10px 12px;
    color: #536176;
    font-size: 9.5px;
    font-weight: 700;
}

.economic-layout .payment-details summary:hover {
    color: #92702F;
    background: #FCFAF6;
}


/* RESPONSIVE */

@media (max-width: 1100px) {
    .economic-layout .mandate-numbers {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .economic-layout .mandate-numbers > div:nth-child(3) {
        border-right: 0;
    }

    .economic-layout .mandate-numbers > div:nth-child(n+4) {
        border-top: 1px solid #EAEDF1;
    }
}

@media (max-width: 700px) {
    .economic-layout .mandate-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .economic-layout .mandate-balance {
        width: 100%;
        min-width: 0;
        padding: 10px 0 0;
        border-left: 0;
        border-top: 1px solid #E7E9ED;
        text-align: left;
    }

    .economic-layout .mandate-numbers {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .economic-layout .mandate-numbers > div {
        border-top: 1px solid #EAEDF1;
    }

    .economic-layout .mandate-edit-form {
        grid-template-columns: 1fr;
        padding: 15px;
    }

    .economic-layout .mandate-edit-form .wide,
    .economic-layout .mandate-edit-tariff {
        grid-column: 1;
    }

    .economic-layout .proposal-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .economic-layout .mandate-numbers {
        grid-template-columns: 1fr;
    }

    .economic-layout .mandate-numbers > div {
        border-right: 0;
    }

    .economic-layout .mandate-management-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .economic-layout .mandate-edit-details,
    .economic-layout .mandate-delete-form,
    .economic-layout .mandate-edit-details > summary,
    .economic-layout .mandate-delete-button {
        width: 100%;
    }
}


/* =========================================================
   ALPHA 0.6 - MANDATI · LAYOUT V2
   Schede compatte espandibili
   ========================================================= */

.economic-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(300px, .55fr);
    gap: 22px;
    align-items: start;
}


/* CONTENITORE ELENCO */

.economic-layout > main > .panel {
    padding: 18px;
    border-radius: 14px;
}

.economic-layout > main > .panel > .panel-head {
    margin-bottom: 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid #E8EBEF;
}


/* DETAILS / SUMMARY */

.mandate-card-collapsible {
    display: block;
    overflow: hidden !important;
}

.mandate-card-collapsible > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.mandate-card-collapsible > summary::-webkit-details-marker {
    display: none;
}

.mandate-card-collapsible > summary::marker {
    display: none;
}


/* SCHEDA CHIUSA */

.mandate-summary {
    position: relative;
    display: block;
    background: #FFFFFF;
    transition:
        background .16s ease,
        box-shadow .16s ease;
}

.mandate-summary:hover {
    background: #FCFCFD;
}

.mandate-summary-top {
    min-height: 83px;
    padding: 16px 18px 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.mandate-summary-identity {
    min-width: 0;
    flex: 1;
}

.mandate-summary-status-line {
    display: flex;
    align-items: center;
    gap: 9px;
}

.mandate-summary-index {
    color: #A0A7B2;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.mandate-summary h3 {
    margin: 7px 0 3px;
    color: #14213A;
    font-size: 17px;
    font-weight: 730;
    line-height: 1.25;
}

.mandate-summary p {
    margin: 0;
    color: #7B8493;
    font-size: 10.5px;
}

.mandate-summary-right {
    display: flex;
    align-items: center;
    gap: 17px;
}

.mandate-summary-toggle {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E0E4E9;
    border-radius: 50%;
    background: #FFFFFF;
    color: #778293;
    transition:
        transform .2s ease,
        border-color .16s ease,
        color .16s ease,
        background .16s ease;
}

.mandate-summary-toggle svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mandate-card-collapsible[open]
.mandate-summary-toggle {
    transform: rotate(180deg);
    border-color: rgba(176,138,67,.45);
    background: #FBF8F2;
    color: #92702F;
}


/* METRICHE SEMPRE VISIBILI */

.mandate-summary .mandate-numbers {
    display: grid;
    grid-template-columns:
        .9fr
        .9fr
        1.15fr
        1.1fr
        1.1fr;
    padding: 0;
    border-top: 1px solid #EDF0F3;
    border-bottom: 0;
    background: #F9FAFB;
}

.mandate-summary .mandate-numbers > div {
    min-height: 54px;
    padding: 10px 14px;
}

.mandate-summary .mandate-numbers span {
    margin-bottom: 4px;
}

.mandate-summary .mandate-numbers strong {
    font-size: 10.5px;
}


/* STATO APERTO */

.mandate-card-collapsible[open] {
    border-color: rgba(176,138,67,.38);
    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 10px 28px rgba(20,33,58,.065);
}

.mandate-card-collapsible[open]
.mandate-summary {
    background:
        linear-gradient(
            180deg,
            #FFFFFF 0%,
            #FDFCF9 100%
        );
}

.mandate-card-collapsible[open]
.mandate-summary::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 1px;
    background: rgba(176,138,67,.22);
}


/* CORPO ESPANSO */

.mandate-card-body {
    padding: 5px 0 2px;
    background: #FFFFFF;
}


/* AZIONI IN UNA TOOLBAR VERA */

.mandate-card-body .proposal-actions {
    margin: 15px 20px 0 23px;
    padding: 0 0 12px;
    border-bottom: 0;
}

.mandate-card-body .mandate-management-actions {
    margin: -46px 20px 0 auto;
    width: fit-content;
    min-height: 36px;
    padding: 0 0 12px;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
}

.mandate-card-body .proposal-actions > span {
    display: none;
}


/* QUANDO SI APRE MODIFICA, TORNA A PIENA LARGHEZZA */

.mandate-card-body
.mandate-management-actions:has(.mandate-edit-details[open]) {
    width: auto;
    margin: 0 20px 0 23px;
    justify-content: flex-start;
}

.mandate-card-body
.mandate-edit-details[open] {
    margin-top: 5px;
}


/* FORM MODIFICA: LOOK DA PANNELLO PROFESSIONALE */

.mandate-card-body .mandate-edit-form {
    margin-top: 4px;
    padding: 20px;
    border-top: 3px solid #B08A43;
    background: #FAFBFC;
}

.mandate-card-body
.mandate-edit-tariff {
    padding: 16px 17px;
    background: #FCFAF6;
}


/* SEZIONI RATE / INCASSI PIÙ DISTINTE */

.mandate-card-body .installments-section,
.mandate-card-body .payments-list {
    margin-top: 14px;
}

.mandate-card-body .installments-section {
    background: #FCFAF6;
}

.mandate-card-body .payments-list {
    background: #F8FAFC;
}


/* SIDEBAR NUOVO MANDATO */

.economic-layout > aside
.matter-side-panel {
    padding: 18px;
    border-top: 3px solid #B08A43;
    border-radius: 13px;
    background: #FFFFFF;
    box-shadow:
        0 1px 2px rgba(20,33,58,.025),
        0 7px 20px rgba(20,33,58,.045);
}

.economic-layout > aside
.matter-side-panel .panel-head {
    margin-bottom: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid #E9ECF0;
}


/* SPAZIATURA TRA MANDATI */

.mandate-card-collapsible +
.mandate-card-collapsible {
    margin-top: 12px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .economic-layout {
        grid-template-columns: 1fr;
    }

    .economic-layout > aside
    .matter-side-panel {
        position: static;
    }

}

@media (max-width: 760px) {

    .mandate-summary-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .mandate-summary-right {
        width: 100%;
        justify-content: space-between;
    }

    .mandate-summary .mandate-numbers {
        grid-template-columns: repeat(2,1fr);
    }

    .mandate-card-body
    .mandate-management-actions {
        width: auto;
        margin: 0 20px 10px 23px;
        justify-content: flex-start;
    }

    .mandate-card-body .proposal-actions {
        margin-bottom: 8px;
    }

}


/* =========================================================
   ALPHA 0.6 - DASHBOARD SEGRETERIA
   Attività assegnate
   ========================================================= */

.secretary-task-panel {
    margin: 22px 0;
    overflow: hidden;
    border: 1px solid rgba(176,138,67,.34);
    border-top: 4px solid #B08A43;
    border-radius: 15px;
    background: #FFFFFF;
    box-shadow:
        0 2px 4px rgba(20,33,58,.025),
        0 12px 32px rgba(20,33,58,.065);
}

.secretary-task-head {
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #FCFAF6 100%
        );
    border-bottom: 1px solid #E8E5DE;
}

.secretary-task-title {
    display: flex;
    align-items: center;
    gap: 15px;
}

.secretary-task-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #14213A;
    color: #D0AC65;
}

.secretary-task-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.secretary-task-title h2 {
    margin: 2px 0 3px;
    color: #14213A;
    font-size: 19px;
}

.secretary-task-title p {
    margin: 0;
    color: #7A8390;
    font-size: 11px;
}

.secretary-task-counter {
    min-width: 86px;
    padding: 9px 14px;
    text-align: center;
    border: 1px solid rgba(176,138,67,.28);
    border-radius: 11px;
    background: #FFFFFF;
}

.secretary-task-counter strong {
    display: block;
    color: #14213A;
    font-size: 22px;
    line-height: 1;
}

.secretary-task-counter span {
    display: block;
    margin-top: 4px;
    color: #9A7A3D;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .45px;
    text-transform: uppercase;
}


/* RIGHE */

.secretary-task-list {
    background: #FFFFFF;
}

.secretary-task-row {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0,1fr) 72px;
    align-items: center;
    gap: 17px;
    min-height: 75px;
    padding: 11px 20px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #ECEEF1;
    transition:
        background .15s ease,
        transform .15s ease;
}

.secretary-task-row:last-child {
    border-bottom: 0;
}

.secretary-task-row:hover {
    background: #F8FAFC;
}

.secretary-task-row.overdue {
    background: #FFF9F8;
    border-left: 4px solid #A84D4D;
    padding-left: 16px;
}

.secretary-task-row.today {
    background: #FCFAF5;
    border-left: 4px solid #B08A43;
    padding-left: 16px;
}

.secretary-task-row.high:not(.overdue):not(.today) {
    border-left: 4px solid rgba(176,138,67,.55);
    padding-left: 16px;
}


/* DATA */

.secretary-task-date {
    padding-right: 15px;
    border-right: 1px solid #E7E9ED;
}

.secretary-task-date span {
    display: block;
    margin-bottom: 4px;
    color: #9AA1AB;
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .55px;
}

.secretary-task-date strong {
    color: #14213A;
    font-size: 15px;
}

.secretary-task-row.overdue
.secretary-task-date span {
    color: #A84D4D;
}

.secretary-task-row.today
.secretary-task-date span {
    color: #9A7430;
}


/* CONTENUTO */

.secretary-task-main {
    min-width: 0;
}

.secretary-task-labels {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}

.secretary-priority,
.secretary-task-status {
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 7.5px;
    font-weight: 750;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.secretary-priority {
    background: #F1F3F5;
    color: #6F7783;
}

.secretary-priority.priority-alta {
    background: #FBF2DF;
    color: #8A6829;
}

.secretary-task-status {
    background: #EEF2F7;
    color: #596678;
}

.secretary-task-name {
    display: block;
    overflow: hidden;
    color: #1A263A;
    font-size: 12.5px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.secretary-task-main small {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: #858D99;
    font-size: 9.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* APRI */

.secretary-task-open {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    color: #8B6A2E;
    font-size: 9px;
    font-weight: 700;
}

.secretary-task-open strong {
    font-size: 15px;
}


/* FOOTER */

.secretary-task-footer {
    min-height: 48px;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #E7E9EC;
    background: #F8F9FA;
}

.secretary-task-footer span {
    color: #8B929C;
    font-size: 9px;
}

.secretary-task-footer a {
    color: #8B692D;
    font-size: 10px;
    font-weight: 750;
    text-decoration: none;
}

.secretary-task-footer a:hover {
    text-decoration: underline;
}


/* VUOTO */

.secretary-task-empty {
    min-height: 105px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
}

.secretary-task-empty-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #EFF5F1;
    color: #4E765E;
    font-weight: 800;
}

.secretary-task-empty strong,
.secretary-task-empty span {
    display: block;
}

.secretary-task-empty strong {
    color: #1D293A;
    font-size: 12px;
}

.secretary-task-empty span {
    margin-top: 3px;
    color: #89919C;
    font-size: 9.5px;
}


/* MOBILE */

@media (max-width: 700px) {

    .secretary-task-head {
        align-items: flex-start;
    }

    .secretary-task-row {
        grid-template-columns: 65px minmax(0,1fr);
    }

    .secretary-task-open {
        display: none;
    }

    .secretary-task-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}



/* =========================================================
   ALPHA 0.6.95 - Dashboard Segreteria
   Cliente + pulsante Apri pratica
   ========================================================= */

.secretary-task-client {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-top: 7px;
    font-size: 0.82rem;
    line-height: 1.25;
}

.secretary-task-client span {
    color: #7a8493;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.secretary-task-client strong {
    color: #17253d;
    font-weight: 750;
}

.secretary-task-open.secretary-task-open-prominent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 126px;
    padding: 9px 13px;
    border: 1px solid rgba(184, 148, 69, .58);
    border-radius: 9px;
    background: #17253d;
    box-shadow: 0 3px 10px rgba(23, 37, 61, .12);
    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.secretary-task-open.secretary-task-open-prominent span {
    color: #ffffff;
    font-size: .76rem;
    font-weight: 750;
    white-space: nowrap;
}

.secretary-task-open.secretary-task-open-prominent strong {
    color: #d1b064;
    font-size: 1rem;
    line-height: 1;
}

.secretary-task-row:hover
.secretary-task-open.secretary-task-open-prominent {
    background: #213552;
    box-shadow: 0 5px 14px rgba(23, 37, 61, .18);
    transform: translateX(2px);
}



/* =========================================================
   ALPHA 0.6.97 - Le mie attività
   ========================================================= */

.secretary-task-row {
    align-items: center !important;
}

.secretary-task-open.secretary-task-open-prominent {
    align-self: center !important;
    flex-shrink: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* PAGINA ATTIVITA */

.tasks-page {
    max-width: 1500px;
    margin: 0 auto;
}

.tasks-page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.tasks-page-head h1 {
    margin: 4px 0 5px;
}

.tasks-page-head p {
    margin: 0;
    color: #697586;
}

.tasks-page-counter {
    min-width: 110px;
    padding: 12px 18px;
    border: 1px solid rgba(184,148,69,.35);
    border-radius: 12px;
    text-align: center;
    background: #fff;
}

.tasks-page-counter strong {
    display: block;
    color: #17253d;
    font-size: 1.55rem;
}

.tasks-page-counter span {
    color: #7a8493;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.tasks-page-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tasks-page-row {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 17px 18px;
    border: 1px solid #e4e8ed;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(23,37,61,.035);
}

.tasks-page-row.overdue {
    border-left: 4px solid #a94747;
}

.tasks-page-row.today {
    border-left: 4px solid #b89445;
}

.tasks-page-row.high {
    border-left: 4px solid #b89445;
}

.tasks-page-date {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tasks-page-date span {
    color: #7a8493;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .055em;
}

.tasks-page-date strong {
    color: #17253d;
    font-size: .92rem;
}

.tasks-page-labels {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.tasks-page-main h3 {
    margin: 0;
    color: #17253d;
    font-size: .98rem;
}

.tasks-page-instructions {
    max-width: 850px;
    margin: 5px 0 0;
    color: #697586;
    font-size: .82rem;
    line-height: 1.4;
}

.tasks-page-case {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    margin-top: 8px;
    font-size: .78rem;
}

.tasks-page-case span {
    color: #7a8493;
}

.tasks-page-case strong {
    color: #17253d;
}

.tasks-page-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tasks-page-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 9px;
    font-size: .75rem;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.tasks-page-action.secondary {
    border: 1px solid #d8dee6;
    background: #fff;
    color: #17253d;
}

.tasks-page-action.primary {
    border: 1px solid rgba(184,148,69,.6);
    background: #17253d;
    color: #fff;
}

.tasks-page-action.primary span {
    color: #d1b064;
}

.tasks-page-action:hover {
    transform: translateY(-1px);
}

.tasks-page-empty {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 35px;
    border: 1px dashed #d5dbe3;
    border-radius: 13px;
    background: #fff;
    text-align: center;
}

.tasks-page-empty strong {
    color: #17253d;
}

.tasks-page-empty span {
    color: #7a8493;
}

@media (max-width: 900px) {

    .tasks-page-row {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .tasks-page-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

}



/* =========================================================
   ALPHA 0.6.98 - Dashboard Segreteria
   Allineamento definitivo pulsante Apri pratica
   ========================================================= */

.secretary-task-list .secretary-task-row {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) 138px !important;
    align-items: center !important;
    column-gap: 18px !important;
}

.secretary-task-list .secretary-task-date {
    align-self: center !important;
}

.secretary-task-list .secretary-task-main {
    min-width: 0 !important;
    align-self: center !important;
}

.secretary-task-list .secretary-task-open.secretary-task-open-prominent {
    width: 138px !important;
    min-width: 138px !important;
    box-sizing: border-box !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    justify-self: end !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 9px 12px !important;
}

/* schermi stretti */
@media (max-width: 850px) {

    .secretary-task-list .secretary-task-row {
        grid-template-columns: 72px minmax(0, 1fr) !important;
    }

    .secretary-task-list .secretary-task-open.secretary-task-open-prominent {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
        margin-top: 8px !important;
    }

}



/* =========================================================
   ALPHA 0.6.99 - Dashboard Segreteria
   Attività assegnate in due colonne
   ========================================================= */

.secretary-task-panel .secretary-task-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
}


/* Ogni attività diventa una scheda compatta */

.secretary-task-panel .secretary-task-row {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 13px !important;
    row-gap: 9px !important;

    align-items: start !important;

    padding: 14px !important;
    border-radius: 12px !important;
}


/* Data / scadenza */

.secretary-task-panel .secretary-task-date {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
}


/* Contenuto */

.secretary-task-panel .secretary-task-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}


/* Nome attività più leggibile */

.secretary-task-panel .secretary-task-name {
    display: block !important;
    margin-top: 4px !important;
    line-height: 1.3 !important;
}


/* Cliente */

.secretary-task-panel .secretary-task-client {
    margin-top: 6px !important;
}


/* Pulsante in basso a destra della singola scheda */

.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent {

    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    justify-self: end !important;
    align-self: center !important;

    width: auto !important;
    min-width: 132px !important;

    margin: 0 !important;
    padding: 8px 12px !important;
}


/* Footer */

.secretary-task-panel .secretary-task-footer {
    margin-top: 16px !important;
    padding-top: 14px !important;
}


/* Link Visualizza tutte */

.secretary-task-panel .secretary-view-all {
    display: inline-flex !important;
    align-items: center !important;

    color: #17253d !important;
    font-weight: 750 !important;
    text-decoration: none !important;

    padding: 7px 0 !important;
}

.secretary-task-panel .secretary-view-all:hover {
    color: #9b762d !important;
}


/* Tablet / finestre strette: torna automaticamente a una colonna */

@media (max-width: 1050px) {

    .secretary-task-panel .secretary-task-list {
        grid-template-columns: 1fr !important;
    }

}



/* =========================================================
   ALPHA 0.7.00 - Dashboard Segreteria
   Testi più leggibili nel box attività assegnate
   ========================================================= */

/* Titolo del box */
.secretary-task-panel .secretary-task-title h2 {
    font-size: 1.28rem !important;
}

.secretary-task-panel .secretary-task-title p {
    font-size: .92rem !important;
    line-height: 1.45 !important;
}

.secretary-task-panel .secretary-task-title .eyebrow {
    font-size: .72rem !important;
}


/* Contatore */
.secretary-task-panel .secretary-task-counter strong {
    font-size: 1.65rem !important;
}

.secretary-task-panel .secretary-task-counter span {
    font-size: .74rem !important;
}


/* Scadenza */
.secretary-task-panel .secretary-task-date span {
    font-size: .72rem !important;
}

.secretary-task-panel .secretary-task-date strong {
    font-size: 1rem !important;
}


/* Priorità e stato */
.secretary-task-panel .secretary-priority,
.secretary-task-panel .secretary-task-status {
    font-size: .75rem !important;
}


/* Titolo attività */
.secretary-task-panel .secretary-task-name {
    font-size: 1rem !important;
    line-height: 1.38 !important;
}


/* Pratica */
.secretary-task-panel .secretary-task-main small {
    font-size: .84rem !important;
    line-height: 1.4 !important;
}


/* Cliente */
.secretary-task-panel .secretary-task-client {
    font-size: .9rem !important;
}

.secretary-task-panel .secretary-task-client span {
    font-size: .72rem !important;
}

.secretary-task-panel .secretary-task-client strong {
    font-size: .9rem !important;
}


/* Pulsante */
.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent span {
    font-size: .84rem !important;
}

.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent strong {
    font-size: 1.05rem !important;
}


/* Footer */
.secretary-task-panel .secretary-task-footer,
.secretary-task-panel .secretary-task-footer span,
.secretary-task-panel .secretary-view-all {
    font-size: .86rem !important;
}



/* =========================================================
   ALPHA 0.7.01 - Dashboard Segreteria
   Separazione grafica colonne attività
   ========================================================= */

.secretary-task-panel .secretary-task-list {
    position: relative !important;
    column-gap: 28px !important;
    row-gap: 12px !important;
}


/* Separatore verticale centrale */

@media (min-width: 1051px) {

    .secretary-task-panel .secretary-task-list::after {
        content: "";
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 50%;
        width: 1px;
        background: rgba(23, 37, 61, .13);
        transform: translateX(-50%);
        pointer-events: none;
    }

}


/* Schede più definite */

.secretary-task-panel .secretary-task-row {
    position: relative !important;
    border: 1px solid rgba(23, 37, 61, .12) !important;
    background: #ffffff !important;
    box-shadow:
        0 2px 8px rgba(23, 37, 61, .045) !important;
}


/* Margine interno rispetto al separatore */

@media (min-width: 1051px) {

    .secretary-task-panel
    .secretary-task-row:nth-child(odd) {
        margin-right: 4px !important;
    }

    .secretary-task-panel
    .secretary-task-row:nth-child(even) {
        margin-left: 4px !important;
    }

}


/* Hover leggermente più evidente */

.secretary-task-panel .secretary-task-row:hover {
    border-color: rgba(184, 148, 69, .42) !important;
    box-shadow:
        0 4px 12px rgba(23, 37, 61, .075) !important;
}


/* Su una colonna niente separatore */

@media (max-width: 1050px) {

    .secretary-task-panel .secretary-task-list {
        column-gap: 0 !important;
    }

    .secretary-task-panel .secretary-task-row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}



/* =========================================================
   ALPHA 0.7.02 - Dashboard Segreteria
   Card autonome senza separatori sovrapposti
   ========================================================= */

/* La lista non deve introdurre separatori orizzontali */
.secretary-task-panel .secretary-task-list {
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    gap: 16px 28px !important;
}


/* Ogni attività è una card autonoma */
.secretary-task-panel .secretary-task-row {
    border-top: 1px solid rgba(23, 37, 61, .12) !important;
    border-right: 1px solid rgba(23, 37, 61, .12) !important;
    border-bottom: 1px solid rgba(23, 37, 61, .12) !important;
    border-left: 1px solid rgba(23, 37, 61, .12) !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 16px !important;

    background: #ffffff !important;
    border-radius: 13px !important;

    overflow: hidden !important;
}


/* Eliminiamo eventuali pseudo-linee o separatori ereditati */
.secretary-task-panel .secretary-task-row::before,
.secretary-task-panel .secretary-task-row::after {
    content: none !important;
    display: none !important;
}


/* Nessuna linea interna sui blocchi */
.secretary-task-panel .secretary-task-date,
.secretary-task-panel .secretary-task-main,
.secretary-task-panel .secretary-task-client,
.secretary-task-panel .secretary-task-open {
    border-top: 0 !important;
    border-bottom: 0 !important;
}


/* Più respiro tra contenuto e pulsante */
.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent {
    margin-top: 4px !important;
}


/* Separatore verticale centrale più corto e discreto */
@media (min-width: 1051px) {

    .secretary-task-panel .secretary-task-list::after {
        top: 10px !important;
        bottom: 10px !important;
        background: rgba(23, 37, 61, .10) !important;
    }

}


/* Footer ben distinto dalle card */
.secretary-task-panel .secretary-task-footer {
    margin-top: 20px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(23, 37, 61, .10) !important;
}



/* =========================================================
   ALPHA 0.7.03 - Dashboard Segreteria CLEAN
   Due colonne realmente separate - nessuna linea interna
   ========================================================= */


/* =========================
   GRIGLIA PRINCIPALE
   ========================= */

.secretary-task-panel .secretary-task-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    column-gap: 32px !important;
    row-gap: 18px !important;

    position: static !important;

    padding: 4px 0 !important;

    border: 0 !important;
    background: transparent !important;
}


/* ELIMINA COMPLETAMENTE IL VECCHIO SEPARATORE CENTRALE */

.secretary-task-panel .secretary-task-list::before,
.secretary-task-panel .secretary-task-list::after {
    content: none !important;
    display: none !important;
}


/* =========================
   SINGOLA ATTIVITÀ
   ========================= */

.secretary-task-panel .secretary-task-row,
.secretary-task-panel .secretary-task-row.overdue,
.secretary-task-panel .secretary-task-row.today,
.secretary-task-panel
.secretary-task-row.high:not(.overdue):not(.today) {

    display: grid !important;

    grid-template-columns: 82px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;

    column-gap: 16px !important;
    row-gap: 13px !important;

    align-items: start !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 17px !important;

    border-top: 1px solid rgba(23,37,61,.13) !important;
    border-right: 1px solid rgba(23,37,61,.13) !important;
    border-bottom: 1px solid rgba(23,37,61,.13) !important;
    border-left: 1px solid rgba(23,37,61,.13) !important;

    border-radius: 13px !important;

    background: #ffffff !important;

    box-shadow:
        0 3px 10px rgba(23,37,61,.055) !important;

    overflow: hidden !important;
}


/* NIENTE PSEUDO ELEMENTI SULLA CARD */

.secretary-task-panel .secretary-task-row::before,
.secretary-task-panel .secretary-task-row::after {
    content: none !important;
    display: none !important;
}


/* =========================
   DATA
   ========================= */

.secretary-task-panel .secretary-task-date {

    grid-column: 1 !important;
    grid-row: 1 !important;

    align-self: start !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* =========================
   CONTENUTO
   ========================= */

.secretary-task-panel .secretary-task-main {

    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* CLIENTE */

.secretary-task-panel .secretary-task-client {
    margin-top: 8px !important;
    padding: 0 !important;
    border: 0 !important;
}


/* =========================
   PULSANTE APRI PRATICA
   ========================= */

.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent {

    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    justify-self: end !important;
    align-self: center !important;

    width: auto !important;
    min-width: 136px !important;

    margin: 2px 0 0 !important;
    padding: 9px 14px !important;

    border: 1px solid rgba(184,148,69,.58) !important;
}


/* =========================
   STATI
   ========================= */

/* manteniamo lo stato con un piccolo accento,
   NON con una linea che attraversa la card */

.secretary-task-panel .secretary-task-row.overdue {
    box-shadow:
        inset 4px 0 0 #A84D4D,
        0 3px 10px rgba(23,37,61,.055) !important;
}

.secretary-task-panel .secretary-task-row.today {
    box-shadow:
        inset 4px 0 0 #B08A43,
        0 3px 10px rgba(23,37,61,.055) !important;
}

.secretary-task-panel
.secretary-task-row.high:not(.overdue):not(.today) {
    box-shadow:
        inset 4px 0 0 rgba(176,138,67,.60),
        0 3px 10px rgba(23,37,61,.055) !important;
}


/* HOVER */

.secretary-task-panel .secretary-task-row:hover {
    border-color: rgba(184,148,69,.38) !important;

    box-shadow:
        0 5px 15px rgba(23,37,61,.085) !important;
}


/* =========================
   FOOTER
   ========================= */

.secretary-task-panel .secretary-task-footer {

    margin-top: 20px !important;
    padding: 15px 0 0 !important;

    border-top: 1px solid rgba(23,37,61,.10) !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;

    background: transparent !important;
}


/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 1050px) {

    .secretary-task-panel .secretary-task-list {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
        row-gap: 14px !important;
    }

}



/* =========================================================
   ALPHA 0.7.04 - Dashboard Segreteria
   Card più compatte - font invariati
   ========================================================= */

.secretary-task-panel .secretary-task-list {
    row-gap: 12px !important;
    column-gap: 26px !important;
}

.secretary-task-panel .secretary-task-row,
.secretary-task-panel .secretary-task-row.overdue,
.secretary-task-panel .secretary-task-row.today,
.secretary-task-panel
.secretary-task-row.high:not(.overdue):not(.today) {

    grid-template-columns: 74px minmax(0, 1fr) !important;

    column-gap: 13px !important;
    row-gap: 8px !important;

    padding: 12px 14px !important;

    min-height: 0 !important;
}


/* zona data più compatta */
.secretary-task-panel .secretary-task-date {
    padding: 0 !important;
    margin: 0 !important;
}


/* riduciamo solo gli spazi, NON i caratteri */
.secretary-task-panel .secretary-task-labels {
    margin-bottom: 3px !important;
}

.secretary-task-panel .secretary-task-name {
    margin-top: 2px !important;
}

.secretary-task-panel .secretary-task-main small {
    margin-top: 3px !important;
}

.secretary-task-panel .secretary-task-client {
    margin-top: 5px !important;
}


/* pulsante più compatto ma testo invariato */
.secretary-task-panel
.secretary-task-open.secretary-task-open-prominent {

    min-width: 128px !important;

    margin-top: 0 !important;
    padding: 7px 11px !important;
}


/* footer leggermente più vicino */
.secretary-task-panel .secretary-task-footer {
    margin-top: 16px !important;
}



/* =========================================================
   ALPHA 0.7.05 - Dashboard Segreteria
   Maggiore separazione tra intestazione e attività
   ========================================================= */

/* Più respiro sotto la testata del box */
.secretary-task-panel .secretary-task-head {
    margin-bottom: 24px !important;
    padding-bottom: 18px !important;
}


/* La griglia parte più in basso rispetto alla linea header */
.secretary-task-panel .secretary-task-list {
    margin-top: 8px !important;
}


/* Se la testata ha già una linea inferiore,
   la lasciamo ma teniamo le card ben distanti */
.secretary-task-panel .secretary-task-head + .secretary-task-list {
    padding-top: 6px !important;
}


/* Su schermi stretti manteniamo comunque un buon respiro */
@media (max-width: 1050px) {

    .secretary-task-panel .secretary-task-head {
        margin-bottom: 20px !important;
        padding-bottom: 16px !important;
    }

    .secretary-task-panel .secretary-task-list {
        margin-top: 6px !important;
    }

}



/* =========================================================
   ALPHA 0.7.06 - CHAT ATTIVITÀ V1
   ========================================================= */

.task-chat-panel {
    margin-top: 22px;
}

.task-chat-head {
    align-items: center;
}

.task-chat-head h2 {
    margin-bottom: 4px;
}

.task-chat-subtitle {
    margin: 0;
    font-size: .92rem;
    color: #667085;
}

.task-chat-count {
    min-width: 76px;
    padding: 10px 14px;
    border: 1px solid rgba(23,37,61,.12);
    border-radius: 12px;
    text-align: center;
    background: #fff;
}

.task-chat-count strong {
    display: block;
    font-size: 1.35rem;
    line-height: 1;
    color: #17253d;
}

.task-chat-count span {
    display: block;
    margin-top: 4px;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a8494;
}

.task-chat-thread {
    display: flex;
    flex-direction: column;
    gap: 13px;

    margin-top: 20px;
    padding: 20px;

    min-height: 150px;
    max-height: 520px;
    overflow-y: auto;

    border: 1px solid rgba(23,37,61,.10);
    border-radius: 14px;

    background: #f7f8fa;
}

.task-chat-message {
    display: flex;
    width: 100%;
}

.task-chat-message.mine {
    justify-content: flex-end;
}

.task-chat-message.theirs {
    justify-content: flex-start;
}

.task-chat-bubble {
    width: fit-content;
    max-width: 72%;

    padding: 12px 15px;

    border: 1px solid rgba(23,37,61,.12);
    border-radius: 14px;

    background: #fff;

    box-shadow: 0 2px 7px rgba(23,37,61,.04);
}

.task-chat-message.mine .task-chat-bubble {
    border-color: rgba(184,148,69,.30);
    background: #fffdf8;
}

.task-chat-author {
    display: flex;
    align-items: baseline;
    gap: 8px;

    margin-bottom: 7px;
}

.task-chat-author strong {
    font-size: .86rem;
    color: #17253d;
}

.task-chat-author span {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #9b762d;
}

.task-chat-text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;

    font-size: .94rem;
    line-height: 1.5;

    color: #293548;
}

.task-chat-bubble time {
    display: block;

    margin-top: 8px;

    font-size: .68rem;
    text-align: right;

    color: #8992a0;
}

.task-chat-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 110px;

    color: #7a8494;
}

.task-chat-empty strong {
    color: #17253d;
}

.task-chat-empty span {
    margin-top: 4px;
    font-size: .86rem;
}

.task-chat-compose {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    align-items: end;

    margin-top: 14px;
}

.task-chat-compose textarea {
    width: 100%;
    min-height: 76px;
    resize: vertical;
}

.task-chat-send {
    min-height: 44px;
    white-space: nowrap;
}

@media (max-width: 760px) {

    .task-chat-bubble {
        max-width: 90%;
    }

    .task-chat-compose {
        grid-template-columns: 1fr;
    }

    .task-chat-send {
        justify-self: end;
    }

}



/* =========================================================
   ALPHA 0.7.07 - Dettaglio attività
   Modifica attività + Chat affiancate
   ========================================================= */

.task-workspace-right {
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(420px, 1.18fr);
    gap: 20px;

    align-items: start;
    margin-top: 20px;
}

.task-workspace-edit,
.task-workspace-chat {
    min-width: 0;
}


/* I due pannelli partono esattamente dalla stessa altezza */

.task-workspace-right > div > .panel {
    margin-top: 0 !important;
}


/* CHAT */

.task-workspace-chat .task-chat-panel {
    margin-top: 0 !important;
    height: 100%;
}


/* conversazione leggermente più compatta nella colonna */

.task-workspace-chat .task-chat-thread {
    max-height: 430px;
    margin-top: 16px;
    padding: 16px;
}


/* bolle sfruttano meglio la larghezza */

.task-workspace-chat .task-chat-bubble {
    max-width: 84%;
}


/* composizione */

.task-workspace-chat .task-chat-compose {
    grid-template-columns: minmax(0, 1fr);
}

.task-workspace-chat .task-chat-send {
    justify-self: end;
}


/* Tablet: una colonna */

@media (max-width: 1150px) {

    .task-workspace-right {
        grid-template-columns: 1fr;
    }

    .task-workspace-chat .task-chat-bubble {
        max-width: 80%;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .task-workspace-right {
        gap: 14px;
    }

    .task-workspace-chat .task-chat-bubble {
        max-width: 94%;
    }

}



/* =========================================================
   ALPHA 0.7.08 - Le mie attività
   Card interamente cliccabile
   ========================================================= */

.tasks-page-row-clickable {
    cursor: pointer;
    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.tasks-page-row-clickable:hover {
    border-color: rgba(184,148,69,.40);
    background: #fcfcfb;
    box-shadow: 0 4px 12px rgba(23,37,61,.07);
}

.tasks-page-row-clickable:focus-visible {
    outline: 2px solid rgba(184,148,69,.65);
    outline-offset: 2px;
}



/* =========================================================
   ALPHA 0.7.09 - CHAT ATTIVITÀ V2
   Messaggi non letti
   ========================================================= */

.secretary-task-unread,
.tasks-page-unread {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 23px;
    padding: 3px 8px;

    border: 1px solid rgba(184,148,69,.42);
    border-radius: 999px;

    background: rgba(184,148,69,.11);
    color: #886520;

    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.secretary-task-unread::before,
.tasks-page-unread::before {
    content: "";
    width: 6px;
    height: 6px;

    margin-right: 5px;

    border-radius: 50%;

    background: #b89445;
}

.task-chat-live-label {
    display: inline-flex;
    align-items: center;

    margin-left: 8px;
    padding: 3px 7px;

    border: 1px solid rgba(184,148,69,.30);
    border-radius: 999px;

    color: #8c692a;
    background: rgba(184,148,69,.08);

    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .03em;
    text-transform: uppercase;
}



/* =========================================================
   ALPHA 0.7.10 - Chat attività
   Badge messaggi non letti Dashboard Titolare
   ========================================================= */

.dashboard-task-unread {
    display: inline-flex;
    align-items: center;
    width: fit-content;

    margin-top: 5px;
    padding: 3px 8px;

    border: 1px solid rgba(184,148,69,.42);
    border-radius: 999px;

    background: rgba(184,148,69,.10);
    color: #87641f;

    font-size: .72rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.dashboard-task-unread::before {
    content: "";

    width: 6px;
    height: 6px;
    margin-right: 5px;

    border-radius: 50%;
    background: #b89445;
}



/* =========================================================
   ALPHA 0.7.11 - Messaggi attività Dashboard
   ========================================================= */

.dashboard-messages-button {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.dashboard-messages-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;
}

.dashboard-messages-icon svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-messages-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 21px;
    height: 21px;
    padding: 0 6px;

    border-radius: 999px;

    background: #b89445;
    color: #fff;

    font-size: .70rem;
    font-weight: 850;
    line-height: 1;
}

.dashboard-messages-button:hover
.dashboard-messages-count {
    background: #9d792f;
}



/* =========================================================
   ALPHA 0.7.13 - Elimina chat attività
   ========================================================= */

.task-chat-head-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.task-chat-delete-form {
    margin: 0;
}

.task-chat-delete-button {
    min-height: 34px;
    padding: 7px 11px;

    border: 1px solid rgba(151, 65, 65, .28);
    border-radius: 8px;

    background: #fff;
    color: #934747;

    font-size: .75rem;
    font-weight: 750;

    cursor: pointer;
}

.task-chat-delete-button:hover {
    border-color: rgba(151, 65, 65, .50);
    background: #fff8f8;
}

@media (max-width: 700px) {

    .task-chat-head-actions {
        align-items: flex-end;
        flex-direction: column-reverse;
    }

}



/* =========================================================
   ALPHA 0.7.16 - REPORT SEGRETERIA
   GIORNO / SETTIMANA / MESE
   ========================================================= */

.secretary-report-page {
    max-width: 1440px;
    margin: 0 auto;
    padding-bottom: 44px;
}

.secretary-report-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 16px;
}

.secretary-report-eyebrow {
    margin-bottom: 6px;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .11em;
    color: #8b6b2e;
}

.secretary-report-header h1 {
    margin: 0 0 5px;
    font-size: 2rem;
}

.secretary-report-header p {
    margin: 0;
    color: #667085;
}

.secretary-report-date-form {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.secretary-report-date-form label {
    font-size: .76rem;
    font-weight: 750;
    color: #667085;
}

.secretary-report-date-form input {
    min-height: 40px;
    padding: 7px 11px;
    border: 1px solid #d6dbe4;
    border-radius: 10px;
    background: #fff;
    font: inherit;
}

.secretary-report-period-tabs {
    display: inline-flex;
    gap: 5px;
    padding: 4px;
    margin: 7px 0 13px;
    border: 1px solid #e0e4ea;
    border-radius: 11px;
    background: #f7f8fa;
}

.secretary-report-period-tab {
    min-width: 92px;
    padding: 8px 13px;
    border-radius: 8px;
    text-align: center;
    font-size: .8rem;
    font-weight: 750;
    text-decoration: none;
    color: #536174;
}

.secretary-report-period-tab.active {
    background: #fff;
    color: #26364f;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

.secretary-report-navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    padding: 13px 0 17px;
    border-bottom: 1px solid #e3e6eb;
}

.secretary-report-nav-button {
    font-size: .82rem;
    font-weight: 750;
    text-decoration: none;
}

.secretary-report-nav-next {
    text-align: right;
}

.secretary-report-nav-disabled {
    opacity: .35;
    pointer-events: none;
}

.secretary-report-current-period {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.secretary-report-current-period strong {
    font-size: .9rem;
}

.secretary-report-current-period span {
    font-size: .72rem;
    color: #667085;
}

.secretary-report-kpis {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0,1fr));
    gap: 10px;
    margin: 18px 0;
}

.secretary-report-kpi {
    padding: 13px 14px;
    border: 1px solid #e1e5eb;
    border-radius: 12px;
    background: #fff;
}

.secretary-report-kpi span {
    display: block;
    min-height: 30px;
    margin-bottom: 5px;
    font-size: .73rem;
    line-height: 1.25;
    color: #667085;
}

.secretary-report-kpi strong {
    display: block;
    font-size: 1.48rem;
    line-height: 1;
}

.secretary-report-days {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.secretary-report-day {
    overflow: hidden;
    border: 1px solid #e1e5eb;
    border-radius: 14px;
    background: #fff;
}

.secretary-report-day-head {
    padding: 14px 18px;
    border-bottom: 1px solid #e7e9ed;
    background: #fafbfc;
}

.secretary-report-day-head h2 {
    margin: 0 0 2px;
    font-size: .95rem;
}

.secretary-report-day-head span {
    font-size: .74rem;
    color: #667085;
}

.secretary-report-timeline {
    padding: 0 18px;
}

.secretary-report-row {
    display: grid;
    grid-template-columns:
        78px minmax(0,1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 72px;
    padding: 10px 0;
    border-bottom: 1px solid #edf0f3;
}

.secretary-report-row:last-child {
    border-bottom: 0;
}

.secretary-report-time {
    align-self: start;
    padding-top: 4px;
    font-size: .79rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: #536174;
}

.secretary-report-action {
    margin-bottom: 3px;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .025em;
    color: #866522;
}

.secretary-report-case {
    margin-bottom: 3px;
    font-size: .92rem;
    font-weight: 800;
    color: #26364f;
}

.secretary-report-description {
    font-size: .82rem;
    line-height: 1.4;
    color: #667085;
}

.secretary-report-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #d6dce5;
    border-radius: 9px;
    background: #fff;
    font-size: .75rem;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.secretary-report-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 55px 24px;
    border: 1px solid #e1e5eb;
    border-radius: 14px;
    background: #fff;
    text-align: center;
}

.secretary-report-empty span {
    font-size: .83rem;
    color: #667085;
}

@media (max-width: 1100px) {

    .secretary-report-kpis {
        grid-template-columns:
            repeat(4, minmax(0,1fr));
    }

}

@media (max-width: 720px) {

    .secretary-report-header {
        flex-direction: column;
        align-items: stretch;
    }

    .secretary-report-period-tabs {
        display: flex;
        width: 100%;
    }

    .secretary-report-period-tab {
        flex: 1;
        min-width: 0;
    }

    .secretary-report-kpis {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

    .secretary-report-row {
        grid-template-columns:
            58px minmax(0,1fr);
    }

    .secretary-report-row-actions {
        grid-column: 2;
    }

}



/* =========================================================
   ALPHA 0.7.17
   KPI REPORT CLICCABILI
   ========================================================= */

.secretary-report-kpi-link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .12s ease,
        box-shadow .12s ease,
        border-color .12s ease;
}

.secretary-report-kpi-link:hover {
    transform: translateY(-1px);
    border-color: #c9d0da;
    box-shadow:
        0 5px 14px rgba(23, 39, 61, .07);
}

.secretary-report-kpi-link.active {
    border-color:
        rgba(139, 107, 46, .55);
    box-shadow:
        inset 0 0 0 1px
        rgba(139, 107, 46, .13);
}

.secretary-report-kpi-link.active span {
    color: #866522;
}

.secretary-report-kpi-static {
    cursor: default;
}


/* =========================================================
   ALPHA 0.7.17
   CONTROLLO STUDIO - AREA TITOLARE
   ========================================================= */

.dashboard-control-studio {
    margin-top: 24px;
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.dashboard-control-studio-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #e8ebef;
}

.dashboard-control-studio-eyebrow {
    margin-bottom: 4px;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .10em;
    color: #8b6b2e;
}

.dashboard-control-studio h2 {
    margin: 0 0 4px;
    font-size: 1rem;
    color: #26364f;
}

.dashboard-control-studio p {
    margin: 0;
    font-size: .8rem;
    color: #667085;
}

.dashboard-control-studio-actions {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-control-studio-card {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 112px;
    padding: 15px;
    border: 1px solid #e1e5eb;
    border-radius: 12px;
    background: #fafbfc;
    color: inherit;
    text-decoration: none;
    transition:
        border-color .12s ease,
        box-shadow .12s ease,
        transform .12s ease;
}

.dashboard-control-studio-card:hover {
    transform: translateY(-1px);
    border-color: #c9d0da;
    box-shadow:
        0 5px 14px rgba(23, 39, 61, .07);
}

.dashboard-control-studio-card-title {
    font-size: .88rem;
    font-weight: 850;
    color: #26364f;
}

.dashboard-control-studio-card-text {
    flex: 1;
    font-size: .76rem;
    line-height: 1.4;
    color: #667085;
}

.dashboard-control-studio-card-link {
    font-size: .75rem;
    font-weight: 800;
    color: #866522;
}

@media (max-width: 900px) {

    .dashboard-control-studio-actions {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   ALPHA 0.7.18 - AUTENTICAZIONE 2FA
   ========================================================= */

.twofa-body {
    min-height: 100vh;
    margin: 0;
    background:
        linear-gradient(
            180deg,
            #f6f7f9 0%,
            #eef1f5 100%
        );
    color: #26364f;
}

.twofa-shell {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    padding: 48px 20px;
    box-sizing: border-box;
}

.twofa-card {
    width: min(100%, 520px);
    padding: 30px;
    border: 1px solid #dfe4ea;
    border-radius: 18px;
    background: #fff;
    box-shadow:
        0 18px 50px
        rgba(24, 39, 62, .08);
}

.twofa-card-compact {
    width: min(100%, 440px);
}

.twofa-eyebrow {
    margin-bottom: 7px;
    font-size: .71rem;
    font-weight: 850;
    letter-spacing: .11em;
    color: #8b6b2e;
}

.twofa-card h1 {
    margin: 0 0 9px;
    font-size: 1.55rem;
    line-height: 1.15;
}

.twofa-lead {
    margin: 0 0 22px;
    font-size: .9rem;
    line-height: 1.5;
    color: #667085;
}

.twofa-steps {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}

.twofa-step {
    display: grid;
    grid-template-columns: 28px 1fr;
    align-items: center;
    gap: 9px;
    font-size: .82rem;
    color: #536174;
}

.twofa-step strong {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #26364f;
    color: #fff;
    font-size: .72rem;
}

.twofa-qr {
    display: flex;
    justify-content: center;
    padding: 15px;
    margin: 14px 0;
    border: 1px solid #e5e8ed;
    border-radius: 13px;
    background: #fafbfc;
}

.twofa-qr img {
    display: block;
    width: min(100%, 270px);
    height: auto;
}

.twofa-manual {
    margin: 12px 0 20px;
    font-size: .79rem;
    color: #667085;
}

.twofa-manual summary {
    cursor: pointer;
    font-weight: 750;
}

.twofa-manual code {
    display: block;
    overflow-wrap: anywhere;
    padding: 9px 11px;
    margin-top: 8px;
    border-radius: 8px;
    background: #f2f4f7;
    color: #26364f;
}

.twofa-form {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.twofa-form label {
    font-size: .78rem;
    font-weight: 750;
    color: #536174;
}

.twofa-form input {
    min-height: 48px;
    padding: 9px 13px;
    box-sizing: border-box;
    border: 1px solid #cfd6df;
    border-radius: 10px;
    background: #fff;
    font-size: 1.05rem;
    letter-spacing: .08em;
}

.twofa-form input:focus {
    outline: 2px solid
        rgba(139, 107, 46, .18);
    border-color: #8b6b2e;
}

.twofa-form button,
.twofa-primary-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 6px;
    padding: 9px 14px;
    border: 0;
    border-radius: 10px;
    background: #26364f;
    color: #fff;
    font: inherit;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.twofa-error {
    padding: 10px 12px;
    margin-bottom: 16px;
    border: 1px solid #e5caca;
    border-radius: 9px;
    background: #fff7f7;
    color: #8c3f3f;
    font-size: .8rem;
}

.twofa-success {
    padding: 10px 12px;
    margin-bottom: 17px;
    border: 1px solid #cbdccb;
    border-radius: 9px;
    background: #f6fbf6;
    font-size: .82rem;
    font-weight: 750;
}

.twofa-note,
.twofa-warning {
    margin: 14px 0 0;
    font-size: .75rem;
    line-height: 1.45;
    color: #667085;
}

.twofa-warning {
    margin-bottom: 18px;
}

.twofa-recovery-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 17px 0;
}

.twofa-recovery-grid code {
    padding: 10px;
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    background: #fafbfc;
    text-align: center;
    font-size: .9rem;
    font-weight: 750;
    letter-spacing: .06em;
}

@media (max-width: 560px) {

    .twofa-shell {
        padding: 22px 12px;
    }

    .twofa-card {
        padding: 21px;
    }

    .twofa-recovery-grid {
        grid-template-columns: 1fr;
    }

}

/* Rifinitura incassi e metadati operativi 20260903 */
.payment-ledger-row form.economic-payment-edit > button.button.primary {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 32px !important;
    justify-self: start !important;
    align-self: start !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

.hero .operational-case-context {
    gap: 9px !important;
    margin: 12px 0 8px !important;
}

.hero .operational-case-context strong,
.hero .operational-case-context span {
    min-height: 32px !important;
    padding: 7px 12px !important;
    border-color: #cfd6df !important;
    color: #26364d !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.hero .operational-case-context strong {
    border-color: #c5a45e !important;
    background: #fff8e8 !important;
    color: #14213a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Allegati nelle comunicazioni e negli aggiornamenti cliente */
.message-attachments-field {
    display: grid;
    gap: 7px;
}

.message-attachments-field input[type="file"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d7dce3;
    border-radius: 10px;
    background: #fff;
    color: #17253d;
}

.message-attachments-field input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 8px 12px;
    border: 1px solid #b08a43;
    border-radius: 8px;
    background: #fffaf0;
    color: #17253d;
    font-weight: 700;
    cursor: pointer;
}

.message-attachments-field small {
    color: #667085;
}

/* Mandati separati dagli incassi: riepilogo economico per pratica */
.economic-ledger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 20px 0;
}

.economic-ledger-card .panel-head > strong {
    color: #14213a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.economic-ledger-list {
    display: grid;
    gap: 10px;
}

.economic-ledger-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 16px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #e8ebef;
}

.economic-ledger-row > div:first-child {
    display: grid;
    gap: 4px;
}

.economic-ledger-row span {
    color: #667085;
    font-size: 12px;
}

.economic-ledger-row > b {
    color: #14213a;
    white-space: nowrap;
}

.payment-ledger-row .payment-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.economic-payment-edit {
    grid-column: 1 / -1;
}

.economic-payment-edit > .button {
    width: auto;
    min-height: 34px;
    margin-top: 10px;
    padding: 7px 13px;
    font-size: 12px;
}

.operational-case-context {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 9px 0 5px;
}

.operational-case-context strong,
.operational-case-context span {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 10px;
    border: 1px solid #dfe4ea;
    border-radius: 999px;
    background: #fff;
    color: #344054;
    font-size: 11px;
    line-height: 1.2;
}

.operational-case-context strong {
    border-color: #d9c08a;
    background: #fffaf0;
    color: #14213a;
}

.case-payment-entry {
    margin-top: 18px;
}

@media (max-width: 980px) {
    .economic-ledger-grid { grid-template-columns: 1fr; }
}


/* =========================================================
   OPERATIVITA, NOTE RISERVATE E ATTI MODIFICABILI 20260902
   ========================================================= */

.topbar {
    justify-content: flex-end;
}

.secretary-view-form {
    margin-right: 22px;
}

.note-card-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.note-private-badge,
.note-shared-badge,
.note-save-status {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
}

.note-private-badge {
    border: 1px solid rgba(176, 138, 67, .42);
    background: #f8f0df;
    color: #765821;
}

.note-shared-badge {
    border: 1px solid #d8e3dc;
    background: #f2f7f4;
    color: #456552;
}

.note-save-status {
    color: #536176;
    background: #f4f6f9;
    letter-spacing: 0;
}

.note-save-status.saving,
.note-save-status.pending {
    color: #806126;
    background: #fbf6e9;
}

.note-save-status.saved {
    color: #3f674d;
    background: #edf6f0;
}

.note-save-status.error {
    color: #963d3d;
    background: #fbeeee;
}

.note-privacy-option {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center;
    gap: 10px !important;
    padding: 11px 12px;
    border: 1px solid #e0d3b7;
    border-radius: 10px;
    background: #fcf9f1;
    cursor: pointer;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.note-privacy-option input {
    width: 17px !important;
    height: 17px;
    padding: 0 !important;
}

.note-privacy-option span,
.note-privacy-option strong,
.note-privacy-option small {
    display: block;
}

.note-privacy-option strong {
    color: #293a56;
    font-size: 12px;
}

.note-privacy-option small {
    margin-top: 2px;
    color: #758096;
    font-size: 11px;
    font-weight: 500;
}

.note-autosave-help {
    margin-right: auto;
    align-self: center;
    color: #748096;
    font-size: 11px;
}

.operational-week-panel {
    border-top: 3px solid #b08a43;
}

.operational-week-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.today-workspace .week-panel {
    margin-top: 0;
}

.matter-detail-clickable {
    cursor: pointer;
}

.matter-detail-clickable:focus {
    outline: 2px solid rgba(176, 138, 67, .7);
    outline-offset: 2px;
}

.act-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.act-edit-form label {
    display: grid;
    gap: 7px;
}

.act-edit-form label > span {
    color: #68758a;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.act-edit-form input,
.act-edit-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d9dfe7;
    border-radius: 10px;
    background: #fbfcfe;
    padding: 11px 12px;
    color: #172743;
    font: inherit;
}

.act-edit-form input:focus,
.act-edit-form textarea:focus {
    outline: none;
    border-color: #b08a43;
    box-shadow: 0 0 0 3px rgba(176, 138, 67, .12);
    background: #fff;
}

.act-edit-form .wide,
.act-edit-actions {
    grid-column: 1 / -1;
}

.act-edit-form .calculated-readonly {
    min-height: 70px;
}

.act-edit-form .calculated-readonly small {
    display: block;
    margin-top: 4px;
    color: #748096;
    font-size: 10px;
}

.act-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}

@media (max-width: 800px) {
    .operational-week-kpis,
    .act-edit-form {
        grid-template-columns: 1fr;
    }

    .secretary-view-form {
        margin-right: 0;
    }
}



/* =========================================================
   ALPHA 0.7.19 - SICUREZZA ACCOUNT
   ========================================================= */

.security-page {
    max-width: 1180px;
    margin: 0 auto;
    padding-bottom: 45px;
}

.security-page-head {
    margin-bottom: 18px;
}

.security-eyebrow {
    margin-bottom: 5px;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    color: #8b6b2e;
}

.security-page h1 {
    margin: 0 0 5px;
}

.security-page-head p,
.security-admin-head p {
    margin: 0;
    color: #667085;
}

.security-status-card,
.security-admin-card,
.security-emergency-card,
.security-recovery-result {
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.security-status-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 14px;
}

.security-status-label {
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    color: #667085;
}

.security-status-card h2 {
    margin: 4px 0;
    font-size: 1.05rem;
}

.security-status-card p {
    margin: 0;
    font-size: .82rem;
    color: #667085;
}

.security-status-indicator {
    padding: 7px 11px;
    border-radius: 999px;
    background: #f1f3f5;
    font-size: .74rem;
    font-weight: 800;
}

.security-status-indicator.active {
    background: #f0f7f1;
    color: #356643;
}

.security-action-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.security-action-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.security-action-card h2 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.security-action-card p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: #667085;
}

.security-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.security-form label {
    font-size: .75rem;
    font-weight: 750;
    color: #536174;
}

.security-form input {
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid #cfd6df;
    border-radius: 9px;
}

.security-form button,
.security-reset-button {
    min-height: 38px;
    margin-top: 4px;
    padding: 7px 11px;
    border: 0;
    border-radius: 9px;
    background: #26364f;
    color: #fff;
    font-weight: 750;
    cursor: pointer;
}

.security-admin-card {
    margin-bottom: 14px;
}

.security-admin-head {
    padding-bottom: 13px;
    margin-bottom: 4px;
    border-bottom: 1px solid #e8ebef;
}

.security-admin-head h2 {
    margin: 0 0 4px;
    font-size: 1rem;
}

.security-user-row {
    display: grid;
    grid-template-columns:
        minmax(0,1fr) auto auto;
    align-items: center;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid #edf0f3;
}

.security-user-row:last-child {
    border-bottom: 0;
}

.security-user-row strong,
.security-user-row span {
    display: block;
}

.security-user-row span {
    margin-top: 2px;
    font-size: .75rem;
    color: #667085;
}

.security-user-state {
    font-size: .76rem;
    font-weight: 750;
    color: #667085;
}

.security-reset-button {
    margin: 0;
    background: #fff;
    color: #8c4545;
    border: 1px solid #ddcaca;
}

.security-emergency-card h2 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.security-emergency-card p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: #667085;
}

.security-emergency-note {
    margin-top: 8px !important;
    font-weight: 700;
}

.security-recovery-result {
    max-width: 600px;
    margin: 0 auto;
}

.security-recovery-result h1 {
    margin-top: 0;
}

@media (max-width: 760px) {

    .security-action-grid {
        grid-template-columns: 1fr;
    }

    .security-user-row {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   ALPHA 0.7.19 - SICUREZZA ACCOUNT
   ========================================================= */

.security-page {
    max-width: 1180px;
    margin: 0 auto;
    padding-bottom: 45px;
}

.security-page-head {
    margin-bottom: 18px;
}

.security-eyebrow {
    margin-bottom: 5px;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    color: #8b6b2e;
}

.security-page h1 {
    margin: 0 0 5px;
}

.security-page-head p,
.security-admin-head p {
    margin: 0;
    color: #667085;
}

.security-status-card,
.security-admin-card,
.security-emergency-card,
.security-recovery-result {
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.security-status-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 14px;
}

.security-status-label {
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    color: #667085;
}

.security-status-card h2 {
    margin: 4px 0;
    font-size: 1.05rem;
}

.security-status-card p {
    margin: 0;
    font-size: .82rem;
    color: #667085;
}

.security-status-indicator {
    padding: 7px 11px;
    border-radius: 999px;
    background: #f1f3f5;
    font-size: .74rem;
    font-weight: 800;
}

.security-status-indicator.active {
    background: #f0f7f1;
    color: #356643;
}

.security-action-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.security-action-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.security-action-card h2 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.security-action-card p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: #667085;
}

.security-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.security-form label {
    font-size: .75rem;
    font-weight: 750;
    color: #536174;
}

.security-form input {
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid #cfd6df;
    border-radius: 9px;
}

.security-form button,
.security-reset-button {
    min-height: 38px;
    margin-top: 4px;
    padding: 7px 11px;
    border: 0;
    border-radius: 9px;
    background: #26364f;
    color: #fff;
    font-weight: 750;
    cursor: pointer;
}

.security-admin-card {
    margin-bottom: 14px;
}

.security-admin-head {
    padding-bottom: 13px;
    border-bottom: 1px solid #e8ebef;
}

.security-admin-head h2 {
    margin: 0 0 4px;
    font-size: 1rem;
}

.security-user-row {
    display: grid;
    grid-template-columns:
        minmax(0,1fr) auto auto;
    align-items: center;
    gap: 15px;
    padding: 13px 0;
    border-bottom: 1px solid #edf0f3;
}

.security-user-row:last-child {
    border-bottom: 0;
}

.security-user-row strong,
.security-user-row span {
    display: block;
}

.security-user-row span {
    margin-top: 2px;
    font-size: .75rem;
    color: #667085;
}

.security-user-state {
    font-size: .76rem;
    font-weight: 750;
    color: #667085;
}

.security-reset-button {
    margin: 0;
    background: #fff;
    color: #8c4545;
    border: 1px solid #ddcaca;
}

.security-emergency-card h2 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.security-emergency-card p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: #667085;
}

.security-recovery-result {
    max-width: 600px;
    margin: 0 auto;
}

@media (max-width: 760px) {

    .security-action-grid {
        grid-template-columns: 1fr;
    }

    .security-user-row {
        grid-template-columns: 1fr;
    }

}



/* =========================================================
   ALPHA 0.7.19 - GUIDA RECUPERO 2FA
   ========================================================= */

.security-recovery-guide {
    margin-bottom: 14px;
    padding: 20px;
    border: 1px solid #dfe4ea;
    border-radius: 15px;
    background: #fff;
}

.security-recovery-guide h2 {
    margin: 0 0 5px;
    font-size: 1.05rem;
}

.security-guide-intro {
    margin: 0 0 16px;
    font-size: .82rem;
    color: #667085;
}

.security-guide-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.security-guide-item {
    overflow: hidden;
    border: 1px solid #e2e6eb;
    border-radius: 10px;
    background: #fafbfc;
}

.security-guide-item summary {
    padding: 13px 15px;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 800;
    color: #26364f;
}

.security-guide-content {
    padding: 0 15px 15px;
    border-top: 1px solid #e8ebef;
    background: #fff;
}

.security-guide-content ol {
    margin: 13px 0;
    padding-left: 21px;
}

.security-guide-content li {
    margin-bottom: 7px;
    font-size: .8rem;
    line-height: 1.45;
    color: #536174;
}

.security-guide-content p {
    font-size: .8rem;
    line-height: 1.45;
    color: #536174;
}

.security-guide-result {
    padding: 10px 12px;
    border-radius: 8px;
    background: #f3f6f8;
    font-size: .76rem;
    font-weight: 700;
    color: #405064;
}

.security-guide-emergency summary {
    color: #7a4e28;
}

.security-recovery-advice {
    margin-top: 15px;
    padding: 13px 15px;
    border-left: 3px solid #a9853e;
    border-radius: 7px;
    background: #faf8f3;
}

.security-recovery-advice strong {
    display: block;
    margin-bottom: 3px;
    font-size: .78rem;
    color: #6e572b;
}

.security-recovery-advice p {
    margin: 0;
    font-size: .76rem;
    line-height: 1.45;
    color: #667085;
}



/* =========================================================
   ALPHA 0.7.20 - MENU ACCOUNT SIDEBAR
   ========================================================= */

.sidebar-account-menu {
    position: relative;
    width: 100%;
}

.sidebar-account-menu > summary {
    list-style: none;
}

.sidebar-account-menu > summary::-webkit-details-marker {
    display: none;
}

.sidebar-account-trigger {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
}

.sidebar-account-trigger:hover {
    background: rgba(255,255,255,.05);
}

.sidebar-account-main {
    min-width: 0;
}

.sidebar-account-main strong,
.sidebar-account-main span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-account-chevron {
    font-size: .67rem;
    opacity: .65;
    transition: transform .15s ease;
}

.sidebar-account-menu[open]
.sidebar-account-chevron {
    transform: rotate(180deg);
}

.sidebar-account-dropdown {
    margin-top: 7px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
}

.sidebar-account-email {
    padding: 7px 8px 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .67rem;
    color: rgba(255,255,255,.55);
}

.sidebar-account-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    text-decoration: none;
    font: inherit;
    font-size: .74rem;
    font-weight: 750;
    cursor: pointer;
    text-align: left;
}

.sidebar-account-item:hover {
    background: rgba(255,255,255,.07);
}

.sidebar-account-item small {
    font-size: .62rem;
    font-weight: 600;
    opacity: .55;
}

.sidebar-account-logout-form {
    margin: 3px 0 0;
}

.sidebar-account-logout {
    color: #e5b7b7;
}


/* Alpha 0.6 - Dashboard: allineamento anchor Prossime udienze */
#dashboard-udienze-20 {
    scroll-margin-top: 70px;
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA UX 0.7.23
   KPI NAVIGABILI + RICERCA INCASSO RAPIDO
   ========================================================= */

.accounting-kpi-link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.accounting-kpi-link:hover {
    transform: translateY(-2px);
    border-color: #CDB986;
    box-shadow: 0 7px 18px rgba(20,33,58,.07);
}

.accounting-kpi-link small {
    color: #8B682D !important;
}

.quick-payment-search {
    position: relative;
}

.quick-payment-search > input[type="search"] {
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #DDE2E7;
    border-radius: 8px;
    background: #FFFFFF;
    color: #14213A;
    font-size: 11.5px;
    outline: none;
}

.quick-payment-search > input[type="search"]:focus {
    border-color: rgba(176,138,67,.58);
    box-shadow: 0 0 0 3px rgba(176,138,67,.08);
}

.quick-payment-results {
    position: absolute;
    z-index: 50;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    max-height: 310px;
    overflow-y: auto;
    border: 1px solid #DCE1E6;
    border-radius: 9px;
    background: #FFFFFF;
    box-shadow: 0 12px 28px rgba(20,33,58,.13);
}

.quick-payment-result {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #ECEFF2;
    background: #FFFFFF;
    text-align: left;
    cursor: pointer;
}

.quick-payment-result:last-child {
    border-bottom: 0;
}

.quick-payment-result:hover {
    background: #F8F6F1;
}

.quick-payment-result strong {
    display: block;
    color: #14213A;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 500;
}

.quick-payment-result span {
    display: block;
    margin-top: 3px;
    color: #707B89;
    font-size: 10px;
    line-height: 1.4;
}

.quick-payment-result-empty {
    padding: 13px;
    color: #7A8493;
    font-size: 11px;
}

.quick-payment-selected {
    margin-top: 7px;
    padding: 8px 10px;
    border-left: 3px solid #B08A43;
    border-radius: 6px;
    background: #FAF8F3;
}

.quick-payment-selected strong {
    display: block;
    color: #14213A;
    font-size: 11px;
}

.quick-payment-selected span {
    display: block;
    margin-top: 2px;
    color: #737E8C;
    font-size: 9.5px;
    line-height: 1.4;
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA
   ANCORAGGI CON INTESTAZIONE COMPLETAMENTE VISIBILE
   ========================================================= */

.accounting-page #rate,
.accounting-page #incasso-rapido,
.accounting-page #udienze,
.accounting-page #alert-incassi,
.accounting-page #solleciti,
.accounting-page #proposte,
.accounting-page #mandati {
    scroll-margin-top: 145px;
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA
   FASCICOLI DA VERIFICARE - RESTYLING PROFESSIONALE
   ========================================================= */

.accounting-alert-panel {
    margin-top: 30px !important;
    padding: 22px !important;
    border: 1px solid #E0E4E9 !important;
    border-top: 3px solid #14213A !important;
    border-radius: 13px !important;
    background: #FFFFFF !important;
    box-shadow: 0 6px 18px rgba(20,33,58,.045);
}

.accounting-alert-panel > .panel-head {
    margin-bottom: 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #E9ECEF;
}

.accounting-alert-panel > .panel-head .eyebrow {
    color: #9A7637 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .8px !important;
}

.accounting-alert-panel > .panel-head h2 {
    margin-top: 5px !important;
    color: #14213A !important;
    font-family: Georgia, serif;
    font-size: 22px !important;
    font-weight: 500 !important;
}

.accounting-alert-panel > .panel-head p {
    margin-top: 6px !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.accounting-alert-grid {
    gap: 18px !important;
}

.accounting-alert-box {
    overflow: hidden;
    border: 1px solid #DFE4E9 !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    box-shadow: 0 3px 12px rgba(20,33,58,.035);
}

.accounting-alert-box.danger {
    border-top: 3px solid #9B4A45 !important;
}

.accounting-alert-box.warning {
    border-top: 3px solid #B08A43 !important;
}

.accounting-alert-box-head {
    min-height: 72px;
    padding: 15px 16px !important;
    background: #F8F9FB !important;
    border-bottom: 1px solid #E5E8EC !important;
}

.accounting-alert-box-head span {
    color: #8A94A2 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .7px !important;
}

.accounting-alert-box.danger .accounting-alert-box-head span {
    color: #984B45 !important;
}

.accounting-alert-box.warning .accounting-alert-box-head span {
    color: #92702F !important;
}

.accounting-alert-box-head h3 {
    margin-top: 5px !important;
    color: #14213A !important;
    font-family: Georgia, serif;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.35;
}

.accounting-alert-box-head > strong {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 9px !important;
    background: #14213A !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    box-shadow: 0 2px 6px rgba(20,33,58,.10);
}

.accounting-alert-item {
    grid-template-columns: minmax(0,1fr) auto 20px !important;
    gap: 13px !important;
    min-height: 72px !important;
    padding: 12px 15px !important;
    border-bottom: 1px solid #EAEDF0 !important;
    transition:
        background .15s ease,
        padding-left .15s ease;
}

.accounting-alert-item:last-of-type {
    border-bottom: 0 !important;
}

.accounting-alert-item:hover {
    padding-left: 18px !important;
    background: #FBFAF7 !important;
}

.accounting-alert-item > div:first-child strong {
    color: #14213A !important;
    font-family: Georgia, serif;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.accounting-alert-item > div:first-child span {
    margin-top: 5px !important;
    color: #687586 !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
}

.accounting-alert-item > div:nth-child(2) {
    min-width: 90px;
    padding-left: 12px;
    border-left: 1px solid #ECEEF1;
}

.accounting-alert-item small {
    color: #8A94A2 !important;
    font-size: 9px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.accounting-alert-item b {
    display: block;
    margin-top: 4px;
    color: #8B682D !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.accounting-alert-item .arrow {
    color: #B08A43 !important;
    font-size: 16px;
    font-weight: 500;
}

.accounting-more {
    padding: 11px 15px !important;
    border-top: 1px solid #E8EBEF;
    background: #F8F9FB !important;
    color: #8B682D !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

/* Manteniamo il punto di arresto già approvato */
.accounting-page #alert-incassi {
    scroll-margin-top: 145px !important;
}

@media (max-width: 760px) {
    .accounting-alert-panel {
        padding: 16px !important;
    }

    .accounting-alert-item {
        grid-template-columns: 1fr auto !important;
    }

    .accounting-alert-item .arrow {
        display: none;
    }

    .accounting-alert-item > div:nth-child(2) {
        min-width: 78px;
    }
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA RESPONSIVE
   Incasso rapido + Pre-udienza + Alert più leggibili
   ========================================================= */

/* Evita che i figli di una grid impongano larghezze superiori
   alla colonna disponibile */
.accounting-columns,
.accounting-columns > *,
.quick-payment-panel,
.accounting-hearing-panel,
.quick-payment-form,
.quick-payment-form > *,
.accounting-hearing-grid,
.accounting-hearing-card,
.accounting-hearing-card > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   INCASSO RAPIDO
   --------------------------------------------------------- */

.quick-payment-panel {
    overflow: visible;
}

.quick-payment-form input,
.quick-payment-form select,
.quick-payment-search,
.quick-payment-search > input {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/* Appena lo spazio comincia a ridursi:
   i due grandi box lavorano su tutta la larghezza disponibile */
@media (max-width: 1280px) {

    .accounting-columns {
        grid-template-columns: 1fr !important;
    }

    .quick-payment-panel,
    .accounting-hearing-panel {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .quick-payment-form {
        grid-template-columns:
            minmax(0, 2fr)
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
    }

    .quick-payment-mandate,
    .quick-payment-notes {
        grid-column: span 2;
    }
}

/* Fascia notebook / finestra ridotta */
@media (max-width: 980px) {

    .quick-payment-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .quick-payment-mandate {
        grid-column: 1 / -1 !important;
    }

    .quick-payment-notes {
        grid-column: 1 / -1 !important;
    }

    .quick-payment-submit {
        width: 100%;
    }


    /* PRE-UDIENZA:
       da tre colonne rigide a struttura verticale ordinata */

    .accounting-hearing-card {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        row-gap: 14px !important;
        column-gap: 0 !important;

        min-height: 0 !important;
        padding: 17px 18px !important;
    }

    .accounting-hearing-card-head,
    .accounting-hearing-card h3,
    .accounting-hearing-card > p,
    .accounting-hearing-money,
    .accounting-hearing-actions {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .accounting-hearing-money {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    .accounting-hearing-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        min-width: 0 !important;
        gap: 7px !important;
    }

    .accounting-hearing-actions .button {
        width: auto !important;
        flex: 1 1 145px;
        min-width: 0 !important;
    }
}

/* Smartphone / finestra molto stretta */
@media (max-width: 650px) {

    .quick-payment-form {
        grid-template-columns: 1fr !important;
    }

    .quick-payment-mandate,
    .quick-payment-notes,
    .quick-payment-submit {
        grid-column: 1 !important;
    }

    .quick-payment-panel,
    .accounting-hearing-panel {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .accounting-hearing-card {
        padding: 15px !important;
    }

    .accounting-hearing-money {
        grid-template-columns: 1fr !important;
    }

    .accounting-hearing-actions {
        flex-direction: column !important;
    }

    .accounting-hearing-actions .button {
        width: 100% !important;
        flex: none;
    }
}


/* ---------------------------------------------------------
   FASCICOLI DA VERIFICARE — LEGGIBILITA +
   --------------------------------------------------------- */

.accounting-alert-box-head span {
    font-size: 10px !important;
}

.accounting-alert-box-head h3 {
    font-size: 16px !important;
}

.accounting-alert-box-head > strong {
    font-size: 13px !important;
}

.accounting-alert-item > div:first-child strong {
    font-size: 15.5px !important;
}

.accounting-alert-item > div:first-child span {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
}

.accounting-alert-item small {
    font-size: 9.5px !important;
}

.accounting-alert-item b {
    font-size: 14px !important;
}

.accounting-more {
    font-size: 11px !important;
}

@media (max-width: 650px) {

    .accounting-alert-item {
        grid-template-columns:
            minmax(0,1fr) auto !important;
    }

    .accounting-alert-item .arrow {
        display: none !important;
    }

    .accounting-alert-item > div:first-child strong,
    .accounting-alert-item > div:first-child span {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }
}


/* =========================================================
   ALPHA 0.6 - MANDATI · RESTYLING V3
   Studio Legale La Rana & Associati
   ========================================================= */

/* CARD PRINCIPALE */
.economic-layout .mandate-card-collapsible {
    border: 1px solid #E1E5EA;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 2px 9px rgba(20,33,58,.035);
}

.economic-layout .mandate-card-collapsible[open] {
    border-color: rgba(176,138,67,.42);
    box-shadow: 0 8px 26px rgba(20,33,58,.075);
}

/* TESTATA */
.economic-layout .mandate-summary {
    border-radius: 13px 13px 0 0;
}

.economic-layout .mandate-summary-top {
    min-height: 92px;
    padding: 18px 20px 16px 24px;
    border-left: 4px solid #B08A43;
}

.economic-layout .mandate-summary h3 {
    margin: 8px 0 4px;
    color: #14213A;
    font-size: 18px;
    font-weight: 750;
    letter-spacing: -.15px;
}

.economic-layout .mandate-summary p {
    color: #727D8D;
    font-size: 11px;
}

.economic-layout .mandate-summary-index {
    font-size: 8.5px;
    letter-spacing: .75px;
}

.economic-layout .mandate-status {
    border-radius: 999px;
    padding: 4px 9px;
}

/* RESIDUO */
.economic-layout .mandate-summary .mandate-balance {
    min-width: 126px;
    padding: 8px 14px;
    border: 1px solid #E6E9ED;
    border-radius: 10px;
    background: #F8FAFC;
    text-align: right;
}

.economic-layout .mandate-summary .mandate-balance span {
    display: block;
    margin-bottom: 2px;
    color: #7D8795;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .65px;
    text-transform: uppercase;
}

.economic-layout .mandate-summary .mandate-balance strong {
    color: #14213A;
    font-size: 16px;
    font-weight: 780;
}

/* RIEPILOGO ECONOMICO */
.economic-layout .mandate-summary .mandate-numbers {
    background: #F7F8FA;
    border-top: 1px solid #E8EBEF;
}

.economic-layout .mandate-summary .mandate-numbers > div {
    min-height: 60px;
    padding: 11px 15px;
    border-right: 1px solid #E5E8EC;
}

.economic-layout .mandate-summary .mandate-numbers > div:last-child {
    border-right: 0;
}

.economic-layout .mandate-summary .mandate-numbers span {
    color: #89919D;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.economic-layout .mandate-summary .mandate-numbers strong {
    color: #26364E;
    font-size: 11.5px;
    font-weight: 720;
}

/* CORPO */
.economic-layout .mandate-card-body {
    padding: 18px 22px 22px;
    background: #FFFFFF;
}

/* TOOLBAR */
.economic-layout .mandate-card-body .proposal-actions,
.economic-layout .mandate-card-body .mandate-management-actions {
    margin: 0;
    padding: 0;
}

.economic-layout .mandate-card-body .proposal-actions {
    display: inline-flex;
    align-items: center;
    vertical-align: top;
}

.economic-layout .mandate-card-body .mandate-management-actions {
    display: flex;
    width: auto;
    min-height: 0;
    margin: -36px 0 18px auto;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    position: relative;
    z-index: 2;
}

.economic-layout .mandate-card-body .proposal-actions .button,
.economic-layout .mandate-card-body .mandate-management-actions .button,
.economic-layout .mandate-card-body .mandate-edit-details > summary {
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 9.5px;
}

.economic-layout .mandate-card-body
.mandate-management-actions:has(.mandate-edit-details[open]) {
    width: 100%;
    margin: 8px 0 18px;
    display: block;
}

/* NOTE */
.economic-layout .mandate-notes {
    margin: 0 0 14px;
    padding: 11px 14px;
    border-left: 3px solid #B08A43;
    border-radius: 0 8px 8px 0;
    background: #FCFAF6;
    color: #5F6977;
    font-size: 10.5px;
}

/* PIANO RATE E INCASSI */
.economic-layout .mandate-card-body .installments-section,
.economic-layout .mandate-card-body .payments-list {
    margin: 16px 0 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #E4E7EB;
    border-radius: 11px;
    background: #FFFFFF;
}

.economic-layout .mandate-card-body .installments-section {
    border-top: 3px solid #B08A43;
}

.economic-layout .mandate-card-body .payments-list {
    border-top: 3px solid #26364E;
}

/* TITOLI REGISTRI */
.economic-layout .installments-section .subsection-head,
.economic-layout .payments-list > h4 {
    margin: 0;
    padding: 12px 15px;
    background: #F8F9FB;
    border-bottom: 1px solid #E6E9ED;
}

.economic-layout .installments-section .subsection-head h4,
.economic-layout .payments-list > h4 {
    margin: 0;
    color: #26364E;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

/* RIGHE CONTABILI */
.economic-layout .installment-row,
.economic-layout .payment-row {
    margin: 0;
    padding: 11px 15px;
    border-bottom: 1px solid #EEF0F2;
    background: #FFFFFF;
}

.economic-layout .installment-row:last-of-type,
.economic-layout .payment-row:last-of-type {
    border-bottom: 0;
}

.economic-layout .installment-row:hover,
.economic-layout .payment-row:hover {
    background: #FBFCFD;
}

.economic-layout .installment-row strong,
.economic-layout .payment-row strong {
    color: #26364E;
    font-size: 11px;
    font-weight: 720;
}

.economic-layout .installment-row span,
.economic-layout .payment-row span {
    color: #7D8795;
    font-size: 9.5px;
}

/* IMPORTI */
.economic-layout .installment-amount,
.economic-layout .payment-amount {
    color: #14213A;
    font-size: 12px;
    font-weight: 780;
}

/* AGGIUNGI RATA / INCASSO */
.economic-layout .mandate-card-body .payment-details {
    margin: 10px 14px 14px;
    border: 1px dashed #D8DDE3;
    border-radius: 8px;
    background: #FAFBFC;
}

.economic-layout .mandate-card-body .payment-details summary {
    padding: 9px 11px;
    color: #536176;
    font-size: 9.5px;
    font-weight: 720;
}

.economic-layout .mandate-card-body .payment-details summary:hover {
    background: #FCFAF6;
    color: #92702F;
}

/* FORM MODIFICA */
.economic-layout .mandate-card-body .mandate-edit-form {
    margin-top: 10px;
    padding: 20px;
    border: 1px solid #E1E5EA;
    border-top: 3px solid #B08A43;
    border-radius: 10px;
    background: #FAFBFC;
}

/* SIDEBAR NUOVO MANDATO */
.economic-layout > aside .matter-side-panel {
    border: 1px solid #E1E5EA;
    border-top: 4px solid #B08A43;
    border-radius: 14px;
    box-shadow: 0 5px 20px rgba(20,33,58,.055);
}

.economic-layout > aside .matter-side-panel .panel-head h2 {
    color: #14213A;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .economic-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .economic-layout .mandate-card-body {
        padding: 15px;
    }

    .economic-layout .mandate-summary-top {
        padding: 16px;
        border-left-width: 3px;
    }

    .economic-layout .mandate-summary .mandate-balance {
        min-width: 0;
        flex: 1;
        text-align: left;
    }

    .economic-layout .mandate-card-body .proposal-actions {
        display: flex;
        width: 100%;
        margin-bottom: 8px;
    }

    .economic-layout .mandate-card-body .mandate-management-actions {
        width: 100%;
        margin: 0 0 15px;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .economic-layout .mandate-summary .mandate-numbers {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .economic-layout .mandate-summary .mandate-numbers > div {
        border-top: 1px solid #E5E8EC;
    }
}

@media (max-width: 480px) {
    .economic-layout .mandate-summary .mandate-numbers {
        grid-template-columns: 1fr;
    }

    .economic-layout .mandate-summary .mandate-numbers > div {
        border-right: 0;
    }

    .economic-layout .mandate-card-body .proposal-actions,
    .economic-layout .mandate-card-body .mandate-management-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .economic-layout .mandate-card-body .proposal-actions .button,
    .economic-layout .mandate-card-body .mandate-management-actions .button,
    .economic-layout .mandate-card-body .mandate-edit-details,
    .economic-layout .mandate-card-body .mandate-edit-details > summary {
        width: 100%;
    }
}

/* =========================================================
   FINE MANDATI · RESTYLING V3
   ========================================================= */


/* =========================================================
   ALPHA 0.6 - MANDATI V3
   RIFINITURA FASCIA METRICHE
   ========================================================= */

.economic-layout .mandate-summary .mandate-numbers {
    display: grid !important;
    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;

    align-items: stretch;

    overflow: hidden;
    border-top: 1px solid #E4E8EC !important;

    background:
        linear-gradient(
            180deg,
            #FAFBFC 0%,
            #F7F9FB 100%
        ) !important;
}

/* singola metrica */
.economic-layout .mandate-summary .mandate-numbers > div {
    position: relative;

    display: flex;
    min-width: 0;
    min-height: 68px !important;

    padding: 12px 15px !important;

    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    border-right: 1px solid #E4E8EC !important;
    border-top: 0 !important;
}

.economic-layout .mandate-summary .mandate-numbers > div:last-child {
    border-right: 0 !important;
}

/* etichette */
.economic-layout .mandate-summary .mandate-numbers span {
    display: block;

    min-height: 13px;
    margin: 0 0 6px !important;

    color: #8B94A1 !important;

    font-size: 8.5px !important;
    font-weight: 800 !important;

    line-height: 1.2;
    letter-spacing: .65px;
    text-transform: uppercase;
}

/* valori */
.economic-layout .mandate-summary .mandate-numbers strong {
    display: block;

    width: 100%;

    color: #24344D !important;

    font-size: 12px !important;
    font-weight: 720 !important;

    line-height: 1.3;
    letter-spacing: -.05px;

    overflow-wrap: anywhere;
}

/* Compenso */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(1) strong {
    color: #14213A !important;
    font-size: 13.5px !important;
    font-weight: 780 !important;
}

/* Incassato */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(2) {
    background: rgba(47,107,79,.025);
}

.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(2) strong {
    color: #315D49 !important;
    font-size: 13.5px !important;
    font-weight: 780 !important;
}

/* Modalità */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(3) strong {
    font-family: Georgia, serif;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}

/* Priorità */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(4) strong {
    color: #8B682D !important;
}

/* Recupero credito */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(5) strong {
    color: #536176 !important;
}

/* leggero accento superiore sulle due metriche economiche */
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(1)::before,
.economic-layout
.mandate-summary
.mandate-numbers > div:nth-child(2)::before {
    content: "";

    position: absolute;
    top: 0;
    left: 14px;
    right: 14px;

    height: 2px;
    border-radius: 0 0 2px 2px;

    background: rgba(176,138,67,.55);
}

/* responsive notebook */
@media (max-width: 1050px) {

    .economic-layout .mandate-summary .mandate-numbers {
        grid-template-columns:
            repeat(3, minmax(0,1fr)) !important;
    }

    .economic-layout .mandate-summary .mandate-numbers > div {
        border-bottom: 1px solid #E4E8EC;
    }

    .economic-layout
    .mandate-summary
    .mandate-numbers > div:nth-child(3) {
        border-right: 0 !important;
    }

    .economic-layout
    .mandate-summary
    .mandate-numbers > div:nth-child(n+4) {
        border-bottom: 0;
    }
}

/* responsive tablet */
@media (max-width: 720px) {

    .economic-layout .mandate-summary .mandate-numbers {
        grid-template-columns:
            repeat(2, minmax(0,1fr)) !important;
    }

    .economic-layout
    .mandate-summary
    .mandate-numbers > div:nth-child(odd) {
        border-right: 1px solid #E4E8EC !important;
    }

    .economic-layout
    .mandate-summary
    .mandate-numbers > div:nth-child(even) {
        border-right: 0 !important;
    }

    .economic-layout
    .mandate-summary
    .mandate-numbers > div:last-child {
        grid-column: 1 / -1;
        border-top: 1px solid #E4E8EC !important;
    }
}

/* smartphone */
@media (max-width: 480px) {

    .economic-layout .mandate-summary .mandate-numbers {
        grid-template-columns: 1fr !important;
    }

    .economic-layout .mandate-summary .mandate-numbers > div {
        min-height: 58px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #E4E8EC !important;
    }

    .economic-layout .mandate-summary .mandate-numbers > div:last-child {
        grid-column: auto;
        border-bottom: 0 !important;
    }
}


/* =========================================================
   ALPHA 0.6 - INCASSO RAPIDO
   LAYOUT DEFINITIVO A LARGHEZZA PIENA
   ========================================================= */

/*
   La sezione Contabilità contiene:
   1. Scadenze economiche
   2. Incasso rapido
   3. Promemoria pre-udienza

   Incasso rapido e pre-udienza devono utilizzare
   sempre tutta la larghezza disponibile.
*/

.accounting-columns {
    grid-template-columns: 1fr 1fr !important;
    align-items: start;
}

/* Scadenze economiche: riga superiore */
.accounting-columns > #rate {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Incasso rapido: riga autonoma a piena larghezza */
.accounting-columns > #incasso-rapido {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Pre-udienza: riga autonoma a piena larghezza */
.accounting-columns > #udienze {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}


/* ---------------------------------------------------------
   FORM INCASSO RAPIDO — DESKTOP
   --------------------------------------------------------- */

.quick-payment-form {
    display: grid !important;

    grid-template-columns:
        minmax(260px, 2fr)
        minmax(180px, 1.25fr)
        minmax(110px, .75fr)
        minmax(135px, .8fr) !important;

    gap: 12px !important;
    align-items: end !important;

    width: 100% !important;
    min-width: 0 !important;
}

/* Cliente / pratica / mandato occupa metà riga */
.quick-payment-mandate {
    grid-column: span 2 !important;
}

/* Tutti i campi rispettano la larghezza della cella */
.quick-payment-form label,
.quick-payment-form input,
.quick-payment-form select,
.quick-payment-search,
.quick-payment-submit {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Note più comode */
.quick-payment-notes {
    grid-column: span 2 !important;
}

/* Pulsante stabile e allineato */
.quick-payment-submit {
    display: flex !important;
    align-items: flex-end !important;
}

.quick-payment-submit .button {
    width: 100% !important;
    min-height: 40px !important;
}


/* ---------------------------------------------------------
   TABLET / FINESTRA MEDIA
   --------------------------------------------------------- */

@media (max-width: 1050px) {

    .accounting-columns {
        grid-template-columns: 1fr !important;
    }

    .quick-payment-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .quick-payment-mandate,
    .quick-payment-notes {
        grid-column: 1 / -1 !important;
    }
}


/* ---------------------------------------------------------
   SMARTPHONE / FINESTRA STRETTA
   --------------------------------------------------------- */

@media (max-width: 650px) {

    .quick-payment-form {
        grid-template-columns: 1fr !important;
    }

    .quick-payment-mandate,
    .quick-payment-notes,
    .quick-payment-submit {
        grid-column: 1 !important;
    }

    .quick-payment-panel .panel-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .quick-payment-hint {
        align-self: flex-start;
    }
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA
   RITMO VERTICALE UNIFORME BOX OPERATIVI
   ========================================================= */

/* distanza uniforme tra le tre sezioni operative */
.accounting-columns {
    row-gap: 16px !important;
    column-gap: 18px !important;
}

/* annulliamo i vecchi margini aggiuntivi che sommavano
   spazio al gap della griglia */
.accounting-columns > #rate,
.accounting-columns > #incasso-rapido,
.accounting-columns > #udienze {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* il vecchio quick-payment-panel aveva margin-bottom:20px */
.accounting-columns > .quick-payment-panel {
    margin-bottom: 0 !important;
}

/* il vecchio accounting-hearing-panel aveva margin-top:22/28px */
.accounting-columns > .accounting-hearing-panel {
    margin-top: 0 !important;
}

/* stessa respirazione interna delle intestazioni */
.accounting-columns > #rate > .panel-head,
.accounting-columns > #incasso-rapido > .panel-head,
.accounting-columns > #udienze > .panel-head {
    margin-bottom: 16px !important;
}

/* su schermi piccoli manteniamo lo stesso ritmo */
@media (max-width: 650px) {
    .accounting-columns {
        row-gap: 14px !important;
    }
}


/* =========================================================
   ALPHA 0.6 - CONTABILITA
   KPI PULITI + AZIONI OPERATIVE
   ========================================================= */

.accounting-operational-actions {
    margin: 0 0 18px;
    padding: 16px 18px 18px;

    border: 1px solid #E1E5EA;
    border-top: 3px solid #14213A;
    border-radius: 12px;

    background: #FFFFFF;

    box-shadow: 0 4px 14px rgba(20,33,58,.035);
}

.accounting-operational-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 12px;
    padding-bottom: 10px;

    border-bottom: 1px solid #E8EBEF;
}

.accounting-operational-head .eyebrow {
    color: #9A7637;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .75px;
}

.accounting-operational-head h2 {
    margin: 3px 0 0;

    color: #14213A;

    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;
}

.accounting-operational-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}

.accounting-operational-card {
    position: relative;

    display: flex;
    min-width: 0;
    min-height: 82px;

    padding: 13px 42px 13px 14px;

    flex-direction: column;
    justify-content: center;

    border: 1px solid #E3E7EB;
    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #FFFFFF 0%,
            #FAFBFC 100%
        );

    color: inherit;
    text-decoration: none;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.accounting-operational-card:hover {
    transform: translateY(-1px);
    border-color: rgba(176,138,67,.48);
    box-shadow: 0 5px 14px rgba(20,33,58,.055);
}

.accounting-operational-card > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.accounting-operational-card > div > span {
    color: #26364E;
    font-size: 11px;
    font-weight: 750;
}

.accounting-operational-card > div > strong {
    display: grid;
    place-items: center;

    min-width: 30px;
    height: 30px;
    padding: 0 8px;

    border-radius: 999px;

    background: #14213A;
    color: #FFFFFF;

    font-size: 11px;
    font-weight: 800;
}

.accounting-operational-card small {
    display: block;

    margin-top: 5px;

    color: #7C8795;

    font-size: 9.5px;
    line-height: 1.4;
}

.accounting-operational-arrow {
    position: absolute;
    right: 14px;
    top: 50%;

    transform: translateY(-50%);

    color: #B08A43;

    font-size: 16px;
    font-weight: 600;
}

@media (max-width: 760px) {
    .accounting-operational-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   ALPHA 0.6 - DASHBOARD GERARCHIA OPERATIVA 20260830
   ========================================================= */

/* Testata più compatta */
.daily-welcome {
    gap: 14px !important;
    margin-bottom: 14px !important;
}

.daily-welcome-date {
    min-width: 185px !important;
    padding: 12px 16px !important;
}

.daily-quote {
    padding: 12px 18px !important;
}

.daily-quote p {
    margin-bottom: 4px !important;
    font-size: 23px !important;
}

.dashboard-hero {
    padding-top: 0 !important;
}

/* Menu unico per le nuove anagrafiche e pratiche */
.dashboard-new-menu {
    position: relative;
    z-index: 2;
}

.dashboard-new-menu > summary {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    list-style: none;
    cursor: pointer;
}

.dashboard-new-menu > summary::-webkit-details-marker {
    display: none;
}

.dashboard-new-menu-popover {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    display: grid;
    min-width: 190px;
    padding: 6px;
    border: 1px solid #D9DEE5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 14px 32px rgba(20,33,58,.14);
}

.dashboard-new-menu-popover a {
    padding: 10px 11px;
    border-radius: 7px;
    color: #23324A;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.dashboard-new-menu-popover a:hover {
    background: #F7F4ED;
    color: #806126;
}

/* Anteprima 8-20 giorni: riga cliccabile, azione visiva leggera */
.dashboard-event-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #A17C35;
    font-size: 18px;
    transition: transform .15s ease;
}

.dashboard-event-row:hover .dashboard-event-arrow {
    transform: translateX(3px);
}

/* Agenda critica compatta quando non contiene elementi */
.dashboard-critical-agenda.dashboard-critical-empty {
    margin-top: 18px;
    margin-bottom: 18px;
    padding: 15px 20px !important;
    border: 1px solid #DCE6DF !important;
    border-top: 3px solid #5C846A !important;
    background: linear-gradient(180deg,#FBFDFC 0%,#F7FAF8 100%) !important;
}

.dashboard-critical-empty-content {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 13px;
}

.dashboard-critical-empty-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #E9F3EC;
    color: #477158;
    font-size: 18px;
    font-weight: 850;
}

.dashboard-critical-empty-content > div {
    display: grid;
    gap: 3px;
}

.dashboard-critical-empty-content strong {
    color: #263B30;
    font-family: Georgia, serif;
    font-size: 17px;
}

.dashboard-critical-empty-content small {
    color: #66766C;
    font-size: 11.5px;
}

.dashboard-critical-empty-content > a {
    color: #52705D;
    font-size: 11.5px;
    font-weight: 750;
    text-decoration: none;
}

.dashboard-critical-summary {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

.dashboard-critical-type.reminder {
    background: rgba(154,118,55,.13);
    color: #7B5D25;
}

/* Monitoraggio: PEC, approvazioni e report */
.dashboard-monitor-grid {
    grid-template-columns: repeat(auto-fit,minmax(245px,1fr)) !important;
}

.dashboard-monitor-card.report {
    grid-template-columns: 46px minmax(0,1fr) auto;
    column-gap: 13px;
    border: 1px solid #D7C18F;
    border-left: 3px solid #8B6B2E;
    background: linear-gradient(135deg,#FFFDF8 0%,#F8F2E5 100%);
    box-shadow: 0 6px 18px rgba(139,107,46,.08);
}

.dashboard-monitor-card.report .dashboard-monitor-icon {
    background: #8B6B2E;
    color: #FFFFFF;
}

.dashboard-monitor-card.report .dashboard-monitor-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-monitor-card.report .dashboard-monitor-main > span {
    color: #8B6B2E;
}

.dashboard-monitor-card.report .dashboard-monitor-main > strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.15;
}

.dashboard-report-action {
    align-self: center;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 7px 10px;
    border: 1px solid rgba(139,107,46,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #765923;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.dashboard-monitor-card.report:hover {
    border-color: #B49351;
    box-shadow: 0 9px 22px rgba(139,107,46,.13);
}

/* Contrasto dei metadati operativi */
.dashboard-event-main small,
.dashboard-hearing-main small,
.recent-cases-grid .case-info span,
.dashboard-focus-item small {
    color: #657183 !important;
}

.dashboard-control-studio-actions {
    grid-template-columns: minmax(0,410px) !important;
}

@media (max-width: 850px) {
    .dashboard-new-menu,
    .dashboard-new-menu > summary {
        width: 100%;
    }

    .dashboard-new-menu-popover {
        left: 0;
        right: auto;
        width: min(260px,100%);
    }

    .dashboard-critical-empty-content {
        grid-template-columns: 38px minmax(0,1fr);
    }

    .dashboard-critical-empty-content > a {
        grid-column: 1 / -1;
        padding-left: 51px;
    }

    .dashboard-critical-summary {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}


/* =========================================================
   ALPHA 0.6 - COERENZA VISIVA TRASVERSALE 20260830
   ========================================================= */

/* Titoli principali: stesso linguaggio tipografico delle aree operative. */
.accounting-heading h1,
.tasks-page-head h1,
.security-page-head h1 {
    color: #14213A;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.12;
}

/* Schede operative: raggio uniforme nelle tre sezioni precedentemente difformi. */
.accounting-page .panel,
.accounting-kpi,
.accounting-operational-card,
.tasks-page-row,
.security-status-card,
.security-admin-card,
.security-emergency-card,
.security-action-card,
.security-recovery-result {
    border-radius: 14px;
}

@media (max-width: 760px) {
    .accounting-heading h1,
    .tasks-page-head h1,
    .security-page-head h1 {
        font-size: 31px;
    }
}


/* =========================================================
   AREA SEGRETERIA - ATTIVITA ASSEGNATE (restyling 20260831)
   ========================================================= */

.secretary-task-panel .secretary-task-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.secretary-task-panel .secretary-task-row,
.secretary-task-panel .secretary-task-row.overdue,
.secretary-task-panel .secretary-task-row.today,
.secretary-task-panel .secretary-task-row.high:not(.overdue):not(.today) {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    align-content: start;
    column-gap: 14px !important;
    row-gap: 10px !important;
    min-width: 0;
    min-height: 100% !important;
    padding: 15px !important;
    border: 1px solid #dfe4ea !important;
    border-left: 3px solid #b08a43 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 7px 20px rgba(23, 37, 61, .06) !important;
    color: inherit;
}

.secretary-task-panel .secretary-task-row.overdue {
    border-left-color: #b54747 !important;
}

.secretary-task-panel .secretary-task-row.today {
    border-left-color: #b08a43 !important;
}

.secretary-task-panel .secretary-task-main {
    min-width: 0;
}

.secretary-task-panel .secretary-task-card-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #edf0f3;
}

.secretary-task-panel .secretary-task-card-actions .tasks-page-action {
    min-height: 36px;
    padding: 7px 11px;
}

@media (max-width: 1050px) {
    .secretary-task-panel .secretary-task-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .secretary-task-panel .secretary-task-card-actions {
        justify-content: stretch;
    }

    .secretary-task-panel .secretary-task-card-actions .tasks-page-action {
        flex: 1 1 145px;
    }
}

/* Override finale: dimensioni coerenti nel registro incassi */
.economic-ledger-card .payment-ledger-row form.economic-payment-edit > button.button.primary {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    min-height: 32px !important;
    justify-self: start !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
}

/* Override finale: metadati delle schede operative più leggibili */
.appointment-detail-hero .operational-case-context strong,
.appointment-detail-hero .operational-case-context span,
.task-detail-hero .operational-case-context strong,
.task-detail-hero .operational-case-context span,
.hero .operational-case-context strong,
.hero .operational-case-context span {
    min-height: 32px !important;
    padding: 7px 12px !important;
    color: #26364d !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

.appointment-detail-hero .operational-case-context strong,
.task-detail-hero .operational-case-context strong,
.hero .operational-case-context strong {
    color: #14213a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Registro incassi: usa tutta la larghezza disponibile */
.economic-ledger-card .payment-ledger-row form.economic-payment-edit {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    position: static !important;
}

.economic-ledger-card .payment-ledger-row form.economic-payment-edit > .payment-edit-grid {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 18px !important;
    width: 100% !important;
}

.economic-ledger-card .payment-ledger-row form.economic-payment-edit > button.button.primary {
    min-height: 38px !important;
    margin-top: 14px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
}

@media (max-width: 900px) {
    .economic-ledger-card .payment-ledger-row form.economic-payment-edit > .payment-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .economic-ledger-card .payment-ledger-row form.economic-payment-edit > .payment-edit-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   APPUNTAMENTO - WORKSPACE ARMONIOSO
   ========================================================= */

.appointment-spatial-page {
    display:grid;
    gap:18px;
    padding-bottom:30px;
}

.appointment-spatial-page > .hero,
.appointment-spatial-page > .panel,
.appointment-spatial-page .appointment-action-grid > .panel {
    margin:0 !important;
}

.appointment-spatial-page .appointment-detail-hero {
    min-height:190px;
    padding:30px 34px !important;
    border:1px solid rgba(177,151,96,.18) !important;
    background:
        radial-gradient(circle at 88% 8%,rgba(205,177,112,.16),transparent 32%),
        linear-gradient(135deg,#ffffff 0%,#f7f8fa 100%) !important;
    box-shadow:0 22px 55px rgba(21,34,57,.09) !important;
}

.appointment-spatial-page .appointment-detail-hero h1 {
    margin:7px 0 13px !important;
    font-size:clamp(32px,3vw,46px) !important;
    letter-spacing:-.04em;
}

.appointment-spatial-page .appointment-detail-hero > div:first-child > p {
    margin:14px 0 0;
    color:#526071 !important;
    font-size:15px !important;
    font-weight:700;
}

.appointment-spatial-page .appointment-status-panel {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:18px 28px;
    padding:22px 26px !important;
    border-left:4px solid #b08a43 !important;
    box-shadow:0 14px 36px rgba(21,34,57,.06) !important;
}

.appointment-spatial-page .appointment-status-panel .panel-head {
    margin:0;
}

.appointment-spatial-page .appointment-status-panel form {
    grid-column:2;
    grid-row:1;
    margin-top:34px;
}

.appointment-action-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    align-items:start;
}

.appointment-action-grid > .panel {
    min-width:0;
    padding:27px !important;
    border:1px solid #e2e7ee !important;
    border-top:0 !important;
    box-shadow:0 16px 42px rgba(21,34,57,.07) !important;
}

.appointment-action-grid .hearing-postpone-panel {
    background:linear-gradient(180deg,#fffdf8,#fff 34%) !important;
}

.appointment-action-grid .hearing-followup-panel {
    margin-top:0 !important;
    padding-top:27px !important;
    background:linear-gradient(180deg,#f7faff,#fff 34%) !important;
}

.appointment-action-grid .hearing-followup-panel::before,
.appointment-action-grid .hearing-followup-panel::after {
    display:none !important;
}

.appointment-action-grid .hearing-postpone-panel::before,
.appointment-action-grid .hearing-followup-panel::before {
    content:"";
    display:block !important;
    position:absolute;
    inset:0 0 auto 0;
    width:auto;
    height:4px;
    border:0;
    border-radius:22px 22px 0 0;
    background:#b08a43;
}

.appointment-action-grid .hearing-followup-panel::before {
    background:#355f8d;
}

.appointment-action-grid .panel-head h2 {
    font-size:24px !important;
    letter-spacing:-.025em;
}

.appointment-action-grid .hearing-postpone-help,
.appointment-action-grid .hearing-followup-help {
    min-height:62px;
    margin-bottom:18px;
    font-size:13px;
    line-height:1.55;
}

.appointment-action-grid .hearing-postpone-form,
.appointment-action-grid .hearing-followup-form {
    margin-top:0;
    padding:0;
    border:0;
    background:transparent;
    gap:15px;
}

.appointment-action-grid textarea {
    min-height:92px;
}

.appointment-edit-disclosure {
    max-width:none !important;
    padding:0 !important;
    overflow:hidden;
    border:1px solid #dde3eb !important;
    box-shadow:0 14px 38px rgba(21,34,57,.06) !important;
}

.appointment-edit-summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:24px 28px;
    cursor:pointer;
    list-style:none;
    background:linear-gradient(135deg,#fff,#f6f8fb);
}

.appointment-edit-summary::-webkit-details-marker { display:none; }
.appointment-edit-summary h2 { margin:4px 0 3px;font-size:23px; }
.appointment-edit-summary p { margin:0;color:#697587;font-size:13px; }
.appointment-edit-summary:hover { background:#f4f7fb; }

.appointment-edit-chevron {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 auto;
    border-radius:50%;
    background:#14213a;
    color:#fff;
    font-size:22px;
    transition:transform .2s ease;
}

.appointment-edit-disclosure[open] .appointment-edit-chevron {
    transform:rotate(180deg);
}

.appointment-edit-content {
    padding:26px 28px 28px;
    border-top:1px solid #e3e7ed;
}

@media (max-width:1050px) {
    .appointment-action-grid { grid-template-columns:1fr; }
    .appointment-action-grid .hearing-postpone-help,
    .appointment-action-grid .hearing-followup-help { min-height:0; }
}

@media (max-width:700px) {
    .appointment-spatial-page { gap:12px; }
    .appointment-spatial-page .appointment-detail-hero { padding:23px 20px !important; }
    .appointment-spatial-page .appointment-status-panel {
        grid-template-columns:1fr;
        padding:20px !important;
    }
    .appointment-spatial-page .appointment-status-panel form {
        grid-column:1;
        grid-row:auto;
        margin-top:0;
    }
    .appointment-action-grid > .panel { padding:22px 19px !important; }
    .appointment-edit-summary,.appointment-edit-content { padding:21px 19px; }
    .appointment-edit-form { grid-template-columns:1fr; }
    .appointment-edit-form .wide { grid-column:auto; }
}

/* Agenda critica: separa visivamente il tipo dal titolo dell'impegno. */
.dashboard-critical-list .dashboard-critical-row {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  column-gap: 18px !important;
}

/* Shared header: balanced controls across the available width. */
.topbar { height:auto; min-height:70px; padding:14px 28px; justify-content:space-between; gap:20px; }
.topbar .top-actions { display:flex; width:100%; min-width:0; flex:1; align-items:center; gap:24px; flex-wrap:wrap; }
.topbar .secretary-view-form { margin:0; flex:0 0 auto; }
.topbar .global-current-date { display:flex; flex:0 1 auto; margin:0; min-width:0; }
.topbar .global-search { margin-left:auto; flex:1 1 260px; width:auto; max-width:560px; min-width:0; }
.topbar .global-search input { min-width:0; width:100%; }
.topbar .notification-center { flex:0 0 auto; }
@media(max-width:1100px) { .topbar { padding:12px 18px; } .topbar .top-actions { gap:14px; } .topbar .global-search { max-width:none; } }
@media(max-width:600px) { .topbar .top-actions { gap:12px; } .topbar .global-current-date { flex:1; } .topbar .global-current-date strong { font-size:11px; white-space:normal; } .topbar .global-search { order:4; flex:1 0 100%; box-sizing:border-box; } .topbar .global-search kbd { display:none; } .topbar .notification-dropdown { width:min(360px,calc(100vw - 36px)); right:0; } }

.topbar .global-search { display:flex; }

/* Dashboard: giorno esplicito e riferimenti essenziali dell'impegno. */
.dashboard-focus-time {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.dashboard-focus-time strong {
    color: #9A7735;
    font-size: 8px;
    letter-spacing: .08em;
}

.dashboard-focus-time span {
    color: #14213A;
    font-size: 10px;
    font-weight: 800;
}

.dashboard-focus-main .dashboard-focus-client-area,
.dashboard-focus-main .dashboard-focus-court {
    display: block;
    margin-top: 3px;
    color: #727E8F;
    font-size: 8.5px;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.dashboard-focus-main .dashboard-focus-court {
    color: #4E5D72;
    font-weight: 650;
}
.topbar .secretary-view-button { display:inline-flex; }
@media(max-width:600px) {
 .topbar .top-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
 .topbar .secretary-view-form { grid-column:1; grid-row:1; }
 .topbar .notification-center { grid-column:2; grid-row:1; }
 .topbar .global-current-date { grid-column:1 / -1; grid-row:2; justify-content:flex-start; border:0; }
 .topbar .global-search { grid-column:1 / -1; grid-row:3; width:100%; margin:0; }
}


/* Archivio clienti a due colonne e allegati con trascinamento */
.clients-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.client-type-column { min-width:0; }
.client-type-column .client-row { grid-template-columns:42px minmax(0,1fr) auto; gap:12px; }
.client-type-column .client-contact { grid-column:2; min-width:0; }
.client-type-column .client-row > div:nth-of-type(4) { grid-column:2; }
.client-type-column .practice-arrow { grid-column:3; grid-row:1 / span 3; }
.message-attachments-field { border:1px dashed #b08a43; border-radius:12px; padding:14px; background:#fffdf8; cursor:pointer; transition:border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.message-attachments-field.is-dragging { border-color:#14213a; background:#f2f5f9; box-shadow:0 0 0 3px rgba(176,138,67,.14); }
.message-dropzone-content { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:70px; text-align:center; color:#526075; }
.message-dropzone-content strong { color:#14213a; font-size:14px; }
.message-dropzone-content span { margin-top:3px; font-size:12px; }
.message-attachments-field input[type="file"] { width:1px; height:1px; padding:0; border:0; opacity:0; position:absolute; }
.notification-case-context { color:#8a6727 !important; font-weight:750; }
@media (max-width:1100px) { .clients-directory-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .client-type-column .client-row { grid-template-columns:38px minmax(0,1fr) auto; } }


/* =========================================================
   ALPHA 0.6 · SISTEMA AREE + INTERFACCIA APPLE FRIENDLY
   Colori usati come segnale discreto, non come sfondo dominante.
   ========================================================= */
:root {
    --ui-surface: rgba(255,255,255,.92);
    --ui-surface-solid: #ffffff;
    --ui-border: rgba(20,33,58,.10);
    --ui-shadow: 0 10px 30px rgba(20,33,58,.075);
    --ui-shadow-hover: 0 16px 38px rgba(20,33,58,.11);
    --ui-radius: 18px;
    --ui-radius-small: 12px;
    --area-penale: #b08a43;
    --area-penale-soft: #fbf6eb;
    --area-civile: #4f8069;
    --area-civile-soft: #edf6f1;
    --area-amministrativo: #7563a6;
    --area-amministrativo-soft: #f2effa;
    --area-esecuzione: #a94f55;
    --area-esecuzione-soft: #fbeff0;
    --area-stragiudiziale: #4f91b5;
    --area-stragiudiziale-soft: #edf7fb;
    --area-tributario: #446f9e;
    --area-tributario-soft: #eef4fb;
}
html { background:#eef1f5; }
body {
    background: linear-gradient(145deg,#f7f8fa 0%,#eef2f6 54%,#f7f5f0 100%);
    color:#172238;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.topbar {
    background:rgba(255,255,255,.82) !important;
    border-bottom:1px solid rgba(20,33,58,.08) !important;
    box-shadow:0 6px 22px rgba(20,33,58,.045);
    backdrop-filter:saturate(170%) blur(18px) !important;
    -webkit-backdrop-filter:saturate(170%) blur(18px) !important;
}
.sidebar {
    background:linear-gradient(180deg,#111b2d 0%,#17263d 100%) !important;
    box-shadow:10px 0 35px rgba(9,19,34,.12);
}
.side-nav a { border-radius:12px !important; min-height:42px; }
.side-nav a.active {
    background:rgba(255,255,255,.105) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.content { max-width:1540px; margin-inline:auto; }
.panel,
.hero,
.matter-header,
.daily-welcome-date,
.daily-quote {
    border-radius:var(--ui-radius) !important;
    border-color:var(--ui-border) !important;
    background-color:var(--ui-surface) !important;
    box-shadow:var(--ui-shadow) !important;
}
.panel { overflow:clip; }
.panel:has(.quick-payment-results:not([hidden])),
.panel:has(.client-autocomplete-results:not([hidden])) { overflow:visible; }
.button,
button,
input,
select,
textarea { font-family:inherit; }
.button {
    min-height:42px;
    border-radius:12px !important;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease !important;
}
.button:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(20,33,58,.10); }
.button:active { transform:scale(.985); }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    border-radius:12px !important;
    border-color:rgba(20,33,58,.14) !important;
    background:#fff !important;
    transition:border-color .15s ease,box-shadow .15s ease !important;
}
input:not([type="checkbox"]):not([type="radio"]):focus, select:focus, textarea:focus {
    outline:none !important;
    border-color:rgba(62,101,151,.48) !important;
    box-shadow:0 0 0 4px rgba(73,116,169,.10) !important;
}
.notification-dropdown,
.dashboard-new-menu-popover,
.user-menu-popover {
    border-radius:16px !important;
    box-shadow:0 22px 55px rgba(20,33,58,.18) !important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.practice-table-row,
.case-row,
.agenda-operational-row,
.dashboard-event-row,
.dashboard-hearing-row,
.dashboard-focus-item {
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease !important;
}
.practice-table-row:hover,
.case-row:hover,
.agenda-operational-row:hover,
.dashboard-event-row:hover,
.dashboard-hearing-row:hover,
.dashboard-focus-item:hover { transform:translateY(-1px); }

/* Tavolozza delle aree: pillole chiare e un solo accento laterale. */
.area-badge { --area-color:#718096; --area-soft:#f2f4f7; border:1px solid color-mix(in srgb,var(--area-color) 32%,transparent) !important; background:var(--area-soft) !important; color:var(--area-color) !important; font-weight:800 !important; }
.area-badge.area-penale { --area-color:var(--area-penale); --area-soft:var(--area-penale-soft); }
.area-badge.area-civile { --area-color:var(--area-civile); --area-soft:var(--area-civile-soft); }
.area-badge.area-amministrativo { --area-color:var(--area-amministrativo); --area-soft:var(--area-amministrativo-soft); }
.area-badge.area-tributario { --area-color:var(--area-tributario); --area-soft:var(--area-tributario-soft); }
.area-badge[class*="area-esecuzione-penale"] { --area-color:var(--area-esecuzione); --area-soft:var(--area-esecuzione-soft); }
.area-badge.area-stragiudiziale { --area-color:var(--area-stragiudiziale); --area-soft:var(--area-stragiudiziale-soft); }
.area-tone-penale { --case-accent:var(--area-penale); --case-soft:var(--area-penale-soft); }
.area-tone-civile { --case-accent:var(--area-civile); --case-soft:var(--area-civile-soft); }
.area-tone-amministrativo { --case-accent:var(--area-amministrativo); --case-soft:var(--area-amministrativo-soft); }
.area-tone-tributario { --case-accent:var(--area-tributario); --case-soft:var(--area-tributario-soft); }
[class*="area-tone-esecuzione-penale"] { --case-accent:var(--area-esecuzione); --case-soft:var(--area-esecuzione-soft); }
.area-tone-stragiudiziale { --case-accent:var(--area-stragiudiziale); --case-soft:var(--area-stragiudiziale-soft); }
.practice-table-row[class*="area-tone-"],
.case-row[class*="area-tone-"] { border-left:4px solid var(--case-accent,#8b96a7) !important; }
.practice-table-row[class*="area-tone-"]:hover,
.case-row[class*="area-tone-"]:hover { background:linear-gradient(90deg,var(--case-soft,#f7f8fa) 0%,#fff 22%) !important; box-shadow:var(--ui-shadow-hover) !important; }
.cases-area-kpi-card[class*="area-tone-"] { border-top:3px solid var(--case-accent,#8b96a7) !important; background:linear-gradient(180deg,var(--case-soft,#f7f8fa),#fff 45%) !important; }
.cases-area-kpi-card[class*="area-tone-"] .cases-area-kpi-icon { color:var(--case-accent,#718096) !important; }
.cases-area-kpi-card[class*="area-tone-"].active { box-shadow:0 0 0 2px color-mix(in srgb,var(--case-accent) 28%,transparent),var(--ui-shadow) !important; }
.matter-header[class*="area-tone-"] { position:relative; overflow:hidden; border-top:4px solid var(--case-accent,#8b96a7) !important; background:linear-gradient(120deg,var(--case-soft,#f7f8fa) 0%,rgba(255,255,255,.96) 34%) !important; }

@media (max-width:900px) {
    .workspace-tabs-v2 { overflow-x:auto; flex-wrap:nowrap !important; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
    .workspace-tabs-v2::-webkit-scrollbar { display:none; }
    .workspace-tab { min-height:44px; white-space:nowrap; }
    .panel,.hero,.matter-header { border-radius:16px !important; }
}
@media (max-width:600px) {
    body { background:#f4f6f8; }
    .content { padding-left:14px !important; padding-right:14px !important; }
    .panel,.hero,.matter-header { border-radius:15px !important; box-shadow:0 7px 20px rgba(20,33,58,.065) !important; }
    .button { min-height:44px; }
    .practice-table-row[class*="area-tone-"],.case-row[class*="area-tone-"] { border-left-width:3px !important; }
}

/* Dashboard: testata leggibile e gerarchia più curata. */
.daily-welcome {
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.daily-welcome-date {
    color:#fff !important;
    background:linear-gradient(145deg,#14213a 0%,#223756 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 10px 28px rgba(20,33,58,.14) !important;
    font-family:inherit !important;
    font-size:14px !important;
    font-weight:750 !important;
    letter-spacing:.015em;
}
.daily-quote {
    background:linear-gradient(145deg,rgba(251,250,247,.96),rgba(255,255,255,.94)) !important;
}
.dashboard-hero {
    position:relative;
    padding:22px 24px 22px 28px !important;
    border:1px solid rgba(20,33,58,.08) !important;
    background:linear-gradient(120deg,rgba(255,255,255,.97) 0%,rgba(247,249,252,.94) 72%,rgba(247,242,230,.72) 100%) !important;
    box-shadow:0 12px 34px rgba(20,33,58,.075) !important;
    overflow:visible !important;
}
.dashboard-hero::before {
    content:"";
    position:absolute;
    left:0;
    top:20px;
    bottom:20px;
    width:4px;
    border-radius:0 4px 4px 0;
    background:linear-gradient(180deg,#c6a35e,#92702f);
}
.dashboard-hero h1 {
    margin:4px 0 7px !important;
    color:#14213a !important;
    font-size:32px !important;
    line-height:1.12 !important;
    font-weight:680 !important;
    letter-spacing:-.025em !important;
}
.dashboard-hero .eyebrow {
    color:#8e6c2c !important;
    letter-spacing:.12em !important;
}
.dashboard-hero p { color:#637084 !important; }

@media (max-width:850px) {
    .daily-welcome { grid-template-columns:1fr !important; }
    .daily-welcome-date { min-height:54px; }
    .dashboard-hero { padding:20px 20px 20px 24px !important; }
    .dashboard-hero h1 { font-size:28px !important; }
}

/* =========================================================
   DASHBOARD · SPATIAL DOCK 20260914
   Esperienza isolata alla home: contenuti e logica invariati.
   ========================================================= */
.dashboard-spatial-page {
    --spatial-navy:#101c31;
    --spatial-navy-2:#1c3150;
    --spatial-gold:#c5a35e;
    --spatial-glass:rgba(255,255,255,.74);
    --spatial-line:rgba(255,255,255,.58);
    --spatial-shadow:0 22px 60px rgba(21,37,61,.11);
    background:
        radial-gradient(circle at 18% 4%,rgba(211,190,146,.24),transparent 28%),
        radial-gradient(circle at 91% 24%,rgba(121,158,193,.20),transparent 32%),
        linear-gradient(145deg,#edf1f6 0%,#f8f7f4 48%,#e8eef4 100%);
}
.dashboard-spatial-page .app-shell { display:block; }
.dashboard-spatial-page .sidebar { display:none !important; }
.dashboard-spatial-page .workspace {
    position:relative;
    margin-left:0 !important;
    width:100% !important;
    overflow:hidden;
}
.dashboard-spatial-page .topbar {
    top:14px;
    z-index:40;
    width:calc(100% - 44px);
    max-width:1540px;
    min-height:64px;
    margin:14px auto 0;
    padding:11px 18px !important;
    border:1px solid rgba(255,255,255,.72) !important;
    border-radius:20px;
    background:rgba(250,251,252,.70) !important;
    box-shadow:0 16px 44px rgba(21,37,61,.10) !important;
    backdrop-filter:saturate(165%) blur(24px) !important;
    -webkit-backdrop-filter:saturate(165%) blur(24px) !important;
}
.dashboard-topbar-brand { display:flex;align-items:center;gap:9px;flex:0 0 auto;color:#14213a;text-decoration:none; }
.dashboard-topbar-brand > span { display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#14213a;color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em; }
.dashboard-topbar-brand > strong { font-size:12px;font-weight:750;white-space:nowrap; }
.dashboard-spatial-page .topbar .top-actions { width:auto; }
.dashboard-spatial-page .global-current-date { display:none !important; }
.dashboard-spatial-page .main-content {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
    gap:18px;
    max-width:1584px;
    padding:32px 22px 150px;
}
.dashboard-spatial-page .main-content > * { grid-column:1 / -1; min-width:0; }
.dashboard-spatial-page .dashboard-spatial-intro {
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
    gap:18px;
    align-items:stretch;
}
.dashboard-spatial-page .dashboard-spatial-atmosphere {
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
}
.dashboard-spatial-atmosphere span { position:absolute; border-radius:50%; filter:blur(2px); opacity:.7; }
.dashboard-spatial-atmosphere span:nth-child(1) { width:430px;height:430px;left:-170px;top:160px;background:radial-gradient(circle,rgba(198,164,94,.22),transparent 68%); }
.dashboard-spatial-atmosphere span:nth-child(2) { width:520px;height:520px;right:-210px;top:260px;background:radial-gradient(circle,rgba(87,132,176,.20),transparent 68%); }
.dashboard-spatial-atmosphere span:nth-child(3) { width:380px;height:380px;left:43%;bottom:-210px;background:radial-gradient(circle,rgba(105,139,119,.16),transparent 68%); }

/* Hero a due pannelli: saluto e data/frase. */
.dashboard-spatial-page .dashboard-hero {
    grid-column:1;
    grid-row:1;
    display:flex !important;
    flex-direction:column;
    align-items:flex-start !important;
    justify-content:space-between !important;
    min-height:238px;
    margin:0 !important;
    padding:34px !important;
    color:#fff;
    border:1px solid rgba(255,255,255,.13) !important;
    border-radius:30px !important;
    background:
        radial-gradient(circle at 88% 12%,rgba(198,164,94,.24),transparent 30%),
        linear-gradient(135deg,var(--spatial-navy),var(--spatial-navy-2)) !important;
    box-shadow:0 28px 70px rgba(12,27,48,.22) !important;
    overflow:visible !important;
}
.dashboard-spatial-page .dashboard-hero::before { display:none; }
.dashboard-spatial-page .dashboard-hero .eyebrow { color:#dcc58f !important; }
.dashboard-spatial-page .dashboard-hero h1 {
    max-width:720px;
    margin:8px 0 10px !important;
    color:#fff !important;
    font-size:clamp(34px,3.2vw,52px) !important;
    font-weight:560 !important;
    letter-spacing:-.045em !important;
}
.dashboard-spatial-page .dashboard-hero p { max-width:650px;color:rgba(255,255,255,.67) !important;font-size:15px; }
.dashboard-spatial-page .dashboard-hero .hero-actions { width:100%;justify-content:flex-start;gap:10px;margin-top:25px; }
.dashboard-spatial-page .dashboard-hero .button { border-color:rgba(255,255,255,.18) !important; }
.dashboard-spatial-page .dashboard-hero .button.secondary { color:#fff !important;background:rgba(255,255,255,.09) !important; }
.dashboard-spatial-page .dashboard-hero .hero-actions .button.secondary:hover,
.dashboard-spatial-page .dashboard-hero .hero-actions .button.secondary:focus-visible {
    color:#fff !important;
    background:rgba(255,255,255,.19) !important;
    border-color:rgba(220,197,143,.92) !important;
    box-shadow:0 10px 24px rgba(3,12,27,.22),inset 0 1px 0 rgba(255,255,255,.18) !important;
    transform:translateY(-1px);
}
.dashboard-spatial-page .dashboard-hero .quick-entry-primary { margin-left:auto;background:#fff !important;color:#14213a !important;box-shadow:0 12px 30px rgba(0,0,0,.16) !important; }

.dashboard-spatial-page .daily-welcome {
    grid-column:2;
    grid-row:1;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto 1fr;
    gap:12px !important;
    min-height:238px;
    margin:0 !important;
}
.dashboard-spatial-page .daily-welcome-date {
    min-width:0 !important;
    min-height:64px;
    padding:18px 22px !important;
    color:#21304a !important;
    border:1px solid var(--spatial-line) !important;
    border-radius:22px !important;
    background:var(--spatial-glass) !important;
    box-shadow:var(--spatial-shadow) !important;
    backdrop-filter:blur(22px);
}
.dashboard-spatial-page .daily-quote {
    min-height:0;
    padding:25px !important;
    border:1px solid var(--spatial-line) !important;
    border-radius:26px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(250,247,239,.72)) !important;
    box-shadow:var(--spatial-shadow) !important;
    backdrop-filter:blur(22px);
}
.dashboard-spatial-page .daily-quote p { font-size:clamp(19px,1.55vw,25px) !important;line-height:1.2; }

/* KPI sospesi e pannelli Bento. */
.dashboard-spatial-page .dashboard-metrics {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:0 !important;
}
.dashboard-spatial-page .dashboard-metrics .metric-card {
    min-height:112px;
    padding:18px !important;
    border:1px solid var(--spatial-line) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.71) !important;
    box-shadow:0 14px 42px rgba(21,37,61,.09) !important;
    backdrop-filter:blur(20px);
}
.dashboard-spatial-page .dashboard-metrics .metric-card:hover { transform:translateY(-4px) !important;box-shadow:0 22px 50px rgba(21,37,61,.14) !important; }
.dashboard-spatial-page .dashboard-metrics strong { font-size:28px !important;letter-spacing:-.04em; }
.dashboard-spatial-page .panel,
.dashboard-spatial-page .secretary-task-panel,
.dashboard-spatial-page .dashboard-control-studio {
    margin:0 !important;
    border:1px solid rgba(255,255,255,.72) !important;
    border-radius:26px !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:var(--spatial-shadow) !important;
    backdrop-filter:saturate(140%) blur(22px);
    -webkit-backdrop-filter:saturate(140%) blur(22px);
}
.dashboard-spatial-page .dashboard-focus-panel { margin-top:2px !important;padding:26px !important;border-top:0 !important; }
.dashboard-spatial-page .dashboard-focus-panel .panel-head h2 { font-size:26px !important;letter-spacing:-.025em; }
.dashboard-spatial-page .dashboard-focus-columns { gap:14px !important; }
.dashboard-spatial-page .dashboard-focus-column { border-radius:20px !important;background:rgba(246,248,251,.74) !important; }
.dashboard-spatial-page .dashboard-priority-panel,
.dashboard-spatial-page .dashboard-critical-agenda,
.dashboard-spatial-page .dashboard-monitor-panel,
.dashboard-spatial-page .dashboard-hearings-panel,
.dashboard-spatial-page .recent-cases,
.dashboard-spatial-page .dashboard-control-studio,
.dashboard-spatial-page .secretary-task-panel { padding:25px !important; }
.dashboard-spatial-page .panel-head h2,
.dashboard-spatial-page .dashboard-control-studio h2 { letter-spacing:-.025em; }

/* Dock flottante: navigazione principale della sola dashboard. */
.dashboard-spatial-dock {
    position:fixed;
    left:50%;
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:80;
    display:flex;
    align-items:flex-end;
    gap:5px;
    width:max-content;
    max-width:calc(100vw - 28px);
    padding:8px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:25px;
    background:rgba(245,247,250,.76);
    box-shadow:0 22px 65px rgba(12,27,48,.23),inset 0 1px 0 rgba(255,255,255,.82);
    backdrop-filter:saturate(180%) blur(26px);
    -webkit-backdrop-filter:saturate(180%) blur(26px);
    transform:translateX(-50%);
}
.dashboard-spatial-dock a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:70px;
    height:64px;
    padding:6px 8px;
    color:#657186;
    border-radius:18px;
    text-decoration:none;
    transition:transform .17s ease,background .17s ease,color .17s ease,box-shadow .17s ease;
}
.dashboard-spatial-dock a:hover { color:#14213a;background:rgba(255,255,255,.72);transform:translateY(-6px);box-shadow:0 12px 25px rgba(21,37,61,.12); }
.dashboard-spatial-dock a.active { color:#fff;background:linear-gradient(145deg,#14213a,#243c5e);box-shadow:0 10px 24px rgba(20,33,58,.22); }
.dashboard-spatial-dock .dock-icon { display:grid;place-items:center;min-height:27px;font-size:22px;font-weight:650;line-height:1; }
.dashboard-spatial-dock small { font-size:9px;font-weight:760;letter-spacing:.01em; }
.dashboard-spatial-dock .dock-quick { margin-left:4px;color:#fff;background:linear-gradient(145deg,#b48d46,#c9aa68);box-shadow:0 10px 24px rgba(176,138,67,.26); }

@media (max-width:1050px) {
    .dashboard-spatial-page .main-content { grid-template-columns:1fr; }
    .dashboard-spatial-page .dashboard-spatial-intro { grid-template-columns:1fr; }
    .dashboard-spatial-page .dashboard-hero,
    .dashboard-spatial-page .daily-welcome { grid-column:1;grid-row:auto; }
    .dashboard-spatial-page .dashboard-hero { order:1; }
    .dashboard-spatial-page .daily-welcome { order:2; }
    .dashboard-spatial-page .daily-welcome { grid-template-columns:minmax(190px,.36fr) minmax(0,1fr) !important;grid-template-rows:1fr;min-height:0; }
    .dashboard-spatial-page .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:720px) {
    .dashboard-spatial-page .topbar { top:8px;width:calc(100% - 20px);margin-top:8px;border-radius:17px; }
    .dashboard-spatial-page .main-content { gap:14px;padding:22px 10px 124px; }
    .dashboard-spatial-page .dashboard-hero { min-height:0;padding:25px 21px !important;border-radius:24px !important; }
    .dashboard-spatial-page .dashboard-hero h1 { font-size:34px !important; }
    .dashboard-spatial-page .dashboard-hero .hero-actions { align-items:stretch; }
    .dashboard-spatial-page .dashboard-hero .quick-entry-primary { margin-left:0; }
    .dashboard-spatial-page .daily-welcome { grid-template-columns:1fr !important; }
    .dashboard-spatial-page .dashboard-metrics { grid-template-columns:1fr 1fr !important;gap:10px !important; }
    .dashboard-spatial-page .dashboard-metrics .metric-card { min-height:106px;padding:14px !important; }
    .dashboard-spatial-page .dashboard-priority-panel,
    .dashboard-spatial-page .dashboard-critical-agenda,
    .dashboard-spatial-page .dashboard-monitor-panel,
    .dashboard-spatial-page .dashboard-hearings-panel,
    .dashboard-spatial-page .recent-cases,
    .dashboard-spatial-page .dashboard-control-studio,
    .dashboard-spatial-page .secretary-task-panel,
    .dashboard-spatial-page .dashboard-focus-panel { padding:18px !important;border-radius:21px !important; }
    .dashboard-spatial-dock { justify-content:flex-start;overflow-x:auto;bottom:max(9px,env(safe-area-inset-bottom));max-width:calc(100vw - 16px);border-radius:20px;scrollbar-width:none; }
    .dashboard-spatial-dock::-webkit-scrollbar { display:none; }
    .dashboard-spatial-dock a { min-width:59px;height:57px;padding:5px; }
    .dashboard-spatial-dock .dock-icon { font-size:19px; }
    .dashboard-spatial-dock small { font-size:8px; }
}

/* =========================================================
   DASHBOARD · SPATIAL BENTO V2 20260914
   Composizione fedele al concept approvato.
   ========================================================= */
.dashboard-spatial-page .dashboard-spatial-intro {
    grid-template-columns:minmax(0,1.32fr) minmax(390px,.68fr);
    gap:16px;
}
.dashboard-spatial-page .dashboard-hero {
    min-height:170px;
    padding:25px 28px !important;
    border-radius:26px !important;
}
.dashboard-spatial-page .dashboard-hero h1 {
    margin:4px 0 8px !important;
    font-size:clamp(31px,2.5vw,42px) !important;
}
.dashboard-spatial-page .spatial-hero-quote {
    max-width:590px !important;
    color:rgba(255,255,255,.76) !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px !important;
    line-height:1.4;
}
.dashboard-spatial-page .spatial-hero-author {
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.48);
    font-size:9px;
}
.dashboard-spatial-page .dashboard-hero .hero-actions { margin-top:14px; }
.dashboard-spatial-page .dashboard-hero .button { min-height:34px;padding:7px 11px !important;font-size:10px !important; }
.dashboard-spatial-page .daily-welcome {
    grid-template-rows:1fr auto;
    min-height:170px;
    gap:9px !important;
}
.dashboard-spatial-page .spatial-day-card {
    display:grid;
    grid-template-columns:auto minmax(105px,1fr) auto;
    align-items:center;
    gap:18px;
    min-height:0 !important;
    padding:20px 22px !important;
    color:#14213a !important;
}
.dashboard-spatial-page .spatial-day-card > strong {
    color:#14213a;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
    font-size:64px;
    font-weight:560;
    line-height:.85;
    letter-spacing:-.07em;
}
.dashboard-spatial-page .spatial-day-card > div { display:grid;gap:2px; }
.dashboard-spatial-page .spatial-day-card span { color:#a17c35;font-size:9px;font-weight:800;letter-spacing:.12em; }
.dashboard-spatial-page .spatial-day-card b { color:#14213a;font-size:18px;font-weight:650; }
.spatial-day-commitments { display:flex !important;align-items:center;gap:9px;padding:10px 13px;border-left:1px solid rgba(20,33,58,.10); }
.spatial-day-commitments > strong { color:#14213a;font-size:25px;font-weight:650;line-height:1; }
.spatial-day-commitments > span { color:#5d6a7e !important;font-size:8px !important;font-weight:700;letter-spacing:0 !important;line-height:1.35;text-transform:uppercase; }
.dashboard-spatial-page .spatial-day-card .notes-quick-link { position:static;display:inline-flex;align-items:center;gap:5px;width:auto;height:34px;padding:0 10px;border-radius:11px;font-size:8px; }
.dashboard-spatial-page .spatial-day-actions { display:none !important; }
.dashboard-spatial-page .spatial-day-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    padding:8px 12px 8px 16px !important;
    border-radius:17px !important;
}
.dashboard-spatial-page .spatial-day-actions > span { color:#687386;font-size:10px;font-weight:700; }
.dashboard-spatial-page .spatial-day-actions .notes-quick-link { position:static;display:inline-flex;align-items:center;gap:6px;width:auto;height:30px;padding:0 10px;border-radius:10px;font-size:9px; }

.dashboard-spatial-page .dashboard-metrics { display:none !important; }
.dashboard-spatial-bento {
    display:grid;
    grid-template-columns:minmax(0,1.48fr) minmax(280px,.88fr) minmax(230px,.64fr);
    grid-template-rows:auto auto;
    gap:14px;
}
.spatial-bento-card {
    min-width:0;
    padding:18px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:26px;
    background:rgba(255,255,255,.86);
    box-shadow:0 20px 50px rgba(16,27,49,.09);
    backdrop-filter:blur(22px) saturate(150%);
    -webkit-backdrop-filter:blur(22px) saturate(150%);
}
.spatial-bento-agenda { grid-row:span 2; }
.spatial-bento-recent { grid-column:span 2; }
.spatial-bento-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px; }
.spatial-bento-head h2 { margin:0;color:#0f1d33;font-family:inherit;font-size:17px;font-weight:760;letter-spacing:-.018em; }
.spatial-bento-head > a,.spatial-bento-head > span { padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.76);color:#6b7688;font-size:9px;font-weight:720;text-decoration:none;white-space:nowrap; }
.spatial-bento-events { display:grid; }
.spatial-bento-event { display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:57px;padding:9px 0;border-top:1px solid rgba(20,33,58,.08);color:inherit;text-decoration:none; }
.spatial-bento-event:first-child { border-top:0; }
.spatial-bento-event time { display:grid;gap:2px;color:#a17c35;font-style:normal; }
.spatial-bento-event time strong { font-size:9px;letter-spacing:.04em; }
.spatial-bento-event time span { color:#59667a;font-size:10px;font-weight:750; }
.spatial-bento-event > div { min-width:0; }
.spatial-bento-event > div strong { display:block;overflow:hidden;color:#14213a;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap; }
.spatial-bento-event small { display:block;overflow:hidden;margin-top:3px;color:#536176;font-size:10px;font-weight:540;text-overflow:ellipsis;white-space:nowrap; }
.spatial-bento-event em { color:#725f68;font-size:8.5px;font-style:normal;font-weight:800;letter-spacing:.05em; }
.spatial-bento-more { display:block;margin-top:7px;color:#8e6c2c;font-size:9px;font-weight:750;text-align:right;text-decoration:none; }
.spatial-load-ring { display:grid;place-items:center;position:relative;width:98px;height:98px;margin:10px auto 13px;border-radius:50%;background:conic-gradient(#4f83b4 0 var(--load-angle),rgba(78,104,135,.12) var(--load-angle));color:inherit;text-decoration:none;box-shadow:0 10px 25px rgba(50,91,132,.12);transition:transform .22s ease,box-shadow .22s ease;animation:spatialRingArrival .7s cubic-bezier(.2,.8,.2,1) both; }
.spatial-load-ring::after { content:"";position:absolute;inset:9px;border-radius:50%;background:rgba(255,255,255,.94); }
.spatial-load-ring::before { content:"";position:absolute;inset:-5px;border:1px solid rgba(79,131,180,.22);border-radius:50%;animation:spatialRingPulse 2.8s ease-in-out infinite; }
.spatial-load-ring strong { position:relative;z-index:1;color:#14213a;font-size:28px;font-weight:680;transition:transform .2s ease; }
.spatial-load-ring small { position:absolute;z-index:2;bottom:21px;color:#718096;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(3px);transition:opacity .2s ease,transform .2s ease; }
.spatial-load-ring:hover { transform:translateY(-4px) scale(1.04);box-shadow:0 17px 34px rgba(50,91,132,.22); }
.spatial-load-ring:hover strong { transform:translateY(-5px); }
.spatial-load-ring:hover small { opacity:1;transform:translateY(0); }
@keyframes spatialRingArrival { from { opacity:0;transform:scale(.72) rotate(-55deg); } to { opacity:1;transform:scale(1) rotate(0); } }
@keyframes spatialRingPulse { 0%,100% { transform:scale(1);opacity:.45; } 50% { transform:scale(1.10);opacity:.08; } }
.spatial-load-legend { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.spatial-load-legend a { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-height:38px;padding:8px 9px;border:1px solid rgba(20,33,58,.07);border-radius:12px;background:rgba(255,255,255,.68);color:inherit;text-decoration:none;transition:transform .16s ease,background .16s ease,box-shadow .16s ease; }
.spatial-load-legend a:hover { transform:translateY(-2px);background:#fff;box-shadow:0 8px 18px rgba(20,33,58,.09); }
.spatial-load-legend a span { overflow:hidden;color:#46566d;font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap; }
.spatial-load-legend b { color:#14213a;font-size:14px;font-weight:800; }
.spatial-load-legend i { color:#a17c35;font-size:11px;font-style:normal; }
.spatial-manage-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.spatial-manage-grid a { padding:12px;border-radius:16px;background:rgba(255,255,255,.68);color:inherit;text-decoration:none; }
.spatial-manage-grid span { display:block;color:#5c6a7f;font-size:8.5px;font-weight:700;text-transform:uppercase; }
.spatial-manage-grid strong { display:block;margin-top:5px;color:#14213a;font-size:24px;font-weight:700; }
.spatial-case-strip { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.spatial-case-strip a { padding:11px;border-bottom:3px solid var(--case-accent,#b08a43);border-radius:15px;background:rgba(255,255,255,.70);color:inherit;text-decoration:none; }
.spatial-case-strip strong { display:block;overflow:hidden;color:#14213a;font-size:10.5px;font-weight:780;text-overflow:ellipsis;white-space:nowrap; }
.spatial-case-strip span { display:block;overflow:hidden;margin-top:5px;color:var(--case-accent,#9b7530);font-size:8.5px;font-weight:760;letter-spacing:.045em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap; }
.spatial-case-strip small { display:block;overflow:hidden;margin-top:3px;color:#56647a;font-size:9px;font-weight:560;text-overflow:ellipsis;white-space:nowrap; }

.spatial-collapsible-panel { padding:0 !important;overflow:hidden !important; }
.spatial-collapsible-summary { display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:18px;min-height:92px;padding:20px 24px;cursor:pointer;list-style:none; }
.spatial-collapsible-summary::-webkit-details-marker { display:none; }
.spatial-collapsible-summary > span { display:grid;gap:2px; }
.spatial-collapsible-summary small { color:#9a7735;font-size:8px;font-weight:850;letter-spacing:.12em; }
.spatial-collapsible-summary strong { color:#14213a;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:550; }
.spatial-collapsible-summary em { color:#68768a;font-size:10px;font-style:normal; }
.spatial-collapsible-summary > b { padding:7px 11px;border-radius:999px;background:#f1f3f6;color:#425168;font-size:9px; }
.spatial-collapsible-summary > i { display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#14213a;color:#fff;font-size:18px;font-style:normal;transition:transform .2s ease; }
.spatial-collapsible-panel[open] .spatial-collapsible-summary > i { transform:rotate(180deg); }
.spatial-collapsible-panel[open] .spatial-collapsible-summary { border-bottom:1px solid rgba(20,33,58,.08); }
.spatial-collapsible-body { padding:20px 24px 24px; }
.spatial-collapsible-body > .panel-head { display:none; }

/* Dettagli completi conservati sotto il Bento, con minore peso visivo. */
.dashboard-spatial-page .dashboard-focus-panel { margin-top:4px !important; }
.dashboard-spatial-page .dashboard-focus-panel .panel-head h2::after { content:" · dettaglio completo";color:#8791a0;font-family:inherit;font-size:10px;font-weight:500; }

.dashboard-dock-all { position:relative; }
.dashboard-dock-all > summary { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:64px;height:64px;padding:6px;border-radius:18px;color:#657186;cursor:pointer;list-style:none; }
.dashboard-dock-all > summary::-webkit-details-marker { display:none; }
.dashboard-dock-all[open] > summary { color:#14213a;background:rgba(255,255,255,.74); }
.dashboard-dock-library { position:absolute;right:-80px;bottom:calc(100% + 17px);width:min(620px,calc(100vw - 28px));padding:18px;border:1px solid rgba(255,255,255,.76);border-radius:25px;background:rgba(246,248,251,.94);box-shadow:0 26px 80px rgba(12,27,48,.26);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%); }
.dashboard-dock-library-head { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;padding:2px 3px 12px;border-bottom:1px solid rgba(20,33,58,.08); }
.dashboard-dock-library-head strong { display:block;color:#14213a;font-size:18px; }
.dashboard-dock-library-head > span { color:#738094;font-size:10px; }
.dashboard-dock-library-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }
.dashboard-dock-library-grid > a,.dashboard-dock-library-grid > span { display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:9px;min-width:0;min-height:78px;padding:11px;border-radius:16px;background:rgba(255,255,255,.72);color:#26364d;text-decoration:none; }
.dashboard-dock-library-grid b { display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eef1f5;color:#14213a;font-size:13px; }
.dashboard-dock-library-grid span { overflow:hidden;width:100%;font-size:9px;font-weight:740;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-dock-library-grid .disabled { opacity:.48; }
.dashboard-dock-library-grid .disabled small { color:#8a94a3;font-size:7px; }
.dashboard-dock-logout { display:flex;justify-content:flex-end;margin-top:12px; }
.dashboard-dock-logout button { min-height:32px;padding:6px 10px;border:0;border-radius:10px;background:#14213a;color:#fff;font-size:9px;cursor:pointer; }

@media (max-width:1050px) {
    .dashboard-spatial-bento { grid-template-columns:1fr 1fr; }
    .spatial-bento-agenda { grid-column:1 / -1;grid-row:auto; }
    .spatial-bento-recent { grid-column:1 / -1; }
    .dashboard-dock-library { right:-45px; }
}
@media (max-width:720px) {
    .dashboard-spatial-page .dashboard-spatial-intro,.dashboard-spatial-bento { grid-template-columns:1fr; }
    .spatial-bento-recent { grid-column:auto; }
    .spatial-case-strip { grid-template-columns:1fr 1fr; }
    .dashboard-spatial-page .dashboard-hero { min-height:190px; }
    .dashboard-dock-all > summary { min-width:56px;height:57px; }
    .dashboard-dock-library { position:fixed;left:8px;right:8px;bottom:88px;width:auto;max-height:68vh;overflow:auto; }
    .dashboard-dock-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dashboard-dock-library-head > span { display:none; }
    .dashboard-spatial-page .spatial-day-card { grid-template-columns:auto minmax(0,1fr) auto; }
    .spatial-day-commitments { display:none !important; }
    .spatial-collapsible-summary { grid-template-columns:minmax(0,1fr) auto;padding:16px; }
    .spatial-collapsible-summary > b { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    .spatial-load-ring,.spatial-load-ring::before { animation:none !important; }
}

/* =========================================================
   DASHBOARD OPERATIVA V7 · 20260915
   Data funzionale, primo piano esteso e orizzonte in dialogo.
   ========================================================= */
.spatial-day-links {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    width:100%;
    padding-top:11px;
    border-top:1px solid rgba(20,33,58,.09);
}
.spatial-day-links a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 9px;
    border:1px solid rgba(20,33,58,.08);
    border-radius:11px;
    background:rgba(255,255,255,.68);
    color:#26364d;
    font-size:9px;
    font-weight:780;
    text-decoration:none;
    transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.spatial-day-links a:hover { transform:translateY(-2px);background:#fff;box-shadow:0 8px 18px rgba(20,33,58,.09); }
.spatial-agenda-contents { margin-top:4px !important;color:#59687d !important;font-size:9.5px !important;font-weight:600;line-height:1.4; }
.spatial-bento-agenda .spatial-bento-head { align-items:flex-start; }
.spatial-bento-agenda .spatial-bento-events { margin-top:4px; }
.spatial-bento-agenda .spatial-bento-event { min-height:54px; }

.dashboard-spatial-page .dashboard-focus-grid { grid-template-columns:1fr !important; }
.dashboard-spatial-page .dashboard-focus-column.today { display:none !important; }
.dashboard-focus-head-actions { display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap; }
.dashboard-focus-head-actions a,
.dashboard-focus-head-actions button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 12px;
    border:1px solid rgba(20,33,58,.10);
    border-radius:11px;
    background:#fff;
    color:#26364d;
    font:inherit;
    font-size:9.5px;
    font-weight:780;
    text-decoration:none;
    cursor:pointer;
}
.dashboard-focus-head-actions button { border-color:#14213a;background:#14213a;color:#fff; }
.dashboard-horizon-dialog {
    width:min(1080px,calc(100vw - 36px));
    max-height:86vh;
    margin:auto;
    padding:0;
    border:0;
    border-radius:26px;
    background:transparent;
    box-shadow:0 30px 100px rgba(10,25,45,.30);
    overflow:visible;
}
.dashboard-horizon-dialog::backdrop { background:rgba(11,25,43,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px); }
.dashboard-horizon-dialog-shell { position:relative;max-height:86vh;padding:8px;overflow:auto;border-radius:26px;background:rgba(245,247,250,.95); }
.dashboard-horizon-dialog .dashboard-priority-panel { display:block !important;margin:0 !important;padding:24px !important; }
.dashboard-horizon-close { position:sticky;float:right;top:8px;z-index:5;display:grid;place-items:center;width:36px;height:36px;margin:5px;border:0;border-radius:12px;background:#14213a;color:#fff;font-size:22px;line-height:1;cursor:pointer; }
body:has(.dashboard-horizon-dialog[open]) { overflow:hidden; }

@media (max-width:720px) {
    .spatial-day-links { grid-template-columns:1fr 1fr; }
    .spatial-day-links a:last-child { grid-column:1 / -1; }
    .dashboard-focus-head-actions { align-items:stretch;flex-direction:column; }
    .dashboard-focus-head-actions a,.dashboard-focus-head-actions button { width:100%; }
    .dashboard-horizon-dialog { width:calc(100vw - 18px); }
    .dashboard-horizon-dialog .dashboard-priority-panel { padding:17px !important; }
}

/* Agenda operativa in primo piano · leggibilità v8 */
.spatial-bento-agenda .eyebrow { font-size:10px !important;letter-spacing:.13em !important; }
.spatial-bento-agenda .spatial-bento-head h2 { margin-top:2px;font-size:21px !important;line-height:1.15; }
.spatial-bento-agenda .spatial-agenda-contents { margin-top:6px !important;font-size:11.5px !important;line-height:1.45; }
.spatial-bento-agenda .spatial-bento-head > a { font-size:10.5px !important; }
.spatial-bento-agenda .spatial-bento-event { grid-template-columns:68px minmax(0,1fr) auto;min-height:64px;padding:10px 0; }
.spatial-bento-agenda .spatial-bento-event time strong { font-size:10.5px; }
.spatial-bento-agenda .spatial-bento-event time span { font-size:11.5px; }
.spatial-bento-agenda .spatial-bento-event > div strong { font-size:14px;line-height:1.25; }
.spatial-bento-agenda .spatial-bento-event small { margin-top:4px;font-size:11.5px;line-height:1.35; }
.spatial-bento-agenda .spatial-bento-event em { font-size:9.5px; }
.spatial-bento-agenda .spatial-bento-more { margin-top:10px;font-size:10.5px; }

/* Impegni dello Studio · tre colonne v9 */
.dashboard-spatial-page .dashboard-focus-panel > .dashboard-focus-grid { display:none !important; }
.dashboard-focus-three { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start; }
.dashboard-focus-group { min-width:0;overflow:hidden;border:1px solid rgba(20,33,58,.09);border-radius:20px;background:rgba(248,250,252,.78); }
.dashboard-focus-group > header { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:14px 15px;border-bottom:1px solid rgba(20,33,58,.08); }
.dashboard-focus-group > header > div { display:grid;gap:3px; }
.dashboard-focus-group > header span { color:#26364d;font-size:10px;font-weight:850;letter-spacing:.07em; }
.dashboard-focus-group > header small { color:#7a8697;font-size:9px; }
.dashboard-focus-group > header > strong { display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:12px;background:#14213a;color:#fff;font-size:14px; }
.dashboard-focus-group.hearings > header { border-top:3px solid #b08a43; }
.dashboard-focus-group.studio > header { border-top:3px solid #4f83b4; }
.dashboard-focus-group.deadlines > header { border-top:3px solid #a95057; }
.dashboard-focus-group-list { display:grid;padding:5px 13px 10px; }
.dashboard-focus-group-row { display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:67px;padding:10px 1px;border-bottom:1px solid rgba(20,33,58,.07);color:inherit;text-decoration:none;transition:transform .16s ease,background .16s ease; }
.dashboard-focus-group-row:last-child { border-bottom:0; }
.dashboard-focus-group-row:hover { transform:translateX(3px);background:rgba(255,255,255,.72); }
.dashboard-focus-group-row time { display:grid;place-items:center;width:40px;height:45px;border-radius:11px;background:#fff;color:#14213a;font-style:normal;box-shadow:inset 0 0 0 1px rgba(20,33,58,.08); }
.dashboard-focus-group-row time strong { font-size:15px;line-height:1; }
.dashboard-focus-group-row time span { color:#8d6d32;font-size:8px;font-weight:800; }
.dashboard-focus-group-row > div { min-width:0; }
.dashboard-focus-group-row > div > span { display:block;color:#8e6c2c;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }
.dashboard-focus-group-row > div > strong { display:block;overflow:hidden;margin-top:2px;color:#14213a;font-size:11.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-focus-group-row > div > small { display:block;overflow:hidden;margin-top:3px;color:#667489;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap; }
.dashboard-focus-group-row > i { color:#a17c35;font-size:14px;font-style:normal; }
.dashboard-focus-group-empty { padding:24px 8px;color:#7d8898;font-size:10px;text-align:center; }
@media (max-width:1100px) { .dashboard-focus-three { grid-template-columns:1fr; } }

/* Testata condivisa delle pagine: compatta, equilibrata e uniforme. */
.hero:not(.dashboard-hero) {
    position:relative;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    min-height:0 !important;
    margin-bottom:18px !important;
    padding:20px 22px 20px 26px !important;
    border:1px solid rgba(20,33,58,.09) !important;
    border-left:4px solid #b08a43 !important;
    border-radius:16px !important;
    background:linear-gradient(115deg,rgba(255,255,255,.98) 0%,rgba(248,249,251,.95) 74%,rgba(247,242,230,.68) 100%) !important;
    box-shadow:0 8px 24px rgba(20,33,58,.065) !important;
    overflow:visible !important;
}
.hero:not(.dashboard-hero) > div:first-child { min-width:0; }
.hero:not(.dashboard-hero) h1 {
    margin:3px 0 4px !important;
    color:#14213a !important;
    font-family:inherit !important;
    font-size:29px !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    letter-spacing:-.025em !important;
}
.hero:not(.dashboard-hero) .eyebrow {
    color:#8f6c2b !important;
    font-size:10px !important;
    letter-spacing:.13em !important;
}
.hero:not(.dashboard-hero) p {
    max-width:760px;
    color:#6a7688 !important;
    font-size:13px !important;
    line-height:1.45 !important;
}
.hero:not(.dashboard-hero) .hero-actions,
.hero:not(.dashboard-hero) .cases-header-actions {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:wrap;
    gap:9px !important;
    margin:0 0 0 auto !important;
}
.hero:not(.dashboard-hero) > a.button {
    flex:0 0 auto;
    margin-left:auto;
}
.hero:not(.dashboard-hero) .button {
    min-height:40px;
    padding:9px 15px !important;
    white-space:nowrap;
}

@media (max-width:820px) {
    .hero:not(.dashboard-hero) {
        align-items:flex-start !important;
        flex-wrap:wrap;
        gap:16px !important;
        padding:18px 18px 18px 20px !important;
    }
    .hero:not(.dashboard-hero) h1 { font-size:26px !important; }
    .hero:not(.dashboard-hero) .hero-actions,
    .hero:not(.dashboard-hero) .cases-header-actions,
    .hero:not(.dashboard-hero) > a.button {
        justify-content:flex-start !important;
        margin-left:0 !important;
    }
}

@media (max-width:520px) {
    .hero:not(.dashboard-hero) { padding:16px 15px 16px 18px !important; }
    .hero:not(.dashboard-hero) .hero-actions,
    .hero:not(.dashboard-hero) .cases-header-actions { width:100%; }
    .hero:not(.dashboard-hero) .button { flex:1 1 auto; }
}

/* Ricerca globale: un solo campo visivo, senza il vecchio input sovrapposto. */
.topbar .global-search {
    min-height:40px;
    padding:0 11px !important;
    border:1px solid rgba(20,33,58,.12) !important;
    border-radius:12px !important;
    background:rgba(248,249,251,.92) !important;
    box-shadow:inset 0 1px 1px rgba(20,33,58,.025);
}
.topbar .global-search:focus-within {
    border-color:rgba(62,101,151,.42) !important;
    background:#fff !important;
    box-shadow:0 0 0 4px rgba(73,116,169,.09) !important;
}
.topbar .global-search input[type="text"] {
    align-self:stretch;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 9px !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.topbar .global-search input[type="text"]:focus {
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.topbar .global-search > span {
    flex:0 0 auto;
    color:#7f8b9d;
    font-size:17px;
    line-height:1;
}
.topbar .global-search kbd {
    flex:0 0 auto;
    background:rgba(255,255,255,.78);
}


/* Impegni inline 5/8–20 giorni · stile Apple v11 */
.dashboard-commitment-view[hidden] { display:none !important; }
.dashboard-focus-panel { background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,249,253,.92));box-shadow:0 24px 64px rgba(18,31,54,.10),inset 0 1px 0 rgba(255,255,255,.94); }
.dashboard-focus-group { border-color:rgba(20,33,58,.08);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 12px 30px rgba(20,33,58,.07),inset 0 1px 0 #fff;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%); }
.dashboard-focus-group > header { min-height:80px;padding:16px 18px; }
.dashboard-focus-group > header span { font-size:12px;letter-spacing:.06em; }
.dashboard-focus-group > header small { font-size:11px;font-weight:620; }
.dashboard-focus-group > header > strong { min-width:40px;height:40px;border-radius:14px;font-size:16px;box-shadow:0 7px 18px rgba(20,33,58,.16); }
.dashboard-focus-group-list { padding:7px 16px 14px; }
.dashboard-focus-group-row { grid-template-columns:48px minmax(0,1fr) auto;gap:12px;min-height:78px;padding:11px 2px;border-radius:14px; }
.dashboard-focus-group-row:hover { transform:translateY(-2px);padding-left:8px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px rgba(20,33,58,.07); }
.dashboard-focus-group-row time { width:46px;height:52px;border-radius:14px;box-shadow:0 5px 14px rgba(20,33,58,.08),inset 0 0 0 1px rgba(20,33,58,.06); }
.dashboard-focus-group-row time strong { font-size:17px; }
.dashboard-focus-group-row time span { font-size:9px; }
.dashboard-focus-group-row > div > span { font-size:9.5px; }
.dashboard-focus-group-row > div > strong { margin-top:3px;font-size:13px; }
.dashboard-focus-group-row > div > small { margin-top:4px;font-size:11px; }
.dashboard-focus-group-row > i { font-size:16px; }
.dashboard-focus-group-empty { padding:30px 10px;font-size:12px; }
#toggle-horizon-view[aria-pressed="true"] { background:#fff;color:#14213a;box-shadow:inset 0 0 0 1px rgba(20,33,58,.14),0 8px 20px rgba(20,33,58,.09); }
.spatial-day-links { grid-template-columns:repeat(4,minmax(0,1fr)); }
.spatial-day-links .spatial-day-payment { background:#14213a;color:#fff;box-shadow:0 8px 18px rgba(20,33,58,.14); }
.spatial-day-links .spatial-day-payment:hover { background:#203453;color:#fff; }
@media (max-width:720px) { .spatial-day-links { grid-template-columns:1fr 1fr; } .spatial-day-links a:last-child { grid-column:auto; } }

/* Carico operativo segmentato e interattivo · v12 */
.spatial-bento-load { overflow:visible; }
.spatial-bento-load .spatial-load-ring {
    width:142px;
    height:142px;
    margin:10px auto 17px;
    background:conic-gradient(
        #b08a43 0 var(--hearing-end),
        #4f83b4 var(--hearing-end) var(--studio-end),
        #a95057 var(--studio-end) 100%
    );
    box-shadow:0 18px 38px rgba(32,59,91,.18),0 0 0 1px rgba(255,255,255,.8);
}
.spatial-bento-load .spatial-load-ring::after { inset:12px;background:rgba(255,255,255,.96);box-shadow:inset 0 0 0 1px rgba(20,33,58,.055); }
.spatial-bento-load .spatial-load-ring::before { inset:-7px; }
.spatial-bento-load .spatial-load-ring > strong { font-size:38px;letter-spacing:-.04em; }
.spatial-bento-load .spatial-load-ring > small { bottom:29px;font-size:8px; }
.spatial-load-tooltip {
    position:absolute;
    z-index:8;
    top:50%;
    left:50%;
    display:grid;
    gap:7px;
    width:270px;
    padding:15px 16px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:19px;
    background:rgba(17,31,53,.95);
    color:#fff;
    box-shadow:0 22px 48px rgba(13,27,48,.28);
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,-42%) scale(.92);
    transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.spatial-load-tooltip b { display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:10.5px;font-weight:650;text-align:left; }
.spatial-load-tooltip b i { display:block;width:8px;height:8px;border-radius:50%; }
.spatial-load-tooltip b i.hearings { background:#d2ad63; }
.spatial-load-tooltip b i.studio { background:#76a9d8; }
.spatial-load-tooltip b i.deadlines { background:#d16f76; }
.spatial-load-tooltip b em { font-size:14px;font-style:normal;font-weight:850; }
.spatial-load-tooltip u { margin-top:3px;padding-top:8px;border-top:1px solid rgba(255,255,255,.13);color:#d9bf88;font-size:9px;font-weight:750;text-align:center;text-decoration:none; }
.spatial-load-ring:hover .spatial-load-tooltip,.spatial-load-ring:focus-visible .spatial-load-tooltip { opacity:1;transform:translate(-50%,-50%) scale(1); }
.spatial-load-ring:hover > strong,.spatial-load-ring:focus-visible > strong,.spatial-load-ring:hover > small,.spatial-load-ring:focus-visible > small { opacity:.08; }
.spatial-load-ring > strong,.spatial-load-ring > small { transition:opacity .18s ease,transform .2s ease; }
.spatial-bento-load .spatial-load-legend { grid-template-columns:1fr;gap:7px; }
.spatial-bento-load .spatial-load-legend a { min-height:41px;padding:8px 11px;border-radius:14px; }
.spatial-bento-load .spatial-load-legend a::before { content:"";width:4px;height:24px;border-radius:999px;background:#b08a43; }
.spatial-bento-load .spatial-load-legend a { grid-template-columns:4px auto minmax(0,1fr) auto; }
.spatial-bento-load .spatial-load-legend a.studio::before { background:#4f83b4; }
.spatial-bento-load .spatial-load-legend a.deadlines::before { background:#a95057; }
.spatial-bento-load .spatial-load-legend a span { font-size:11px; }
.spatial-bento-load .spatial-load-legend b { font-size:16px; }
.dashboard-focus-group:target { animation:operationalTarget 1.25s ease; }
@keyframes operationalTarget { 0%,100% { box-shadow:0 12px 30px rgba(20,33,58,.07),inset 0 1px 0 #fff; } 35% { box-shadow:0 0 0 4px rgba(176,138,67,.20),0 20px 44px rgba(20,33,58,.15); } }
@media (max-width:720px) {
    .spatial-bento-load .spatial-load-ring { width:126px;height:126px; }
    .spatial-load-tooltip { width:min(250px,calc(100vw - 54px)); }
}

/* Logo e frase del giorno in evidenza · v13 */
.dashboard-spatial-page .dashboard-hero > div:not(.hero-actions):not(.spatial-hero-brand) { position:relative;z-index:2;padding-right:132px; }
.dashboard-spatial-page .dashboard-hero .spatial-hero-quote {
    max-width:680px !important;
    margin-top:4px;
    color:rgba(255,255,255,.88) !important;
    font-size:19px !important;
    line-height:1.46;
    letter-spacing:.002em;
    text-wrap:balance;
}
.dashboard-spatial-page .spatial-hero-author { margin-top:7px;color:rgba(255,255,255,.62);font-size:10.5px;letter-spacing:.02em; }
.spatial-hero-brand {
    position:absolute !important;
    z-index:1;
    top:20px;
    right:24px;
    display:grid;
    place-items:center;
    width:100px;
    height:100px;
    padding:13px !important;
    border:1px solid rgba(255,255,255,.14);
    border-radius:27px;
    background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
    box-shadow:0 16px 36px rgba(5,17,35,.19),inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter:blur(16px) saturate(135%);
    -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.spatial-hero-brand img { display:block;width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(0,0,0,.2)); }
@media (max-width:720px) {
    .dashboard-spatial-page .dashboard-hero > div:not(.hero-actions):not(.spatial-hero-brand) { padding-right:74px; }
    .dashboard-spatial-page .dashboard-hero .spatial-hero-quote { font-size:17px !important; }
    .spatial-hero-brand { top:18px;right:18px;width:62px;height:62px;padding:9px !important;border-radius:19px; }
    .spatial-hero-brand img { width:48px;height:48px; }
}

/* Pagina Pratiche · Spatial UI v14 */
.cases-spatial-page { background:linear-gradient(135deg,#f4f2ed 0%,#f4f6f8 44%,#edf3f8 100%); }
.cases-spatial-page .main-content { max-width:1580px;gap:18px; }
.cases-spatial-page .hero.compact {
    min-height:150px;
    padding:25px 28px 24px 31px !important;
    border:1px solid rgba(255,255,255,.82) !important;
    border-radius:28px !important;
    background:radial-gradient(circle at 88% 10%,rgba(198,164,94,.19),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,253,.90)) !important;
    box-shadow:0 24px 60px rgba(20,33,58,.10),inset 0 1px 0 #fff !important;
    backdrop-filter:blur(22px) saturate(145%);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.cases-spatial-page .hero.compact::before { top:25px;bottom:25px;width:5px;background:linear-gradient(#d0ad66,#8c692b); }
.cases-spatial-page .hero.compact h1 { font-size:40px !important;font-weight:640 !important;letter-spacing:-.04em !important; }
.cases-spatial-page .hero.compact p { max-width:660px;font-size:14px !important; }
.cases-spatial-page .cases-header-actions .button { min-height:44px;padding:10px 17px !important;border-radius:14px !important;font-size:11px !important;box-shadow:0 7px 18px rgba(20,33,58,.06); }
.cases-spatial-page .cases-header-actions .quick-entry-primary { background:#14213a !important;color:#fff !important;box-shadow:0 12px 26px rgba(20,33,58,.18) !important; }
.cases-spatial-page .practice-search { position:relative;z-index:2;margin:-7px 22px 0; }
.cases-spatial-page .practice-search .search-box { min-height:62px;padding-left:18px;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 16px 38px rgba(20,33,58,.10),inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px); }
.cases-spatial-page .practice-search .search-box input { font-size:14px !important; }
.cases-spatial-page .practice-search .search-box button { min-width:110px;margin:6px;border-radius:15px;background:#14213a;font-size:11px; }
.cases-spatial-page .cases-area-kpi-section { padding:23px;border:1px solid rgba(255,255,255,.8);border-radius:26px;background:rgba(255,255,255,.62);box-shadow:0 18px 46px rgba(20,33,58,.075);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%); }
.cases-spatial-page .cases-area-kpi-head { margin-bottom:15px; }
.cases-spatial-page .cases-area-kpi-head h2 { font-size:23px;letter-spacing:-.025em; }
.cases-spatial-page .cases-area-kpi-grid { gap:12px; }
.cases-spatial-page .cases-area-kpi-card { min-height:118px;padding:16px !important;border:1px solid rgba(20,33,58,.07) !important;border-top:0 !important;border-radius:20px !important;background:linear-gradient(150deg,var(--case-soft,#f7f8fa),rgba(255,255,255,.92) 58%) !important;box-shadow:0 9px 22px rgba(20,33,58,.055),inset 0 1px 0 #fff;transition:transform .2s ease,box-shadow .2s ease !important;overflow:hidden; }
.cases-spatial-page .cases-area-kpi-card::before { content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--case-accent,#8b96a7); }
.cases-spatial-page .cases-area-kpi-card:hover { transform:translateY(-4px);box-shadow:0 17px 34px rgba(20,33,58,.11); }
.cases-spatial-page .cases-area-kpi-icon { width:38px;height:38px;border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 6px 16px rgba(20,33,58,.07); }
.cases-spatial-page .cases-area-kpi-value strong { font-size:28px !important;letter-spacing:-.04em; }
.cases-spatial-page .cases-operational-control { gap:14px; }
.cases-spatial-page .cases-operational-card { min-height:122px;padding:20px;border:1px solid rgba(255,255,255,.78);border-radius:23px;background:rgba(255,255,255,.72);box-shadow:0 14px 36px rgba(20,33,58,.07),inset 0 1px 0 #fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }
.cases-spatial-page .cases-operational-card:hover { transform:translateY(-3px);box-shadow:0 20px 42px rgba(20,33,58,.11); }
.cases-spatial-page .cases-operational-icon { border-radius:15px;box-shadow:0 8px 18px rgba(20,33,58,.08); }
.cases-spatial-page .cases-operational-content h3 { font-size:17px;letter-spacing:-.015em; }
.cases-spatial-page .cases-review-panel,.cases-spatial-page .practices-panel { border:1px solid rgba(255,255,255,.82) !important;border-top:0 !important;border-radius:26px !important;background:rgba(255,255,255,.79);box-shadow:0 20px 48px rgba(20,33,58,.085),inset 0 1px 0 #fff;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%); }
.cases-spatial-page .practices-panel { padding:21px !important;overflow:hidden; }
.cases-spatial-page .practices-panel > .panel-head { padding:3px 4px 18px; }
.cases-spatial-page .practices-panel > .panel-head h2 { font-family:inherit;font-size:24px !important;font-weight:720;letter-spacing:-.025em; }
.cases-spatial-page .practices-panel .practice-table { margin:0 -10px -10px; }
.cases-spatial-page .practices-panel .practice-table-head { margin:0 10px;padding:14px 15px;border:0;border-radius:13px;background:rgba(235,239,244,.68); }
.cases-spatial-page .practices-panel .practice-table-row { min-height:92px;margin:7px 10px;padding:17px 15px;border:1px solid rgba(20,33,58,.065);border-left:4px solid var(--case-accent,#8b96a7) !important;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 6px 16px rgba(20,33,58,.035);transform:none !important; }
.cases-spatial-page .practices-panel .practice-table-row::before { display:none; }
.cases-spatial-page .practices-panel .practice-table-row:hover { transform:translateY(-2px) !important;background:linear-gradient(90deg,var(--case-soft,#f7f8fa),#fff 30%) !important;box-shadow:0 14px 30px rgba(20,33,58,.09) !important; }
.cases-spatial-page .practices-panel .practice-internal-number strong,.cases-spatial-page .practices-panel .practice-table-row > div:nth-child(3) strong { font-family:inherit; }
.cases-spatial-page .practices-panel .area-badge { border-color:color-mix(in srgb,var(--case-accent,#8b96a7) 25%,#fff);background:var(--case-soft,#f7f8fa);color:var(--case-accent,#506075); }
.cases-spatial-page .practices-panel .practice-arrow { width:32px;height:32px;border-radius:11px;background:rgba(20,33,58,.035); }
.cases-spatial-page .practices-panel .practice-table-row:hover .practice-arrow { background:#14213a;color:#fff; }
@media(max-width:900px) {
    .cases-spatial-page .practice-search { margin:-7px 10px 0; }
    .cases-spatial-page .cases-area-kpi-section,.cases-spatial-page .practices-panel { padding:16px !important;border-radius:21px !important; }
}
@media(max-width:650px) {
    .cases-spatial-page .hero.compact { padding:21px !important;border-radius:23px !important; }
    .cases-spatial-page .hero.compact h1 { font-size:34px !important; }
    .cases-spatial-page .practice-search { margin:0; }
    .cases-spatial-page .practice-search .search-box { min-height:56px;border-radius:17px; }
    .cases-spatial-page .practice-search .search-box button { min-width:72px; }
    .cases-spatial-page .cases-area-kpi-grid { grid-template-columns:1fr 1fr; }
    .cases-spatial-page .cases-operational-control { grid-template-columns:1fr; }
}

/* Sistema Spatial condiviso e dock globale · v15 */
body:has(.app-shell) { background:linear-gradient(135deg,#f4f2ed 0%,#f4f6f8 45%,#edf3f8 100%); }
.app-shell > .sidebar { display:none !important; }
.app-shell > .workspace { width:100% !important;min-width:0;margin-left:0 !important; }
.app-shell .main-content { max-width:1580px;margin:0 auto;padding-bottom:126px !important; }
.app-shell .topbar { position:sticky;top:12px;z-index:70;width:calc(100% - 32px);max-width:1540px;min-height:64px;margin:12px auto 0;padding:9px 14px;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:rgba(250,251,253,.76);box-shadow:0 16px 44px rgba(20,33,58,.10),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%); }
.app-shell .top-actions { width:100%; }
.global-spatial-dock { display:flex !important; }
.global-spatial-dock a.active { color:#fff;background:linear-gradient(145deg,#14213a,#243c5e);box-shadow:0 10px 24px rgba(20,33,58,.22); }
body:not(.dashboard-spatial-page) .hero { border:1px solid rgba(255,255,255,.82) !important;border-radius:27px !important;background:radial-gradient(circle at 88% 10%,rgba(198,164,94,.17),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,253,.90)) !important;box-shadow:0 22px 56px rgba(20,33,58,.09),inset 0 1px 0 #fff !important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%); }
body:not(.dashboard-spatial-page) .hero h1 { font-family:inherit !important;font-weight:680 !important;letter-spacing:-.035em !important; }
body:not(.dashboard-spatial-page) .panel { border:1px solid rgba(255,255,255,.82) !important;border-radius:24px !important;background:rgba(255,255,255,.78);box-shadow:0 17px 44px rgba(20,33,58,.075),inset 0 1px 0 #fff;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%); }
body:not(.dashboard-spatial-page) .panel-head h2 { font-family:inherit !important;font-weight:720 !important;letter-spacing:-.025em; }
body:not(.dashboard-spatial-page) input:not([type="checkbox"]):not([type="radio"]),body:not(.dashboard-spatial-page) select,body:not(.dashboard-spatial-page) textarea { min-height:43px;border-color:rgba(20,33,58,.12);border-radius:13px;background:rgba(255,255,255,.88);box-shadow:inset 0 1px 2px rgba(20,33,58,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
body:not(.dashboard-spatial-page) input:focus,body:not(.dashboard-spatial-page) select:focus,body:not(.dashboard-spatial-page) textarea:focus { border-color:rgba(79,131,180,.62);background:#fff;box-shadow:0 0 0 4px rgba(79,131,180,.11);outline:0; }
body:not(.dashboard-spatial-page) .button,body:not(.dashboard-spatial-page) button { border-radius:13px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
body:not(.dashboard-spatial-page) .button:hover,body:not(.dashboard-spatial-page) button:hover { transform:translateY(-1px); }
body:not(.dashboard-spatial-page) table { overflow:hidden;border-radius:17px;background:rgba(255,255,255,.72); }
body:not(.dashboard-spatial-page) table thead { background:rgba(235,239,244,.72); }
body:not(.dashboard-spatial-page) table tbody tr { transition:background .16s ease,transform .16s ease; }
body:not(.dashboard-spatial-page) table tbody tr:hover { background:rgba(255,255,255,.94); }
body:not(.dashboard-spatial-page) details:not(.dashboard-dock-all):not(.sidebar-account-menu) { border-radius:17px; }
body:not(.dashboard-spatial-page) .empty-state { border-radius:18px;background:rgba(248,250,252,.76); }
@media(max-width:720px) {
    .app-shell .topbar { top:7px;width:calc(100% - 16px);margin-top:7px;border-radius:18px; }
    .app-shell .main-content { padding-left:10px !important;padding-right:10px !important;padding-bottom:112px !important; }
    body:not(.dashboard-spatial-page) .hero,body:not(.dashboard-spatial-page) .panel { border-radius:21px !important; }
}

/* Elenco clienti essenziale · v16 */
.clients-search { margin-bottom:18px; }
.clients-recent-panel { margin-bottom:22px;padding:22px !important; }
.clients-results-heading { display:flex;align-items:center;gap:12px;margin:24px 5px 12px;color:#14213a; }
.clients-results-heading strong { font-size:15px; }
.clients-name-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.client-name-card { display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:11px;min-height:62px;padding:10px 12px;border:1px solid rgba(20,33,58,.075);border-radius:17px;background:rgba(255,255,255,.78);color:#14213a;text-decoration:none;box-shadow:0 5px 15px rgba(20,33,58,.035);transition:transform .17s ease,box-shadow .17s ease,background .17s ease; }
.client-name-card:hover { transform:translateY(-2px);background:#fff;box-shadow:0 12px 25px rgba(20,33,58,.09); }
.client-name-avatar { display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#e9edf3,#fff);color:#9a7534;font-size:14px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(20,33,58,.055); }
.client-name-card strong { overflow:hidden;font-size:14px;font-weight:690;text-overflow:ellipsis;white-space:nowrap; }
.client-name-arrow { display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(20,33,58,.04);color:#6f7a8c;transition:background .17s ease,color .17s ease; }
.client-name-card:hover .client-name-arrow { background:#14213a;color:#fff; }
.client-type-column { padding:20px !important; }
.client-type-column .clients-name-grid { grid-template-columns:1fr; }
.client-type-column .panel-head { margin-bottom:14px; }
@media(max-width:760px) {
    .clients-name-grid,.clients-directory-grid { grid-template-columns:1fr !important; }
    .clients-recent-panel,.client-type-column { padding:16px !important; }
    .clients-results-heading { align-items:flex-start;flex-direction:column;gap:4px; }
}

/* Riepilogo cliente su una riga · v17 */
@media(min-width:1201px) {
    .workspace-overview-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(min-width:761px) and (max-width:1200px) {
    .workspace-overview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Clienti e dock · correzione iPhone v18 */
@media(max-width:600px) {
    .people-page .main-content { gap:14px; }
    .people-page .hero.compact { margin-bottom:14px !important; }
    .people-page .hero.compact > a.button {
        width:100%;
        margin:0 !important;
        box-sizing:border-box;
    }
    .people-page .clients-search { margin-bottom:14px; }
    .people-page .clients-search .search-box {
        min-width:0;
        min-height:50px;
        height:50px;
        padding-left:12px;
        overflow:hidden;
    }
    .people-page .clients-search .search-box > span { display:none; }
    .people-page .clients-search .search-box input {
        width:0;
        min-width:0;
        padding:0 9px 0 1px;
        font-size:12.5px !important;
    }
    .people-page .clients-search .search-box button {
        flex:0 0 74px;
        min-width:74px;
        padding:0 10px;
    }
    .people-page .clients-recent-panel,
    .people-page .client-type-column { padding:15px !important; }
    .people-page .clients-recent-panel { margin-bottom:16px; }
    .people-page .clients-name-grid { gap:8px; }
    .people-page .client-name-card {
        grid-template-columns:36px minmax(0,1fr) 27px;
        gap:9px;
        min-height:58px;
        padding:9px 10px;
    }
    .people-page .client-name-avatar { width:36px;height:36px;border-radius:12px; }
    .people-page .client-name-card strong { font-size:13px; }
    .people-page .clients-results-heading { margin:18px 4px 10px; }
    .people-page .clients-directory-grid { gap:14px; }

    .global-spatial-dock {
        width:calc(100vw - 16px);
        max-width:none;
        justify-content:space-around;
        gap:2px;
        padding:7px 6px;
        overflow:visible;
        box-sizing:border-box;
    }
    .global-spatial-dock > a:nth-of-type(5),
    .global-spatial-dock > a:nth-of-type(6) { display:none !important; }
    .global-spatial-dock > a,
    .global-spatial-dock > .dashboard-dock-all {
        flex:1 1 0;
        min-width:0;
    }
    .global-spatial-dock > a {
        width:auto;
        min-width:0;
        height:55px;
        padding:4px 2px;
    }
    .global-spatial-dock .dashboard-dock-all > summary {
        width:100%;
        min-width:0;
        height:55px;
        padding:4px 2px;
        box-sizing:border-box;
    }
    .global-spatial-dock > a.dock-quick { margin-left:0; }
    .global-spatial-dock small { max-width:100%;font-size:7.5px;overflow:hidden;text-overflow:ellipsis; }
}

/* Dashboard · data e controllo Studio v19 */
.dashboard-spatial-page .spatial-day-card {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"date commitments" "actions actions";
    gap:16px 18px;
    padding:22px !important;
}
.spatial-day-main {
    grid-area:date;
    display:flex !important;
    align-items:center;
    gap:16px !important;
    min-width:0;
}
.dashboard-spatial-page .spatial-day-main > strong {
    display:grid;
    place-items:center;
    flex:0 0 82px;
    width:82px;
    height:82px;
    border-radius:24px;
    background:linear-gradient(145deg,#14213a,#233b5d);
    color:#fff;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
    font-size:48px;
    font-weight:620;
    line-height:1;
    letter-spacing:-.055em;
    box-shadow:0 13px 28px rgba(20,33,58,.20),inset 0 1px 0 rgba(255,255,255,.12);
}
.spatial-day-main > div { display:grid;gap:3px;min-width:0; }
.dashboard-spatial-page .spatial-day-main span { color:#9a7534;font-size:9px;font-weight:850;letter-spacing:.12em; }
.dashboard-spatial-page .spatial-day-main b { color:#14213a;font-size:26px;font-weight:720;line-height:1.05;letter-spacing:-.025em; }
.dashboard-spatial-page .spatial-day-main small { color:#69768a;font-size:11px;font-weight:650; }
.spatial-day-commitments {
    grid-area:commitments;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-width:175px;
    padding:13px 14px !important;
    border:1px solid rgba(176,138,67,.18) !important;
    border-left:0 !important;
    border-radius:17px;
    background:linear-gradient(145deg,rgba(250,246,236,.92),rgba(255,255,255,.85));
    color:inherit;
    text-decoration:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.spatial-day-commitments > strong { color:#14213a;font-size:31px;font-weight:720;line-height:1; }
.dashboard-spatial-page .spatial-day-commitments > span { display:grid;gap:2px;letter-spacing:0; }
.dashboard-spatial-page .spatial-day-commitments > span b { color:#14213a;font-size:10px;font-weight:850;text-transform:uppercase; }
.dashboard-spatial-page .spatial-day-commitments > span small { color:#677489;font-size:9px;font-weight:650;white-space:nowrap; }
.spatial-day-commitments > i { color:#9a7534;font-size:17px;font-style:normal;transition:transform .16s ease; }
.spatial-day-commitments:hover > i { transform:translateX(3px); }
.dashboard-spatial-page .spatial-day-links { grid-area:actions;margin:0;padding-top:14px; }

.spatial-bento-manage { display:flex;flex-direction:column;padding:20px; }
.spatial-bento-manage .spatial-bento-head { align-items:flex-start;margin-bottom:13px; }
.spatial-bento-manage .spatial-bento-head > div { display:grid;gap:3px; }
.spatial-bento-manage .spatial-bento-head .eyebrow { padding:0;background:transparent;color:#9a7534;font-size:8px;letter-spacing:.12em; }
.spatial-bento-manage .spatial-bento-head h2 { font-size:23px; }
.spatial-bento-manage .spatial-manage-grid { flex:1;grid-template-columns:1fr 1fr;gap:10px; }
.spatial-bento-manage .spatial-manage-grid > a {
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:92px;
    padding:12px;
    border:1px solid rgba(20,33,58,.075);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,249,252,.80));
    box-shadow:0 7px 18px rgba(20,33,58,.045),inset 0 1px 0 #fff;
    transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;
}
.spatial-bento-manage .spatial-manage-grid > a:hover { transform:translateY(-3px);border-color:rgba(176,138,67,.30);box-shadow:0 14px 28px rgba(20,33,58,.10); }
.spatial-manage-grid > a > i { display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#eef2f6;color:#14213a;font-size:14px;font-style:normal;font-weight:850; }
.spatial-manage-grid > a > div { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 8px;min-width:0; }
.spatial-bento-manage .spatial-manage-grid > a span { color:#69768a;font-size:8px;font-weight:850;letter-spacing:.07em; }
.spatial-bento-manage .spatial-manage-grid > a strong { margin:0;color:#14213a;font-size:27px;font-weight:750;line-height:1; }
.spatial-bento-manage .spatial-manage-grid > a small { grid-column:1 / -1;overflow:hidden;color:#7a8697;font-size:8.5px;font-weight:580;text-overflow:ellipsis;white-space:nowrap; }
.spatial-manage-grid > a > b { color:#a17c35;font-size:15px;font-weight:600;transition:transform .16s ease; }
.spatial-manage-grid > a:hover > b { transform:translateX(3px); }
.spatial-manage-grid .manage-pec > i { background:#eef4fb;color:#446f9e; }
.spatial-manage-grid .manage-validations > i { background:#edf6f1;color:#4f8069; }
.spatial-manage-grid .manage-critical > i { background:#fbeff0;color:#a94f55; }
.spatial-manage-grid .manage-hearings > i { background:#fbf6eb;color:#9a7534; }

@media(max-width:1050px) {
    .spatial-bento-manage .spatial-manage-grid > a { min-height:84px; }
}
@media(min-width:721px) and (max-width:1250px) {
    .dashboard-spatial-page .dashboard-spatial-intro { grid-template-columns:1fr; }
    .dashboard-spatial-page .dashboard-hero,
    .dashboard-spatial-page .daily-welcome { grid-column:1;grid-row:auto; }
    .dashboard-spatial-page .daily-welcome { grid-template-columns:1fr !important;grid-template-rows:auto; }
    .dashboard-spatial-bento { grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr); }
    .spatial-bento-agenda { grid-column:1;grid-row:1 / span 2; }
    .spatial-bento-load { grid-column:2;grid-row:1; }
    .spatial-bento-manage { grid-column:2;grid-row:2; }
    .spatial-bento-manage .spatial-manage-grid { grid-template-columns:1fr; }
    .spatial-bento-recent { grid-column:1 / -1;grid-row:3; }
}
@media(max-width:720px) {
    .dashboard-spatial-page .spatial-day-card { grid-template-columns:1fr;grid-template-areas:"date" "commitments" "actions";padding:17px !important; }
    .dashboard-spatial-page .spatial-day-main > strong { flex-basis:70px;width:70px;height:70px;border-radius:21px;font-size:41px; }
    .dashboard-spatial-page .spatial-day-main b { font-size:23px; }
    .spatial-day-commitments { min-width:0;border-left:1px solid rgba(176,138,67,.18) !important; }
    .spatial-bento-manage .spatial-manage-grid { grid-template-columns:1fr; }
    .spatial-bento-manage .spatial-manage-grid > a { min-height:76px; }
}

/* Da gestire · contenuti senza sovrapposizioni v20 */
.spatial-bento-manage .spatial-manage-grid {
    grid-template-columns:1fr;
}
.spatial-manage-grid > a > div {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
    min-width:0;
}
.spatial-bento-manage .spatial-manage-grid > a span {
    display:block;
    width:100%;
    overflow:hidden;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.spatial-bento-manage .spatial-manage-grid > a strong {
    display:block;
    width:100%;
    margin:2px 0 0;
    line-height:1;
}
.spatial-bento-manage .spatial-manage-grid > a small {
    display:block;
    width:100%;
    overflow:hidden;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Carico operativo · coerenza con Da gestire v21 */
.spatial-bento-load {
    display:flex;
    flex-direction:column;
    padding:20px;
}
.spatial-bento-load .spatial-bento-head { align-items:flex-start;margin-bottom:10px; }
.spatial-bento-load .spatial-bento-head > div { display:grid;gap:3px; }
.spatial-bento-load .spatial-bento-head .eyebrow {
    padding:0;
    background:transparent;
    color:#9a7534;
    font-size:8px;
    letter-spacing:.12em;
}
.spatial-bento-load .spatial-bento-head h2 { font-size:23px; }
.spatial-bento-load .spatial-load-ring {
    width:154px;
    height:154px;
    margin:5px auto 14px;
}
.spatial-bento-load .spatial-load-ring > strong { font-size:40px; }
.spatial-bento-load .spatial-load-ring > small {
    bottom:31px;
    color:#6f7b8d;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.spatial-bento-load .spatial-load-legend {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:auto;
}
.spatial-bento-load .spatial-load-legend > a {
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:64px;
    padding:10px 12px 10px 16px;
    border:1px solid rgba(20,33,58,.075);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,249,252,.80));
    box-shadow:0 7px 18px rgba(20,33,58,.045),inset 0 1px 0 #fff;
    color:inherit;
    text-decoration:none;
    transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;
}
.spatial-bento-load .spatial-load-legend > a::before {
    content:"";
    position:absolute;
    left:0;
    top:13px;
    bottom:13px;
    width:4px;
    border-radius:0 4px 4px 0;
    background:#b08a43;
}
.spatial-bento-load .spatial-load-legend > a.studio::before { background:#4f83b4; }
.spatial-bento-load .spatial-load-legend > a.deadlines::before { background:#a95057; }
.spatial-bento-load .spatial-load-legend > a:hover {
    transform:translateY(-3px);
    border-color:rgba(176,138,67,.30);
    box-shadow:0 14px 28px rgba(20,33,58,.10);
}
.spatial-bento-load .spatial-load-legend b {
    min-width:30px;
    color:#14213a;
    font-size:25px;
    font-weight:750;
    line-height:1;
}
.spatial-bento-load .spatial-load-legend span {
    color:#4f5f76;
    font-size:10px;
    font-weight:760;
    line-height:1.25;
}
.spatial-bento-load .spatial-load-legend i {
    color:#a17c35;
    font-size:15px;
    font-style:normal;
    transition:transform .16s ease;
}
.spatial-bento-load .spatial-load-legend > a:hover i { transform:translateX(3px); }
@media(max-width:720px) {
    .spatial-bento-load .spatial-load-ring { width:142px;height:142px; }
    .spatial-bento-load .spatial-load-legend > a { min-height:60px; }
}


/* PEC · ultimi sette giorni e archivio richiudibile v22 */
.pec-period-label {
    margin: 5px 0 0;
    color: #778397;
    font-size: 11px;
    font-weight: 600;
}
.pec-recent-empty {
    display: grid;
    gap: 5px;
    padding: 32px 18px;
    border-top: 1px solid #eceef1;
    text-align: center;
}
.pec-recent-empty strong { color: #14213a; font-size: 15px; }
.pec-recent-empty span { color: #778397; font-size: 11px; }
.pec-archive {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(20,33,58,.11);
    border-radius: 18px;
    background: #f7f8fa;
}
.pec-archive > summary {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 34px;
    align-items: center;
    gap: 14px;
    min-height: 78px;
    padding: 15px 18px;
    cursor: pointer;
    list-style: none;
}
.pec-archive > summary::-webkit-details-marker { display: none; }
.pec-archive > summary > span { display: grid; gap: 2px; }
.pec-archive > summary small { color: #9a7735; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.pec-archive > summary strong { color: #14213a; font-size: 16px; }
.pec-archive > summary em { color: #778397; font-size: 10px; font-style: normal; }
.pec-archive > summary > b { padding: 6px 10px; border-radius: 999px; background: #e9edf2; color: #445268; font-size: 10px; }
.pec-archive > summary > i { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #14213a; color: white; font-size: 17px; font-style: normal; transition: transform .2s ease; }
.pec-archive[open] > summary > i { transform: rotate(180deg); }
.pec-archive[open] > summary { border-bottom: 1px solid rgba(20,33,58,.09); }
.pec-list-archive { padding: 0 18px 8px; background: #fff; }
@media (max-width: 720px) {
    .pec-archive > summary { grid-template-columns: minmax(0,1fr) auto; padding: 14px; }
    .pec-archive > summary > i { display: none; }
    .pec-list-archive { padding: 0 10px 6px; }
}


/* Centro PEC · workspace conversazioni v24 */
.pec-hero {
    padding: 28px 32px !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    border-radius: 30px !important;
    background: linear-gradient(120deg,rgba(255,255,255,.96),rgba(247,244,237,.88)) !important;
    box-shadow: 0 22px 55px rgba(20,33,58,.09) !important;
}
.pec-hero h1 { letter-spacing: -.035em; }
.pec-control-strip {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 8px;
    margin: 18px 0;
    padding: 8px;
    border: 1px solid rgba(20,33,58,.08);
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 14px 34px rgba(20,33,58,.07);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
}
.pec-control-item {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 2px 10px;
    min-height: 62px;
    padding: 10px 13px;
    border-radius: 16px;
    color: #14213a;
    text-decoration: none;
    transition: background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.pec-control-item:hover { transform: translateY(-1px);background:#fff;box-shadow:0 8px 20px rgba(20,33,58,.08); }
.pec-control-item.active { background:#14213a;color:#fff;box-shadow:0 10px 25px rgba(20,33,58,.18); }
.pec-control-item span { font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase; }
.pec-control-item strong { grid-row:span 2;font-size:23px;font-weight:700; }
.pec-control-item small { color:#7b8798;font-size:9px; }
.pec-control-item.active small { color:rgba(255,255,255,.62); }
.pec-command-center {
    margin-top: 0 !important;
    padding: 22px !important;
    overflow: visible !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.9) !important;
    box-shadow: 0 24px 65px rgba(20,33,58,.09) !important;
}
.pec-command-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
    padding:2px 2px 18px;
    border-bottom:1px solid rgba(20,33,58,.08);
}
.pec-command-head h2 { margin:3px 0 0;color:#14213a;font-size:25px;letter-spacing:-.025em; }
.pec-command-head p { margin:5px 0 0;color:#748095;font-size:10.5px; }
.pec-workspace {
    display:grid;
    grid-template-columns:minmax(310px,.78fr) minmax(0,1.42fr);
    gap:16px;
    min-height:620px;
}
.pec-card-browser {
    max-height:720px;
    padding:8px;
    overflow:auto;
    border:1px solid rgba(20,33,58,.08);
    border-radius:22px;
    background:#f2f4f7;
    scrollbar-width:thin;
}
.pec-day-divider { display:flex;align-items:center;justify-content:space-between;padding:12px 10px 7px; }
.pec-day-divider span { color:#a17c35;font-size:8px;font-weight:850;letter-spacing:.12em; }
.pec-day-divider b { color:#748095;font-size:9px; }
.pec-message-card {
    position:relative;
    margin-bottom:7px;
    padding:14px 14px 13px 17px;
    overflow:hidden;
    border:1px solid transparent;
    border-radius:17px;
    background:rgba(255,255,255,.78);
    cursor:pointer;
    outline:none;
    transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pec-message-card:hover,.pec-message-card:focus-visible { transform:translateY(-1px);background:#fff;border-color:rgba(161,124,53,.24);box-shadow:0 10px 24px rgba(20,33,58,.08); }
.pec-message-card.active { background:#fff;border-color:rgba(161,124,53,.35);box-shadow:0 12px 30px rgba(20,33,58,.11); }
.pec-card-accent { position:absolute;left:0;top:13px;bottom:13px;width:4px;border-radius:0 5px 5px 0;background:#aeb6c1; }
.pec-card-top { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.pec-card-top strong { overflow:hidden;color:#405069;font-size:9.5px;font-weight:760;text-overflow:ellipsis;white-space:nowrap; }
.pec-card-top time { flex:none;color:#8993a2;font-size:8.5px;font-weight:700; }
.pec-message-card h3 { display:-webkit-box;margin:7px 0 5px;overflow:hidden;color:#14213a;font-family:inherit;font-size:12.5px;font-weight:780;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.pec-message-card p { display:-webkit-box;margin:0;overflow:hidden;color:#748095;font-size:9.5px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.pec-card-meta { display:flex;flex-wrap:wrap;gap:5px;margin-top:9px; }
.pec-card-meta span { padding:4px 7px;border-radius:999px;background:#eef1f5;color:#617086;font-size:7.5px;font-weight:800;text-transform:uppercase; }
.pec-reader {
    min-width:0;
    align-self:start;
    position:sticky;
    top:18px;
    border:1px solid rgba(20,33,58,.08);
    border-radius:24px;
    background:#fff;
    box-shadow:0 16px 42px rgba(20,33,58,.08);
}
.pec-reader-card { padding:24px 26px; }
.pec-reader-card > header { display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(20,33,58,.08); }
.pec-reader-status { display:flex;align-items:center;gap:7px; }
.pec-reader-status b { color:#526177;font-size:9px;text-transform:uppercase;letter-spacing:.07em; }
.pec-state-dot { width:8px;height:8px;border-radius:50%;background:#adb5c0; }
.pec-reader-card > header time { color:#7a8698;font-size:9.5px;font-weight:650; }
.pec-reader-sender { display:grid;gap:4px;margin-top:19px; }
.pec-reader-sender span { color:#a17c35;font-size:8px;font-weight:850;letter-spacing:.12em; }
.pec-reader-sender strong { overflow-wrap:anywhere;color:#34445c;font-size:11px; }
.pec-reader-card h3 { margin:18px 0 14px;color:#14213a;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:540;line-height:1.22;letter-spacing:-.02em; }
.pec-reader-body { max-height:285px;padding:18px;overflow:auto;border-radius:16px;background:#f6f7f9;color:#56657a;font-size:11px;line-height:1.6;white-space:pre-line; }
.pec-reader-body.empty { color:#8993a2;font-style:italic; }
.pec-reader-context { display:flex;flex-wrap:wrap;gap:7px;margin-top:14px; }
.pec-reader-context span,.pec-reader-context a { padding:7px 10px;border-radius:999px;background:#f1f3f6;color:#56657a;font-size:8.5px;font-weight:750;text-decoration:none; }
.pec-reader-context a { color:#8f6c2c;background:#f8f3e8; }
.pec-reader-card footer { display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(20,33,58,.08); }
.pec-command-center .pec-archive { margin-top:18px; }
.pec-list-archive { max-height:560px;overflow:auto; }
.pec-archive-row { display:grid;grid-template-columns:54px minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:13px 2px;border-top:1px solid #eceef1;color:inherit;text-decoration:none; }
.pec-archive-row time { display:grid;gap:2px;color:#14213a;font-style:normal; }
.pec-archive-row time strong { font-size:10px; }.pec-archive-row time span { color:#8993a2;font-size:8px; }
.pec-archive-row > div { min-width:0; }.pec-archive-row > div span,.pec-archive-row > div strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.pec-archive-row > div span { color:#748095;font-size:8.5px; }.pec-archive-row > div strong { margin-top:4px;color:#14213a;font-size:10.5px; }
.pec-archive-row > b { padding:5px 7px;border-radius:999px;background:#eef1f5;color:#647187;font-size:7.5px;text-transform:uppercase; }
.pec-archive-row > i { color:#a17c35;font-style:normal; }
@media(max-width:1050px) {
    .pec-control-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .pec-workspace { grid-template-columns:minmax(285px,.9fr) minmax(0,1.1fr); }
}
@media(max-width:820px) {
    .pec-hero { align-items:flex-start !important;padding:22px !important; }
    .pec-hero .hero-actions { align-items:flex-start;flex-direction:column; }
    .pec-account { align-items:flex-start;padding:0 0 9px;border-right:0;border-bottom:1px solid #e2e5e9; }
    .pec-control-strip { grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px; }
    .pec-command-center { padding:15px !important;border-radius:22px !important; }
    .pec-command-head { align-items:stretch;flex-direction:column; }
    .pec-search { width:100%;flex-wrap:wrap; }.pec-search input { flex:1;min-width:190px;width:auto; }
    .pec-workspace { grid-template-columns:1fr;min-height:0; }
    .pec-card-browser { max-height:520px; }
    .pec-reader { position:static;scroll-margin-top:18px; }
    .pec-reader-card { padding:20px; }.pec-reader-card h3 { font-size:20px; }
}
@media(max-width:520px) {
    .pec-control-strip { grid-template-columns:1fr 1fr;gap:5px;padding:6px; }
    .pec-control-item { min-height:56px;padding:8px 10px; }.pec-control-item strong { font-size:20px; }
    .pec-reader-card > header { align-items:flex-start;flex-direction:column; }
    .pec-reader-card footer .button { width:100%;justify-content:center; }
    .pec-archive-row { grid-template-columns:46px minmax(0,1fr) 18px; }.pec-archive-row > b { display:none; }
}

/* Casella email segreteria sotto Centro PEC v25 */
.secretary-mailbox {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid rgba(20,33,58,.10);
    border-radius: 24px;
    background: linear-gradient(145deg,#f7f9fb,#f1f4f7);
}
.secretary-mailbox-head { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.secretary-mailbox-head h2 { margin:3px 0 0;color:#14213a;font-size:22px;letter-spacing:-.025em; }
.secretary-mailbox-head p { margin:5px 0 0;color:#748095;font-size:10px; }
.secretary-mailbox-actions { display:flex;align-items:center;gap:10px; }
.secretary-mailbox-actions small { color:#818c9c;font-size:9px; }
.secretary-mail-notice { margin-top:14px;padding:10px 12px;border-radius:12px;font-size:10px;font-weight:700; }
.secretary-mail-notice.success { background:#eaf4ee;color:#3f7659; }
.secretary-mail-notice.error { background:#faeceb;color:#a64b44; }
.secretary-mail-search { display:flex;justify-content:flex-end;gap:7px;margin:14px 0; }
.secretary-mail-search input { width:min(340px,100%);min-height:36px; }
.secretary-mail-workspace { display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr);gap:14px;margin-top:12px; }
.secretary-mail-browser { max-height:620px;padding:8px;overflow:auto;border:1px solid rgba(20,33,58,.08);border-radius:20px;background:#e9edf2; }
.secretary-mail-card { position:relative;margin-bottom:7px;padding:13px 13px 12px 43px;border:1px solid transparent;border-radius:16px;background:rgba(255,255,255,.82);cursor:pointer;outline:none;transition:.16s ease; }
.secretary-mail-card:hover,.secretary-mail-card:focus-visible,.secretary-mail-card.active { transform:translateY(-1px);border-color:rgba(79,131,180,.30);background:#fff;box-shadow:0 10px 24px rgba(20,33,58,.09); }
.secretary-mail-icon { display:grid;place-items:center;position:absolute;left:11px;top:12px;width:23px;height:23px;border-radius:8px;background:#eaf2fa;color:#4f83b4;font-size:11px; }
.secretary-mail-card h3 { display:-webkit-box;margin:7px 0 4px;overflow:hidden;color:#14213a;font-size:12px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.secretary-mail-card p { display:-webkit-box;margin:0;overflow:hidden;color:#748095;font-size:9.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.secretary-mail-reader { min-width:0;align-self:start;position:sticky;top:18px;border:1px solid rgba(20,33,58,.08);border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(20,33,58,.08); }
.secretary-mail-reader-card { padding:23px 25px; }
.secretary-mail-reader-card > header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid rgba(20,33,58,.08); }
.secretary-mail-reader-card > header span { color:#4f83b4;font-size:8px;font-weight:850;letter-spacing:.11em; }
.secretary-mail-reader-card > header time { color:#7b8798;font-size:9px;font-weight:650; }
.secretary-mail-reader-card h3 { margin:18px 0 14px;color:#14213a;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:540;line-height:1.24; }
.secretary-mail-reader-card footer { margin-top:16px;padding-top:14px;border-top:1px solid rgba(20,33,58,.08); }
.secretary-mail-reader-card footer span { color:#8791a0;font-size:8.5px;font-weight:650; }
.secretary-mail-archive { margin-top:15px;overflow:hidden;border:1px solid rgba(20,33,58,.09);border-radius:17px;background:rgba(255,255,255,.66); }
.secretary-mail-archive > summary { display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none; }
.secretary-mail-archive > summary::-webkit-details-marker { display:none; }
.secretary-mail-archive > summary > span { display:grid;gap:2px; }.secretary-mail-archive > summary small { color:#4f83b4;font-size:8px;font-weight:850;letter-spacing:.11em; }
.secretary-mail-archive > summary strong { color:#14213a;font-size:14px; }.secretary-mail-archive > summary em { color:#7b8798;font-size:9px;font-style:normal; }
.secretary-mail-archive > summary > b { padding:5px 9px;border-radius:999px;background:#e7ebf0;color:#536176;font-size:9px; }
.secretary-mail-archive > summary > i { display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#14213a;color:#fff;font-style:normal;transition:transform .2s; }
.secretary-mail-archive[open] > summary > i { transform:rotate(180deg); }
.secretary-mail-archive-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;border-top:1px solid rgba(20,33,58,.08); }
.secretary-mail-archive-grid .secretary-mail-card { margin:0; }
@media(max-width:820px) {
    .secretary-mailbox { padding:15px;border-radius:20px; }
    .secretary-mailbox-head { align-items:flex-start;flex-direction:column; }
    .secretary-mailbox-actions { width:100%;justify-content:space-between; }
    .secretary-mail-search { justify-content:stretch;flex-wrap:wrap; }.secretary-mail-search input { flex:1;min-width:190px;width:auto; }
    .secretary-mail-workspace { grid-template-columns:1fr; }.secretary-mail-browser { max-height:480px; }
    .secretary-mail-reader { position:static;scroll-margin-top:18px; }
    .secretary-mail-archive-grid { grid-template-columns:1fr; }
}
@media(max-width:520px) {
    .secretary-mailbox-actions { align-items:flex-start;flex-direction:column; }
    .secretary-mail-reader-card { padding:19px; }.secretary-mail-reader-card h3 { font-size:19px; }
    .secretary-mail-reader-card > header { align-items:flex-start;flex-direction:column; }
    .secretary-mail-archive > summary { grid-template-columns:minmax(0,1fr) auto; }.secretary-mail-archive > summary > i { display:none; }
}

/* Lettura email segreteria e allegati in evidenza v26 */
.secretary-mail-card {
    padding: 15px 15px 14px 48px;
}
.secretary-mail-icon {
    left: 13px;
    top: 14px;
    width: 27px;
    height: 27px;
    font-size: 13px;
}
.secretary-mail-card .pec-card-top strong {
    color: #34445c;
    font-size: 11px;
}
.secretary-mail-card .pec-card-top time {
    color: #68758a;
    font-size: 10px;
}
.secretary-mail-card h3 {
    margin: 8px 0 6px;
    font-size: 14px;
    line-height: 1.38;
}
.secretary-mail-card p {
    color: #5f6e83;
    font-size: 11.5px;
    line-height: 1.52;
}
.secretary-mail-card .pec-card-meta span {
    padding: 5px 8px;
    font-size: 8.5px;
}
.secretary-mail-card .pec-card-meta span:first-child:not(:last-child) {
    background: #f6eddb;
    color: #896824;
}
.secretary-mail-reader-card {
    padding: 28px 30px;
}
.secretary-mail-reader-card > header span {
    font-size: 9.5px;
}
.secretary-mail-reader-card > header time {
    color: #647187;
    font-size: 11px;
}
.secretary-mail-reader-card .pec-reader-sender span {
    font-size: 9px;
}
.secretary-mail-reader-card .pec-reader-sender strong {
    color: #263750;
    font-size: 13px;
    line-height: 1.45;
}
.secretary-mail-reader-card h3 {
    margin: 20px 0 16px;
    font-size: clamp(24px,2vw,29px);
    line-height: 1.28;
}
.secretary-mail-reader-card .pec-reader-body {
    max-height: 380px;
    padding: 22px;
    background: #f5f7fa;
    color: #35465d;
    font-size: 14px;
    line-height: 1.72;
}
.secretary-mail-recipients {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 14px;
    color: #617086;
    font-size: 11px;
    line-height: 1.45;
}
.secretary-mail-recipients strong {
    flex: none;
    color: #a17c35;
    font-size: 9px;
    letter-spacing: .1em;
}
.secretary-mail-attachments {
    margin-top: 20px;
    padding: 16px;
    border: 1px solid rgba(161,124,53,.28);
    border-radius: 18px;
    background: linear-gradient(145deg,#fffaf0,#f8f1e3);
    box-shadow: 0 10px 25px rgba(113,83,28,.08);
}
.secretary-mail-attachments-head {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 12px;
}
.secretary-mail-attachments-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #14213a;
    color: #fff;
    font-size: 17px;
}
.secretary-mail-attachments-head div {
    display: grid;
    gap: 2px;
}
.secretary-mail-attachments-head strong {
    color: #14213a;
    font-size: 14px;
}
.secretary-mail-attachments-head small {
    color: #74664d;
    font-size: 10px;
}
.secretary-mail-attachment-list {
    display: grid;
    gap: 8px;
}
.secretary-mail-attachment-list a {
    display: grid;
    grid-template-columns: 32px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid rgba(20,33,58,.10);
    border-radius: 13px;
    background: rgba(255,255,255,.9);
    color: #14213a;
    text-decoration: none;
    transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.secretary-mail-attachment-list a:hover,
.secretary-mail-attachment-list a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(161,124,53,.48);
    box-shadow: 0 8px 20px rgba(20,33,58,.10);
}
.secretary-mail-file-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #edf2f8;
    color: #365c83;
    font-size: 15px;
}
.secretary-mail-file-name {
    min-width: 0;
    overflow: hidden;
    color: #263750;
    font-size: 12px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.secretary-mail-attachment-list a > strong {
    padding: 8px 11px;
    border-radius: 9px;
    background: #14213a;
    color: #fff;
    font-size: 10px;
    white-space: nowrap;
}
@media(max-width:520px) {
    .secretary-mail-reader-card { padding: 20px; }
    .secretary-mail-reader-card h3 { font-size: 21px; }
    .secretary-mail-reader-card .pec-reader-body { padding: 17px;font-size:13px;line-height:1.65; }
    .secretary-mail-attachments { padding: 13px; }
    .secretary-mail-attachment-list a { grid-template-columns:30px minmax(0,1fr); }
    .secretary-mail-attachment-list a > strong { grid-column:1 / -1;text-align:center; }
}

/* Dashboard · sezione operativa con profondità e movimento v27 */
.dashboard-spatial-page .dashboard-monitor-panel {
    position: relative;
    overflow: hidden;
    padding: 27px !important;
    background:
        radial-gradient(circle at 92% 0%,rgba(184,151,82,.12),transparent 28%),
        linear-gradient(145deg,rgba(255,255,255,.92),rgba(247,249,252,.84)) !important;
}
.dashboard-spatial-page .dashboard-monitor-panel::after {
    content: "";
    position: absolute;
    right: -50px;
    top: -70px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(161,124,53,.12);
    border-radius: 50%;
    pointer-events: none;
}
.dashboard-spatial-page .dashboard-monitor-panel .panel-head,
.dashboard-spatial-page .dashboard-monitor-grid { position:relative;z-index:1; }
.dashboard-spatial-page .dashboard-monitor-grid { gap:14px; }
.dashboard-spatial-page .dashboard-monitor-card {
    min-height:112px;
    padding:18px;
    overflow:hidden;
    border:1px solid rgba(20,33,58,.09);
    border-radius:18px;
    background:rgba(255,255,255,.88);
    box-shadow:0 10px 26px rgba(20,33,58,.065);
    transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease;
}
.dashboard-spatial-page .dashboard-monitor-card::after {
    content:"";
    position:absolute;
    right:-27px;
    bottom:-37px;
    width:92px;
    height:92px;
    border-radius:50%;
    background:rgba(79,131,180,.065);
    transition:transform .28s ease;
}
.dashboard-spatial-page .dashboard-monitor-card.pec::after { background:rgba(176,138,67,.09); }
.dashboard-spatial-page .dashboard-monitor-card.report::after { background:rgba(139,107,46,.10); }
.dashboard-spatial-page .dashboard-monitor-card:hover {
    transform:translateY(-4px);
    border-color:rgba(161,124,53,.34);
    box-shadow:0 18px 38px rgba(20,33,58,.12);
}
.dashboard-spatial-page .dashboard-monitor-card:hover::after { transform:scale(1.22); }
.dashboard-spatial-page .dashboard-monitor-icon {
    width:48px;
    height:48px;
    border-radius:15px;
    box-shadow:0 9px 18px rgba(20,33,58,.17);
    transition:transform .22s ease;
}
.dashboard-spatial-page .dashboard-monitor-card:hover .dashboard-monitor-icon { transform:rotate(-3deg) scale(1.06); }
.dashboard-spatial-page .dashboard-monitor-main > span { font-size:10px; }
.dashboard-spatial-page .dashboard-monitor-main > strong { font-size:30px; }
.dashboard-spatial-page .dashboard-monitor-main > small { color:#667489;font-size:11px;line-height:1.4; }
.dashboard-spatial-page .dashboard-monitor-arrow { position:relative;z-index:1;font-size:22px;transition:transform .2s ease; }
.dashboard-spatial-page .dashboard-monitor-card:hover .dashboard-monitor-arrow { transform:translateX(4px); }

.dashboard-spatial-page .spatial-collapsible-panel {
    position:relative;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.78) !important;
    background:linear-gradient(120deg,rgba(255,255,255,.93),rgba(244,247,251,.83)) !important;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.dashboard-spatial-page .spatial-collapsible-panel:not([open]):hover {
    transform:translateY(-3px);
    border-color:rgba(161,124,53,.24) !important;
    box-shadow:0 24px 56px rgba(16,32,55,.13) !important;
}
.dashboard-spatial-page .spatial-collapsible-summary {
    grid-template-columns:58px minmax(0,1fr) auto 42px;
    min-height:116px;
    padding:18px 26px;
}
.dashboard-spatial-page .spatial-collapsible-summary::before {
    content:"";
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:17px;
    background:linear-gradient(145deg,#f6ead2,#fff9ed);
    color:#916c27;
    box-shadow:0 10px 24px rgba(151,113,42,.13);
    font-size:22px;
}
.dashboard-spatial-page .dashboard-hearings-panel .spatial-collapsible-summary::before { content:"◷"; }
.dashboard-spatial-page .recent-cases .spatial-collapsible-summary::before {
    content:"▤";
    background:linear-gradient(145deg,#e8f0f8,#f7fbff);
    color:#416f9c;
    box-shadow:0 10px 24px rgba(65,111,156,.12);
}
.dashboard-spatial-page .spatial-collapsible-summary > span { gap:4px; }
.dashboard-spatial-page .spatial-collapsible-summary small { font-size:9px; }
.dashboard-spatial-page .spatial-collapsible-summary strong { font-size:25px;letter-spacing:-.025em; }
.dashboard-spatial-page .spatial-collapsible-summary em { color:#65748a;font-size:11px; }
.dashboard-spatial-page .spatial-collapsible-summary > b {
    padding:8px 13px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(20,33,58,.07);
    box-shadow:0 6px 16px rgba(20,33,58,.05);
    font-size:10px;
}
.dashboard-spatial-page .spatial-collapsible-summary > i {
    width:39px;
    height:39px;
    border-radius:13px;
    box-shadow:0 9px 20px rgba(20,33,58,.18);
}
.dashboard-spatial-page .spatial-collapsible-panel[open] .spatial-collapsible-summary {
    background:rgba(248,250,252,.72);
}

.dashboard-spatial-page .dashboard-control-studio {
    position:relative;
    overflow:hidden;
    padding:24px !important;
    background:
        linear-gradient(110deg,rgba(255,255,255,.93),rgba(247,243,234,.78)) !important;
}
.dashboard-spatial-page .dashboard-control-studio::after {
    content:"";
    position:absolute;
    right:-80px;
    bottom:-115px;
    width:250px;
    height:250px;
    border:30px solid rgba(161,124,53,.055);
    border-radius:50%;
    pointer-events:none;
}
.dashboard-spatial-page .dashboard-control-studio-head,
.dashboard-spatial-page .dashboard-control-studio-actions { position:relative;z-index:1; }
.dashboard-spatial-page .dashboard-control-studio-card {
    min-height:102px;
    border-radius:17px;
    background:rgba(255,255,255,.72);
    box-shadow:0 9px 24px rgba(20,33,58,.055);
}
.dashboard-spatial-page .dashboard-control-studio-card:hover {
    transform:translateY(-3px);
    border-color:rgba(161,124,53,.35);
    box-shadow:0 16px 32px rgba(20,33,58,.10);
}
@media(max-width:720px) {
    .dashboard-spatial-page .dashboard-monitor-panel { padding:19px !important; }
    .dashboard-spatial-page .spatial-collapsible-panel { padding:0 !important;border-radius:21px !important; }
    .dashboard-spatial-page .spatial-collapsible-summary { grid-template-columns:46px minmax(0,1fr) 38px;min-height:102px;padding:15px;gap:12px; }
    .dashboard-spatial-page .spatial-collapsible-summary::before { width:43px;height:43px;border-radius:14px;font-size:18px; }
    .dashboard-spatial-page .spatial-collapsible-summary > b { display:none; }
    .dashboard-spatial-page .spatial-collapsible-summary strong { font-size:21px; }
    .dashboard-spatial-page .spatial-collapsible-summary em { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
    .dashboard-spatial-page .dashboard-monitor-card,
    .dashboard-spatial-page .dashboard-monitor-icon,
    .dashboard-spatial-page .spatial-collapsible-panel { transition:none !important; }
}

/* Ricerca pratica, archivi posta e caricamento allegati v28 */
.global-case-next-hearing {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    margin:10px 0 2px;
    padding:8px 11px;
    border:1px solid rgba(161,124,53,.22);
    border-radius:11px;
    background:#fbf7ee;
    color:#14213a;
}
.global-case-next-hearing > span { color:#8c6928;font-size:8px;font-weight:850;letter-spacing:.09em; }
.global-case-next-hearing > strong { font-size:12px; }
.global-case-next-hearing > small { color:#657287;font-size:10px;font-weight:650; }
.pec-archive-search {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    padding:12px 14px;
    border-top:1px solid rgba(20,33,58,.08);
    background:rgba(247,249,252,.82);
}
.pec-archive-search input {
    width:min(390px,100%);
    min-height:37px;
    border-radius:11px;
}
.secretary-mail-archive-search { border-bottom:1px solid rgba(20,33,58,.08); }
.message-attachments-field.has-files {
    border-style:solid;
    border-color:#8f6c2c;
    background:linear-gradient(145deg,#fffaf0,#f8f2e6);
    box-shadow:0 7px 18px rgba(143,108,44,.09);
}
.message-attachments-field.has-files .message-dropzone-content strong { color:#765923; }
@media(max-width:620px) {
    .pec-archive-search { align-items:stretch;flex-wrap:wrap;justify-content:stretch; }
    .pec-archive-search input { flex:1 1 100%;width:100%; }
    .global-case-next-hearing { width:100%; }
}
