@import"https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&display=swap";:root{--color-white: rgba(255,255,255,1);--color-black: rgba(0,0,0,1);--color-cream-50: #F3F0E9;--color-cream-100: #FBFAF7;--color-gray-200: #ECECEA;--color-gray-300: #A6B2AF;--color-gray-400: #5F6F6C;--color-slate-500: #5F6F6C;--color-brown-600: #786E60;--color-charcoal-700: #14201F;--color-charcoal-800: #1B2A28;--color-slate-900: #13302E;--color-teal-300: #6FB8AD;--color-teal-400: #3E9488;--color-teal-500: #2E7D72;--color-teal-600: #266A61;--color-teal-700: #1F5A52;--color-red-400: #E06A66;--color-red-500: #CE4B47;--color-orange-400: #E8954A;--color-orange-500: #C2832B;--color-green-500: #2F9E6B;--color-green-400: #5BC58C;--color-amber: #E8954A;--color-amber-hover:#D9853C;--color-brown-600-rgb: 120,110,96;--color-teal-500-rgb: 46,125,114;--color-teal-300-rgb: 111,184,173;--color-slate-900-rgb: 19,48,46;--color-red-500-rgb: 206,75,71;--color-orange-500-rgb: 194,131,43;--color-green-500-rgb: 47,158,107;--color-amber-rgb: 232,149,74;--color-gray-400-rgb: 95,111,108;--color-gray-300-rgb: 166,178,175;--color-gray-200-rgb: 236,236,234;--color-green-400-rgb: 91,197,140;--color-background: var(--color-cream-50);--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-accent: var(--color-amber);--color-accent-hover: var(--color-amber-hover);--color-secondary: #EDE9E1;--color-secondary-hover: #E4DED3;--color-border: #E8E2D9;--color-border-light: #F0ECE4;--color-error: var(--color-red-500);--color-warning: var(--color-orange-500);--color-success: var(--color-green-500);--shadow-sm: 0 1px 2px rgba(20,40,38,.05);--shadow-md: 0 6px 18px rgba(20,40,38,.08);--shadow-lg: 0 18px 44px rgba(20,40,38,.14);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--font-family-base: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Bricolage Grotesque", "Hanken Grotesk", sans-serif;--focus-ring: 0 0 0 3px rgba(var(--color-teal-500-rgb),.3);--tint-teal-bg: #E3EDE9;--tint-teal-fg: var(--color-primary);--tint-amber-bg: #FBEEE3;--tint-amber-fg: var(--color-accent);--tint-red-bg: #FBE9E7;--tint-red-fg: var(--color-error);--tint-neutral-bg: #EFEAE0;--tint-neutral-fg: var(--color-text-secondary)}@media (prefers-color-scheme: dark){:root{--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-surface-raised: #22302E;--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb),.8);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-secondary: rgba(var(--color-gray-400-rgb),.13);--color-secondary-hover: rgba(var(--color-gray-400-rgb),.22);--color-border: rgba(var(--color-gray-400-rgb),.25);--color-border-light: rgba(var(--color-gray-400-rgb),.13);--color-error: var(--color-red-400);--color-warning: var(--color-orange-400);--color-success: var(--color-green-400);--shadow-sm: 0 1px 4px rgba(0,0,0,.25);--shadow-md: 0 4px 16px rgba(0,0,0,.35);--tint-teal-bg: rgba(var(--color-teal-300-rgb),.16);--tint-amber-bg: rgba(var(--color-amber-rgb),.16);--tint-red-bg: rgba(var(--color-red-500-rgb),.2);--tint-neutral-bg: rgba(var(--color-gray-400-rgb),.18)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);background-color:var(--color-background);color:var(--color-text);line-height:1.5;font-size:16px;-webkit-text-size-adjust:100%}.container{max-width:680px;margin:0 auto;padding:14px 14px 100px}header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:14px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:12px}.header-icon{font-size:28px;flex-shrink:0}.header-body{flex:1;min-width:0}h1{color:var(--color-primary);font-family:var(--font-family-display);font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.4px}h2{color:var(--color-text);font-size:17px;font-weight:700;margin-bottom:14px;letter-spacing:-.2px}h3{font-size:15px;font-weight:600;margin-bottom:10px}.nav-wrapper{position:relative;margin-bottom:24px}.nav-wrapper>.tabs{margin-bottom:0}.tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);padding-bottom:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tabs-fade-right{position:absolute;top:0;right:0;width:48px;height:calc(100% - 2px);background:linear-gradient(to right,transparent,var(--color-background));pointer-events:none}.tab-btn{padding:10px 14px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap;letter-spacing:.1px;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-btn-secondary{font-size:12px;opacity:.7}.tab-btn-secondary.active{opacity:1}.tab-content{display:none}.tab-content.active{display:block}.section-form{display:none}.section-form.open{display:block}.section-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-list-header h2{margin-bottom:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.card-accent-primary{border-left:4px solid var(--color-primary)}.card-accent-warning{border-left:4px solid var(--color-warning)}.card-accent-error{border-left:4px solid var(--color-error)}.card-accent-success{border-left:4px solid var(--color-success)}.card--today{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-secondary) 100%);border:2px solid var(--color-primary)}.card--today h2{color:var(--color-primary);margin-bottom:8px}.card--today p{color:var(--color-text-secondary);margin-bottom:20px}.card--bg-muted{background:var(--color-background)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 10px 12px;text-align:center;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s;cursor:pointer}.stat-card:hover{box-shadow:var(--shadow-md);background:var(--color-surface-raised)}.stat-card:active{transform:scale(.97)}.stat-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:50%;margin:0 auto;width:100%}.stat-icon{margin:0 auto 8px;display:flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:13px;background:rgba(var(--color-teal-500-rgb),.1);color:var(--color-primary)}.stat-icon svg{width:22px;height:22px}.stat-number{font-family:var(--font-family-display);font-size:30px;font-weight:800;color:var(--color-text);line-height:1;margin-bottom:4px;letter-spacing:-1px}.stat-label{color:var(--color-text-secondary);font-size:12px;font-weight:600;line-height:1.3;text-transform:uppercase;letter-spacing:.3px}.form-group{margin-bottom:16px}label{display:block;font-weight:600;margin-bottom:6px;color:var(--color-text);font-size:13px;text-transform:uppercase;letter-spacing:.4px;opacity:.8}input,textarea,select{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:15px;background:var(--color-background);color:var(--color-text);font-family:var(--font-family-base);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--color-primary)}textarea{resize:vertical;min-height:80px}input[type=date],input[type=datetime-local],input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;height:auto;line-height:1.4;min-height:0}input[type=date]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.btn{padding:12px 22px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;font-family:var(--font-family-base);display:inline-flex;align-items:center;gap:6px}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 6px 16px rgba(var(--color-amber-rgb),.32)}.btn-accent:hover{background:var(--color-accent-hover)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px rgba(var(--color-teal-500-rgb),.35)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--color-secondary);color:var(--color-text)}.btn-secondary:hover{background:var(--color-secondary-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-edit{background:var(--color-secondary);color:var(--color-primary);border:1px solid rgba(var(--color-teal-500-rgb),.3)}.btn-edit:hover{background:rgba(var(--color-teal-500-rgb),.12)}.btn-small{padding:6px 12px;font-size:12px;border-radius:6px}.btn-calendar-google{background:#e8f0fe;color:#1a73e8;border:1px solid #c5d6f8;font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer}.btn-calendar-google:hover{background:#d2e3fc}.btn-calendar-apple{background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer}.btn-calendar-apple:hover{background:var(--color-secondary-hover)}.list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-primary);transition:box-shadow .15s}.list-item:hover{box-shadow:var(--shadow-md)}.list-item-content{flex:1;min-width:0}.list-item-title{font-weight:600;color:var(--color-text);margin-bottom:3px;font-size:14px}.list-item-meta{font-size:12px;color:var(--color-text-secondary);line-height:1.5}.list-item-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.item-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.item-header .item-icon{font-size:20px;flex-shrink:0}.item-content{font-size:13px;color:var(--color-text);margin-bottom:8px}.item-content p{margin:3px 0}.item-actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.badge-urgente{background:rgba(var(--color-red-500-rgb),.12);color:var(--color-error)}.badge-importante{background:rgba(var(--color-orange-500-rgb),.12);color:var(--color-warning)}.badge-normale{background:var(--color-secondary);color:var(--color-text-secondary)}.badge-scadenza{background:rgba(var(--color-red-500-rgb),.12);color:var(--color-error)}.badge-prossima{background:rgba(var(--color-orange-500-rgb),.12);color:var(--color-warning)}.badge-ok{background:rgba(var(--color-green-500-rgb),.12);color:var(--color-success)}.empty-state{text-align:center;padding:32px 16px;color:var(--color-text-secondary);font-size:14px}.empty-state:before{content:"";display:block;width:36px;height:36px;margin:0 auto 10px;background-color:var(--color-text-secondary);opacity:.35;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l7.89 5.26a2 2 0 0 0 2.22 0L21 8M5 19h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l7.89 5.26a2 2 0 0 0 2.22 0L21 8M5 19h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.empty-state-cta{text-align:center;padding:32px 16px;color:var(--color-text-secondary);font-size:14px}.empty-state-cta .empty-state-icon{font-size:36px;margin-bottom:12px}.empty-state-cta p{margin:0 0 16px}.empty-state-cta .btn{margin:0 auto}.info-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--color-border-light);gap:12px}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--color-text-secondary);font-size:13px}.info-value{color:var(--color-text);font-size:14px;text-align:right}.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:10px}.checkbox-group input[type=checkbox]{width:auto}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(60px);padding:12px 20px;border-radius:24px;color:#fff;font-weight:600;font-size:14px;z-index:9999;opacity:0;transition:opacity .25s,transform .25s;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-success{background:#1a9e5c}.toast-error{background:var(--color-error)}.toast-warning{background:var(--color-warning)}.toast .toast-undo{background:#ffffff40;border:1px solid rgba(255,255,255,.4);color:#fff;padding:3px 10px;border-radius:12px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;z-index:1000;display:none;align-items:flex-end;justify-content:center}.modal-overlay.show{display:flex}.modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 20px 40px;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-top:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.modal:before{content:"";display:block;width:40px;height:4px;background:var(--color-border);border-radius:2px;margin:0 auto 20px;flex-shrink:0}.modal-overlay.show .modal{display:block}.modal h2{margin-bottom:18px;font-size:18px}.modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;flex-wrap:wrap}.upload-area{border:2px dashed var(--color-primary);border-radius:var(--radius-lg);padding:28px 16px;text-align:center;cursor:pointer;background:rgba(var(--color-teal-500-rgb),.03);margin-bottom:14px;transition:background .2s,border-color .2s}.upload-area:hover{background:rgba(var(--color-teal-500-rgb),.08)}.doc-thumb{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;cursor:pointer;transition:opacity .2s}.doc-thumb:hover{opacity:.8}.doc-thumb-pdf{width:60px;height:60px;border-radius:var(--radius-sm);background:rgba(var(--color-red-500-rgb),.08);border:1px solid rgba(var(--color-red-500-rgb),.25);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;cursor:pointer}.doc-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:8px;background:var(--color-surface);box-shadow:var(--shadow-sm)}.doc-item-body{flex:1;min-width:0}.doc-item-title{font-weight:600;font-size:14px;margin-bottom:3px}.doc-item-meta{font-size:12px;color:var(--color-text-secondary);margin-bottom:2px}.doc-item-note{font-size:12px;margin-top:4px;color:var(--color-text-secondary);font-style:italic}.doc-item-actions{flex-shrink:0}.fab-container{position:fixed;bottom:24px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:500}.fab-btn{width:56px;height:56px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:26px;border:none;cursor:pointer;box-shadow:0 8px 20px rgba(var(--color-amber-rgb),.45);transition:transform .2s,background .2s;display:flex;align-items:center;justify-content:center}.fab-btn:hover{background:var(--color-accent-hover)}.fab-btn.open{transform:rotate(45deg);background:var(--color-error)}.fab-menu{display:none;flex-direction:column;gap:8px;align-items:flex-end}.fab-menu.show{display:flex}.fab-option{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:24px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px;white-space:nowrap;transition:background .15s;font-family:var(--font-family-base)}.fab-option:hover{background:var(--color-secondary)}.fab-option span{font-size:18px}.allergia-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:var(--radius-sm);margin-bottom:8px;background:var(--color-surface);border:1px solid var(--color-border-light)}.allergia-item:last-child{margin-bottom:0}.allergia-label{font-weight:700;font-size:15px;color:var(--color-text)}.allergia-note{font-size:12px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.allergia-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.allergia-badge--grave{color:#fff;background:var(--color-error)}.allergia-badge--moderata{color:var(--color-warning);background:var(--tint-amber-bg)}.allergia-badge--lieve{color:var(--color-success);background:rgba(var(--color-green-500-rgb),.16)}.patologia-item{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 14px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:8px}.limit-banner{background:rgba(var(--color-orange-500-rgb),.08);border:1.5px solid var(--color-warning);border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px;color:var(--color-warning);font-weight:500;font-size:13px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 380px){.container{padding:10px 10px 90px}.tab-btn{padding:9px 10px;font-size:12px}.stat-number{font-size:26px}.card{padding:14px}}.altro-menu{display:none;position:absolute;top:100%;right:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:240px;z-index:200;padding:8px;animation:dropdownFade .15s ease}.altro-menu.show{display:block}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.altro-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--color-text);font-size:15px;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s;font-family:var(--font-family-base)}.altro-menu-item:hover{background-color:var(--color-secondary)}.fc{--fc-border-color: var(--color-border);--fc-button-bg-color: var(--color-primary);--fc-button-border-color: var(--color-primary);--fc-button-hover-bg-color: var(--color-primary-hover);--fc-button-hover-border-color: var(--color-primary-hover);--fc-button-active-bg-color: var(--color-primary-active);--fc-button-active-border-color: var(--color-primary-active);--fc-today-bg-color: rgba(var(--color-teal-500-rgb), .06);--fc-page-bg-color: var(--color-surface);--fc-neutral-bg-color: var(--color-secondary);--fc-event-border-color: transparent;font-family:var(--font-family-base)}.fc .fc-toolbar-title{font-size:20px;font-weight:600;color:var(--color-text)}.fc .fc-col-header-cell-cushion{color:var(--color-text-secondary);font-weight:500}.fc .fc-daygrid-day-number{color:var(--color-text);font-size:14px}.fc .fc-button{font-size:14px;border-radius:var(--radius-sm);padding:8px 14px;font-weight:500}.fc .fc-button-group .fc-button{border-radius:0}.fc .fc-button-group .fc-button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.fc .fc-button-group .fc-button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.calendar-legend-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary)}.calendar-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.sync-panel{display:none;margin-top:20px}.sync-panel.show{display:block}.sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sync-provider-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:10px;padding:20px}.sync-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:12px}.sync-status-connected{background-color:rgba(var(--color-green-500-rgb),.15);color:var(--color-success)}.sync-status-disconnected{background-color:rgba(var(--color-orange-500-rgb),.15);color:var(--color-warning)}.scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1100;display:none;align-items:center;justify-content:center}.scanner-overlay.show{display:flex}.scanner-modal{background:var(--color-surface);border-radius:var(--radius-md);padding:28px;width:92%;max-width:520px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.scanner-video{width:100%;border-radius:var(--radius-sm);background:#000;max-height:50vh}.scanner-preview{width:100%;border-radius:var(--radius-sm);max-height:40vh;object-fit:contain;background:var(--color-background)}.scanner-step{display:none}.scanner-step.active{display:block}.scanner-card{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:24px;text-align:center;margin-bottom:20px;cursor:pointer;transition:border-color .2s}.scanner-card:hover{border-color:var(--color-primary)}@media (max-width: 600px){.tabs{gap:2px}.tabs .tab-btn{padding:10px;font-size:13px}#altro-btn{padding:10px 12px;font-size:13px}.sync-grid{grid-template-columns:1fr}.fc .fc-toolbar{flex-direction:column;gap:8px}.fc .fc-toolbar-title{font-size:18px}.scanner-modal{width:96%;padding:20px}}@media (max-width: 420px){.tabs{gap:0}.tabs .tab-btn{padding:10px 8px;font-size:12px}}.header-icon{border-radius:var(--radius-sm)}.header-meta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}.header-meta-label{color:var(--color-text-secondary);font-size:12px}.header-meta-name{font-weight:700;font-size:13px;color:var(--color-text)}.btn-inline{background:none;border:none;cursor:pointer;font-size:12px;color:var(--color-primary);padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-base)}.demo-banner{background:rgba(var(--color-orange-500-rgb),.12);border:1.5px solid var(--color-warning);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:18px;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.demo-banner-text{font-size:14px;color:var(--color-text)}.allergie-banner{background:rgba(var(--color-red-500-rgb),.08);border:2px solid var(--color-error);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:16px;cursor:pointer}.allergie-banner-inner{display:flex;align-items:center;gap:10px}.allergie-banner-icon{font-size:22px}.allergie-banner-title{font-weight:700;color:var(--color-error);font-size:15px}.allergie-banner-detail{font-size:14px;color:var(--color-text);margin-top:3px}.alert-banner{background:rgba(var(--color-red-500-rgb),.1);border:2px solid var(--color-error);border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.alert-banner-inner{display:flex;align-items:center;gap:12px}.alert-banner-icon{font-size:24px}.alert-banner-title{font-weight:600;color:var(--color-error);margin-bottom:4px}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.card-header h2{margin-bottom:0}.card--highlight{background:rgba(var(--color-teal-500-rgb),.05);border:2px solid var(--color-primary)}.legend-dot-teal{background-color:rgba(var(--color-teal-500-rgb),.85)}.legend-dot-red{background-color:rgba(var(--color-red-500-rgb),.85)}.allergie-section{background:var(--tint-red-bg);border:1px solid rgba(var(--color-red-500-rgb),.3);border-radius:var(--radius-md);padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.allergie-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.allergie-section-header h2{color:var(--color-error);margin:0}.allergie-section-hint{font-size:13px;color:var(--color-text-secondary);margin-bottom:12px}.btn-danger-solid{background:var(--color-surface);color:var(--color-error);border:1px solid rgba(var(--color-red-500-rgb),.35);font-weight:700}.btn-danger-solid:hover{background:var(--tint-red-bg)}.storage-bar-header{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text-secondary);margin-bottom:5px}.storage-bar-track{background:var(--color-border);border-radius:4px;height:6px;overflow:hidden}#storage-bar{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s;width:0%}.storage-bar-hint{font-size:12px;color:var(--color-text-secondary);margin-top:5px}.upload-area-icon{font-size:40px;margin-bottom:10px}.upload-area-title{font-weight:700;font-size:17px;margin-bottom:6px}.upload-area-sub{font-size:14px;color:var(--color-text-secondary)}.doc-details{margin-bottom:16px}.doc-summary{cursor:pointer;font-size:14px;color:var(--color-primary);font-weight:600;padding:10px 0;display:block}.filter-row{margin-bottom:16px}.filter-row label{display:inline;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;opacity:1;color:var(--color-text)}.select-inline{width:auto;display:inline-block;margin-left:8px}.textarea-lg{min-height:120px}.textarea-md{min-height:100px}.scanner-btn-row{display:flex;gap:12px;margin-top:16px}.scanner-form{margin-top:16px}.btn-flex{flex:1}.tab-icon,.altro-item-icon{width:16px;height:16px;flex-shrink:0}.fab-icon{width:18px;height:18px;flex-shrink:0}.banner-svg-icon{width:24px;height:24px;flex-shrink:0}.upload-svg-icon{width:40px;height:40px;margin-bottom:10px;color:var(--color-primary)}.btn-icon{width:14px;height:14px;flex-shrink:0}.h2-icon{width:19px;height:19px;vertical-align:-3px;margin-right:9px;color:var(--color-primary);flex-shrink:0}.tutto-gruppo-titolo .h2-icon{width:15px;height:15px;vertical-align:-2px;margin-right:7px}#profilo-codiceFiscale{text-transform:uppercase}.altro-menu-item--secondary{color:var(--color-text-secondary);font-size:13px}.modal h2{margin-bottom:20px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:space-around;align-items:stretch;background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;padding:6px 2px;color:var(--color-text-secondary);font-size:11px;font-weight:600}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.active{color:var(--color-primary)}.container{padding-bottom:84px}.fab-container{bottom:84px}.giorno-toggle{display:flex;gap:4px;margin-bottom:14px;background:var(--color-secondary);border-radius:14px;padding:4px}.giorno-btn{flex:1;padding:10px;border-radius:11px;cursor:pointer;background:transparent;border:none;color:var(--color-text-secondary);font-size:15px;font-weight:700;font-family:var(--font-family-base);transition:background .15s,color .15s}.giorno-btn.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.tutto-gruppo{margin-bottom:18px}.tutto-gruppo-titolo{font-size:14px;color:var(--color-text-secondary);margin:0 0 8px 4px;font-weight:700}.tutto-voci{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tutto-voce{display:flex;align-items:center;gap:10px;padding:16px 14px;border-radius:12px;cursor:pointer;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:15px;font-weight:600}.tutto-voce svg{width:20px;height:20px;flex-shrink:0}.tutto-voce:hover{background:var(--color-secondary)}.header-meta-name{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-background);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.auth-card{width:100%;max-width:340px;box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:28px 24px;box-shadow:var(--shadow-md)}.auth-head{text-align:center;margin-bottom:22px}.auth-logo{width:68px;height:68px;margin:0 auto 14px;display:block;border-radius:17px;box-shadow:0 14px 30px rgba(var(--color-teal-500-rgb),.28)}.auth-brand{font-family:var(--font-family-display);font-size:30px;font-weight:800;color:var(--color-primary);letter-spacing:-.6px}.auth-sub{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.auth-title{font-size:18px;font-weight:700;color:var(--color-text);margin:0 0 4px;text-align:center}.auth-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.auth-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:11px;padding:13px 12px;font-size:16px;background:var(--color-cream-100);color:var(--color-text);margin-bottom:14px;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-primary)}.auth-input::placeholder{color:var(--color-text-secondary);opacity:.7;-webkit-text-fill-color:var(--color-text-secondary)}.auth-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-teal-500-rgb),.15)}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-cream-100) inset}@media (prefers-color-scheme: dark){.auth-input{background:var(--color-surface-raised);border-color:var(--color-border)}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface-raised) inset}}.auth-btn-primary{width:100%;background:var(--color-primary);color:#fff;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:700;cursor:pointer}.auth-btn-primary:hover{background:var(--color-primary-hover)}.auth-btn-outline{width:100%;background:var(--color-surface);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:12px;padding:12px;font-size:15px;font-weight:700;cursor:pointer}.auth-btn-outline:hover{background:var(--color-secondary)}.auth-link{color:var(--color-primary);font-weight:600;font-size:13px;cursor:pointer}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--color-gray-300);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-msg{font-size:13px;min-height:1.2em;margin:0 0 10px}.auth-msg.error{color:var(--color-error)}.auth-msg.ok{color:var(--color-success)}.auth-foot{text-align:center;margin-top:18px;font-size:13px;color:var(--color-text-secondary)}.auth-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-text-secondary);font-size:13px;cursor:pointer;margin-bottom:10px;padding:0}.app-greeting{padding:14px 4px 0;margin-bottom:16px}.greeting-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.greeting-date{font-size:13px;color:var(--color-text-secondary);font-weight:600;margin-bottom:2px}.greeting-title{font-family:var(--font-family-display);font-size:25px;font-weight:700;color:var(--color-text);letter-spacing:-.5px;line-height:1.1}.greeting-bell{width:44px;height:44px;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:var(--color-primary);box-shadow:var(--shadow-sm)}.home-hero-card{background:var(--color-primary);border-radius:26px;padding:18px;color:#fff;box-shadow:0 14px 30px rgba(var(--color-teal-500-rgb),.3);margin-bottom:14px;cursor:pointer}.hero-card-inner{display:flex;align-items:center;gap:13px}.hero-avatar{width:52px;height:52px;border-radius:50%;background:#ffffff2e;display:flex;align-items:center;justify-content:center;font-family:var(--font-family-display);font-weight:700;font-size:19px;flex-shrink:0;color:#fff}.hero-info{flex:1;min-width:0}.hero-label{font-weight:500;font-size:12px;color:#ffffffbf}.hero-name{font-family:var(--font-family-display);font-weight:700;font-size:19px;line-height:1.15;color:#fff}.hero-sub{font-size:13px;color:#fffc}.hero-allergy{display:flex;align-items:center;gap:8px;margin-top:14px;background:#00000029;border-radius:13px;padding:9px 12px;font-size:13px;font-weight:600;color:#ffd9c2}.giornata-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;padding:18px 18px 6px;box-shadow:var(--shadow-md);margin-bottom:14px}.giornata-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.giornata-title{font-family:var(--font-family-display);font-weight:700;font-size:18px;color:var(--color-text)}.giornata-pill{font-size:12px;font-weight:700;color:var(--color-primary);background:rgba(var(--color-teal-500-rgb),.1);padding:4px 10px;border-radius:20px}.giornata-toggle{display:flex;gap:3px;background:var(--color-secondary);border-radius:10px;padding:3px}.giornata-btn{padding:6px 12px;border-radius:8px;cursor:pointer;background:transparent;border:none;color:var(--color-text-secondary);font-size:13px;font-weight:700;font-family:var(--font-family-base);transition:background .15s,color .15s}.giornata-btn.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.timeline-row{display:flex;gap:12px;padding-bottom:16px}.timeline-row--last{padding-bottom:12px}.timeline-time{width:44px;text-align:right;font-weight:700;font-size:13px;color:var(--color-text-secondary);padding-top:1px;flex-shrink:0}.timeline-time--warn{color:var(--color-warning)}.timeline-track{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-dot{width:13px;height:13px;border-radius:50%;border:2.5px solid var(--color-primary);background:var(--color-surface);flex-shrink:0;display:flex;align-items:center;justify-content:center}.timeline-dot--done{background:var(--color-primary);border-color:var(--color-primary)}.timeline-dot--apt{background:var(--color-accent);border-color:var(--color-accent)}.timeline-dot--warning{background:var(--color-warning);border-color:var(--color-warning)}.timeline-line{flex:1;width:2px;background:var(--color-border);margin:2px 0;min-height:8px}.timeline-content{flex:1;min-width:0}.timeline-content--apt{background:rgba(var(--color-amber-rgb),.08);border:1px solid rgba(var(--color-amber-rgb),.25);border-radius:14px;padding:10px 12px;margin-top:-1px}.timeline-content--done{opacity:.6}.timeline-title{font-weight:700;font-size:14px;color:var(--color-text)}.timeline-title--done{text-decoration:line-through;color:var(--color-text-secondary)}.timeline-dosage{color:var(--color-text-secondary);font-weight:600;font-size:13px}.timeline-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.timeline-tap-hint{font-size:11px;color:var(--color-primary);margin-top:3px;font-weight:600}.timeline-row--clickable:hover{background:rgba(var(--color-teal-500-rgb),.04);border-radius:var(--radius-sm)}.farmaco-card{display:flex;align-items:center;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;padding:16px;box-shadow:var(--shadow-sm);margin-bottom:12px}.farmaco-icon-wrap{width:48px;height:48px;border-radius:15px;background:rgba(var(--color-teal-500-rgb),.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.farmaco-body{flex:1;min-width:0}.farmaco-nome{font-weight:700;font-size:16px;color:var(--color-text)}.farmaco-dosaggio{color:var(--color-text-secondary);font-weight:600;font-size:14px}.farmaco-sub{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.farmaco-badge-ora{text-align:right;flex-shrink:0}.farmaco-prossima{display:block;font-size:11px;color:var(--color-text-secondary);font-weight:600}.farmaco-ora{font-weight:700;font-size:15px;color:var(--color-primary)}.farmaco-actions{display:flex;gap:6px;flex-shrink:0}.hero-relazione-row{display:flex;align-items:center;gap:6px;margin-top:14px;flex-wrap:wrap}.hero-relazione-label{font-size:11px;color:#ffffffa6;font-weight:600;flex-shrink:0}.hero-relazione-btn{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fffc;cursor:pointer;font-family:var(--font-family-base);transition:background .15s}.hero-relazione-btn.active,.hero-relazione-btn:hover{background:#ffffff38;color:#fff;border-color:#ffffffb3}.item-card{display:flex;align-items:flex-start;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:10px;transition:box-shadow .15s}.item-card:hover{box-shadow:var(--shadow-md)}.item-card-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;line-height:1;background:rgba(var(--color-teal-500-rgb),.1);color:var(--color-primary)}.item-card-icon--warn{background:#f59e0b1f;color:#b45309}.item-card-icon--info{background:#3b82f61a;color:#1d4ed8}.item-card-icon--red{background:#ef44441a;color:#b91c1c}.item-card-icon--green{background:#16a34a1a;color:#15803d}.item-card-icon--purple{background:#8b5cf61a;color:#6d28d9}.item-card-icon svg{width:22px;height:22px}.item-card-body{flex:1;min-width:0}.item-card-title{font-weight:700;font-size:15px;color:var(--color-text);line-height:1.3}.item-card-meta{font-size:12px;color:var(--color-text-secondary);margin-top:3px}.item-card-detail{font-size:13px;color:var(--color-text-secondary);margin-top:8px;line-height:1.5}.item-card-phone{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--color-primary);text-decoration:none;margin-top:6px}.item-card-actions{display:flex;gap:6px;flex-shrink:0;align-items:flex-start}.item-card-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;margin-top:6px}.item-card-badge--red{background:#ef44441f;color:#b91c1c}.item-card-badge--yellow{background:#f59e0b26;color:#92400e}.item-card-badge--green{background:#16a34a1f;color:#15803d}.item-card-badge--blue{background:#3b82f61f;color:#1d4ed8}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.page-head--gap{margin-bottom:18px}.page-title{font-family:var(--font-family-display);font-weight:700;font-size:28px;letter-spacing:-.6px;color:var(--color-text);line-height:1.1}.page-sub{font-size:13px;color:var(--color-text-secondary);margin-bottom:18px}.page-fab{width:42px;height:42px;border-radius:14px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 16px rgba(var(--color-teal-500-rgb),.32);transition:transform .15s,background .15s}.page-fab:hover{background:var(--color-primary-hover)}.page-fab:active{transform:scale(.94)}.page-fab svg{width:22px;height:22px}.hero-panel{background:var(--color-primary);border-radius:var(--radius-lg);padding:20px;color:#fff;box-shadow:0 14px 30px rgba(var(--color-teal-500-rgb),.3);margin-bottom:16px}.hero-panel-label{font-size:13px;color:#fffc;font-weight:600}.hero-panel-value{font-family:var(--font-family-display);font-weight:800;font-size:38px;letter-spacing:-1px;line-height:1.1;margin:2px 0 14px}.hero-stats{display:flex;gap:10px}.hero-stat-box{flex:1;background:#00000029;border-radius:13px;padding:11px 13px}.hero-stat-box-label{font-size:11px;color:#ffffffbf}.hero-stat-box-value{font-weight:700;font-size:17px}.chip-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.chip{font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);padding:7px 13px;border-radius:20px;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--color-primary)}.chip.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary);font-weight:700}.group-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px 14px;box-shadow:var(--shadow-sm);margin-bottom:16px}.group-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--color-border-light)}.group-row:last-child{border-bottom:none}.group-row--clickable{cursor:pointer}.group-row--clickable:hover{background:rgba(var(--color-teal-500-rgb),.04)}.group-body{flex:1;min-width:0}.group-title{font-weight:700;font-size:14px;color:var(--color-text)}.group-meta{font-size:12px;color:var(--color-text-secondary);margin-top:1px}.group-end{text-align:right;flex-shrink:0}.isq{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.isq svg{width:20px;height:20px}.isq--lg{width:48px;height:48px;border-radius:15px}.isq--lg svg{width:24px;height:24px}.isq--teal{background:var(--tint-teal-bg);color:var(--tint-teal-fg)}.isq--amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.isq--red{background:var(--tint-red-bg);color:var(--tint-red-fg)}.isq--neutral{background:var(--tint-neutral-bg);color:var(--tint-neutral-fg)}.avatar-circle{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;background:var(--tint-teal-bg);color:var(--tint-teal-fg)}.avatar-circle--amber{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:8px}.tag--teal{color:var(--tint-teal-fg);background:var(--tint-teal-bg)}.tag--amber{color:var(--color-warning);background:var(--tint-amber-bg)}.tag--red{color:var(--color-error);background:var(--tint-red-bg)}.tag--neutral{color:var(--color-text-secondary);background:var(--tint-neutral-bg)}.tag-detraibile{font-size:10px;font-weight:700;color:var(--color-success)}.accent-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:15px;box-shadow:var(--shadow-sm);margin-bottom:10px;border-left:4px solid var(--color-primary)}.accent-card--amber{border-left-color:var(--color-accent)}.accent-card--red{border-left-color:var(--color-error)}.accent-card--green{border-left-color:var(--color-success)}.accent-card--neutral{border-left-color:var(--color-border)}.accent-card--row{display:flex;gap:13px;align-items:center}.accent-card--clickable{cursor:pointer}.accent-card--clickable:hover{box-shadow:var(--shadow-md)}.cta-banner{background:var(--tint-amber-bg);border:1px solid rgba(var(--color-amber-rgb),.4);border-radius:var(--radius-md);padding:15px;margin-bottom:18px;display:flex;gap:12px;align-items:center;cursor:pointer}.cta-banner-icon{width:38px;height:38px;border-radius:11px;background:var(--color-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent)}.cta-banner-icon svg{width:19px;height:19px}.cta-banner-body{flex:1;min-width:0}.cta-banner-title{font-weight:700;font-size:14px;color:var(--color-warning)}.cta-banner-sub{font-size:12px;color:var(--color-warning);opacity:.85}.section-label{font-weight:700;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.6px;margin:0 4px 8px}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.hub-cell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s,box-shadow .15s;text-align:left;width:100%}.hub-cell:hover{box-shadow:var(--shadow-md)}.hub-cell:active{transform:scale(.97)}.hub-cell-title{font-weight:700;font-size:15px;color:var(--color-text);margin-top:10px}.hub-cell-sub{font-size:12px;color:var(--color-text-secondary);margin-top:1px}.phone-btn{width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;transition:background .15s}.phone-btn:hover{background:var(--color-primary-hover)}.phone-btn svg{width:18px;height:18px}.deadline-pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;display:inline-block;white-space:nowrap}.deadline-pill--red{color:#fff;background:var(--color-error)}.deadline-pill--amber{color:var(--color-warning);background:var(--tint-amber-bg)}.deadline-pill--green{color:var(--color-success);background:rgba(var(--color-green-500-rgb),.16)}.accent-card .group-end{margin-left:10px}.date-badge{width:48px;text-align:center;flex-shrink:0;background:var(--color-secondary);border-radius:12px;padding:7px 0}.date-badge-dow{font-size:11px;font-weight:700;color:var(--color-text-secondary)}.date-badge-num{font-family:var(--font-family-display);font-weight:700;font-size:18px;color:var(--color-text)}.row-chev{width:18px;height:18px;color:var(--color-gray-300);flex-shrink:0}.row-del{width:34px;height:34px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:9px;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.row-del:hover{background:var(--tint-red-bg);color:var(--color-error)}.row-del svg{width:17px;height:17px}#fullcalendar-container{--fc-button-bg-color: var(--color-primary);--fc-button-border-color: var(--color-primary);--fc-button-hover-bg-color: var(--color-primary-hover);--fc-button-hover-border-color: var(--color-primary-hover);--fc-button-active-bg-color: var(--color-primary-active);--fc-button-active-border-color: var(--color-primary-active);--fc-today-bg-color: rgba(var(--color-teal-500-rgb),.08);--fc-border-color: var(--color-border)}.fc .fc-toolbar-title{font-family:var(--font-family-display);letter-spacing:-.3px}#fullcalendar-container{min-height:340px}.fc .fc-daygrid-day-frame{min-height:44px}.mansione-row{display:flex;align-items:center;gap:12px;padding:10px 0}.mansione-check{width:26px;height:26px;border-radius:8px;border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center}.mansione-check svg{width:15px;height:15px;color:#fff}.checkbox-group input[type=checkbox]:checked+label .mansione-check{background:var(--color-primary);border-color:var(--color-primary)}.notif-stato p{margin:0 0 12px;line-height:1.5}.notif-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.notif-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--color-teal-600, #2E7D72);flex-shrink:0}
