:root{--denim: #2b5cb8;--denim-dark: #1c3f86;--denim-soft: #e7eefb;--leaf: #3d9b1c;--leaf-soft: #e6f6dc;--amber: #b47a0c;--amber-soft: #fbf2df;--late: #c0392b;--ink: #18202e;--muted: #5f6b7d;--line: #dde3ee;--bg: #f2f5fb;--card: #ffffff;--radius: 14px;--radius-lg: 18px;--shadow: 0 1px 2px rgba(24, 32, 46, .06), 0 4px 14px rgba(24, 32, 46, .06);--nav-h: 64px;--gutter: clamp(16px, 4vw, 48px);--col: 760px;--col-wide: 1120px;--area-0-bg: #dcf3d0;--area-0-fg: #2b6e14;--area-1-bg: #e8defb;--area-1-fg: #5a34a8;--area-2-bg: #dbe9fd;--area-2-fg: #1c4f9c;--area-3-bg: #fde5cf;--area-3-fg: #9a4b0d;--area-4-bg: #d4f1ee;--area-4-fg: #126b62;--area-5-bg: #fbdce7;--area-5-fg: #9c2a55;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--denim: #6f9bea;--denim-dark: #9dbcf2;--denim-soft: #1c2a45;--leaf: #7fd957;--leaf-soft: #1d3317;--amber: #e2b04f;--amber-soft: #3a2e14;--late: #f0776a;--ink: #e8ecf3;--muted: #9aa6b8;--line: #2a3346;--bg: #0f141d;--card: #171e2b;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);--area-0-bg: #1f3a17;--area-0-fg: #9ee07a;--area-1-bg: #2e2448;--area-1-fg: #c6b2f5;--area-2-bg: #1c2d4a;--area-2-fg: #9fc2f5;--area-3-bg: #3d2a17;--area-3-fg: #f2b981;--area-4-bg: #133632;--area-4-fg: #82dcd1;--area-5-bg: #3f1d2b;--area-5-fg: #f3a3c1;color-scheme:dark}}:root[data-theme=dark]{--denim: #6f9bea;--denim-dark: #9dbcf2;--denim-soft: #1c2a45;--leaf: #7fd957;--leaf-soft: #1d3317;--amber: #e2b04f;--amber-soft: #3a2e14;--late: #f0776a;--ink: #e8ecf3;--muted: #9aa6b8;--line: #2a3346;--bg: #0f141d;--card: #171e2b;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);--area-0-bg: #1f3a17;--area-0-fg: #9ee07a;--area-1-bg: #2e2448;--area-1-fg: #c6b2f5;--area-2-bg: #1c2d4a;--area-2-fg: #9fc2f5;--area-3-bg: #3d2a17;--area-3-fg: #f2b981;--area-4-bg: #133632;--area-4-fg: #82dcd1;--area-5-bg: #3f1d2b;--area-5-fg: #f3a3c1;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.15rem;margin-bottom:.5rem}h3{font-size:1.05rem}p{line-height:1.45}.counter{display:block;align-self:flex-end;text-align:right;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:.15rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:#c0392b}button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.7rem 1rem}button:disabled{opacity:.35;cursor:default}.primary{background:var(--denim);color:#fff;font-weight:600}.secondary{background:var(--denim-soft);color:var(--denim-dark);font-weight:600}.link{background:none;color:var(--denim);padding:.4rem 0}input,textarea{font:inherit;width:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}label{font-weight:600;font-size:.9rem}.row{display:flex;gap:.5rem;align-items:center}.row input{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;display:flex;flex-direction:column;gap:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.auth{max-width:420px;margin:0 auto;padding:max(2.5rem,env(safe-area-inset-top)) 16px 2rem;display:flex;flex-direction:column;align-items:stretch;gap:.75rem;text-align:center}.auth .card{text-align:left}.auth-logo{width:96px;height:96px;margin:0 auto}.code-input{font-size:1.9rem;font-weight:700;text-align:center;letter-spacing:.45em;padding-left:.45em;font-variant-numeric:tabular-nums}.code-input::placeholder{color:var(--muted);opacity:.6}.auth .auth-aside{align-self:flex-start}.code-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem}.code-links .link:disabled{opacity:1;color:var(--muted)}.today{max-width:560px;margin:0 auto;padding:max(1.25rem,env(safe-area-inset-top)) 16px 3rem}.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.25rem}.topbar>div:first-child>p{margin:0 0 .2rem;text-transform:capitalize}.topbar{flex-wrap:wrap;position:relative}.topbar-actions{display:flex;align-items:center;gap:.75rem;position:relative}.inbox-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem}.inbox-count{min-width:1.3rem;padding:.05rem .4rem;border-radius:999px;background:var(--denim);color:#fff;font-size:.75rem;text-align:center}.inbox{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;width:min(420px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;text-align:left;box-shadow:0 12px 32px #0f141d59}.inbox header{justify-content:space-between;margin-bottom:.4rem}.inbox header h2{margin:0}.inbox ul{list-style:none;padding:0;margin:0}.inbox-item{display:flex;gap:.6rem;padding:.6rem 0;border-top:1px solid var(--line);cursor:pointer}.inbox-item p{margin:0}.inbox-item p+p{margin-top:.15rem}.inbox-item.read{cursor:default}.inbox-item.read>div>p:first-child{font-weight:400;color:var(--muted)}.inbox-item>div>p:first-child{font-weight:600}.inbox-dot{flex:none;width:.5rem;height:.5rem;margin-top:.45rem;border-radius:50%;background:var(--denim)}.task-list{display:flex;flex-direction:column;gap:.75rem}.empty{text-align:center;color:var(--muted)}.task{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:.85rem .9rem .6rem 1rem;box-shadow:var(--shadow)}.task header{display:flex;justify-content:space-between;gap:.75rem;cursor:pointer}.task-top{display:flex;gap:.75rem;align-items:flex-start}.task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.task-main h3{font-size:1.02rem;margin:.1rem 0 0;overflow-wrap:anywhere}.task-tags{display:flex;gap:.3rem;min-width:0;contain:inline-size}.task-tags .area-chip{flex:none;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-tags .state-chip{flex:none;white-space:nowrap}.task-tags .tag{margin-left:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-tags:empty{display:none}.area-chip,.state-chip{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.area-0{background:var(--area-0-bg);color:var(--area-0-fg)}.area-1{background:var(--area-1-bg);color:var(--area-1-fg)}.area-2{background:var(--area-2-bg);color:var(--area-2-fg)}.area-3{background:var(--area-3-bg);color:var(--area-3-fg)}.area-4{background:var(--area-4-bg);color:var(--area-4-fg)}.area-5{background:var(--area-5-bg);color:var(--area-5-fg)}.state-chip{background:var(--bg);color:var(--muted)}.status-bloccato .state-chip{background:var(--amber-soft);color:var(--amber)}.status-completato .state-chip,.status-verificato .state-chip{background:var(--leaf-soft);color:var(--leaf)}.task-project{margin:0;font-size:.78rem;font-weight:600;color:var(--muted)}.task-time{margin:0;display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--muted)}.task-time svg{color:var(--amber);flex:none}.task-over{font-weight:700;color:var(--ink)}.task-desc{margin:0;font-size:.86rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-foot{display:flex;align-items:center;gap:.5rem;margin-top:.55rem}.todo-chip{padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--denim-soft);color:var(--denim-dark)}.task-expand{margin-left:auto}.task-hint{margin:.4rem 0 0;font-size:.85rem;color:var(--muted)}.tag{margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;border:1px solid var(--line);font-size:.7rem}.task-wait{margin:.5rem 0 0;font-size:.9rem;padding:.5rem .7rem;border-radius:8px;background:var(--denim-soft)}.task-wait>.muted{font-size:.8rem;margin-top:.15rem}.task-block{margin:.5rem 0 0;font-size:.9rem;padding:.5rem .7rem;border-radius:8px;background:var(--amber-soft)}.pill{align-self:flex-start;white-space:nowrap;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--bg);color:var(--muted)}.status-in_corso{border-left-color:var(--denim)}.status-in_corso .pill{background:var(--denim-soft);color:var(--denim-dark)}.status-bloccato{border-left-color:var(--amber)}.status-bloccato .pill{background:var(--amber-soft);color:var(--amber)}.status-completato,.status-verificato{border-left-color:var(--leaf)}.task.status-in_corso{border-color:var(--denim)}.task.status-bloccato{border-color:var(--amber)}.task.status-completato,.task.status-verificato{border-color:var(--leaf)}.status-completato .pill,.status-verificato .pill{background:var(--leaf-soft);color:var(--leaf)}.player{display:flex;gap:.35rem;flex:none}.gesture{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:0;background:none;color:var(--ink);border-radius:12px;min-width:52px}.gesture-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--denim-soft);color:var(--denim-dark);transition:transform .1s}.gesture:active:not(:disabled) .gesture-icon{transform:scale(.94)}.gesture-label{font-size:.7rem;font-weight:700;color:var(--muted)}.gesture-play:not(:disabled) .gesture-icon{background:var(--denim);color:#fff}.gesture-still:not(:disabled) .gesture-icon{background:var(--amber-soft);color:var(--amber)}.gesture-stop:not(:disabled) .gesture-icon{background:var(--denim-soft);color:var(--denim-dark)}.gesture:disabled{opacity:.4}.still-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.still-form .row{justify-content:flex-end}.still-kind{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.still-kind label{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;cursor:pointer}.still-kind input{width:auto;margin-top:.2rem}.still-kind .muted{display:block;font-weight:400}.still-overview{margin-bottom:1.5rem}.still-overview>p{margin:0 0 .75rem}.task-wait p{margin:0}.task-wait .withdraw{justify-content:flex-end;margin-top:.2rem}.task-wait .withdraw .link{padding:.2rem 0;font-size:.85rem;font-weight:600}.still-reply{margin-top:.3rem!important;font-style:italic}.todos{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.75rem}.todos ul{list-style:none;padding:0;margin:0 0 .6rem}.todos li{padding:.35rem 0}.todo-row{display:flex;gap:.6rem;align-items:center;font-size:.95rem}.todo-text{flex:1;cursor:text}.todos li.readonly .todo-text{cursor:default;color:var(--muted)}.todo-del{background:none;color:var(--muted);padding:.2rem .5rem;font-size:1.2rem;line-height:1}.todo-del:hover{color:#c0392b}.todos-tools{display:flex;justify-content:flex-end;margin:-.3rem 0 .2rem}.todos-tools .link{padding:.2rem 0;font-size:.85rem;font-weight:600}.todos-done{margin-top:.5rem}.todos-done-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem 0;background:none;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;border-radius:0}.todos-done-toggle svg{transition:transform .15s ease;transform:rotate(-90deg)}.todos-done-toggle[aria-expanded=true] svg{transform:none}.todos-done ul{margin:.4rem 0 0}.history{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.75rem}.history h4{margin:0;font-size:.9rem}.history-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem 0;background:none;color:var(--ink);font:inherit;font-weight:700;border-radius:0}.history-toggle svg{color:var(--muted);transition:transform .15s ease;transform:rotate(-90deg)}.history-toggle[aria-expanded=true] svg{transform:none}.history ol{margin-top:.4rem!important}.history ol{list-style:none;padding:0;margin:0}.history li{padding:.3rem 0 .3rem .7rem;border-left:2px solid var(--line);font-size:.88rem}.history li p{margin:0}.history-when{display:inline-block;min-width:3.2rem;margin-right:.4rem;color:var(--muted);font-variant-numeric:tabular-nums}.history-quote{margin-top:.1rem!important;padding-left:3.6rem;color:var(--muted);font-style:italic}.history-still{border-left-color:var(--amber)!important}.history-release,.history-play{border-left-color:var(--denim)!important}.history-stop,.history-ok{border-left-color:var(--leaf)!important}.todo-move{background:var(--denim-soft);color:var(--denim-dark);padding:.35rem .7rem;font-size:1rem;line-height:1}.todos input[type=checkbox]{width:1.1rem;height:1.1rem}.todos .done{text-decoration:line-through;color:var(--muted)}.todos li.from-lead{border-left:3px solid var(--denim);padding-left:.6rem;background:var(--denim-soft);border-radius:0 8px 8px 0;margin:.15rem 0}.todo-author{display:block;font-size:.75rem;color:var(--denim-dark);font-weight:600}.todos .done .todo-author{text-decoration:none}.todo-notice{display:flex;align-items:center;gap:.5rem;margin:.6rem 0 0;padding:.45rem .4rem .45rem .7rem;border-radius:8px;background:var(--denim-soft);color:var(--denim-dark);font-size:.9rem}.todo-notice p{flex:1;margin:0}.todo-notice .link{padding:.2rem .3rem;font-weight:600}.todo-notice-close{background:none;color:var(--denim-dark);padding:.1rem .45rem;font-size:1.2rem;line-height:1}select{font:inherit;width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}.admin{max-width:1120px;margin:0 auto;padding:1rem 16px 3rem;display:flex;flex-direction:column;gap:1rem}.admin h1{font-size:1.5rem}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.admin-nav{display:flex;gap:.25rem}.admin-nav a{padding:.45rem .8rem;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:600}.admin-nav a.active{background:var(--denim-soft);color:var(--denim-dark)}.admin-back{color:var(--denim);text-decoration:none;font-size:.9rem}.admin-form{max-width:560px}.admin-form label,.inline-form label{display:flex;flex-direction:column;gap:.3rem}.admin-form label.check,.inline-form label.check,.picks label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}label.check input{width:auto}.row.end{justify-content:flex-end;flex-wrap:wrap}.link.danger{color:#b0472f}.picks{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem 1rem}.picks legend{font-weight:600;font-size:.9rem;margin-bottom:.3rem}.project-list{display:flex;flex-direction:column;gap:.75rem}.project-row{color:inherit;text-decoration:none}.project-row:hover{border-color:var(--denim)}.project-row h3{margin-bottom:.2rem}.project-stats{margin:0;color:var(--muted)}.plan-summary{margin:-.5rem 0 0}.plan-grid{display:grid;gap:1rem;grid-template-columns:minmax(260px,340px) 1fr;align-items:start}@media(max-width:820px){.plan-grid{grid-template-columns:1fr}}.plan-side,.plan-tasks{display:flex;flex-direction:column;gap:1rem;min-width:0}.plan-panel h2{margin:0}.plan-panel>p{margin:-.4rem 0 0}.plan-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.plan-item{width:100%;text-align:left;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem}button.plan-item:hover{border-color:var(--denim)}.task-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main pill" "meta pill";align-items:center;border-left-width:4px}.task-row-main{grid-area:main;display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.task-row>.muted{grid-area:meta}.task-row>.pill{grid-area:pill}.task-row.status-da_fare{border-left-color:var(--line)}.inline-form,.task-editor{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:1px solid var(--denim);border-radius:10px;background:var(--card)}.task-editor .inline-form{padding:0;border:0}.form-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.sprint-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .75rem}.sprint-head h2{margin:0}.sprint-head .link{margin-left:auto;padding:0}.danger-zone{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid #b0472f;border-radius:10px}.danger-zone p{margin:0}.danger-zone label{display:flex;flex-direction:column;gap:.3rem}.danger-button{background:#b0472f;color:#fff;font-weight:600}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{background:none;color:var(--muted);font-weight:600;border-radius:10px 10px 0 0;padding:.55rem .9rem}.tabs button.active{color:var(--denim-dark);background:var(--denim-soft)}.task-rejected{margin:.5rem 0 0;padding:.6rem .75rem;border-radius:8px;background:var(--amber-soft);border-left:3px solid var(--amber)}.task-rejected p{margin:0}.rejected-message{margin:.25rem 0!important;font-size:1rem;line-height:1.4}.history-reject{border-left-color:var(--amber)!important}.gantt-page{display:flex;flex-direction:column;gap:.9rem}.meter p{margin:0}.meter-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.meter-value{font-size:1.5rem;font-weight:700;color:var(--denim-dark);font-variant-numeric:tabular-nums}.meter-phases{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;font-size:.9rem}.meter-phases li{display:flex;gap:.4rem}.project-meter{margin:0;display:flex;align-items:baseline;gap:.5rem}.project-meter .meter-value{font-size:1.15rem}.baseline-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem}.baseline-pick{display:flex;flex-direction:column;gap:.3rem;min-width:260px}.baseline-form{width:100%;max-width:560px}.gantt{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.gantt-row{display:grid;grid-template-columns:220px auto;min-height:34px;border-bottom:1px solid var(--line)}.gantt-label{position:sticky;left:0;z-index:2;background:var(--card);border-right:1px solid var(--line);padding:.35rem .6rem;display:flex;flex-direction:column;justify-content:center;font-size:.85rem;line-height:1.25}.gantt-phase .gantt-row:first-child,.gantt-phase .gantt-row:first-child .gantt-label{background:var(--bg)}.gantt-track{position:relative;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:var(--col) 100%}.gantt-head{position:sticky;top:0;z-index:3;min-height:38px}.gantt-day{position:absolute;top:0;bottom:0;width:var(--col);font-size:.7rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:4px}.gantt-day b{font-weight:600;text-transform:capitalize}.gantt-day.off{background:var(--bg)}.gantt-day.today{color:var(--denim-dark);font-weight:700}.gantt-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--denim);opacity:.6;z-index:1}.gantt-bar{position:absolute;top:8px;height:16px;border-radius:5px;z-index:1;overflow:hidden;background:var(--line);display:flex;align-items:center;padding-left:4px}.gantt-bar.phase{top:11px;height:10px;background:var(--muted);opacity:.5}.gantt-bar.status-in_corso{background:var(--denim)}.gantt-bar.status-bloccato{background:var(--amber)}.gantt-bar.status-completato,.gantt-bar.status-verificato{background:var(--leaf)}.gantt-bar.status-da_fare{background:var(--denim-soft);border:1px solid var(--denim)}.gantt-bar.over{background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.25) 6px 12px)}.gantt-base{position:absolute;top:27px;height:3px;border-radius:2px;background:var(--muted);opacity:.55}.gantt-still{font-style:normal;font-size:.65rem;color:#fff;white-space:nowrap}.gantt-late{position:absolute;top:8px;font-size:.75rem;color:var(--muted);white-space:nowrap}.gantt-label.clickable{text-align:left;color:var(--ink);border-radius:0;border-right:1px solid var(--line);font:inherit;font-size:.85rem;padding:.35rem .6rem;align-items:flex-start}.gantt-label.clickable:hover{background:var(--denim-soft)}button.gantt-bar{padding:0 0 0 4px;border-radius:5px;cursor:pointer}button.gantt-bar:not(.status-da_fare){border:0}button.gantt-bar:hover{outline:2px solid var(--denim-dark);outline-offset:1px}.modal{border:0;padding:0;background:transparent;max-width:min(720px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 48px)}.modal::backdrop{background:#0f141d8c}.modal-card{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.1rem .5rem}.modal-head h2{margin:.15rem 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.modal-close{background:none;color:var(--muted);font-size:1.5rem;line-height:1;padding:.1rem .4rem}.modal-body{overflow-y:auto;padding:0 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.75rem}.modal-body .task-editor{border:0;padding:0}.task-actions{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:10px;background:var(--bg)}.task-actions p{margin:0}.task-actions label{display:flex;flex-direction:column;gap:.3rem}.verify-hint{margin-right:auto}.verify-actions{margin-top:.5rem}.verify-all{margin-bottom:-.2rem}.status-pill{font-size:.75rem}.status-pill.status-in_corso{background:var(--denim-soft);color:var(--denim-dark)}.status-pill.status-bloccato{background:var(--amber-soft);color:var(--amber)}.status-pill.status-completato,.status-pill.status-verificato{background:var(--leaf-soft);color:var(--leaf)}.summary{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.summary-group{display:flex;flex-direction:column;gap:.3rem}.summary-title{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.summary-items{display:flex;flex-wrap:wrap;gap:.4rem}.summary-item{display:inline-flex;align-items:baseline;gap:.3rem;padding:.45rem .7rem;border-radius:999px;background:var(--card);color:var(--ink);border:1px solid var(--line);font-size:.88rem}.summary-item strong{font-size:1rem;font-variant-numeric:tabular-nums}.summary-item.tone-active{border-color:var(--denim);background:var(--denim-soft);color:var(--denim-dark)}.summary-item.tone-still{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.summary-item.tone-done{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf)}.project-filter{display:flex;gap:.35rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.2rem}.project-filter button{flex:none;padding:.4rem .8rem;border-radius:999px;background:var(--card);color:var(--muted);border:1px solid var(--line);font-size:.85rem;font-weight:600}.project-filter button.active{background:var(--denim);color:#fff;border-color:var(--denim)}.my-tasks{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:1.5rem}.project-group{display:flex;flex-direction:column;gap:.5rem}.project-title{font-size:.95rem;color:var(--muted);margin:0}.task.status-da_fare h3{font-weight:600}.closed-recent{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:.75rem}.closed-recent summary{cursor:pointer;font-weight:600;color:var(--muted)}.closed-recent ul{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-direction:column;gap:.45rem}.closed-recent li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.closed-title{font-weight:600}.team-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.team-row{display:grid;grid-template-columns:minmax(0,1fr) 118px 132px 172px;align-items:center;gap:.5rem .9rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.team-list>.team-row:last-child{border-bottom:0}.team-who{display:flex;flex-direction:column;min-width:0}.team-row>.pill{justify-self:start;white-space:nowrap}.team-row>select{width:100%}.team-actions{display:flex;gap:.9rem;justify-content:flex-end;white-space:nowrap}.team-msg{grid-column:1 / -1;margin:0}@media(max-width:640px){.team-row{grid-template-columns:132px minmax(0,1fr) auto}.team-who{grid-column:1 / 3}.team-row>.pill{grid-column:3;align-self:start}.team-row>select,.team-row>.team-owner{grid-column:1}.team-actions{grid-column:2 / 4}}.onboarding{border-color:var(--denim);gap:.6rem}.onboarding h2{margin:0;font-size:1.05rem}.onboarding p{margin:0}.onboarding-steps,.onboarding-gestures{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.onboarding-steps li,.onboarding-gestures li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:.5rem;align-items:start}.onboarding-check{width:20px;height:20px;margin-top:1px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center}.onboarding-steps li.done .onboarding-check{background:var(--leaf);border-color:var(--leaf);color:#fff}.onboarding-steps li.done .onboarding-step{color:var(--muted);text-decoration:line-through}.onboarding-step{font-weight:600}.onboarding-hint{display:block}.onboarding-gesture{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--denim-soft);color:var(--denim-dark)}.onboarding-close{align-self:flex-end}.lead-picker{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.lead-picker legend{font-weight:700;margin-bottom:.2rem}.lead-chips{display:flex;flex-wrap:wrap;gap:.4rem}.lead-chip{border-radius:999px;padding:.35rem .8rem;background:var(--card);border:1px solid var(--line);color:var(--ink);font-weight:600}.lead-chip.on{background:var(--denim-soft);border-color:var(--denim);color:var(--denim-dark)}.milestone-chip{font-size:.75rem;font-weight:700;color:var(--denim-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.task.blocked{opacity:.72}.task.blocked h3,.task-waiting{color:var(--muted)}.plan-task-tools{display:flex;flex-direction:column;align-items:center;gap:.1rem;flex:none}.plan-task-tools .edit-button:disabled{opacity:.25}.plan-milestone{display:flex;align-items:center;gap:.6rem;margin:.15rem 0;color:var(--denim-dark);font-size:.82rem;font-weight:700}.plan-milestone:before,.plan-milestone:after{content:"";flex:1;border-top:1.5px dashed var(--denim);opacity:.6}.plan-milestone.done{color:var(--leaf)}.plan-milestone.done:before,.plan-milestone.done:after{border-color:var(--leaf)}.plan-milestone span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alpha-row{grid-template-columns:minmax(0,1fr) auto auto}.alpha-teams{grid-column:1 / -1;list-style:none;margin:0;padding:0 0 0 .9rem;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:.35rem}.alpha-teams li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}.alpha-teams .link{margin-left:auto;padding:0}.alpha-team-name{font-weight:600}.request-about{grid-column:1 / -1;margin:0;padding-left:.9rem;border-left:2px solid var(--line);color:var(--muted);white-space:pre-line}@media(max-width:640px){.alpha-row{grid-template-columns:minmax(0,1fr) auto}.alpha-row .team-who{grid-column:1}.alpha-row>.pill{grid-column:2}.alpha-row .team-actions{grid-column:1 / -1;justify-content:flex-start}}.reopen{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.reopen p{margin:0}.reopen-form label{display:flex;flex-direction:column;gap:.3rem}.history-reopen{border-left-color:var(--denim)!important}.app-status{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;gap:0}.app-notice{margin:0;padding:.55rem 16px;font-size:.88rem;text-align:center;background:var(--amber-soft);color:var(--ink);border-bottom:1px solid var(--line)}.app-notice .link{padding:0;font-weight:600}.app-version{text-align:center;font-size:.72rem;color:var(--muted);padding:1.5rem 16px 1rem}.tone-early{color:var(--leaf)}.tone-on_time{color:var(--muted)}.tone-late{color:var(--late)}.gantt-mark{position:absolute;top:0;bottom:0;width:0;margin-left:-1px;z-index:1;pointer-events:none}.gantt-deadline{border-left:2px dashed var(--muted)}.gantt-forecast{border-left:2px solid currentColor}.gantt-gap{position:absolute;top:50%;height:0;border-top:2px solid currentColor;z-index:2}.gantt-gap:before,.gantt-gap:after{content:"";position:absolute;top:-4px;border:5px solid transparent}.gantt-gap:before{left:0;border-right-color:currentColor;border-left-width:0}.gantt-gap:after{right:0;border-left-color:currentColor;border-right-width:0}.gantt-gap-label{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:0 .3rem;background:var(--card);font-size:.75rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.gantt-gap-label.alone{transform:translate(-100%,-50%);top:50%;font-weight:600;z-index:2}.meter-deadline{margin-top:.4rem!important}.meter-deadline strong{font-variant-numeric:tabular-nums}.team-owner{font-size:.9rem;font-weight:600;color:var(--denim-dark);padding:.6rem .7rem}.tag-milestone{border-color:var(--denim);color:var(--denim-dark)}.gantt-milestone-name{font-size:.75rem;font-weight:600;color:var(--denim-dark)}.gantt-goals{min-height:46px}.gantt-goals .gantt-label{background:var(--bg)}.gantt-goal{position:absolute;z-index:3;display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;font:inherit;color:inherit;line-height:1}button.gantt-goal{cursor:pointer}.gantt-goal.milestone{top:7px;margin-left:-7px}.gantt-goal.deadline{top:28px;margin-left:-7px}.gantt-goal-mark{flex:none;width:13px;height:13px;box-shadow:0 0 0 2px var(--card)}.gantt-goal.milestone .gantt-goal-mark{transform:rotate(45deg);border:2px solid currentColor;border-radius:2px;background:var(--card)}.gantt-goal.milestone.reached .gantt-goal-mark{background:currentColor}.gantt-goal.deadline .gantt-goal-mark{border-radius:50%;background:currentColor}.gantt-goal-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;font-weight:600;white-space:nowrap;color:var(--ink);background:var(--card);padding:1px 4px;border-radius:4px}button.gantt-goal:hover .gantt-goal-name{text-decoration:underline}.tone-none{color:var(--denim-dark)}.gantt-goal.tone-early{color:var(--leaf)}.gantt-goal.tone-on_time{color:var(--muted)}.gantt-goal.tone-late{color:var(--late)}.gantt-goal.tone-none{color:var(--denim-dark)}.milestones h3{margin:0;font-size:1rem}.milestones ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.milestones li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;font-size:.92rem}.milestones .link{padding:0;font-weight:600}.milestone-mark{font-size:1.05rem;line-height:1}.watched{gap:.4rem}.watched p{margin:0}.watched .project-meter{flex-wrap:wrap;gap:.2rem .75rem;font-size:.95rem}.watch-next{display:flex;align-items:baseline;gap:.35rem}.watch-open{align-self:flex-end;display:inline-flex;align-items:center;gap:.15rem;font-size:.85rem;font-weight:700;color:var(--denim-dark)}.watch-open svg{transform:rotate(-90deg)}.task-more{display:flex;flex-direction:column;gap:.6rem}.task-more[open]{padding-bottom:.2rem}.task-more summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--denim-dark);padding:.2rem 0}.task-more[open]>summary{margin-bottom:.4rem}.task-more>label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.6rem}.task-more>label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.task-more label .muted{font-weight:400}.inbox-box{display:inline-flex}html{scrollbar-gutter:stable}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.shell{flex:1 0 auto}.shell-top{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:.75rem;padding:max(.7rem,env(safe-area-inset-top)) 16px .7rem;background:var(--bg)}.shell-heading{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.shell-title{display:flex;align-items:center;gap:.15rem;min-width:0}.shell-title h1{min-width:0;font-size:1.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-title>:not(h1){flex:none}.page-heading{display:flex;align-items:flex-start;gap:.4rem;min-width:0}.page-heading>:not(.page-title){flex:none;margin-top:-.2rem}.page-title{margin:0 0 0 .2rem;font-size:1.45rem;line-height:1.2;min-width:0}.shell-subtitle{margin:0 0 -.4rem;font-size:.82rem;color:var(--muted)}.shell-subtitle:first-letter{text-transform:uppercase}.shell-back{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ink);background:var(--card);box-shadow:var(--shadow)}.shell-actions{display:flex;align-items:center;gap:.5rem}.icon-button{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.icon-button .inbox-count{position:absolute;top:-4px;right:-4px}.task .icon-button{width:32px;height:32px;box-shadow:none;background:none;color:var(--muted)}.avatar{width:40px;height:40px;padding:0;border-radius:50%;font-weight:700;font-size:.9rem;background:var(--denim);color:#fff}.user-menu{position:relative}.user-panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:30;width:min(280px,calc(100vw - 32px));box-shadow:0 12px 32px #0f141d59}.user-panel{padding:.9rem;gap:.85rem}.user-head{display:flex;align-items:center;gap:.7rem;min-width:0}.user-head-avatar{flex:none;display:grid;place-items:center;width:42px;height:42px}.user-head-text{display:flex;flex-direction:column;min-width:0}.user-head-text strong,.user-head-text .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{position:relative}.avatar-dot{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--denim);border:2px solid var(--bg)}.team-pick{display:flex;flex-direction:column;gap:.2rem}.team-pick-label{margin-bottom:.2rem;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.team-pick-item{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.5rem;border-radius:9px;background:none;color:var(--ink);text-align:left;font-weight:600}.team-pick-item:hover:not(:disabled){background:var(--bg)}.team-pick-item.active{background:var(--denim-soft);color:var(--denim-dark)}.team-pick-radio{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line)}.team-pick-item.active .team-pick-radio{border:4px solid var(--denim)}.team-pick-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-pick-dot{display:inline-block;width:8px;height:8px;margin-left:.4rem;border-radius:50%;background:var(--denim);vertical-align:middle}.team-pick-role{font-size:.78rem;font-weight:600;color:var(--muted)}.team-pick-item.active .team-pick-role{color:var(--denim-dark)}.team-pick-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;padding:.2rem .5rem 0;font-size:.9rem}.team-pick-links .link{padding:.2rem 0}.theme-pick{border:0;padding:0;margin:0}.theme-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:.2rem;padding:.2rem;border-radius:12px;background:var(--bg)}.theme-pick legend{padding:0;margin:0 0 .35rem;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.theme-pick button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .25rem;border-radius:9px;background:none;color:var(--muted);font-size:.78rem;font-weight:600}.theme-pick button.active{background:var(--card);color:var(--denim-dark);box-shadow:var(--shadow)}.user-links{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:.4rem;margin:0 -.3rem}.user-link{display:flex;align-items:center;gap:.6rem;padding:.55rem .5rem;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;background:none;text-align:left}.user-link svg{color:var(--muted)}.user-link:hover{background:var(--bg)}.user-logout{color:var(--muted)}.shell-main{max-width:calc(var(--col) + 2 * var(--gutter));margin:0 auto;padding:.5rem var(--gutter) 1.5rem;display:flex;flex-direction:column;gap:1.1rem}.shell-main.wide{max-width:calc(var(--col-wide) + 2 * var(--gutter))}.shell .shell-top{padding-left:max(var(--gutter),calc((100% - var(--col)) / 2));padding-right:max(var(--gutter),calc((100% - var(--col)) / 2))}.shell.wide .shell-top{padding-left:max(var(--gutter),calc((100% - var(--col-wide)) / 2));padding-right:max(var(--gutter),calc((100% - var(--col-wide)) / 2))}.shell:has(.shell-nav)~.app-version{padding-bottom:calc(var(--nav-h) + 2.5rem + env(safe-area-inset-bottom))}.shell-dock{position:fixed;z-index:20;left:0;right:0;margin-inline:auto;width:max-content;bottom:max(12px,env(safe-area-inset-bottom))}.shell-nav{display:flex;gap:.25rem;padding:.35rem;border-radius:999px;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 28px #0f141d38}.shell-nav a{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:76px;padding:.4rem .8rem;border-radius:999px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:700}.shell-nav a.active{background:var(--denim-soft);color:var(--denim-dark)}.fab{width:58px;height:58px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 28px #0f141d40}@media(min-width:900px){.shell-nav{border:0}}@media(max-width:520px){.shell-nav a{min-width:58px;padding:.4rem .5rem}}@media(max-width:359px){.shell-nav a{min-width:0;padding:.4rem}}@media(min-width:900px){.shell-top{padding-top:.9rem;padding-bottom:.9rem}.shell-dock{position:static;margin:0;width:auto;display:flex;align-items:center;gap:.5rem}.shell-nav{box-shadow:none;background:none;padding:0}.shell-nav a{flex-direction:row;gap:.35rem;font-size:.9rem;padding:.5rem .6rem}.shell-top{gap:.5rem}.shell-title h1{min-width:4.5rem}.shell:has(.shell-nav)~.app-version{padding-bottom:1rem}}.home-section{display:flex;flex-direction:column;gap:.6rem}.home-section>h2,.home-section>p{margin:0}.home-section>h2+p{margin-top:-.35rem}.pulse-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.pulse-list li{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;padding:.6rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--card)}.pulse-project-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-project{min-width:0}.pulse-counts{margin-left:auto;font-size:.85rem;font-weight:600;color:var(--muted)}.trend-people .trend-where{flex-basis:100%}.trend-name{min-width:0}.trend-task{display:flex;flex-direction:column;gap:.2rem;width:100%;color:inherit;text-decoration:none}.trend-task:hover strong{text-decoration:underline}.trend-when{margin-left:auto}.empty-line{margin:0}.notes{display:flex;flex-direction:column;gap:.6rem}.notes-head{margin:0;font-size:1.05rem}.notes-head button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.45rem;padding:.35rem 0;background:none;color:var(--ink);font-weight:700;text-align:left;border-radius:0;border-bottom:1px solid var(--line)}.notes-head svg{flex:none;color:var(--muted);transition:transform .15s ease;transform:rotate(-90deg)}.notes.open .notes-head svg{transform:none}.notes-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-summary{font-size:.8rem;font-weight:600;color:var(--muted)}@media(max-width:520px){.notes-summary{grid-column:2 / -1}}.notes-body{display:flex;flex-direction:column;gap:.6rem}.notes-later{align-self:flex-start;font-size:.85rem;font-weight:600;color:var(--muted);text-decoration:none;padding:.15rem 0}.notes-later:hover{color:var(--denim);text-decoration:underline}.project-select{width:auto;max-width:100%;padding:.15rem 1.6rem .15rem .5rem;margin-top:.15rem;border:0;background-color:transparent;color:var(--denim);font-weight:700;font-size:.85rem}.state-tabs{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}.state-tab{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;background:none;color:var(--muted);font-weight:700;font-size:.88rem}.state-tab.active{background:var(--denim-soft);color:var(--denim-dark)}.state-tab.tab-bloccato.active{background:var(--amber);color:#fff}.state-tab.tab-completato.active{background:var(--leaf-soft);color:var(--leaf)}.tab-count{font-size:.72rem;opacity:.8}.road{gap:.6rem}.road-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.road-head h2{margin:0;font-size:1.05rem}.road-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.road-line{display:flex;flex-direction:column;gap:.1rem}.road-line strong{font-size:.95rem}.road-meta{font-size:.8rem;color:var(--muted)}.road-track{position:relative;height:10px;margin-top:.35rem;border-radius:999px;background:var(--bg)}.road-bar{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--denim-soft);border:1.5px solid var(--denim);min-width:8px}.road-item.status-in_corso .road-bar{background:var(--denim)}.road-item.status-bloccato .road-bar{background:var(--amber);border-color:var(--amber)}.road-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--muted);border-radius:2px;opacity:.7}.confirm-body{display:flex;flex-direction:column;gap:.4rem}.confirm-body p,.modal-title h2{margin:0}.new-task-project{display:flex;flex-direction:column;gap:.3rem}.modal.focus{max-width:min(900px,calc(100vw - 2 * var(--gutter)))}.modal.focus .modal-head{padding:1rem 1.4rem .25rem;align-items:center}.modal.focus .modal-body{padding:0 1.4rem 1.6rem}.task.task-focus{border:0;box-shadow:none;padding:0;background:none}.task-focus .task-main h3{font-size:1.4rem}.task-desc.full{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:.95rem;white-space:pre-line}.task-focus .todos{margin-top:1.1rem;padding-top:.9rem}.task-focus .todos li{padding:.5rem 0}.task-focus .todo-row{font-size:1rem}.task-focus .todos input[type=checkbox]{width:1.25rem;height:1.25rem}@media(max-width:899px){.modal.focus{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.modal.focus .modal-card{height:100%;max-height:none;border:0;border-radius:0}.modal.focus .modal-head{padding:max(.8rem,env(safe-area-inset-top)) var(--gutter) .25rem}.modal.focus .modal-body{padding:0 var(--gutter) max(1.5rem,env(safe-area-inset-bottom))}}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.file-line{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.file-line:last-child{border-bottom:0}.file-icon{flex:none;color:var(--denim-dark);padding-top:.1rem}.file-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.file-text strong{overflow-wrap:anywhere}a.file-open{text-decoration:none}.link-note{color:var(--ink)}.link-title{display:inline-flex;align-items:center;gap:.2rem}.file-line.link-editing{display:block}.file-text .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-open{flex:none;padding:.15rem .2rem;font-weight:700}.file-private{margin-left:.4rem;padding:.05rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--bg);color:var(--muted);vertical-align:middle}.file-rename input{min-width:0;flex:1}.file-tools{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.2rem}.file-tools label.check{display:flex;align-items:center;gap:.35rem;font-weight:400}.file-add{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:10px;background:var(--bg)}.file-add label:not(.check){display:flex;flex-direction:column;gap:.3rem}.file-add label.check{display:flex;align-items:center;gap:.5rem}.file-add label.check input{width:auto}.file-picked{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pending-files{display:flex;flex-direction:column;gap:.5rem}.pending-files>button{align-self:flex-start}.project-docs{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.75rem}.project-docs h4{margin:0 0 .3rem;font-size:.9rem}.modal.viewer{max-width:min(1000px,calc(100vw - 2 * var(--gutter)));height:calc(100vh - 48px)}.modal.viewer .modal-card{height:100%}.viewer-title h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.viewer-title p{margin:.1rem 0 0}.viewer-tools{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.4rem 0;background:var(--card)}.viewer-zoom{display:flex;align-items:center;gap:.4rem;margin-right:auto}.viewer-zoom button{padding:.3rem .75rem;font-size:1.1rem;line-height:1}.viewer-zoom .muted{min-width:3.2rem;text-align:center}.viewer-pdf{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;overflow-x:auto;padding:.75rem;border-radius:10px;background:var(--bg)}.viewer-page{display:block;background:#fff;box-shadow:var(--shadow);border-radius:4px}.viewer-image{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:6px}.viewer-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.5}@media(max-width:899px){.modal.viewer{width:100vw;max-width:100vw;height:100dvh}}.task{cursor:pointer}.task .todos,.task .project-docs,.task .history,.task form{cursor:auto}.task-main[role=button]:focus-visible{outline:2px solid var(--denim);outline-offset:4px;border-radius:6px}.task{--accent: var(--denim);transition:box-shadow .28s ease,border-color .28s ease}.task.status-bloccato{--accent: var(--amber)}.task.status-completato,.task.status-verificato{--accent: var(--leaf)}.task.expanded{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 18px 2px color-mix(in srgb,var(--accent) 30%,transparent),0 10px 30px #0f141d1f}.collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s ease,opacity .28s ease}.collapse.shown{grid-template-rows:1fr;opacity:1}.collapse-inner{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.task,.collapse{transition:none}}.task.task-focus{cursor:auto}.create-card{scroll-margin-top:96px;border:1.5px solid var(--denim);display:flex;flex-direction:column;gap:.75rem}.create-card>h2{margin:0}.create-card .task-editor{border:0;padding:0}.create-card .admin-form{max-width:none;display:flex;flex-direction:column;gap:.75rem}.edit-button{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;margin-left:.35rem;vertical-align:middle;border-radius:50%;background:none;color:var(--muted)}.edit-button:hover{background:var(--denim-soft);color:var(--denim-dark)}.plan-item strong,.sprint-head h2{display:flex;align-items:center}.stakeholders{display:flex;flex-direction:column;gap:.5rem}.stakeholders>button{align-self:flex-start}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .3rem .25rem .75rem;border-radius:999px;background:var(--denim-soft);color:var(--denim-dark);font-weight:600;font-size:.88rem}.chip button{padding:0 .4rem;background:none;color:inherit;font-size:1.1rem;line-height:1;border-radius:50%}.chip-new{background:var(--bg);color:var(--ink);border:1px dashed var(--line)}.team-follows{color:var(--denim-dark)}.settle{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease,opacity .3s ease,margin .3s ease}.settle-inner{min-height:0;min-width:0}.settle.leaving{grid-template-rows:0fr;opacity:0;margin-bottom:-.75rem}.settle.leaving .settle-inner{overflow:hidden}@media(prefers-reduced-motion:reduce){.settle{transition:none}}.breakout{--breakout: min(var(--col-wide), calc(100vw - 2 * var(--gutter)));width:var(--breakout);margin-inline:calc((100% - var(--breakout)) / 2)}.fab-dial{position:relative;z-index:23;flex:none}.fab-scrim{position:fixed;inset:0;z-index:22;background:color-mix(in srgb,var(--bg) 72%,transparent);animation:fab-scrim-in .16s ease}@keyframes fab-scrim-in{0%{opacity:0}to{opacity:1}}.fab-dial .fab{position:static}.fab-main{width:40px;height:40px;box-shadow:var(--shadow);border:0}.fab-main svg{width:22px;height:22px}.fab-main svg{transition:transform .2s ease}.fab-dial.open .fab-main svg{transform:rotate(45deg)}.fab-actions{position:absolute;left:-3px;top:52px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;pointer-events:none}.fab-actions li{display:flex;align-items:center;gap:.55rem;opacity:0;transform:translateY(-14px) scale(.85);transition:opacity .18s ease,transform .18s ease;transition-delay:calc(var(--i) * 45ms)}.fab-dial.open .fab-actions{pointer-events:auto}.fab-dial.open .fab-actions li{opacity:1;transform:none}.fab-action{width:46px;height:46px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--denim);color:#fff;box-shadow:0 6px 18px #0f141d40}.fab-action-label{padding:.3rem .75rem;border-radius:999px;background:var(--card);color:var(--ink);font-weight:700;font-size:.88rem;box-shadow:var(--shadow);white-space:nowrap}@media(prefers-reduced-motion:reduce){.fab-main svg,.fab-actions li{transition:none}.fab-scrim{animation:none}}.empty-state{flex:1;min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;text-align:center;color:var(--muted)}.empty-state p{margin:0;max-width:34ch;font-size:.95rem;line-height:1.45}.empty-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--denim-soft);color:var(--denim-dark)}.empty-state.compact{flex:none;min-height:0;padding:1rem .5rem;gap:.5rem}.empty-state.compact .empty-icon{width:40px;height:40px}.project-pill{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;min-height:34px;padding:.35rem .85rem;border:0;border-radius:999px;background:var(--denim-soft);color:var(--denim-dark);font-weight:700;font-size:.9rem}.view-switch{display:grid;grid-template-columns:1fr 1fr;gap:.2rem;padding:.2rem;margin-bottom:.75rem;border-radius:14px;background:var(--card);border:1px solid var(--line);max-width:420px}.view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;border-radius:11px;background:none;color:var(--muted);font-weight:700;font-size:.92rem}.view-switch button.active{background:var(--denim-soft);color:var(--denim-dark)}.follow-notes .follow-hint{margin:0 0 .25rem}.follow-notes .tab-count{margin-left:.4rem}.project-picker{position:relative;display:inline-flex;max-width:100%}.project-pill-button{min-height:38px;padding:.4rem .75rem .4rem .85rem;font-size:.92rem;cursor:pointer}.project-pill-button:hover{filter:brightness(.97)}.project-pill-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-pill-chevron{display:inline-flex;transition:transform .2s}.project-pill-chevron.open{transform:rotate(180deg)}.project-menu{position:absolute;left:0;top:calc(100% + .4rem);z-index:30;width:min(300px,calc(100vw - 32px));max-height:min(60vh,420px);overflow-y:auto;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 12px 32px #0f141d59}@media(prefers-reduced-motion:reduce){.project-pill-chevron{transition:none}}.create-card .inline-form{border:0;padding:0;background:none}.task .task-actions{background:none;padding:0;margin-top:.5rem}.task .inline-form{border:0;padding:0;background:none}.project-form{display:flex;flex-direction:column;gap:1rem}.project-form>h2{margin:0}.project-form label{display:flex;flex-direction:column;gap:.3rem}.form-section{border-top:1px solid var(--line);padding-top:1rem}.stakeholders{border:0;padding:0;margin:0}.stakeholders legend{padding:0;margin-bottom:.25rem;font-weight:700}.stakeholders-none{margin:0}.stakeholders-add{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.stakeholders-add select{width:auto;flex:1 1 200px}.stakeholders-add .secondary{flex:none}.task-expand svg{transition:transform .2s ease}.task.expanded>.task-foot .task-expand svg,.task.expanded .task-foot .task-expand svg{transform:rotate(180deg)}.gantt-mobile-hint{display:none}@media(max-width:899px){.gantt-mobile-hint{display:flex;align-items:center;gap:.5rem;margin:0;padding:.55rem .75rem;border-radius:10px;background:var(--denim-soft);color:var(--denim-dark);font-size:.85rem}.gantt-mobile-hint svg{flex:none}.gantt-row{grid-template-columns:128px auto}.gantt-label,.gantt-label.clickable{font-size:.78rem;padding:.3rem .45rem}}.watch-button{display:inline-flex;align-items:center;gap:.2rem;height:28px;padding:0 .5rem;margin-left:.2rem;vertical-align:middle;border-radius:999px;background:var(--denim-soft);color:var(--denim-dark);font-size:.8rem;font-weight:700}.watch-button.off{background:none;color:var(--muted);opacity:.55;padding:0 .35rem}.watch-panel{position:fixed;z-index:30;width:240px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 12px 32px #0f141d40;font-size:.9rem}.watch-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.gantt-label{z-index:5}.gantt-head{z-index:6}
