:root{--sam-green: #1d9e75;--sam-green-dark: #0e8f6a;--sam-green-50: #e8f5e9;--sam-green-100: #eaf4ee;--sam-green-border: #a5d6a7;--sam-green-text: #2e7d32;--sam-blue: #378add;--sam-blue-dark: #1b4f8a;--sam-blue-mid: #3a72b5;--sam-blue-50: #e8f0fa;--sam-blue-hover: rgba(55, 138, 221, .08);--sam-ochre: #ba7517;--sam-orange: #d85a30;--sam-orange-warn: #ed6c02;--sam-purple: #534ab7;--sam-purple-deep: #5c35cc;--sam-indigo: #534ab7;--sam-red: #a32d2d;--sam-red-danger: #c0392b;--sam-red-dot: #e24b4a;--sam-red-text: #7b241c;--sam-red-bg: #fdf3f2;--sam-yellow-bg: #fff8e1;--sam-yellow-border: #ffcc80;--sam-yellow-text: #6d4c00;--sam-yellow-dot: #ef9f27;--sam-amber-bg: #fff3cd;--sam-amber-border: #ffc107;--sam-amber-icon: #d97706;--sam-amber-text: #92400e;--bmi-sottopeso: #2980b9;--bmi-normale: #27ae60;--bmi-sovrappeso: #e67e22;--bmi-obesita1: #c0392b;--bmi-obesita2: #922b21;--bmi-obesita3: #641e16;--sam-bg: #f5f5f5;--sam-bg-alt: #f7f8fa;--sam-card-bg: #ffffff;--sam-menubar-bg: #ffffff;--sam-border: rgba(0, 0, 0, .1);--sam-border-soft: rgba(0, 0, 0, .08);--sam-border-hairline: rgba(0, 0, 0, .12);--sam-sep: #d0d8e4;--sam-text-primary: #212121;--sam-text-body: #2d2d2d;--sam-text-secondary: #666666;--sam-text-tertiary: #888888;--sam-text-hint: #aaaaaa;--sam-text-muted: #777777;--sam-shadow-card: 0 4px 16px rgba(0, 0, 0, .12);--sam-shadow-card-hover: 0 6px 20px rgba(0, 0, 0, .13);--sam-shadow-window: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--sam-shadow-dock: 0 4px 16px rgba(0, 0, 0, .18);--sam-shadow-fab: 0 1px 4px rgba(0, 0, 0, .18);--sam-r-xs: 2px;--sam-r-sm: 4px;--sam-r-md: 8px;--sam-r-lg: 10px;--sam-r-xl: 12px;--sam-r-2xl: 16px;--sam-r-pill: 9999px;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sam-menubar-h: 40px;--sam-taskbar-h: 30px;--sam-titlebar-h: 36px;--sam-banner-h: 36px;--ff-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ff-pdf: "DejaVu Sans", "Liberation Sans", Arial, Helvetica, sans-serif;--ff-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fs-4xl: 36px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-body: 1.5;--lh-relaxed: 1.6;--ls-normal: 0;--ls-caps: .06em;--ls-wide: .08em;--sam-zoom: 1}body.body--dark,[data-theme=dark]{--sam-bg: #1a1a1a;--sam-bg-alt: #222222;--sam-card-bg: #2a2a2a;--sam-menubar-bg: #1e1e1e;--sam-border: rgba(255, 255, 255, .1);--sam-border-soft: rgba(255, 255, 255, .08);--sam-border-hairline: rgba(255, 255, 255, .15);--sam-text-primary: #e0e0e0;--sam-text-body: #e0e0e0;--sam-text-secondary: #bbbbbb;--sam-text-tertiary: #999999;--sam-text-hint: #777777}html{font-size:16px}body{font-family:var(--ff-sans);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--sam-text-primary);background:var(--sam-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--ff-sans);color:var(--sam-text-primary);margin:0 0 var(--sp-3) 0;font-weight:var(--fw-semibold);line-height:var(--lh-tight)}h1{font-size:var(--fs-3xl);font-weight:var(--fw-semibold)}h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold)}h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold)}h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}h5{font-size:var(--fs-md);font-weight:var(--fw-semibold)}h6{font-size:var(--fs-base);font-weight:var(--fw-semibold)}p{margin:0 0 var(--sp-2) 0;color:var(--sam-text-body)}code,pre,kbd,samp{font-family:var(--ff-mono);font-size:.95em}small{font-size:var(--fs-sm);color:var(--sam-text-secondary)}hr{border:0;border-top:1px solid var(--sam-border);margin:var(--sp-4) 0}.sam-section-header{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--sam-text-muted);margin:var(--sp-4) 0 var(--sp-1) 0}.sam-data-value{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--sam-text-primary)}.sam-hint{font-size:var(--fs-sm);color:var(--sam-text-hint);margin-top:2px}html[data-theme=dark]{--sam-bg: #0f1115;--sam-bg-alt: #161a21;--sam-card-bg: #181c24;--sam-card-bg-2: #1f2430;--sam-menubar-bg: #11141a;--sam-border: rgba(255, 255, 255, .08);--sam-border-soft: rgba(255, 255, 255, .06);--sam-border-hairline: rgba(255, 255, 255, .12);--sam-text-primary: #e6e8ec;--sam-text-body: #cfd3da;--sam-text-secondary: #9ca3af;--sam-text-tertiary: #6b7280;--sam-text-hint: #5b6270;--sam-text-muted: #8a92a0;--sam-blue-50: rgba(55, 138, 221, .14);--sam-green-50: rgba(29, 158, 117, .14);--sam-yellow-bg: rgba(239, 159, 39, .14);--sam-red-bg: rgba(192, 57, 43, .18);--sam-amber-bg: rgba(217, 119, 6, .18);--sam-shadow-card: 0 1px 0 rgba(255, 255, 255, .03), 0 8px 24px rgba(0, 0, 0, .4);--sam-shadow-card-hover: 0 1px 0 rgba(255, 255, 255, .04), 0 12px 28px rgba(0, 0, 0, .5)}html[data-theme=light]{--sam-bg: #f6f7f9;--sam-bg-alt: #ffffff;--sam-card-bg: #ffffff;--sam-card-bg-2: #fafbfc}html[data-density=compact]{--row-h: 34px;--pad-y: 8px;--pad-x: 12px;--gap: 10px;--side-w: 220px;--top-h: 52px}html[data-density=comfortable]{--row-h: 44px;--pad-y: 14px;--pad-x: 18px;--gap: 16px;--side-w: 248px;--top-h: 60px}.app{display:grid;grid-template-columns:var(--side-w) 1fr;grid-template-rows:var(--top-h) 1fr;height:100%;background:var(--sam-bg);color:var(--sam-text-primary);font:400 13px/1.5 var(--ff-sans)}.app__side{grid-row:1 / 3;background:var(--sam-card-bg);border-right:1px solid var(--sam-border);display:flex;flex-direction:column;overflow:hidden}.app__top{grid-column:2;background:var(--sam-card-bg);border-bottom:1px solid var(--sam-border);display:flex;align-items:center;gap:12px;padding:0 20px}.app__main{grid-column:2;overflow:auto;background:var(--sam-bg)}.side__brand{display:flex;align-items:center;gap:10px;height:var(--top-h);padding:0 16px;border-bottom:1px solid var(--sam-border)}.side__brand img{height:22px}.side__brand .tenant{font-size:11px;color:var(--sam-text-muted);margin-left:auto;font-family:var(--ff-mono)}.side__nav{padding:12px 10px;overflow-y:auto;flex:1}.side__group{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sam-text-muted);padding:12px 10px 6px}.side__item{display:flex;align-items:center;gap:10px;height:var(--row-h);padding:0 10px;border-radius:8px;font-size:13px;color:var(--sam-text-body);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s;margin:1px 0;position:relative}.side__item:hover{background:var(--sam-bg)}.side__item.is-active{background:var(--sam-blue-50);color:var(--sam-blue-dark);font-weight:600}html[data-theme=dark] .side__item.is-active{color:var(--sam-blue)}.side__item .material-icons{font-size:18px;opacity:.9}.side__item .badge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--sam-bg);color:var(--sam-text-muted)}.side__item.is-active .badge{background:#378add2e;color:var(--sam-blue-dark)}.side__foot{padding:10px 14px;border-top:1px solid var(--sam-border);display:flex;align-items:center;gap:10px}.side__foot .avatar{width:30px;height:30px;border-radius:50%;background:var(--sam-blue);color:#fff;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.top__crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sam-text-secondary)}.top__crumbs .sep{color:var(--sam-text-hint)}.top__crumbs .here{color:var(--sam-text-primary);font-weight:500}.top__search{flex:1;max-width:420px;height:34px;padding:0 12px 0 36px;background:var(--sam-bg);border:1px solid var(--sam-border);border-radius:8px;font:400 13px var(--ff-sans);color:var(--sam-text-primary);position:relative}.top__search-wrap{position:relative;flex:1;max-width:420px;margin-left:auto}.top__search-wrap .material-icons{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--sam-text-hint);pointer-events:none}.top__search-wrap .kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--sam-text-hint);border:1px solid var(--sam-border);border-radius:4px;padding:1px 5px;font-family:var(--ff-mono);background:var(--sam-card-bg)}.top__icons{display:flex;align-items:center;gap:4px}.top__icons .ico{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--sam-text-secondary);cursor:pointer}.top__icons .ico:hover{background:var(--sam-bg)}.page{padding:20px 28px 40px}.page__head{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px}.page__head h1{font-size:22px;font-weight:600;margin:0;color:var(--sam-text-primary);letter-spacing:-.01em}.page__head .sub{font-size:12px;color:var(--sam-text-muted);margin-top:4px}.page__head .actions{margin-left:auto;display:flex;gap:8px}.card{background:var(--sam-card-bg);border:1px solid var(--sam-border);border-radius:12px;padding:16px}.card.tight{padding:12px}.card.wide{padding:20px 22px}.card__head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card__title{font-size:13px;font-weight:600;color:var(--sam-text-primary)}.card__sub{font-size:11px;color:var(--sam-text-muted);text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:8px;cursor:pointer;font:500 13px var(--ff-sans);border:1px solid transparent;transition:background .12s,border .12s,color .12s;white-space:nowrap}.btn .material-icons{font-size:17px}.btn--primary{background:var(--sam-green);color:#fff}.btn--primary:hover{background:var(--sam-green-dark)}.btn--data{background:var(--sam-blue);color:#fff}.btn--data:hover{background:var(--sam-blue-dark)}.btn--tools{background:var(--sam-ochre);color:#fff}.btn--ghost{background:transparent;border-color:var(--sam-border-hairline);color:var(--sam-text-primary)}.btn--ghost:hover{background:var(--sam-bg)}.btn--icon{padding:0 10px}.btn--sm{height:28px;padding:0 10px;font-size:12px;border-radius:6px}.btn--ai{background:var(--sam-purple);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.chip--green{background:var(--sam-green-50);color:var(--sam-green-text);border-color:var(--sam-green-border)}.chip--blue{background:var(--sam-blue-50);color:var(--sam-blue-dark);border-color:#bed6ee}.chip--amber{background:var(--sam-amber-bg);color:var(--sam-amber-text);border-color:var(--sam-amber-border)}.chip--red{background:var(--sam-red-bg);color:var(--sam-red-text);border-color:#ebc2be}.chip--purple{background:#534ab71a;color:var(--sam-purple);border-color:#534ab740}.chip--neutral{background:var(--sam-bg);color:var(--sam-text-secondary);border-color:var(--sam-border)}html[data-theme=dark] .chip--blue{color:#9ec4ed;border-color:#bed6ee40}html[data-theme=dark] .chip--green{color:#8ad3b0;border-color:#a5d6a74d}html[data-theme=dark] .chip--amber{color:#f0b870;border-color:#ffc1074d}html[data-theme=dark] .chip--red{color:#e8847a;border-color:#ebc2be40}html[data-theme=dark] .chip--purple{color:#aca4e5;border-color:#534ab766}.kpi{background:var(--sam-card-bg);border:1px solid var(--sam-border);border-radius:12px;padding:14px 16px}.kpi__lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sam-text-muted)}.kpi__val{font-size:26px;font-weight:700;color:var(--sam-text-primary);margin-top:2px;letter-spacing:-.02em}.kpi__delta{font-size:11px;color:var(--sam-text-secondary);display:inline-flex;align-items:center;gap:4px;margin-top:4px}.kpi__delta.pos{color:var(--sam-green)}.kpi__delta.neg{color:var(--sam-red-danger)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sam-text-muted);padding:8px 12px;border-bottom:1px solid var(--sam-border);background:var(--sam-card-bg)}.tbl tbody td{padding:10px 12px;border-bottom:1px solid var(--sam-border-soft);color:var(--sam-text-body);vertical-align:middle}.tbl tbody tr:hover{background:var(--sam-blue-hover);cursor:pointer}.tbl tbody tr:last-child td{border-bottom:0}.tbl .ic{color:var(--sam-text-tertiary);font-size:16px}.avatar{width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:56px;height:56px;font-size:18px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.muted{color:var(--sam-text-muted)}.hairline{border-top:1px solid var(--sam-border)}.app__main::-webkit-scrollbar,.side__nav::-webkit-scrollbar{width:10px;height:10px}.app__main::-webkit-scrollbar-thumb,.side__nav::-webkit-scrollbar-thumb{background:#0000002e;border-radius:999px;border:2px solid transparent;background-clip:padding-box}html[data-theme=dark] .app__main::-webkit-scrollbar-thumb,html[data-theme=dark] .side__nav::-webkit-scrollbar-thumb{background:#ffffff2e;background-clip:padding-box;border:2px solid transparent}button.side__item,button.tab{background:none;border:0;width:100%;text-align:left;font:inherit;color:inherit}.side__item--disabled{opacity:.45;cursor:not-allowed}.side__item--disabled:hover{background:transparent}html,body{height:100%;margin:0;padding:0}*,*:before,*:after{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font:inherit}html:not([data-density]){--row-h: 34px;--pad-y: 8px;--pad-x: 12px;--gap: 10px;--side-w: 220px;--top-h: 52px}html:not([data-theme]){--sam-card-bg-2: #fafbfc}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--sam-bg)}.login-card{width:100%;max-width:380px;background:var(--sam-card-bg);border:1px solid var(--sam-border);border-radius:var(--sam-r-2xl);padding:32px 28px;box-shadow:var(--sam-shadow-card)}.login-card h1{font-size:var(--fs-2xl);margin:0 0 4px;letter-spacing:-.01em}.login-card .sub{font-size:var(--fs-sm);color:var(--sam-text-muted);margin-bottom:24px}.login-field{display:block;margin-bottom:14px}.login-field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sam-text-muted);margin-bottom:6px}.login-field input{width:100%;height:38px;padding:0 12px;background:var(--sam-bg);border:1px solid var(--sam-border);border-radius:var(--sam-r-md);font:400 13px var(--ff-sans);color:var(--sam-text-primary);transition:border-color .12s,background .12s}.login-field input:focus{outline:none;border-color:var(--sam-blue);background:var(--sam-card-bg)}.login-error{margin:12px 0 0;padding:10px 12px;background:var(--sam-red-bg);color:var(--sam-red-text);border:1px solid #ebc2be;border-radius:var(--sam-r-md);font-size:12px}.login-submit{width:100%;margin-top:18px;height:40px;justify-content:center}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.user-card{display:flex;flex-direction:column}.user-card .name{font-size:13px;font-weight:600}.user-card .tenant{font-size:11px;color:var(--sam-text-muted)}
