:root{
  --bg:#f4f7f6;
  --surface:#ffffff;
  --surface-2:#f8faf9;
  --ink:#18231f;
  --ink-soft:#43514b;
  --muted:#7a8782;
  --line:#e2e8e5;
  --line-strong:#d3ddd8;
  --accent:#267b67;
  --accent-strong:#1d6253;
  --accent-soft:#eaf4f1;
  --danger:#b83a32;
  --danger-soft:#fceceb;
  --warning:#a96717;
  --warning-soft:#fff4e2;
  --success:#2f7657;
  --success-soft:#eaf5ef;
  --sidebar:242px;
  --radius:20px;
  --radius-sm:13px;
  --shadow:0 10px 30px rgba(28,48,40,.045);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{appearance:none}
svg{display:block}

/* APP SHELL */
.app-shell{min-height:100vh;display:flex}
.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:rgba(255,255,255,.97);border-right:1px solid var(--line);padding:18px 14px 14px;display:flex;flex-direction:column;z-index:70}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 7px 20px}
.brand-mark{width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--accent);color:#fff;font-size:12px;font-weight:760;letter-spacing:.03em;box-shadow:0 8px 18px rgba(38,123,103,.16)}
.sidebar-brand strong{display:block;font-size:14px;font-weight:690;letter-spacing:-.01em}
.sidebar-brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.sidebar-label{padding:0 10px 8px;text-transform:uppercase;letter-spacing:.09em;font-size:9.5px;font-weight:700;color:#9aa59f}
.sidebar-nav{display:grid;gap:3px}
.sidebar-nav a{min-height:43px;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:13px;color:#56645e;font-size:13px;font-weight:540;transition:.16s ease}
.sidebar-nav a:hover{background:#f5f8f7;color:#30423a}
.sidebar-nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:650}
.nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;color:#82908a}
.nav-icon svg{width:18px;height:18px;fill:currentColor}
.sidebar-nav a.active .nav-icon{color:var(--accent)}
.sidebar-spacer{flex:1;min-height:20px}
.sidebar-user{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:14px 6px 1px}
.avatar{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#edf3f1;border:1px solid #dce7e2;color:#426157;font-size:11px;font-weight:740}
.sidebar-user-text{min-width:0;flex:1}
.sidebar-user-text strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-text small{display:block;color:var(--muted);font-size:10.5px;margin-top:1px}
.logout-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#87938e;transition:.15s ease}
.logout-icon:hover{background:#f4f7f6;color:var(--danger)}
.logout-icon svg{width:18px;height:18px;fill:currentColor}
.app-main{min-width:0;flex:1;margin-left:var(--sidebar)}
.mobile-topbar{display:none}
.content{min-height:100vh;padding:29px 30px 48px}
.content-inner{max-width:1420px;margin:0 auto}
.sidebar-backdrop{display:none}

/* PAGE HEADER */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 20px}
.page-title-block{min-width:0}
.page-kicker{display:block;color:var(--accent);font-size:10px;font-weight:720;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.page-head h1{margin:0;font-size:27px;line-height:1.15;font-weight:660;letter-spacing:-.035em;color:#17211d}
.page-head p{margin:7px 0 0;color:var(--muted);font-size:13.5px;max-width:730px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}

/* TYPOGRAPHY */
h1,h2,h3{color:#17211d}
h2{font-size:16px;font-weight:650;letter-spacing:-.015em;margin:0 0 15px}
h3{font-size:14px;font-weight:640;margin:0 0 9px}
.muted{color:var(--muted)}
.small{font-size:11.5px}
.right{text-align:right}

/* CARDS & LAYOUT */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card.compact{padding:14px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.split{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(315px,.75fr);gap:14px;align-items:start}
.split.equal{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpi{position:relative;min-height:116px;padding:18px 19px;overflow:hidden}
.kpi::after{content:"";position:absolute;right:-24px;bottom:-31px;width:86px;height:86px;border-radius:50%;background:var(--accent-soft);opacity:.72}
.kpi .muted{display:block;font-size:11.5px;font-weight:590}
.kpi strong{position:relative;z-index:1;display:block;margin-top:9px;font-size:26px;line-height:1.1;font-weight:650;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.kpi .trend{font-size:11px;margin-top:6px}

/* BUTTONS */
.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:#fff;color:#34443d;padding:9px 13px;border-radius:12px;cursor:pointer;font-size:12.5px;font-weight:610;line-height:1.15;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease,box-shadow .15s ease}
.btn:hover{border-color:#bacac3;background:#fbfcfc;color:#22362e}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 16px rgba(38,123,103,.12)}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.btn.soft{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}
.btn.danger{color:var(--danger);border-color:#efcecb;background:#fff}
.btn.sm{min-height:31px;padding:7px 9px;font-size:11px;border-radius:10px}
.btn-lg{min-height:45px;padding:11px 16px;font-size:13px;border-radius:13px}
.btn-block{width:100%}

/* FORMS */
label{display:block;margin-bottom:6px;color:#52615b;font-size:11.5px;font-weight:630}
input,select,textarea{width:100%;min-height:41px;padding:9px 11px;border:1px solid #d7e0dc;border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input::placeholder,textarea::placeholder{color:#acb5b1}
input:hover,select:hover,textarea:hover{border-color:#c6d3cd}
input:focus,select:focus,textarea:focus{border-color:#8ab6aa;box-shadow:0 0 0 3px rgba(38,123,103,.075);background:#fff}
textarea{min-height:104px;resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.span2{grid-column:span 2}
.field{margin-bottom:13px}
.field-help{font-size:10.5px;color:var(--muted);margin-top:5px}
.option{display:flex;align-items:center;gap:8px;margin:3px 0 15px;color:#4e5c56;font-weight:520}
.option input{width:16px;height:16px;min-height:auto;padding:0;margin:0;accent-color:var(--accent)}
.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.inline-form .field{margin:0;min-width:145px;flex:1}
form.card>h2:first-child{padding-bottom:12px;border-bottom:1px solid #edf1ef;margin-bottom:16px}

/* TABLES */
.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px;scrollbar-width:thin;scrollbar-color:#ccd7d2 transparent}
.table{width:100%;min-width:650px;border-collapse:separate;border-spacing:0}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf1ef;vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table th{padding-top:8px;padding-bottom:9px;color:#8a9691;font-size:9.5px;text-transform:uppercase;letter-spacing:.075em;font-weight:720;white-space:nowrap}
.table td{color:#3b4943;font-size:12.5px}
.table tbody tr{transition:background .12s ease}
.table tbody tr:hover{background:#fafcfb}
.table td.right,.table th.right{text-align:right}
.table td.center,.table th.center{text-align:center}
.rowlink{color:#245f51;font-weight:650}
.rowlink:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.money{font-variant-numeric:tabular-nums;white-space:nowrap}
.total-row{font-weight:680;background:#fafcfb}

/* TABS */
.tabs{display:flex;gap:5px;overflow-x:auto;margin:0 0 16px;padding:4px;background:#eaf0ed;border-radius:14px;width:max-content;max-width:100%;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{white-space:nowrap;padding:8px 12px;border-radius:10px;font-size:11.5px;color:#64716c;font-weight:590;transition:.15s ease}
.tabs a:hover{color:#33483f}
.tabs a.active{background:#fff;color:var(--accent-strong);box-shadow:0 2px 8px rgba(28,48,40,.07);font-weight:670}

/* LISTS */
.list{display:grid;gap:8px}
.item{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
a.item:hover{border-color:#cbd8d2;box-shadow:0 7px 20px rgba(28,48,40,.04);transform:translateY(-1px)}
.item p{margin:6px 0;color:#66746e;font-size:12.5px}
.stat-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf1ef;color:#64716c;font-size:12.5px}
.stat-line:last-child{border-bottom:0}
.stat-line strong{color:#26352f;font-weight:640;text-align:right}
.empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:12px}

/* STATUS */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eff3f1;color:#65716c;font-size:9.5px;font-weight:660;line-height:1.15;white-space:nowrap;text-transform:none}
.pill.ok,.pill.paid{background:var(--success-soft);color:#286947}
.pill.partial,.pill.important{background:var(--warning-soft);color:#925a16}
.pill.late,.pill.urgent{background:var(--danger-soft);color:#a13b34}
.pill.open,.pill.normal{background:#eef2f1;color:#66726e}
.summary-bar{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 14px}
.summary-chip{min-width:150px;flex:1;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;box-shadow:0 5px 18px rgba(28,48,40,.025)}
.summary-chip strong{display:block;margin-top:4px;font-size:18px;line-height:1.15;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.notice{border:1px solid #dfe9e5;border-left:3px solid var(--accent);background:#f7fbf9;padding:11px 13px;border-radius:11px;color:#4d6259;font-size:12px}
.notice.warn{border-color:#f0dec2;border-left-color:#bc7a29;background:#fffaf3}
.flash{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #d6e8e1;border-radius:13px;margin-bottom:16px;background:#edf7f3;color:#28634f;font-size:12.5px;box-shadow:0 7px 18px rgba(28,48,40,.025)}
.flash-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.flash.err{background:#fff2f1;color:#98362f;border-color:#efd1ce}
.flash.err .flash-dot{background:var(--danger)}

/* LOGIN */
.login-body{min-height:100vh;background:#f3f6f5}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(410px,.9fr) minmax(460px,1.1fr)}
.login-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 52px;background:#eef4f2;border-right:1px solid #dde7e3}
.login-brand-panel::after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-240px;bottom:-170px;border:74px solid rgba(38,123,103,.055)}
.login-brand-panel .login-brand-mark{position:relative;z-index:1;width:43px;height:43px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:13px;font-weight:760}
.login-brand-panel h1{position:relative;z-index:1;margin:9px 0 14px;max-width:540px;font-size:35px;line-height:1.16;letter-spacing:-.045em;font-weight:630}
.login-brand-panel p{position:relative;z-index:1;max-width:500px;color:#66756f;font-size:14px;line-height:1.7}
.login-brand-foot{position:relative;z-index:1;color:#75827d;font-size:11px;font-weight:610}
.eyebrow{display:block;color:var(--accent);font-size:9.5px;font-weight:730;letter-spacing:.1em;text-transform:uppercase}
.login-card-wrap{display:flex;align-items:center;justify-content:center;padding:38px;background:#f8faf9}
.login-card{width:100%;max-width:410px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:31px;box-shadow:0 24px 60px rgba(28,48,40,.07)}
.login-card h2{font-size:25px;line-height:1.15;letter-spacing:-.035em;margin:7px 0 8px;font-weight:650}
.login-intro{margin:0 0 22px;font-size:12.5px;line-height:1.6}
.login-form .field{margin-bottom:14px}
.login-note{margin:16px 0 0;text-align:center;color:#98a29e;font-size:9.5px}
.login-mobile-brand{display:none}

/* MOBILE */
.mobile-only{display:none}
@media(max-width:1180px){
  :root{--sidebar:218px}
  .content{padding:26px 22px 42px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr)}
}

@media(max-width:900px){
  :root{--sidebar:250px}
  .sidebar{transform:translateX(-102%);transition:transform .2s ease;box-shadow:22px 0 50px rgba(29,55,45,.11)}
  body.menu-open .sidebar{transform:translateX(0)}
  .sidebar-backdrop{position:fixed;inset:0;display:block;background:rgba(27,39,34,.27);opacity:0;pointer-events:none;z-index:60;transition:opacity .2s ease}
  body.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .app-main{margin-left:0}
  .mobile-topbar{height:58px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 15px}
  .menu-toggle{width:36px;height:36px;border:0;background:transparent;border-radius:10px;padding:8px;display:grid;align-content:center;gap:4px;cursor:pointer}
  .menu-toggle:hover{background:#f2f6f4}
  .menu-toggle span{display:block;height:1.5px;background:#4d5c56;border-radius:99px}
  .mobile-brand{display:flex;align-items:center;gap:8px;flex:1;font-size:12px}
  .mobile-brand .brand-mark{width:29px;height:29px;border-radius:10px;font-size:9px;box-shadow:none}
  .small-avatar{width:31px;height:31px;font-size:9px}
  .content{padding:20px 14px 36px}
  .page-head{align-items:flex-start}
  .split,.split.equal{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .login-shell{display:flex;align-items:center;justify-content:center;padding:20px;background:#f4f7f6}
  .login-brand-panel{display:none}
  .login-card-wrap{width:100%;padding:0;background:transparent}
  .login-card{max-width:430px;margin:auto;padding:25px 22px}
  .login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}
  .login-mobile-brand .login-brand-mark{width:34px;height:34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:10px;font-weight:760}
  .login-mobile-brand strong{font-size:13px}
}

@media(max-width:620px){
  body{font-size:14px}
  .content{padding:17px 10px 30px}
  .page-head{display:block;margin-bottom:15px}
  .page-head h1{font-size:23px}
  .page-head p{font-size:12px}
  .page-head .actions{margin-top:11px}
  .page-kicker{font-size:9px}
  .grid,.grid3,.form-grid{grid-template-columns:1fr}
  .span2{grid-column:auto}
  .card{border-radius:16px;padding:15px;box-shadow:0 7px 22px rgba(28,48,40,.035)}
  .kpi{min-height:98px;padding:15px}
  .kpi strong{font-size:22px;margin-top:7px}
  .summary-chip{flex:1 1 calc(50% - 5px);min-width:0;padding:11px 12px}
  .summary-chip strong{font-size:16px}
  .tabs{width:100%;border-radius:12px}
  .tabs a{padding:7px 10px;font-size:10.5px}
  .table{font-size:12px;min-width:610px}
  .table th,.table td{padding:10px 8px}
  .actions .btn{flex:1 1 auto}
  .inline-form{display:grid;grid-template-columns:1fr}
  .inline-form .field{width:100%;min-width:0}
  .mobile-only{display:block}
  .login-card{border-radius:18px}
}

/* v0.5 - pagine di creazione dedicate, calendario, comunicazioni e area condòmino */
.form-page{max-width:860px;margin:0 auto}.form-card{padding:22px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid #edf1ef}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.list-toolbar>div{display:flex;align-items:baseline;gap:9px}.list-toolbar strong{font-size:14px}.list-toolbar span{font-size:11px;color:var(--muted)}.value-input{max-width:150px;margin-left:auto;text-align:right}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head h2{margin:0}.section-head p{margin:4px 0 0;color:var(--muted);font-size:11.5px}.text-link{font-size:11px;color:var(--accent);font-weight:650}.quick-actions{display:grid;gap:9px}.quick-action{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;transition:.15s ease}.quick-action:hover{border-color:#c8d8d2;box-shadow:0 7px 20px rgba(28,48,40,.04);transform:translateY(-1px)}.quick-action>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:18px;font-weight:500;flex:0 0 auto}.quick-action strong{display:block;font-size:12px;color:#26352f}.quick-action small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.preview-card{border-color:#cfe2db;background:#fcfffd}

.form-section{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid #edf1ef}.form-section:first-of-type{padding-top:0}.form-section:last-of-type{border-bottom:0}.step-number{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:740}.form-section-body h3{margin:2px 0 4px;font-size:15px;font-weight:650}.form-section-body>p{margin:0 0 16px;color:var(--muted);font-size:11.5px;line-height:1.55}.message-editor{min-height:160px}.channel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.channel-option{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.channel-option:hover{border-color:#cad8d2}.channel-option input{width:16px;height:16px;min-height:0;margin:1px 0 0;accent-color:var(--accent)}.channel-option strong{display:block;font-size:11.5px}.channel-option small{display:block;margin-top:2px;color:var(--muted);font-size:9.5px}.channel-option.active-ready{background:#fbfefd}.communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.communication-card{min-height:190px}.communication-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.communication-top h2{margin:8px 0 0;font-size:16px}.communication-preview{margin:13px 0;color:#53615b;font-size:12.5px;line-height:1.6}.communication-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:12px;border-top:1px solid #edf1ef;color:#68756f;font-size:10.5px}.channel-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.channel-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef4f1;color:#4c665d;font-size:9px;font-weight:650}.notice.compact{margin-top:10px;padding:8px 10px;font-size:10px}

.view-switch{display:inline-flex;gap:4px;margin:0 0 13px;padding:4px;border-radius:12px;background:#eaf0ed}.view-switch a{padding:7px 12px;border-radius:9px;color:#68756f;font-size:10.5px;font-weight:620}.view-switch a.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px rgba(28,48,40,.06)}.calendar-card{padding:16px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.calendar-toolbar>div{text-align:center}.calendar-toolbar strong{display:block;font-size:15px}.calendar-toolbar span{display:block;margin-top:2px;color:var(--muted);font-size:9.5px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;overflow:hidden;background:#f8faf9}.calendar-weekdays span{padding:8px;text-align:center;color:#87938e;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--line)}.calendar-weekdays span:last-child{border-right:0}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{min-height:120px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day:nth-last-child(-n+7){ }.calendar-day.empty-day{background:#fafcfb}.calendar-day.today{background:#fbfffd;box-shadow:inset 0 0 0 1px rgba(38,123,103,.18)}.calendar-date{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-date span{font-size:10.5px;font-weight:700;color:#52615b}.calendar-date small{font-size:8px;color:var(--accent);font-weight:700;text-transform:uppercase}.calendar-events{display:grid;gap:5px}.calendar-event{padding:6px 7px;border-radius:8px;background:#f2f6f4;border-left:2px solid #7d9d92}.calendar-event.installment{background:#f6f4ee;border-left-color:#a78a47}.calendar-event.late{background:#fff1f0;border-left-color:#c65a50}.calendar-event strong{display:block;font-size:9.5px;line-height:1.25;color:#34423c}.calendar-event small{display:block;margin-top:2px;font-size:8px;color:#7a8781;line-height:1.25}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:#6d7974;font-size:9px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#7d9d92}.legend-dot.installment{background:#a78a47}.legend-dot.late{background:#c65a50}

.resident-area .sidebar-brand .brand-mark{background:#2f7d6c}.resident-area .content-inner{max-width:1180px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.document-card{display:flex;align-items:center;gap:12px}.document-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eef4f1;color:var(--accent);font-size:9px;font-weight:750}.document-card strong{font-size:12px}.document-card p{margin:3px 0 0;color:var(--muted);font-size:10px}

@media(max-width:900px){.communication-grid{grid-template-columns:1fr}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:105px}.channel-options{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.form-page{max-width:none}.form-card{padding:15px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.list-toolbar{align-items:flex-start}.list-toolbar>div{display:block}.list-toolbar .btn{flex:0 0 auto}.form-section{grid-template-columns:28px minmax(0,1fr);gap:9px}.step-number{width:26px;height:26px}.channel-options{grid-template-columns:1fr}.communication-grid{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}.calendar-card{overflow-x:auto;padding:10px}.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:112px}.calendar-toolbar{min-width:760px}.view-switch{width:100%}.view-switch a{flex:1;text-align:center}}

/* v0.6 - documenti, accessi e SMTP */
.login-help{text-align:right;margin:9px 0 0;font-size:11.5px}.notice.success{background:var(--success-soft);border-color:#cfe6d9;color:#2d684f}.invite-copy-box p{margin:5px 0 10px;font-size:11.5px}.copy-row{display:flex;gap:8px}.copy-row input{background:#fff;font-size:11px}.account-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.choice-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;cursor:pointer}.choice-card:hover{border-color:#c5d7d0}.choice-card input{width:16px;height:16px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}.choice-card strong{display:block;font-size:12px}.choice-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.queue-bar{display:flex;align-items:center;justify-content:space-between;gap:14px}.queue-bar>div strong{display:block;font-size:12.5px}.queue-bar>div span{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}.delivery-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid #edf1ef}.delivery-stats span{background:#f5f8f7;border-radius:999px;padding:4px 8px;color:#6c7974;font-size:9px}.delivery-stats strong{color:#33463e}.send-now-option{margin:15px 0 0}.filter-bar{display:flex;align-items:end;gap:10px}.filter-bar>div{min-width:180px}.filter-bar .filter-action{min-width:auto}.row-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center}.row-actions form{margin:0}.upload-field input[type=file]{padding:8px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:14px;align-items:start}.soft-sep{border:0;border-top:1px solid var(--line);margin:24px 0}.document-download{position:relative;transition:.15s ease}.document-download:hover{transform:translateY(-1px);border-color:#cbdad4;box-shadow:0 10px 25px rgba(28,48,40,.055)}.document-card-body{min-width:0;flex:1}.document-card-body strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-card-body small{display:block;margin-top:4px;color:#9aa49f;font-size:9px}.download-mark{font-size:18px;color:var(--accent);font-weight:500}.document-icon{flex:0 0 auto}.pill.important{background:var(--warning-soft);color:var(--warning)}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap}.filter-bar>div{flex:1 1 220px}}
@media(max-width:620px){.account-mode-grid{grid-template-columns:1fr}.copy-row{display:grid}.queue-bar{align-items:flex-start;flex-direction:column}.queue-bar form,.queue-bar .btn{width:100%}.filter-bar{display:grid}.filter-bar>div{min-width:0}.row-actions{justify-content:flex-start}.settings-grid{grid-template-columns:1fr}}


/* v0.7 - scheda condòmino documenti e assegnazione multipla */
.visibility-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.recipient-selector{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:12px}
.recipient-tools{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.recipient-tools input{flex:1;background:#fff}
.recipient-tools span{white-space:nowrap;color:var(--muted);font-size:10px;font-weight:650}
.recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:280px;overflow:auto;padding-right:3px}
.recipient-row{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e3eae7;border-radius:11px;background:#fff;cursor:pointer;font-size:11.5px}
.recipient-row:hover{border-color:#c9d9d3}
.recipient-row input{width:15px;height:15px;min-height:0;accent-color:var(--accent);flex:0 0 auto}
.recipient-preview{margin-top:5px;max-width:310px;color:var(--muted);font-size:9.5px;line-height:1.45}
@media(max-width:620px){
  .visibility-choice{grid-template-columns:1fr}
  .recipient-tools{align-items:stretch;flex-direction:column}
  .recipient-tools span{white-space:normal}
  .recipient-list{grid-template-columns:1fr;max-height:340px}
}

/* v0.8 - filtri archivi e controlli radio/checkbox */
input[type="checkbox"],input[type="radio"]{
  width:16px!important;height:16px!important;min-height:16px!important;max-width:16px!important;
  padding:0!important;margin:0;display:inline-block;flex:0 0 16px;
  border:0!important;border-radius:4px;box-shadow:none!important;background:transparent!important;
  appearance:auto;-webkit-appearance:auto;accent-color:var(--accent);vertical-align:middle;
}
input[type="radio"]{border-radius:50%}
input[type="checkbox"]:focus,input[type="radio"]:focus{box-shadow:none!important;background:transparent!important;outline:2px solid rgba(38,123,103,.18);outline-offset:2px}
.choice-card input[type="radio"],.recipient-row input[type="checkbox"],.channel-option input[type="checkbox"],.option input[type="checkbox"]{padding:0!important;border:0!important}
.visibility-choice .choice-card{align-items:flex-start;min-height:78px;margin:0}
.visibility-choice .choice-card>span{min-width:0;display:block}
.recipient-row{min-height:42px;justify-content:flex-start}
.recipient-row input[type="checkbox"]{margin-right:2px}
.recipient-row>span{flex:1;min-width:0}

/* v0.9 - barra filtri archivio orizzontale e spaziature */
.archive-filter-bar{
  display:flex;align-items:flex-end;flex-wrap:nowrap;gap:12px;
  margin:0 0 12px!important;padding:13px 15px!important;
  border-radius:17px;box-shadow:0 7px 22px rgba(28,48,40,.035);
}
.archive-filter-bar .filter-field{
  flex:1 1 150px;min-width:0;margin:0;
}
.archive-filter-bar .filter-field.filter-search{
  flex:1.9 1 285px;min-width:220px;
}
.archive-filter-bar label{
  margin:0 0 5px;font-size:10.5px;line-height:1.15;font-weight:650;color:#60706a;
}
.archive-filter-bar input,.archive-filter-bar select{
  min-height:39px;height:39px;padding-top:7px;padding-bottom:7px;border-radius:11px;
}
.archive-filter-bar .filter-buttons{
  display:flex;align-items:center;gap:7px;flex:0 0 auto;margin:0;white-space:nowrap;
}
.archive-filter-bar .filter-buttons .btn{
  min-height:39px;height:39px;padding:8px 12px;border-radius:11px;
}
.archive-result-note{
  margin:0 3px 10px;color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.3;
}
.queue-bar+.archive-result-note{margin-top:11px}

/* desktop medio: mantieni il più possibile una sola riga, poi fai wrap ordinato */
@media(max-width:1180px){
  .archive-filter-bar{flex-wrap:wrap;gap:10px 11px}
  .archive-filter-bar .filter-field{flex:1 1 180px}
  .archive-filter-bar .filter-field.filter-search{flex:2 1 300px}
  .archive-filter-bar .filter-buttons{margin-left:auto}
}
@media(max-width:900px){
  .archive-filter-bar{padding:12px 13px!important}
  .archive-filter-bar .filter-field,.archive-filter-bar .filter-field.filter-search{flex:1 1 calc(50% - 8px);min-width:220px}
  .archive-filter-bar .filter-buttons{flex:1 1 100%;justify-content:flex-end;margin-left:0}
}
@media(max-width:620px){
  .archive-filter-bar{display:grid;grid-template-columns:1fr;gap:9px;padding:12px!important;margin-bottom:10px!important}
  .archive-filter-bar .filter-field,.archive-filter-bar .filter-field.filter-search{min-width:0;width:100%}
  .archive-filter-bar .filter-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .archive-filter-bar .filter-buttons .btn{width:100%}
  .archive-filter-bar .filter-buttons .btn:only-child{grid-column:1/-1}
  .archive-result-note{margin:0 2px 9px}
}

/* v1.0 - assemblee, convocazioni, deleghe e segnalazioni */
.agenda-list{margin:10px 0 0;padding-left:22px}.agenda-list li{padding:9px 0;border-bottom:1px solid #edf1ef;font-size:12px}.agenda-list li:last-child{border-bottom:0}.agenda-list p{margin:5px 0 0;color:var(--muted);font-size:11px}.compact-options{grid-template-columns:1fr 1fr}.attendance-table .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:360px}.mini-select{width:auto!important;min-width:126px;min-height:32px!important;height:32px!important;padding:5px 26px 5px 8px!important;font-size:10px!important}.mini-check{display:flex;align-items:center;gap:5px;font-size:9.5px;color:#61706a;white-space:nowrap}.small-btn{min-height:32px!important;height:32px!important;padding:6px 9px!important}.assembly-card-grid,.request-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assembly-card,.request-card{transition:.15s ease}.assembly-card:hover,.request-card:hover{transform:translateY(-1px);border-color:#cbdad4;box-shadow:0 10px 25px rgba(28,48,40,.05)}.assembly-card h2{margin:8px 0 4px}.assembly-card p{margin:0;color:var(--muted);font-size:10.5px}.request-card{display:block}.request-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.request-card>strong{display:block;font-size:13px}.request-card p{margin:5px 0;color:var(--muted);font-size:10.5px}.request-card small{color:#8a9691;font-size:9.5px}.request-description{margin-top:16px;padding:15px;border-radius:13px;background:#f7faf8;border:1px solid #e6ece9;font-size:12px;line-height:1.65}.attachment-list{display:grid;gap:7px;margin-top:14px}.attachment{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:10.5px;color:#40544b}.attachment:hover{border-color:#c8d8d2}.attachment small{margin-left:auto;color:var(--muted)}.request-thread{display:grid;gap:9px;margin-bottom:15px}.thread-message{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.thread-message.internal{background:#fffaf2;border-color:#efe1c9}.thread-message>div{display:flex;align-items:center;gap:8px}.thread-message strong{font-size:11px}.thread-message small{margin-left:auto;color:#929e99;font-size:9px}.thread-message p{margin:7px 0 0;font-size:11.5px;line-height:1.55;color:#4d5f57}.thread-form{padding-top:14px;border-top:1px solid #edf1ef}.thread-form-row{display:flex;align-items:center;gap:10px}.thread-form-row input[type=file]{flex:1;min-width:190px;padding:7px;font-size:10px}.thread-form-row .btn{margin-left:auto}
@media(max-width:900px){.assembly-card-grid,.request-card-grid{grid-template-columns:1fr}.attendance-table .row-actions{min-width:330px}.compact-options{grid-template-columns:1fr}}
@media(max-width:620px){.thread-form-row{align-items:stretch;flex-direction:column}.thread-form-row input[type=file],.thread-form-row .btn{width:100%;margin-left:0}.attendance-table .row-actions{min-width:300px;justify-content:flex-start;flex-wrap:wrap}}

/* v1.1 - allegati assemblee e notifiche automatiche */
.notification-box{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px 15px;border:1px solid #dfe9e5;border-radius:14px;background:#f8fbfa;
  margin-top:2px;
}
.notification-box>div:first-child{min-width:0}
.notification-box strong{display:block;font-size:11.5px;color:#243c33}
.notification-box small{display:block;margin-top:3px;color:var(--muted);font-size:9.5px;line-height:1.45}
.notification-checks{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.notification-checks .mini-check{font-size:10px;color:#496057}
.notification-checks input[type=checkbox]{margin:0}
.nav-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  padding:0 5px;margin-left:7px;border-radius:999px;background:var(--accent);color:#fff;
  font-size:8.5px;font-weight:750;line-height:1;
}
.sidebar-nav a.active .nav-count{background:#fff;color:var(--accent);box-shadow:0 0 0 1px rgba(38,123,103,.16)}
.attachment-row{display:flex;align-items:center;gap:8px}
.attachment-row .attachment{flex:1;min-width:0;margin:0}
.attachment-row form{flex:0 0 auto}
.assembly-file-form{display:flex;align-items:center;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1ef}
.assembly-file-form input[type=file]{flex:1;min-width:180px;padding:7px;font-size:10px}
.compact-empty{padding:10px 0;text-align:left}
.communication-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pill.auto{background:#edf2ff;color:#5264a7}
@media(max-width:760px){
  .notification-box{align-items:flex-start;flex-direction:column;gap:11px}
  .notification-checks{justify-content:flex-start}
  .assembly-file-form{align-items:stretch;flex-direction:column}
  .assembly-file-form input[type=file],.assembly-file-form .btn{width:100%}
  .attachment-row{align-items:stretch;flex-direction:column}
  .attachment-row form,.attachment-row .btn{width:100%}
}

/* v1.2 · Promemoria automatici */
.communication-reminder-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#dfe7e3)}
.reminder-master{margin:14px 0 18px;display:flex;flex-wrap:wrap;gap:10px 20px}
.reminder-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.reminder-rule{border:1px solid var(--line,#dfe7e3);border-radius:14px;padding:14px;background:#fbfdfc;display:flex;flex-direction:column;gap:7px;min-width:0}
.reminder-rule strong{font-size:14px}.reminder-rule small{color:var(--muted,#697771);min-height:32px;line-height:1.35}.reminder-rule input{margin-top:auto}
.cron-url-box{margin:8px 0 10px;padding:12px 14px;border-radius:12px;background:#f4f7f6;border:1px solid var(--line,#dfe7e3);overflow:auto}
.cron-url-box code{font-size:12px;white-space:nowrap}.inline-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
@media(max-width:1200px){.reminder-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.reminder-rule-grid{grid-template-columns:1fr}.communication-reminder-row{align-items:flex-start;flex-direction:column}.communication-reminder-row .btn{width:100%}.reminder-master{flex-direction:column}}

.communication-card-link{display:block;color:inherit;text-decoration:none}.communication-card-link.is-unread{box-shadow:inset 3px 0 0 #247c69}.communication-detail-body{font-size:15px;line-height:1.7;white-space:normal;margin-top:18px}

/* v1.3 · Servizi tecnici */
.service-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-hub-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;min-height:128px;text-decoration:none;color:inherit;transition:.16s ease}
.service-hub-card:hover{transform:translateY(-1px);border-color:#cadbd4;box-shadow:0 12px 30px rgba(34,66,54,.06)}
.service-hub-card h2{margin:0 0 5px;font-size:15px}.service-hub-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.service-hub-card b{font-size:11px;color:var(--accent);white-space:nowrap}
.service-hub-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:13px;font-weight:750}
.option-inline{min-height:44px;margin-top:3px}
@media(max-width:1050px){.service-hub-grid{grid-template-columns:1fr}.service-hub-card{min-height:100px}}
@media(max-width:640px){.service-hub-card{grid-template-columns:42px 1fr}.service-hub-card>b{grid-column:2}.service-hub-icon{width:40px;height:40px}.summary-bar{overflow-x:auto}}

/* v1.4 · Verbale assemblea e delibere */
.standalone-head{margin:4px 0 14px}.resolution-editor-grid{display:grid;gap:16px}.resolution-editor{padding:20px}.resolution-editor-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.resolution-editor-head>div{display:flex;flex-direction:column;gap:3px}.resolution-editor-head small{color:var(--muted);font-size:12px}.agenda-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:10px;background:#edf6f3;color:#1f7568;font-weight:700}.vote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.vote-box{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfcfc;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px}.vote-box strong{grid-column:1/-1;font-size:13px}.vote-box label{margin:0;font-size:11px;color:var(--muted);font-weight:600}.vote-box input{min-width:0}.sticky-form-actions{position:sticky;bottom:12px;z-index:8;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(24,45,38,.08)}
@media(max-width:900px){.vote-grid{grid-template-columns:1fr}.sticky-form-actions{position:static;flex-wrap:wrap}.sticky-form-actions .btn{flex:1}}

/* v1.5 · Preventivo, consuntivo e conguagli */
.amount-due{color:#a34a2f}.amount-credit{color:#267b67}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.status-actions .btn{flex:1}.chapter-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.chapter-kpis .card{display:flex;flex-direction:column;gap:5px;min-height:92px}.chapter-kpis .card strong{font-size:16px}.chapter-kpis .card small{font-size:10px}.annual-position-card{margin-bottom:0}.inline{display:inline-flex;align-items:center;margin:0}.inline .btn{margin:0}
@media(max-width:1100px){.chapter-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.chapter-kpis{grid-template-columns:1fr 1fr}.status-actions{display:grid;grid-template-columns:1fr}.list-toolbar>.actions{width:100%;display:grid;grid-template-columns:1fr}.list-toolbar>.actions .btn,.list-toolbar>.actions form{width:100%}.list-toolbar>.actions form .btn{width:100%}}
@media(max-width:520px){.chapter-kpis{grid-template-columns:1fr}}

/* v1.7 · Cassa e banca */
.finance-tabs{margin-bottom:18px}
.finance-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.finance-account-card .section-head{align-items:flex-start}
.finance-account-card h2{margin:10px 0 4px}
.finance-balance{font-size:28px;line-height:1;font-weight:720;letter-spacing:-.03em}
.total-line{border-top:1px solid var(--line);margin-top:10px;padding-top:14px}
@media(max-width:980px){.finance-account-grid{grid-template-columns:1fr}}
@media(max-width:720px){.finance-balance{font-size:23px}.finance-tabs{overflow-x:auto;white-space:nowrap;padding-bottom:2px}}

/* v1.8 · Agenda operativa dello studio */
.agenda-tabs{margin:0 0 16px}.agenda-summary{margin-bottom:14px}.task-list{display:grid;gap:8px}.task-day-heading{padding:8px 3px 1px;color:#64736d;font-size:10px;text-transform:uppercase;letter-spacing:.055em}.task-row{display:grid;grid-template-columns:36px minmax(0,1fr) 105px auto;align-items:center;gap:13px;padding:13px 14px}.task-row.is-done{opacity:.58}.task-row.is-done .task-main strong{text-decoration:line-through}.task-check{display:grid;place-items:center}.task-check span,.task-check button{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;border:1px solid #cfdcd7;background:#fff;color:var(--accent);font-size:16px;cursor:pointer}.task-check button:hover{background:var(--accent-soft)}.task-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.task-title-line>a strong{font-size:12.5px;color:#17382e}.task-main p{margin:4px 0 2px;color:var(--muted);font-size:10px}.task-main small{display:block;color:#788680;font-size:9.5px;line-height:1.45}.task-when{text-align:right;display:flex;flex-direction:column;gap:2px}.task-when strong{font-size:10.5px}.task-when span{color:var(--muted);font-size:9px}.task-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.task-actions form{margin:0}.task-event{display:block;color:inherit}.task-event strong{display:block;font-size:9px;line-height:1.3}.task-event small{display:block;margin-top:2px;font-size:7.5px;color:#6f7d77}.task-event.urgent{border-left-color:#b94f3a;background:#fff2ee}.task-event.high{border-left-color:#b58a32;background:#fff9eb}.task-snooze-box{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.task-snooze-box>strong{display:block;margin-bottom:9px;font-size:11px}.dashboard-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dashboard-task{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfdfc;color:inherit}.dashboard-task:hover{border-color:#c8d8d2}.dashboard-task .pill{align-self:flex-start}.dashboard-task strong{font-size:11.5px}.dashboard-task small{color:var(--muted);font-size:9px}.agenda-calendar .calendar-day{min-height:135px}
@media(max-width:1100px){.task-row{grid-template-columns:34px minmax(0,1fr) 92px}.task-actions{grid-column:2/-1;justify-content:flex-start}.dashboard-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.task-row{grid-template-columns:30px minmax(0,1fr);align-items:flex-start}.task-when{grid-column:2;text-align:left;flex-direction:row;gap:8px}.task-actions{grid-column:2}.dashboard-task-grid{grid-template-columns:1fr}.agenda-calendar{overflow-x:auto}.agenda-calendar .calendar-weekdays,.agenda-calendar .calendar-grid{min-width:760px}}

/* v1.9 · Importazione Excel + tipografia leggermente più leggibile */
body{font-size:15.5px}
.sidebar-brand strong{font-size:14.5px}.sidebar-brand small{font-size:11.5px}.sidebar-label{font-size:10px}.sidebar-nav{min-height:0;overflow-y:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:#d7e0dc transparent}.sidebar-nav a{font-size:13.5px}.sidebar-user-text strong{font-size:12.5px}.sidebar-user-text small{font-size:11px}
.page-head h1{font-size:28px}.page-head p{font-size:14px}.page-kicker{font-size:10.5px}h2{font-size:16.5px}h3{font-size:14.5px}.small{font-size:12px}
.btn{font-size:13px}.btn.sm{font-size:11.5px}.btn-lg{font-size:13.5px}label{font-size:12px}.table th{font-size:10px}.table td{font-size:13px}.item p,.stat-line{font-size:13px}.archive-result-note{font-size:11px}.kpi .muted{font-size:12px}

.import-form-page{max-width:900px}.compact-field{max-width:220px}.upload-field small,.field small{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.45}.import-option{margin-top:10px}.import-safety{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #dce9e4;background:#f8fbfa;border-radius:14px}.import-safety>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--accent-soft);color:var(--accent);font-weight:800}.import-safety strong{display:block;font-size:12.5px}.import-safety small{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45}
.import-source-card{padding:12px 14px}.import-source-form{display:flex;align-items:flex-end;gap:10px}.import-source-form .filter-field{flex:1;min-width:160px}.import-source-form .filter-field:first-of-type{flex:1.6}.import-source-form .btn{flex:0 0 auto}
.import-map-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.72fr);gap:15px;align-items:start}.mapping-group{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.mapping-group:first-of-type{padding-top:0;margin-top:0;border-top:0}.mapping-group h3{margin-bottom:10px;color:#50615a}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.mapping-grid .field{margin:0}.required-mark{color:var(--danger)}.import-options-card{position:sticky;top:18px}.import-note{margin:15px 0;padding:12px 13px;border-radius:13px;background:#f7faf8;border:1px solid var(--line)}.import-note strong{font-size:11.5px}.import-note p{margin:5px 0 0;color:var(--muted);font-size:10.5px;line-height:1.55}
.import-preview-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.import-preview-table{min-width:980px}.import-error-text{max-width:250px;margin-top:5px;color:#9d4b3b;font-size:9.5px;line-height:1.35}.import-warning{background:#fff9ee;border-color:#eadaba;color:#755927}.import-confirm-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.import-confirm-card h2{margin-bottom:5px}.import-confirm-card p{margin:0;color:var(--muted);font-size:12px}.import-result-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.import-map-layout{grid-template-columns:1fr}.import-options-card{position:static}.mapping-grid{grid-template-columns:1fr 1fr}.import-result-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body{font-size:15px}.page-head h1{font-size:26px}.import-source-form{display:grid;grid-template-columns:1fr}.import-source-form .btn{width:100%}.mapping-grid{grid-template-columns:1fr}.import-preview-kpis{grid-template-columns:1fr}.import-confirm-card{align-items:stretch;flex-direction:column}.import-confirm-card .btn{width:100%}.import-result-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.import-result-kpis{grid-template-columns:1fr}}

/* v2.0 · account studio */
.sidebar-user-account{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border-radius:12px;padding:4px 5px;margin:-4px -5px;color:inherit;transition:.15s ease}
.sidebar-user-account:hover{background:#f2f7f5}
.sidebar-user-account .sidebar-user-text{min-width:0;flex:1}
@media(max-width:860px){.sidebar-user-account{padding:4px}}
