@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--c-bg: #07090e;--c-surface: rgba(18, 24, 38, .7);--c-surface-solid: #121826;--c-surface-hover: rgba(28, 37, 58, .85);--c-card: rgba(22, 31, 50, .65);--c-border: rgba(255, 255, 255, .07);--c-border-glow: rgba(99, 102, 241, .18);--c-text: #f3f4f6;--c-text-secondary: #9ca3af;--c-text-muted: #6b7280;--c-text-contrast: #ffffff;--c-input-bg: rgba(255, 255, 255, .03);--c-input-color: #ffffff;--c-translucent-bg: rgba(255, 255, 255, .02);--c-chat-area-bg: rgba(10, 15, 26, .4);--c-chat-area-shadow: inset 0 4px 10px rgba(0, 0, 0, .3);--c-chat-input-wrapper-bg: rgba(18, 24, 38, .75);--c-chat-bubble-other-bg: rgba(255, 255, 255, .05);--c-modal-overlay: rgba(10, 15, 26, .4);--c-primary: #6366f1;--c-primary-hover: #4f46e5;--c-primary-light: rgba(99, 102, 241, .15);--c-primary-glow: rgba(99, 102, 241, .35);--c-success: #10b981;--c-success-light: rgba(16, 185, 129, .15);--c-success-glow: rgba(16, 185, 129, .35);--c-warning: #f59e0b;--c-warning-light: rgba(245, 158, 11, .15);--c-warning-glow: rgba(245, 158, 11, .35);--c-danger: #ef4444;--c-danger-light: rgba(239, 68, 68, .15);--c-danger-glow: rgba(239, 68, 68, .35);--c-info: #06b6d4;--c-info-light: rgba(6, 182, 212, .15);--grad-primary: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--grad-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--grad-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--grad-danger: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--grad-info: linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%);--grad-dark: linear-gradient(180deg, #121826 0%, #07090e 100%);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--glass-blur: blur(16px);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 30px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45);--shadow-glow-primary: 0 0 16px rgba(99, 102, 241, .25);--shadow-glow-success: 0 0 16px rgba(16, 185, 129, .25)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Plus Jakarta Sans,Inter,-apple-system,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;max-width:480px;margin:0 auto;min-height:100vh;position:relative;box-shadow:0 0 50px #000c;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.pwa-header{background:#07090ecc;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--c-border);color:#fff;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 4px 20px #0003}.pwa-header h1{font-family:Outfit,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 30%,#9ca3af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pwa-header .back-btn{background:#ffffff0d;border:1px solid var(--c-border);color:var(--c-text);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.pwa-header .back-btn:hover{background:#ffffff1a;border-color:var(--c-text-secondary);transform:scale(1.05)}.pwa-body{padding:20px 20px 95px;min-height:calc(100vh - 63px)}.pwa-tabs{display:flex;background:#121826bf;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--c-border);position:fixed;bottom:12px;left:12px;right:12px;max-width:456px;margin:0 auto;z-index:100;border-radius:24px;padding:8px 12px;box-shadow:var(--shadow-lg),0 0 20px #0006}.pwa-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;color:var(--c-text-muted);border:none;background:none;cursor:pointer;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.pwa-tab.active{color:var(--c-primary)}.pwa-tab .tab-icon{width:20px;height:20px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.pwa-tab.active .tab-icon{transform:translateY(-4px) scale(1.15);filter:drop-shadow(0 0 6px var(--c-primary-glow))}.pwa-tab:after{content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--c-primary);opacity:0;transform:scale(0);transition:all .25s cubic-bezier(.4,0,.2,1)}.pwa-tab.active:after{opacity:1;transform:scale(1.5);box-shadow:0 0 8px var(--c-primary)}.stats-card{background:var(--c-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stats-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent-color, var(--c-primary));opacity:.8}.stats-card:hover{transform:translateY(-3px);background:var(--c-surface-hover);border-color:var(--c-border-glow);box-shadow:var(--shadow-md),0 0 15px #6366f11a}.task-card{background:var(--c-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative}.task-card:hover{transform:translateY(-2px);background:var(--c-surface-hover);border-color:#6366f133;box-shadow:var(--shadow-md),0 4px 20px #00000026}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.task-card .task-name{font-weight:600;font-size:15px;color:var(--c-text);line-height:1.35;letter-spacing:-.01em}.task-card .task-sub{font-size:13px;color:var(--c-text-secondary);display:flex;align-items:center;gap:6px;margin-bottom:8px}.task-card .task-meta{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--c-text-secondary);border-top:1px solid rgba(255,255,255,.04);padding-top:10px}.task-card .task-meta span{display:flex;align-items:center;gap:4px}.priority-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:2px;box-shadow:0 0 8px currentColor;animation:pulseGlow 2s infinite ease-in-out}@keyframes pulseGlow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.priority-high{background:var(--c-danger);color:var(--c-danger)}.priority-medium{background:var(--c-warning);color:var(--c-warning)}.priority-low{background:var(--c-success);color:var(--c-success)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:30px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.badge-bozza{background:#ffffff0d;color:var(--c-text-secondary);border-color:#ffffff1a}.badge-pianificato,.badge-avviabile{background:#a855f71f;color:#c084fc;border-color:#a855f740;box-shadow:0 0 10px #a855f714}.badge-in_corso{background:#6366f11f;color:#818cf8;border-color:#6366f140;box-shadow:0 0 10px #6366f114}.badge-in_verifica{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b40;box-shadow:0 0 10px #f59e0b14}.badge-respinto{background:#ef44441f;color:#fca5a5;border-color:#ef444440;box-shadow:0 0 10px #ef444414}.badge-validato{background:#0596691f;color:#34d399;border-color:#05966940;box-shadow:0 0 10px #05966914}.badge-chiuso,.badge-chiusa_senza_rilievi{background:#10b9811f;color:#34d399;border-color:#10b98140;box-shadow:0 0 10px #10b98114}.badge-chiusa_con_rilievi{background:#dc26261f;color:#f87171;border-color:#dc262640}.check-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03;transition:background .2s ease}.check-item:hover{background:#ffffff05}.check-item:last-child{border-bottom:none}.check-name{flex:1;font-weight:500;font-size:14px;color:var(--c-text)}.check-radio{display:flex;gap:10px}.check-radio button{width:38px;height:38px;border-radius:50%;border:1px solid var(--c-border);background:#ffffff08;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.check-radio button.selected-ok{border-color:var(--c-success);background:var(--c-success-light);color:var(--c-success);box-shadow:0 0 10px var(--c-success-glow);transform:scale(1.1)}.check-radio button.selected-ko{border-color:var(--c-danger);background:var(--c-danger-light);color:var(--c-danger);box-shadow:0 0 10px var(--c-danger-glow);transform:scale(1.1)}.check-radio button:active{transform:scale(.9)}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--c-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.02em}.form-input{width:100%;background:#ffffff08;border:1px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);padding:12px 16px;font-size:14px;font-family:inherit;transition:all .25s ease;box-shadow:inset 0 2px 4px #0000001a}.form-input:focus{outline:none;border-color:var(--c-primary);background:#ffffff0f;box-shadow:inset 0 2px 4px #0000001a,0 0 10px #6366f126}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:var(--radius-md);border:none;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.02em}.action-btn:active{transform:scale(.98)}.action-btn-primary{background:var(--grad-primary);color:#fff}.action-btn-primary:hover{box-shadow:var(--shadow-glow-primary);filter:brightness(1.1)}.action-btn-success{background:var(--grad-success);color:#fff}.action-btn-success:hover{box-shadow:var(--shadow-glow-success);filter:brightness(1.1)}.action-btn-danger{background:var(--grad-danger);color:#fff}.action-btn-danger:hover{box-shadow:0 0 16px #ef444440;filter:brightness(1.1)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.photo-placeholder{aspect-ratio:1;border:2px dashed rgba(255,255,255,.15);background:#ffffff05;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);cursor:pointer;transition:all .25s ease}.photo-placeholder:hover{border-color:var(--c-primary);background:#6366f10d;color:var(--c-primary)}.empty-state{text-align:center;padding:60px 20px;color:var(--c-text-secondary);background:var(--c-surface);border-radius:var(--radius-lg);border:1px dashed var(--c-border);box-shadow:var(--shadow-sm);margin-top:10px}.empty-state p{font-weight:600;font-size:15px;color:#fff}.empty-state p.sub{font-weight:500;font-size:13px;color:var(--c-text-secondary);margin-top:4px}.loading{display:flex;justify-content:center;align-items:center;padding:60px}.loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.05);border-top-color:var(--c-primary);border-radius:50%;animation:spin 1s infinite linear;box-shadow:0 0 10px #6366f133}@keyframes spin{to{transform:rotate(360deg)}}.page-fade-in{animation:fadeIn .35s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body.light-theme{--c-bg: #f8fafc;--c-surface: rgba(255, 255, 255, .7);--c-surface-solid: #ffffff;--c-surface-hover: rgba(241, 245, 249, .95);--c-card: rgba(255, 255, 255, .85);--c-border: rgba(15, 23, 42, .08);--c-border-glow: rgba(99, 102, 241, .12);--c-text: #0f172a;--c-text-secondary: #475569;--c-text-muted: #94a3b8;--c-text-contrast: #0f172a;--c-primary-light: rgba(99, 102, 241, .08);--c-primary-glow: rgba(99, 102, 241, .2);--c-success-light: rgba(16, 185, 129, .08);--c-success-glow: rgba(16, 185, 129, .2);--c-warning: #d97706;--c-warning-light: rgba(217, 119, 6, .08);--c-warning-glow: rgba(217, 119, 6, .2);--c-danger-light: rgba(239, 68, 68, .08);--c-danger-glow: rgba(239, 68, 68, .2);--c-info-light: rgba(6, 182, 212, .08);--grad-dark: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 8px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .12);--shadow-glow-primary: 0 0 16px rgba(99, 102, 241, .12);--shadow-glow-success: 0 0 16px rgba(16, 185, 129, .12);--c-input-bg: #ffffff;--c-input-color: #0f172a;--c-translucent-bg: rgba(15, 23, 42, .03);--c-chat-area-bg: rgba(15, 23, 42, .03);--c-chat-area-shadow: inset 0 2px 8px rgba(15, 23, 42, .04);--c-chat-input-wrapper-bg: rgba(255, 255, 255, .85);--c-chat-bubble-other-bg: rgba(15, 23, 42, .05);--c-modal-overlay: rgba(15, 23, 42, .15)}body.light-theme .pwa-header{background:#ffffffd9;color:#0f172a;box-shadow:0 4px 20px #00000008}body.light-theme .pwa-header h1{background:linear-gradient(135deg,#0f172a 30%,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.light-theme .pwa-tabs{background:#ffffffd9;box-shadow:0 8px 30px #0f172a14}body.light-theme .pwa-header .back-btn{background:#0f172a0d;color:#0f172a;border-color:#0f172a14}body.light-theme .pwa-header .back-btn:hover{background:#0f172a1a}body.light-theme .task-card{background:#ffffffb3;border-color:#0f172a14}body.light-theme .task-card:hover{background:#fffffff2;border-color:var(--c-primary-light)}body.light-theme .stats-card{background:#ffffffb3;border-color:#0f172a14}body.light-theme .stats-card:hover{background:#fffffff2;border-color:var(--c-primary-light)}body.light-theme .loading-spinner{border:3px solid rgba(15,23,42,.05);border-top-color:var(--c-primary)}body.light-theme .form-input{background:#fff;border-color:#0f172a1f;color:#0f172a}body.light-theme .form-input:focus{background:#fff;border-color:var(--c-primary);box-shadow:inset 0 2px 4px #00000005,0 0 10px #6366f126}body.light-theme select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E")}body.light-theme .empty-state p{color:var(--c-text-contrast)}body.light-theme .check-item{border-bottom-color:#0f172a0f;background:#0f172a03}body.light-theme .check-radio button{background:#fff;border-color:#0f172a1f;color:#475569}body.light-theme .photo-placeholder{border-color:#0f172a26;background:#0f172a05}
