.quick-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;font-size:.8rem;min-width:180px;padding:4px;position:fixed;z-index:200}.quick-menu-item{align-items:center;background:none;border:none;border-radius:5px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:8px;padding:7px 10px;text-align:left;transition:background .1s;width:100%}.quick-menu-item:hover{background:var(--bg-input);color:var(--text-primary)}.quick-menu-item.quick-menu-active{background:var(--tint-purple);color:var(--color-accent);font-weight:600}.quick-menu-item.quick-menu-danger{color:var(--color-danger-light)}.quick-menu-item.quick-menu-danger:hover{background:var(--tint-danger)}.quick-menu-item.quick-menu-warning{color:var(--color-warning)}.quick-menu-item.quick-menu-warning:hover{background:#f59e0b1a}.quick-menu-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:16px}.quick-menu-arrow{color:var(--text-faint);font-size:1rem;margin-left:auto}.quick-menu-divider{background:var(--border);height:1px;margin:4px 6px}.quick-menu-back{background:none;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer;display:block;font-size:.75rem;font-weight:600;margin-bottom:2px;padding:6px 10px;text-align:left;width:100%}.quick-menu-back:hover{background:var(--bg-input);color:var(--text-secondary)}.quick-menu-item-wrap{position:relative}.quick-sub-menu{left:100%;margin-left:0;padding-left:4px;position:absolute;top:0;z-index:210}.quick-sub-menu-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;min-width:160px;padding:4px}.task-dots-wrap{flex-shrink:0;height:20px;min-width:0;overflow:visible;position:relative;width:0}.task-card:hover .task-dots-wrap,.task-dots-btn,.task-dots-wrap.menu-open{min-width:20px;width:20px}.task-dots-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:20px;justify-content:center;line-height:1;padding:0;transition:background .1s;visibility:hidden}.task-dots-btn,.task-dots-btn:hover{background:none;color:var(--text-muted)}.task-card:hover .task-dots-btn{visibility:visible}.task-card:hover .task-avatar{display:none}.task-dots-wrap.menu-open .task-dots-btn{background:none;visibility:visible}.task-dots-wrap.menu-open~.task-avatar{display:none}@media (max-width:768px){.quick-menu{font-size:.8rem;min-width:200px}.quick-menu-item{font-size:.8rem;min-height:40px;padding:10px 12px}.quick-menu-back{font-size:.78rem;padding:8px 12px}.quick-sub-menu{bottom:8px;left:8px;margin-left:0;padding-left:0;position:fixed;right:8px;top:auto;transform:none;z-index:1100}.quick-sub-menu-inner{-webkit-overflow-scrolling:touch;max-height:60vh;max-height:60dvh;overflow-y:auto;width:100%}.quick-sub-menu-inner .quick-menu-item{padding:10px 12px}}@media (max-width:480px){.quick-menu{-webkit-overflow-scrolling:touch;border-radius:12px;bottom:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:8px!important;max-height:70vh;max-height:70dvh;overflow-y:auto;position:fixed!important;right:8px!important;top:auto!important;width:auto!important}.quick-menu-item{font-size:.82rem;min-height:44px;padding:12px 14px}.quick-menu-divider{margin:4px 8px}}.confirm-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 20px 60px #00000080;max-width:90vw;min-width:320px;padding:24px}.confirm-message{color:var(--text-primary);font-size:.95rem;line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-actions-col{align-items:stretch;flex-direction:column}.confirm-actions-col .btn{text-align:center}.btn-warning{background:#f59e0b26;border:1px solid #f59e0b40;color:var(--color-warning)}.btn-warning:hover{background:#f59e0b40}@media (max-width:480px){.confirm-dialog{min-width:auto;padding:20px;width:calc(100vw - 32px)}.confirm-actions{flex-direction:column;gap:6px}.confirm-actions .btn{min-height:44px;text-align:center;width:100%}}.custom-select{position:relative}.custom-select.disabled{opacity:.35;pointer-events:none}.custom-select-trigger{align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;justify-content:space-between;padding:8px 12px;text-align:left;transition:border-color .15s;width:100%}.custom-select-trigger.placeholder{color:var(--text-faint)}.custom-select-trigger svg{color:var(--text-faint);flex-shrink:0;transition:transform .15s}.custom-select-trigger.open svg{transform:rotate(180deg)}.custom-select-trigger:hover{border-color:var(--border-input)}.custom-select-trigger:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.custom-select-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;max-height:200px;overflow-y:auto;padding:4px;z-index:2000}.custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-dropdown::-webkit-scrollbar-track{background:#0000}.custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.custom-select-option{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.82rem;font-weight:500;padding:7px 10px;text-align:left;transition:all .1s;width:100%}.custom-select-option:hover{background:var(--tint-primary);color:var(--text-primary)}.custom-select-option.active{background:var(--color-primary);color:#fff}.multi-check{align-items:center;border:1.5px solid var(--border-input);border-radius:3px;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;margin-right:8px;vertical-align:middle;width:14px}.multi-check.checked{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.custom-select-option.active .multi-check{background:#ffffff40;border-color:#fff}@media (max-width:768px){.custom-select-option,.custom-select-trigger{min-height:40px;padding:10px 12px}.custom-select-option{align-items:center;display:flex;font-size:.85rem}.custom-select-dropdown{-webkit-overflow-scrolling:touch;max-height:240px}}.filter-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 12px 40px #00000080;display:flex;flex-direction:column;gap:14px;min-width:220px;padding:16px 18px;white-space:nowrap}.filter-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:10px}.filter-title{color:var(--text-primary);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.filter-reset{background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.7rem;font-weight:600;padding:4px 8px;transition:all .15s}.filter-reset:hover{background:#ef44441a;color:var(--color-danger-light)}.filter-fields{gap:10px}.filter-fields,.filter-item{display:flex;flex-direction:column}.filter-item{gap:4px}.filter-item label{color:var(--text-faint);font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.filter-chip{background:#0000;border:1px solid #3f4150;border-radius:14px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:all .15s}.filter-chip:hover{border-color:var(--text-muted);color:var(--text-primary)}.filter-chip-active{background:var(--color-primary);border-color:#0000;color:#fff}.filter-chip-prio{align-items:center;display:flex;gap:4px}@media (max-width:768px){.filter-bar{-webkit-overflow-scrolling:touch;border-radius:12px 12px 0 0;gap:12px;max-height:70vh;max-height:70dvh;min-width:0;min-width:auto;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));width:100%}.filter-chips{gap:6px}.filter-chip{align-items:center;display:flex;padding:6px 12px}.filter-chip,.filter-reset{font-size:.75rem;min-height:32px}.filter-reset{padding:6px 10px}}@media (max-width:480px){.filter-bar{gap:10px;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.filter-chip{font-size:.72rem;padding:5px 10px}.filter-item label{font-size:.62rem}}.mini-cal{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;color:var(--text-primary);left:50%;margin-top:8px;padding:14px;position:absolute;top:100%;transform:translateX(-50%);width:300px;z-index:100}.mini-cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.mini-cal-title{font-size:.9rem;font-weight:700;text-transform:uppercase}.mini-cal-title-btn{background:none;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:700;padding:2px 8px}.mini-cal-title-btn:hover{background:var(--tint-purple);color:var(--color-accent)}.mini-cal-nav{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px 8px}.mini-cal-nav:hover{background:var(--bg-input);color:var(--text-primary)}.mini-cal-weekdays{color:var(--text-faint);font-size:.7rem;font-weight:700;margin-bottom:4px;text-align:center}.mini-cal-grid,.mini-cal-weekdays{display:grid;grid-template-columns:24px repeat(7,1fr)}.mini-cal-grid{grid-gap:2px;gap:2px}.mini-cal-kw-header{font-size:.6rem}.mini-cal-kw,.mini-cal-kw-header{align-items:center;display:flex;justify-content:center}.mini-cal-kw{color:var(--text-faint);font-size:.65rem;font-weight:600}.mini-cal-grid-4{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.mini-cal-day,.mini-cal-empty{aspect-ratio:1}.mini-cal-day{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;justify-content:center}.mini-cal-day:hover{background:var(--tint-purple);color:var(--color-accent)}.mini-cal-cell{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;justify-content:center;padding:10px 4px}.mini-cal-cell:hover{background:var(--tint-purple);color:var(--color-accent)}.mini-cal-today{background:var(--color-primary);color:#fff;font-weight:700}.mini-cal-today:hover{background:var(--color-primary-hover);color:#fff}@media (max-width:768px){.mini-cal{border-radius:12px 12px 0 0;bottom:0;box-shadow:0 -4px 30px #00000080;left:0;margin-top:0;max-width:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom));position:fixed;right:0;top:auto;transform:none;width:100%;z-index:1000}.mini-cal-day{font-size:.85rem;min-height:32px;min-width:32px}.mini-cal-cell{font-size:.85rem;padding:12px 4px}.mini-cal-nav{min-height:36px;min-width:36px}}@media (max-width:480px){.mini-cal{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.mini-cal-day{font-size:.8rem}}.calendar{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow:hidden}.calendar-scroll-body{-ms-overflow-style:none;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.calendar-scroll-body::-webkit-scrollbar{display:none}.calendar-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-nav-left{align-items:center;background:var(--bg-card);border:none;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.cal-nav-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px 6px;transition:all .15s}.cal-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cal-nav-heute{color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600}.month-label-wrap{align-items:center;display:flex;gap:6px;position:relative}.month-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;min-width:100px;text-align:center}.appointment-time{font-weight:700;margin-right:3px}.filter-wrap{align-items:center;display:flex;gap:4px}.calendar-header-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:48px repeat(5,1fr)}.kw-header{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;font-weight:700;justify-content:center}.day-col-header{background:#0000;border:none;border-radius:6px;color:var(--text-primary);font-size:.9rem;font-weight:700;padding:8px 0;text-align:center;text-transform:uppercase}.calendar-week-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:48px repeat(5,1fr);grid-template-rows:auto minmax(120px,auto);margin-bottom:12px}.kw-cell{align-items:flex-start;display:flex;grid-row:1/-1;justify-content:center;padding-top:40px}.kw-number{background:#ffffff0f;border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:700;padding:4px 6px;white-space:nowrap}.calendar-day{background:var(--bg-card);border:2px solid #0000;border-radius:6px;cursor:pointer;display:grid;grid-row:1/-1;grid-template-rows:subgrid;min-width:0;transition:border-color .2s,background .2s}.calendar-day.today{border-color:var(--color-primary)}.calendar-day.other-month{background:#16161d;opacity:.4}.calendar-day.holiday{background:#1e2236}.calendar-day.holiday .day-header{background:#24283d}.calendar-day.holiday .day-header:hover:not(:has(.appointment-tag-wrap:hover,.appointment-card:hover,.outlook-card:hover,.outlook-tag:hover)){background:var(--tint-purple)}.calendar-day.drag-over{background:var(--tint-purple);border-color:var(--color-primary);opacity:1}.day-header{background:var(--bg-input);border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:28px;min-width:0;overflow:hidden;padding:4px 8px}.day-header:hover:not(:has(.appointment-tag-wrap:hover,.appointment-card:hover,.outlook-card:hover,.outlook-tag:hover)){background:var(--tint-purple)}.day-header-top{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;justify-content:flex-end}.day-header-top .day-date{margin-right:auto}.day-date{color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-weight:600}.holiday-name{color:#60a5fa;font-size:.6rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-tag-wrap{align-items:center;background:var(--bg-card);border-radius:3px;cursor:pointer;display:inline-flex;max-width:120px;position:relative}.appointment-tag-wrap:hover{cursor:grab}.appointment-tag-wrap.dragging{cursor:grabbing;opacity:.4;transform:rotate(2deg)}.appointment-tag{color:#5083b9;cursor:default;font-size:.6rem;font-weight:600;overflow:hidden;padding:1px 5px;text-overflow:ellipsis;white-space:nowrap}.roadmap-tag{color:#8a86c9}.roadmap-event-card{background:#46408a!important;border:1px solid #8a86c966!important;cursor:default!important}.roadmap-event-card .appointment-card-text{color:#fff}.roadmap-event-card .appointment-card-dots-btn{display:none}.appointment-card{align-items:center;background:var(--color-primary);border:1px solid #5ba3d933;border-radius:6px;cursor:default;display:flex;gap:6px;min-width:0;opacity:1;padding:4px 8px;position:relative}.appointment-card-dots-btn{background:none;border:none;color:#fff;cursor:pointer;flex-shrink:0;font-size:.85rem;line-height:1;margin-left:auto;padding:0 2px;visibility:hidden}.appointment-card-dots-btn:hover{color:#c4dff0}.appointment-card:hover .appointment-card-dots-btn{visibility:visible}.current-week .appointment-card{opacity:1}.appointment-card:hover{cursor:grab}.appointment-card.dragging{cursor:grabbing;opacity:.4;transform:rotate(2deg)}.appointment-card-time{color:#fff;flex-shrink:0;font-size:.85rem;font-weight:700;letter-spacing:.05em;width:40px}.appointment-card-text{color:#fff;font-size:.85rem;font-weight:400;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-tasks{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;overflow:hidden;padding:4px 4px 24px}.task-card{background:#2e3240;border:1px solid var(--border);border-left:6px solid var(--border-input);border-radius:6px;cursor:pointer;font-size:.78rem;opacity:1;padding:3px 6px;transition:box-shadow .2s,transform .15s,opacity .2s}.current-week .task-card{opacity:1}.task-card:hover{box-shadow:0 4px 12px #0000004d}.task-card:hover .task-prio-icon{display:none}.task-card.dragging{cursor:grabbing;opacity:.4;transform:rotate(2deg)}.task-card.drag-over-task{border-top:3px solid var(--color-primary)}.task-card.done{opacity:.45}.task-card.done .task-name{text-decoration:line-through}.task-main-row{align-items:flex-start;display:flex;gap:6px;min-width:0}.task-check{align-items:center;background:#0000;border:2px solid var(--text-muted);border-radius:50%;cursor:pointer;display:flex;height:12px;justify-content:center;margin-top:4px;min-width:12px;opacity:0;padding:0;transition:all .2s;width:12px}.task-card:hover .task-check,.task-check.checked{opacity:1}.task-check:hover{background:var(--tint-purple);border-color:var(--color-accent)}.task-check.checked{background:var(--color-success);border-color:var(--color-success)}.checkmark{color:#fff;font-size:.65rem;font-weight:700;line-height:1}.task-content{flex:1 1;min-width:0}.task-name-row{align-items:center;display:flex;gap:4px;min-width:0}.task-name{color:#fff;flex:1 1;font-size:.7rem;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.45rem;font-weight:500;height:14px;justify-content:center;line-height:1;min-width:14px;width:14px}.task-avatar-empty{visibility:hidden}.task-info-row{align-items:center;display:flex;gap:4px;justify-content:space-between;margin-top:0}.task-deadline{color:#8890a0;font-size:.62rem;font-weight:700}.task-prio-icon{flex-shrink:0;line-height:1}.outlook-wrap,.task-prio-icon{align-items:center;display:flex}.outlook-wrap{gap:2px;margin-right:6px}.btn-outlook{align-items:center;background:#1e2028;border:1px solid #2d2f3a;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:5px;padding:6px 12px;transition:all .15s}.btn-outlook:hover{background:#252830;border-color:#3f4150;color:var(--text-primary)}.btn-outlook.connected{border-color:#0078d433;color:#0078d4}.btn-outlook.connected:hover{background:#0078d415;border-color:#0078d466}.btn-outlook-disconnect{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px}.btn-outlook-disconnect:hover{background:var(--color-danger)15;color:var(--color-danger)}.outlook-tag{background:#286e8a33!important;border-left:2px solid #286e8a;color:#286e8a!important;cursor:default!important}.outlook-card{background:#286e8a!important;border:1px solid #286e8a66!important;cursor:default!important}.outlook-card .appointment-card-text,.outlook-card .appointment-card-time{color:#fff}.outlook-card .appointment-card-dots-btn{display:none}.appointment-elapsed{filter:saturate(.3);opacity:.45!important}.outlook-persons{font-size:.65rem;margin-left:4px;opacity:.7}.mobile-month-view{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.mobile-month-weekdays{color:var(--text-faint);font-size:.7rem;font-weight:700;padding:4px 0;text-align:center;text-transform:uppercase}.mobile-month-grid,.mobile-month-weekdays{display:grid;grid-template-columns:repeat(5,1fr)}.mobile-month-grid{grid-gap:2px;flex:1 1;gap:2px}.mobile-month-cell{align-items:stretch;background:var(--bg-card);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:1px;justify-content:flex-start;overflow:hidden;padding:4px}.mobile-month-cell:active{background:var(--bg-hover)}.mobile-month-cell.empty{background:#0000;cursor:default}.mobile-month-cell.today{border:2px solid var(--color-primary)}.mobile-month-cell.holiday{background:#1e2236}.mobile-month-day-num{color:var(--text-primary);font-size:.72rem;font-weight:700;line-height:1}.mobile-month-holiday{color:#60a5fa;font-size:.48rem}.mobile-month-appt,.mobile-month-holiday{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-month-appt{border-radius:2px;flex:0 0 auto;font-size:.65rem;line-height:1.2;padding:1px 3px}.mobile-month-appt.tag{background:#5083b91f;color:#5083b9}.mobile-month-appt.normal{background:#28588a33;color:var(--color-accent);white-space:normal;word-break:break-word}.mobile-month-appt.outlook{background:#286e8a1f;color:#4db8a4;white-space:normal;word-break:break-word}.mobile-month-appt.roadmap{background:#5083b91f;color:#5083b9;height:auto;max-height:1.2em}.mobile-month-more{color:var(--text-muted);font-size:.45rem;font-weight:600}.mobile-day-scroller{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;gap:8px;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 9%;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-day-scroller::-webkit-scrollbar{display:none}.mobile-day-card{background:var(--bg-card);border:2px solid #0000;border-radius:8px;display:flex;flex:0 0 82%;flex-direction:column;height:100%;max-height:100%;min-width:0;overflow:hidden;scroll-snap-align:center}.mobile-day-card .day-tasks{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto}.mobile-day-card.today{border-color:var(--color-primary)}.mobile-day-card.past{opacity:1}.mobile-day-card.holiday{background:#1e2236}.mobile-day-label{align-items:center;display:flex;gap:8px;padding:10px 12px 6px}.mobile-day-weekday{color:var(--text-primary);font-size:.9rem;font-weight:700;text-transform:uppercase}.mobile-day-date{color:var(--text-secondary);font-size:.85rem;font-weight:600}.mobile-day-card .day-header{border-radius:0;gap:8px;padding:6px 12px 10px}.mobile-day-card .day-header-top{flex-wrap:wrap;gap:6px}.mobile-day-card .day-tasks{gap:8px;padding:6px 10px 16px}.mobile-day-card .task-card{font-size:.82rem;opacity:1;padding:10px}.mobile-day-card .task-name{font-size:.78rem}.mobile-day-card .task-dots-wrap{display:none}.mobile-day-card .task-check{height:16px;min-width:16px;opacity:1;width:16px}.mobile-day-card .task-info-row{display:flex}.mobile-day-card .task-deadline{font-size:.68rem}.mobile-day-card .appointment-tag{font-size:.7rem;padding:2px 6px}.mobile-day-card .appointment-tag-wrap{max-width:none}.mobile-day-card .appointment-card{opacity:1;padding:5px 8px}.mobile-day-card .appointment-card-time{font-size:.8rem;width:auto}.mobile-day-card .appointment-card-text{font-size:.8rem}.mobile-day-card .holiday-name{font-size:.7rem}@media (max-width:768px){.calendar-nav{flex-wrap:nowrap;gap:6px;margin-bottom:8px;margin-top:10px}.calendar-nav-left{flex:1 1;justify-content:center;min-width:0;padding:6px 8px;width:100%}.calendar .filter-wrap{bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;position:fixed;right:16px;right:calc(16px + env(safe-area-inset-right));z-index:90}.calendar .filter-wrap .btn-filter-toggle{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000080;display:flex;justify-content:center;min-height:36px;min-width:36px;padding:8px 12px}.month-label{font-size:.8rem;min-width:80px}.cal-nav-btn{min-height:36px;min-width:36px}.cal-nav-heute{font-size:.8rem;padding:4px 8px}.calendar-header-row,.calendar-week-row{gap:4px;grid-template-columns:32px repeat(5,1fr)}.kw-cell{padding-top:20px}.kw-number{font-size:.65rem;padding:2px 4px}.day-col-header{font-size:.7rem;padding:4px 0}.calendar-day{min-height:80px}.day-header{gap:3px;padding:3px 4px}.day-date,.task-card{font-size:.68rem}.task-card{border-left-width:4px;padding:3px 5px}.task-name{font-size:.62rem}.task-avatar{font-size:.4rem;height:12px;min-width:12px;width:12px}.task-check{height:14px;margin-top:2px;min-width:14px;width:14px}.task-deadline{font-size:.55rem}.appointment-tag{font-size:.52rem;padding:2px 4px}.appointment-tag-wrap{max-width:90px}.appointment-card{gap:4px;padding:3px 5px}.appointment-card-time{font-size:.7rem;width:30px}.appointment-card-text{font-size:.7rem}.outlook-wrap{margin-right:0}.btn-outlook{font-size:.7rem;padding:4px 8px}.btn-filter-toggle{align-items:center;display:flex;justify-content:center;min-height:36px;min-width:36px}.filter-overlay{bottom:0;left:0;margin-top:0;position:fixed;right:0;top:auto;z-index:1000}}@media (max-width:480px){.calendar-nav{gap:4px;margin-bottom:6px}.calendar-nav-left{padding:4px 6px}.calendar-header-row,.calendar-week-row{gap:3px;grid-template-columns:repeat(5,1fr)}.kw-cell,.kw-header{display:none}.day-col-header{font-size:.6rem;padding:3px 0}.calendar-day{min-height:56px}.day-header{gap:2px;padding:2px 3px}.day-date{font-size:.62rem}.day-tasks{gap:2px;padding:2px 2px 8px}.task-card{border-left-width:3px;padding:2px 3px}.task-name{font-size:.58rem}.task-name-row{gap:3px}.task-check{height:12px;min-width:12px;width:12px}.task-dots-btn,.task-dots-wrap{height:18px;min-width:18px;width:18px}.task-info-row{display:none}.appointment-tag{font-size:.48rem;padding:1px 3px}.appointment-tag-wrap{max-width:70px}.appointment-card{gap:2px;padding:2px 3px}.appointment-card-time{font-size:.6rem;width:26px}.appointment-card-text{font-size:.6rem}.holiday-name{font-size:.5rem}.month-label{font-size:.8rem;min-width:70px}.filter-wrap{gap:2px}}.areas-page{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow:hidden}.list-toolbar{align-items:center;display:flex;height:38px;justify-content:flex-end;margin-bottom:12px}.cat-layout{display:flex;flex:1 1;gap:14px;min-height:0;overflow:hidden}.cat-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;flex-shrink:0;overflow-y:auto;padding:16px 12px;width:240px}.cat-sidebar-divider{background:var(--border);height:1px;margin:6px 8px}.cat-sidebar-divider-blue{background:var(--border);border-radius:1px;cursor:grab;height:2px;margin:6px 8px}.cat-item{align-items:center;background:#0000;border:2px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;margin-bottom:3px;padding:8px 10px;text-align:left;transition:all .15s;width:100%}.cat-item[draggable=true]{cursor:grab}.cat-item[draggable=true]>*{pointer-events:none}.cat-item:hover{background:var(--bg-input);color:var(--text-primary)}.cat-item-active{color:var(--text-primary);font-weight:600}.cat-item-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.cat-item-label{align-items:center;display:flex;flex:1 1;gap:5px}.cat-admin-icon{flex-shrink:0;opacity:.5}.cat-item-count{background:var(--border);border-radius:6px;color:var(--text-secondary);font-size:.7rem;font-weight:700;min-width:22px;padding:2px 7px;text-align:center}.cat-add-area{color:var(--text-faint);font-style:normal;font-weight:500}.cat-add-area:hover{color:var(--text-secondary)}.cat-main{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;display:flex;flex:1 1;flex-direction:column;overflow-x:auto;overflow-y:auto;padding:20px;position:relative;scrollbar-color:var(--border) #0000;scrollbar-gutter:stable;scrollbar-width:thin}.cat-main::-webkit-scrollbar{width:6px}.cat-main::-webkit-scrollbar-track{background:#0000}.cat-main::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.cat-main::-webkit-scrollbar-thumb:hover{background:#3f4150}.cat-main-header{align-items:center;border-bottom:3px solid var(--border);display:flex;gap:12px;margin-bottom:16px;padding-bottom:14px}.cat-main-header-icon{font-size:1.4rem}.cat-main-header h2{color:var(--text-primary);flex:1 1;font-size:1.2rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.cat-main-header-count{color:var(--text-muted);font-size:.82rem;font-weight:500}.cat-main-header-subtitle{color:var(--text-muted);font-size:.8rem;font-weight:400}.cat-header-add{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;font-size:1.1rem;font-weight:500;line-height:1;margin-left:8px;padding:2px 6px;transition:all .15s}.cat-header-add:hover{background:var(--bg-hover);color:var(--text-primary)}.area-menu-wrap{position:relative}.area-dots-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px 6px;transition:all .15s}.area-dots-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.area-dropdown{background:#1e1f2e;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;margin-top:4px;min-width:180px;padding:4px;position:absolute;right:0;top:100%;z-index:50}.area-dropdown-item{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:8px 12px;transition:background .1s;width:100%}.area-dropdown-item:hover{background:var(--bg-hover)}.area-popup{width:360px}.area-edit-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.area-edit-row label{color:var(--text-secondary);font-size:.82rem;font-weight:600;min-width:50px}.area-edit-input{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.85rem;padding:6px 10px}.area-edit-input:focus{border-color:var(--color-primary);outline:none}.area-color-picker-wrap{align-items:center;display:flex;gap:8px;position:relative}.area-color-btn{border:2px solid var(--border-input);border-radius:6px;cursor:pointer;flex-shrink:0;height:28px;padding:0;transition:border-color .15s;width:28px}.area-color-btn:hover{border-color:var(--text-muted)}.area-edit-color-hex{color:var(--text-muted);font-family:monospace;font-size:.8rem}.area-color-popover{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;padding:12px;position:fixed;z-index:2100}.area-color-popover .react-colorful{height:160px;width:200px}.area-color-popover .react-colorful__saturation{border-radius:6px 6px 0 0}.area-color-popover .react-colorful__hue{border-radius:0 0 6px 6px;height:14px}.area-color-popover .react-colorful__hue-pointer,.area-color-popover .react-colorful__saturation-pointer{height:18px;width:18px}.area-color-hex-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-family:monospace;font-size:.82rem;letter-spacing:.05em;margin-top:8px;padding:6px 8px;text-align:center;width:200px}.area-color-hex-input:focus{border-color:var(--color-primary);outline:none}.area-lock-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .15s}.area-lock-icon:hover{background:var(--bg-hover);color:var(--text-secondary)}.area-lock-icon.locked{color:var(--text-primary)}.area-edit-actions{display:flex;gap:8px;justify-content:space-between;margin-top:16px}.bulk-action-bar{align-items:center;background:#1e293b;border:1px solid var(--color-primary);border-radius:8px;bottom:12px;display:flex;gap:12px;margin-top:auto;padding:12px 16px 8px;position:sticky;z-index:50}.bulk-count{color:var(--color-accent);font-size:.85rem;font-weight:600;white-space:nowrap}.bulk-actions{display:flex;flex:1 1;gap:6px}.bulk-btn{align-items:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:5px 12px;transition:all .15s}.bulk-btn:hover{background:var(--bg-hover)}.bulk-btn-delete:hover{background:#ef444426;border-color:var(--color-danger);color:var(--color-danger)}.bulk-btn-duplicate:hover{background:#5ba3d926;border-color:var(--color-accent);color:var(--color-accent)}.bulk-btn-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;margin-left:auto;padding:4px;transition:all .15s}.bulk-btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.bulk-move-wrap{position:relative}.bulk-btn-move:hover{background:#5ba3d926;border-color:var(--color-accent);color:var(--color-accent)}.bulk-move-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;bottom:calc(100% + 4px);box-shadow:0 8px 30px #0006;left:0;max-height:200px;min-width:180px;overflow-y:auto;padding:4px;position:absolute;z-index:2000}.bulk-move-dropdown::-webkit-scrollbar{width:6px}.bulk-move-dropdown::-webkit-scrollbar-track{background:#0000}.bulk-move-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.bulk-move-option{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.82rem;font-weight:500;padding:7px 10px;text-align:left;transition:all .1s;width:100%}.bulk-move-option:hover{background:var(--tint-primary);color:var(--text-primary)}.bulk-cat-input-wrap{border-bottom:1px solid var(--border);margin-bottom:2px;padding:4px 4px 2px}.bulk-cat-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:.82rem;font-weight:500;outline:none;padding:7px 10px;width:100%}.bulk-cat-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring)}.bulk-cat-none{border-top:1px solid var(--border);color:var(--text-faint);font-style:italic;margin-top:2px}.custom-checkbox{cursor:pointer}.checkbox-box,.custom-checkbox{align-items:center;display:flex;justify-content:center}.checkbox-box{border:1.5px solid var(--border-input);border-radius:3px;flex-shrink:0;height:14px;transition:all .15s;width:14px}.checkbox-box:hover{border-color:var(--color-accent)}.checkbox-box.checked,.checkbox-box.partial{background:var(--color-primary);border-color:var(--color-primary)}.cat-empty{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;height:300px;justify-content:center}.cat-empty-icon{font-size:3rem;margin-bottom:12px}.cat-empty p{font-size:1rem}.list-content{display:flex;flex-direction:column;gap:20px}.list-category-row td{border-bottom:none!important;padding:0!important}.list-category-check{margin-left:12px;margin-right:2px}.list-category-row:hover{background:#0000!important}.list-category-header{align-items:center;border-bottom:2px solid var(--border);color:var(--text-secondary);display:flex;font-size:.85rem;font-weight:700;gap:8px;letter-spacing:.03em;margin-bottom:0;padding:40px 0 12px;text-transform:uppercase}.list-category-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.list-category-toggle:hover{color:var(--color-accent)}.list-category-chevron{display:inline-block;font-size:.8rem;transition:transform .15s}.list-category-chevron.collapsed{transform:rotate(-90deg)}.list-category-count{background:var(--border);border-radius:6px;color:var(--text-secondary);font-size:.7rem;font-weight:700;padding:1px 7px}.list-category-add{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;font-size:1rem;font-weight:500;line-height:1;opacity:0;padding:0 4px;transition:all .15s}.list-category-toggle:hover .list-category-add{opacity:1}.list-category-add:hover{background:var(--bg-hover);color:var(--text-primary)}.list-table{border-collapse:collapse;font-size:.85rem;margin-bottom:36px;table-layout:fixed;width:100%}.list-table thead th{border-bottom:1px solid var(--border);color:var(--text-faint);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:6px 10px;text-align:left;text-transform:uppercase}.list-table tbody tr{cursor:pointer;transition:background .1s}.list-table tbody tr:hover{background:var(--bg-input)}.list-table td{border-bottom:1px solid var(--border);padding:8px 10px;vertical-align:middle}.col-check{width:38px}.col-name{color:var(--text-primary);font-weight:600}.col-person{color:var(--text-muted);white-space:nowrap}.col-person-text{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.list-table-with-area .col-person-text{max-width:150px}.col-area{white-space:nowrap;width:120px}.area-badge{border:1.5px solid;border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;max-width:110px;overflow:hidden;padding:1px 6px;text-overflow:ellipsis;white-space:nowrap}.col-prio{width:50px}.col-calendar,.col-deadline{color:var(--text-muted);font-size:.82rem;white-space:nowrap}.col-calendar,.col-deadline{width:100px}.col-date{color:var(--text-secondary);width:74px}.col-date,.col-time{font-size:.82rem;white-space:nowrap}.col-time{color:var(--text-muted);width:120px}.col-actions{width:70px}.row-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s}.list-row:hover .row-actions{opacity:1}.row-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:all .1s}.row-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.row-action-delete:hover{background:#ef444426;color:var(--color-danger)}.list-row-done{opacity:.5}.list-row-selected{background:#28588a26!important}.text-done{text-decoration:line-through}.btn-filter-toggle{align-items:center;background:var(--bg-card);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;padding:8px 12px;position:relative;transition:all .15s}.btn-filter-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-filter-toggle.has-filters{color:var(--color-accent)}.filter-dot{background:var(--color-danger);border-radius:50%;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.filter-wrap{position:relative}.filter-overlay{margin-top:8px;position:absolute;right:0;top:100%;z-index:100}.cat-mobile-chevron{display:none}.cat-mobile-dropdown-list{-webkit-overflow-scrolling:touch;background:var(--bg-card);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;bottom:0;box-shadow:0 -4px 30px #00000080;left:0;max-height:60vh;max-height:60dvh;overflow-y:auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}.cat-mobile-dropdown-item{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:12px;text-align:left;width:100%}.cat-mobile-dropdown-item:hover{background:var(--bg-input)}.cat-mobile-dropdown-item.active{background:var(--tint-primary);color:var(--text-primary);font-weight:700}.cat-mobile-dropdown-item .cat-item-count{margin-left:auto}.cat-mobile-dropdown-divider{background:var(--border);height:1px;margin:4px 8px}@media (max-width:768px){.list-toolbar{height:0;margin-bottom:0;overflow:visible}.areas-page>.list-toolbar>.filter-wrap{bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));position:fixed;right:16px;right:calc(16px + env(safe-area-inset-right));z-index:90}.areas-page>.list-toolbar>.filter-wrap>.btn-filter-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000080;min-height:36px;min-width:36px;padding:8px 12px}.cat-layout{flex-direction:column;gap:8px}.cat-main{min-height:0;padding:12px}.cat-main-header{cursor:pointer;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:0}.cat-main-header h2{align-items:center;display:flex;font-size:1.1rem;gap:6px;padding:4px 0}.cat-mobile-chevron{display:inline-block;opacity:.5}.cat-header-add{align-items:center;display:flex;font-size:1.4rem;justify-content:center;margin-left:12px;min-height:36px;min-width:36px;padding:6px 10px}.list-table{font-size:.78rem;table-layout:auto}.col-calendar,.col-deadline{font-size:.72rem;width:auto}.col-person-text{max-width:120px}.col-actions{width:50px}.row-actions{opacity:1}.bulk-action-bar{border-radius:8px 8px 0 0;bottom:0;flex-wrap:wrap;gap:8px;left:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.bulk-actions{flex-wrap:wrap;gap:4px}.bulk-btn{font-size:.75rem;padding:6px 10px}.area-popup{max-width:360px;width:calc(100vw - 32px)}.filter-overlay{bottom:0;left:0;margin-top:0;position:fixed;right:0;top:auto;z-index:1000}}@media (max-width:480px){.cat-main{padding:8px}.cat-main-header h2{font-size:.9rem}.cat-main-header-icon{font-size:1.1rem}.col-date,.col-person,.col-time{display:none}.col-prio{width:30px}.col-check{width:28px}.list-category-header{font-size:.75rem;padding:20px 0 8px}.list-table{font-size:.75rem}.list-table td{padding:8px 6px}.list-table thead th{font-size:.62rem;padding:4px 6px}.col-actions{width:40px}.area-badge{font-size:.68rem;max-width:80px}}.date-picker-wrap{position:relative}.date-picker-trigger{align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;justify-content:space-between;padding:8px 12px;text-align:left;transition:border-color .15s;width:100%}.date-picker-trigger .placeholder{color:var(--border-input)}.date-picker-trigger svg{color:var(--text-faint);flex-shrink:0}.date-picker-trigger:hover{border-color:var(--border-input)}.date-picker-trigger:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.date-picker-dropdown{z-index:2000}.date-picker-dropdown .mini-cal{left:auto;margin-top:0;position:relative;top:auto;transform:none}@media (max-width:768px){.date-picker-trigger{min-height:40px;padding:10px 12px}}.btn-sm{font-size:.75rem;padding:4px 10px}.task-form-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;font-weight:600;gap:4px}.form-error{background:var(--tint-danger);border-radius:6px;color:var(--color-danger-light);font-size:.875rem;margin-bottom:12px;padding:8px 12px}.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-row label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.form-row input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:.9rem;padding:8px 12px;transition:border-color .2s}.form-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--tint-purple);outline:none}.form-row-half{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-divider{margin:4px 0 12px}.form-advanced-toggle,.form-divider{border:none;border-top:1px solid var(--border)}.form-advanced-toggle{align-items:center;background:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:.78rem;font-weight:400;gap:6px;margin:4px 0 8px;padding:8px 0;transition:color .15s;width:100%}.form-advanced-toggle:hover{color:var(--text-secondary)}.form-advanced-chevron{flex-shrink:0;transition:transform .15s}.form-advanced-chevron.collapsed{transform:rotate(-90deg)}.task-person-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.task-person-chip{background:#0000;border:1.5px solid var(--border-input);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:4px 10px;transition:all .15s}.task-person-chip:hover{border-color:var(--text-faint)}.task-person-chip-active{border-color:#0000;color:#fff}.prio-option-label{align-items:center;display:inline-flex;gap:6px}.form-notes{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem;min-height:150px;padding:8px 12px;resize:vertical;scrollbar-color:var(--border) #0000;scrollbar-width:thin;width:100%}.form-notes::-webkit-scrollbar{width:6px}.form-notes::-webkit-scrollbar-track{background:#0000}.form-notes::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.form-notes::-webkit-scrollbar-thumb:hover{background:#3f4150}.form-notes:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--tint-purple);outline:none}.form-actions{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:16px}.form-actions-right{display:flex;gap:8px;margin-left:auto}.cat-suggestions{background:#1e1e2e;background:var(--bg-secondary,#1e1e2e);border:1px solid #333;border:1px solid var(--border-color,#333);border-radius:6px;left:0;margin-top:2px;max-height:160px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.cat-suggestion-item{cursor:pointer;font-size:.8rem;padding:6px 10px}.cat-suggestion-item:hover{background:#2a2a3e;background:var(--bg-hover,#2a2a3e)}@media (max-width:768px){.form-row-half{gap:8px;grid-template-columns:1fr}.form-actions{flex-wrap:wrap;gap:6px}.task-person-chips{gap:6px}.task-person-chip{align-items:center;display:flex;font-size:.75rem;min-height:32px;padding:5px 12px}.form-notes,.form-row input{font-size:16px;padding:10px 12px}.form-notes{min-height:100px}.form-row label{font-size:.72rem}}@media (max-width:480px){.form-row input{padding:9px 10px}.form-notes{min-height:60px}.task-person-chip{font-size:.72rem;min-height:28px;padding:4px 10px}}.appointment-form-wrap{display:flex;flex-direction:column;height:100%}.appointment-form-wrap .appointment-form{display:flex;flex:1 1;flex-direction:column}.appointment-form-wrap .form-actions{margin-top:auto;padding-top:16px}.appointment-form-tabs{background:#ffffff0a;border-radius:6px;display:flex;flex-shrink:0;gap:2px;margin-bottom:20px;padding:3px}.appointment-form-tab{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;flex:1 1;font-size:.78rem;font-weight:600;padding:7px 16px;text-align:center;transition:all .15s}.appointment-form-tab:hover{color:var(--text-secondary)}.appointment-form-tab.active{background:var(--color-primary);color:var(--text-primary)}.appointment-form-body{display:flex;flex:1 1;flex-direction:column;min-height:200px}.appointment-form .form-row{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.appointment-form .form-row label{color:var(--text-faint);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.appointment-form .form-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-weight:500;padding:8px 12px;transition:border-color .15s}.appointment-form .form-row input:hover{border-color:var(--border-input)}.appointment-form .form-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.appointment-form .form-row input::placeholder{color:var(--border-input)}.appointment-form .form-row-half{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.appointment-form .form-error{background:#ef444414;border:1px solid #ef444426;border-radius:6px;color:var(--color-danger-light);font-size:.8rem;font-weight:500;margin-bottom:14px;padding:8px 12px}.appointment-form .form-actions{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:auto;padding-top:16px}.appointment-form .form-actions-right{display:flex;gap:8px;margin-left:auto}.form-duplicate-hint{color:var(--color-warning);font-size:.72rem;font-weight:500;margin-top:4px}.time-input-wrap{position:relative}.time-input-wrap .time-input{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:.85rem;font-weight:500;padding:8px 12px;transition:border-color .15s;width:100%}.time-input-wrap .time-input:hover{border-color:var(--border-input)}.time-input-wrap .time-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.time-input-wrap .time-input::placeholder{color:var(--border-input)}.time-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;max-height:160px;overflow-y:auto;padding:4px;z-index:2000}.time-dropdown::-webkit-scrollbar{width:6px}.time-dropdown::-webkit-scrollbar-track{background:#0000}.time-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.time-option{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.82rem;font-weight:500;padding:7px 10px;text-align:left;transition:all .1s;width:100%}.time-option:hover{background:var(--tint-primary);color:var(--text-primary)}.time-option.active{background:var(--color-primary);color:#fff}.custom-select-dropdown::-webkit-scrollbar,.time-dropdown::-webkit-scrollbar{width:6px}.custom-select-dropdown::-webkit-scrollbar-track,.time-dropdown::-webkit-scrollbar-track{background:#0000}.custom-select-dropdown::-webkit-scrollbar-thumb,.time-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (max-width:768px){.appointment-form .form-row-half{gap:8px;grid-template-columns:1fr}.appointment-form-tabs{margin-bottom:12px}.appointment-form-tab{font-size:.75rem;min-height:36px;padding:8px 10px}.appointment-form-body{min-height:160px}.appointment-form .form-row input,.time-input-wrap .time-input{font-size:16px;padding:10px 12px}.time-dropdown{max-height:200px}.time-option{font-size:.85rem;padding:10px 12px}}@media (max-width:480px){.appointment-form-tab{font-size:.72rem;padding:7px 8px}}.modal-header-actions{align-items:center;display:flex;gap:10px}.emp-sync-btn{align-items:center;display:flex;font-size:.75rem;gap:5px;padding:4px 10px;white-space:nowrap}.emp-list{display:flex;flex-direction:column;gap:4px;margin-bottom:32px}.emp-empty{color:var(--text-faint);font-size:.9rem;padding:20px;text-align:center}.emp-user-item{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:8px 12px}.emp-user-add-item{border-style:dashed}.emp-user-row,.emp-user-row-secondary{align-items:center;display:flex;gap:8px}.emp-user-row-secondary{margin-top:4px;padding-right:34px}.emp-name-input{background:none;border:1px solid #0000;border-radius:4px;color:var(--text-primary);font-size:.9rem;font-weight:600;padding:2px 6px;transition:all .15s;width:180px}.emp-name-input:hover{border-color:var(--border-input)}.emp-name-input:focus{background:var(--bg-card);border-color:var(--color-primary);outline:none}.emp-email-input{background:none;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);flex:1 1;font-size:.82rem;min-width:0;padding:2px 6px;transition:all .15s}.emp-email-input:hover{border-color:var(--border-input)}.emp-email-input:focus{background:var(--bg-card);border-color:var(--color-primary);color:var(--text-primary);outline:none}.emp-outlook-toggle{cursor:pointer;display:inline-block;flex-shrink:0;height:18px;position:relative;width:32px}.emp-outlook-toggle input{height:0;opacity:0;width:0}.emp-toggle-slider{background:var(--border);border-radius:9px;inset:0;position:absolute;transition:background .2s}.emp-toggle-slider:before{background:#fff;border-radius:50%;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .2s;width:14px}.emp-outlook-toggle input:checked+.emp-toggle-slider{background:#286e8a}.emp-outlook-toggle input:checked+.emp-toggle-slider:before{transform:translateX(14px)}.emp-outlook-toggle input:disabled+.emp-toggle-slider{cursor:not-allowed;opacity:.3}.emp-outlook-count{color:#286e8a;flex-shrink:0;font-size:.7rem;font-weight:600;min-width:16px}.emp-user-actions{align-items:center;display:flex;gap:6px;margin-left:auto}.emp-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;padding:3px;transition:all .15s}.emp-action-btn:hover{background:var(--border);color:var(--text-secondary)}.emp-delete{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;flex-shrink:0;font-size:.9rem;padding:2px 0;text-align:center;transition:all .15s;width:28px}.emp-delete:hover{background:var(--tint-danger);color:var(--color-danger-light)}.emp-abbr-input{background:none;border:1px solid #0000;border-radius:4px;color:var(--text-primary);flex:0 0 50px!important;font-size:.78rem!important;font-weight:700;min-width:50px!important;padding:2px 6px!important;text-align:center;text-transform:uppercase;transition:all .15s;width:50px!important}.emp-abbr-input:hover{border-color:var(--border-input)}.emp-abbr-input:focus{background:var(--bg-card);border-color:var(--color-primary);outline:none}.emp-color-btn{border:1px solid var(--border-input);border-radius:4px;cursor:pointer;flex-shrink:0;height:10px;padding:0;transition:border-color .15s;width:50px}.emp-color-btn:hover{border-color:var(--text-muted)}.emp-color-dialog{align-items:center;display:flex;flex-direction:column;padding:16px;width:auto}.emp-color-dialog .react-colorful{height:180px;width:220px}.emp-color-dialog .react-colorful__saturation{border-radius:6px 6px 0 0}.emp-color-dialog .react-colorful__hue{border-radius:0 0 6px 6px;height:14px}.emp-color-dialog .react-colorful__hue-pointer,.emp-color-dialog .react-colorful__saturation-pointer{height:18px;width:18px}.emp-color-hex-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-family:monospace;font-size:.82rem;letter-spacing:.05em;margin-top:10px;padding:6px 8px;text-align:center;width:220px}.emp-color-hex-input:focus{border-color:var(--color-primary);outline:none}.emp-password-input{background:none;border:1px solid #0000;border-radius:4px;color:var(--text-secondary);flex:1 1;font-size:.82rem;min-width:0;padding:2px 6px;transition:all .15s}.emp-password-input:hover{border-color:var(--border-input)}.emp-password-input:focus{background:var(--bg-card);border-color:var(--color-primary);outline:none}.emp-user-add-form{margin-bottom:0}.emp-add-row{display:flex;justify-content:flex-end;margin-top:8px}.emp-add-btn{background:var(--color-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:600;padding:2px 0;text-align:center;transition:background .15s;width:28px}.emp-add-btn:hover{background:var(--color-primary-hover)}.emp-pw-popup-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:.9rem;margin-bottom:16px;padding:8px 12px;width:100%}.emp-pw-popup-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--tint-purple);outline:none}.btn-sm{font-size:.8rem;padding:6px 12px}@media (max-width:768px){.emp-user-row{flex-wrap:wrap;gap:6px}.emp-color-btn{height:8px;width:32px}.emp-name-input{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:120px}.emp-password-input{font-size:16px;width:100px}.emp-abbr-input{flex:0 0 40px!important;font-size:.7rem!important;min-width:40px!important;width:40px!important}.emp-user-row-secondary{flex-wrap:wrap;padding-left:0;padding-right:0}.emp-email-input{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-user-actions{gap:4px}.emp-color-dialog .react-colorful{height:140px;width:180px}.emp-color-hex-input{width:180px}.emp-add-btn,.emp-delete{align-items:center;display:flex;justify-content:center;min-height:36px;min-width:36px}.emp-pw-popup-input{font-size:16px;padding:10px 12px}}@media (max-width:480px){.emp-color-btn{height:6px;width:24px}.emp-name-input{max-width:120px}.emp-name-input,.emp-password-input{flex:1 1;font-size:.8rem;min-width:0}.emp-password-input{max-width:100px}.emp-user-row{gap:4px}.emp-user-row-secondary{padding-left:0}.emp-email-input{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.emp-user-item{padding:8px}}.kw-picker{position:relative}.kw-picker-trigger{background:#1e2028;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:400;padding:8px 10px;text-align:left;transition:border-color .15s;width:100%}.kw-picker-trigger:hover{border-color:var(--text-muted)}.kw-picker-trigger:focus{border-color:var(--color-accent);outline:none}.kw-picker-dropdown{background:#1e2028;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;min-width:220px;padding:10px;z-index:10000}.kw-picker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.kw-picker-year{color:var(--text-primary);font-size:.85rem;font-weight:700}.kw-picker-nav{align-items:center;background:#0000;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;padding:4px 6px;transition:all .15s}.kw-picker-nav:hover{background:#ffffff0d;color:var(--text-primary)}.kw-picker-grid{flex-direction:column}.kw-picker-grid,.kw-picker-row{display:flex;gap:2px}.kw-picker-cell{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.72rem;font-weight:600;height:28px;justify-content:center;transition:all .12s;width:34px}.kw-picker-cell:hover{background:#5ba3d926;color:var(--text-primary)}.kw-picker-cell-current{color:var(--color-accent);font-weight:700}.kw-picker-cell-selected{background:var(--color-accent);color:#fff}.kw-picker-cell-selected:hover{background:var(--color-accent);filter:brightness(1.15)}.roadmap{background:var(--bg-body);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:auto;overflow-y:auto;position:relative;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.roadmap::-webkit-scrollbar{height:6px;width:6px}.roadmap::-webkit-scrollbar-track{background:#0000}.roadmap::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.roadmap::-webkit-scrollbar-thumb:hover{background:#3f4150}.roadmap-header-sticky{position:sticky;top:0;z-index:20}.roadmap-groups-container{display:flex;flex:1 1;flex-direction:column}.roadmap-month-row{background:#1f2023;display:flex}.roadmap-month-cell{border-right:1px solid var(--border);color:var(--text-primary);font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:10px 0;text-align:center;text-transform:uppercase}.roadmap-kw-row{background:#18191b;display:flex}.roadmap-kw-cell{border-right:1px solid #1e2028;color:var(--text-muted);font-size:.7rem;font-weight:600;padding:6px 0;text-align:center}.roadmap-kw-current{background:#5ba3d914;color:var(--color-accent)}.roadmap-label-cell{background:inherit;left:0;min-width:140px;position:sticky;width:140px;z-index:15}.roadmap-header-label{background:inherit}.roadmap-group{border-bottom:1px solid #1e2028;display:flex;flex-direction:column;min-height:0}.roadmap-group-inner{display:flex;flex:1 1;position:relative}.roadmap-group-label{align-items:center;background:#171717;border-left:none;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:700;justify-content:center;line-height:1.3;padding:12px 10px;text-align:center;text-transform:uppercase}.roadmap-lanes{min-height:80px;position:relative}.roadmap-grid-line{border-right:1px solid #1a1d26;bottom:0;cursor:pointer;position:absolute;top:0}.roadmap-grid-line:hover{background:#5ba3d90a}.roadmap-grid-line.drag-over{background:#5ba3d926}.roadmap-grid-current{background:#5ba3d90f}.roadmap-bar{align-items:stretch;border:2px solid;border-radius:6px;cursor:grab;display:flex;font-size:.7rem;font-weight:600;height:40px;overflow:hidden;padding:0;position:absolute;transition:filter .15s;-webkit-user-select:none;user-select:none;z-index:2}.roadmap-bar:active{cursor:grabbing}.roadmap-bar:hover{filter:brightness(1.3)}.roadmap-bar-content{display:flex;flex:1 1;flex-direction:column;gap:1px;justify-content:center;min-width:0;padding:2px 8px}.roadmap-bar-text{flex-shrink:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-bar-text-wrap{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;white-space:normal;word-break:break-word}.roadmap-bar-meta{align-items:center;display:flex;gap:4px;justify-content:space-between;min-height:14px}.roadmap-bar-date{font-size:.58rem;font-weight:600;opacity:.75;white-space:nowrap}.roadmap-bar-persons{align-items:center;display:flex;gap:3px;margin-left:auto}.roadmap-bar-person{border-radius:3px;color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.03em;line-height:1.2;padding:1px 4px}.roadmap-bar-events{height:auto;min-height:60px}.roadmap-bar-employee{border-width:1px;font-size:.6rem;height:22px}.roadmap-bar-done{opacity:.45}.roadmap-bar-check{font-weight:700;margin-right:2px}.roadmap-form-checkbox-label{align-items:center;cursor:pointer;flex-direction:row!important;gap:8px!important}.roadmap-form-checkbox-label input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;height:16px;width:16px}.roadmap-bar-handle{border-radius:2px;bottom:0;cursor:col-resize;position:absolute;top:0;transition:background .15s;width:6px;z-index:3}.roadmap-bar-handle:active,.roadmap-bar-handle:hover{background:#ffffff40}.roadmap-bar-handle-left{left:0}.roadmap-bar-handle-right{right:0}.roadmap-form{display:flex;flex-direction:column;gap:12px;max-width:420px;width:100%}.roadmap-form .modal-header{margin-bottom:12px}.roadmap-form-group-badge{font-size:.9rem;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.roadmap-form-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;font-weight:600;gap:4px}.roadmap-form-input{background:#1e2028;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;padding:8px 10px}.roadmap-form-input:focus{border-color:var(--color-accent);outline:none}.roadmap-form-title-with-presets{display:flex;flex-direction:column;gap:6px}.roadmap-form-presets{display:flex;flex-wrap:wrap;gap:6px}.roadmap-form-preset{background:#0000;border:1px solid var(--border);border-radius:14px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;font-weight:600;padding:3px 10px;transition:all .15s}.roadmap-form-preset:hover{border-color:var(--text-muted);color:var(--text-primary)}.roadmap-form-preset-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.roadmap-form-row{display:flex;gap:12px}.roadmap-form-row .roadmap-form-label{flex:1 1}.roadmap-color-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.roadmap-color-btn{border:2px solid #0000;border-radius:50%;cursor:pointer;height:24px;transition:all .15s;width:24px}.roadmap-color-btn:hover{transform:scale(1.2)}.roadmap-color-active{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.roadmap-wrap{display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 120px);min-height:0}.roadmap-body{display:flex;flex:1 1;min-height:0;position:relative}.roadmap-nav{align-items:center;display:flex;gap:12px;margin-bottom:12px}.roadmap-nav-inner{align-items:center;background:var(--bg-card);border-radius:6px;display:flex;gap:8px;padding:8px 12px}.roadmap-person-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.roadmap-person-chip{background:#0000;border:1px solid #3f4150;border-radius:14px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:all .15s}.roadmap-person-chip:hover{border-color:var(--text-muted);color:var(--text-primary)}.roadmap-person-chip-active{border-color:#0000;color:#fff}.roadmap-form-actions{align-items:center;display:flex;gap:8px;margin-top:8px}.roadmap-backlog{background:#13151b;border-left:1px solid #1e2028;bottom:0;display:flex;flex-direction:column;overflow:visible;position:fixed;right:0;top:120px;transition:width .25s ease;width:0;z-index:30}.roadmap-backlog-open{width:280px}.roadmap-backlog-toggle{background:#1e2028;border:1px solid var(--border);border-radius:6px 0 0 6px;border-right:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;left:-32px;letter-spacing:.05em;padding:12px 6px;position:absolute;top:50%;transform:translateY(-50%);transition:right .25s ease;white-space:nowrap;writing-mode:vertical-rl;z-index:31}.roadmap-backlog-toggle:hover{background:var(--border);color:var(--text-primary)}.roadmap-backlog-content{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-x:hidden;overflow-y:auto;padding:12px;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.roadmap-backlog-add{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.roadmap-backlog-item{border:2px solid;border-radius:6px;cursor:pointer;font-size:.7rem;font-weight:600;padding:6px 10px;transition:filter .15s;-webkit-user-select:none;user-select:none}.roadmap-backlog-item:hover{filter:brightness(1.3)}.roadmap-backlog-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-backlog-empty{border-radius:6px;cursor:pointer;flex:1 1;min-height:60px;transition:background .15s}.roadmap-backlog-empty:hover{background:#5ba3d90f}.roadmap-wrap .filter-wrap{align-items:center;display:flex;gap:4px;position:relative}.roadmap-wrap .btn-filter-toggle{align-items:center;background:var(--bg-card);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;padding:8px 12px;position:relative;transition:all .15s}.roadmap-wrap .btn-filter-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.roadmap-wrap .btn-filter-toggle.has-filters{color:var(--color-accent)}.roadmap-wrap .filter-dot{background:var(--color-danger);border-radius:50%;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.roadmap-wrap .filter-overlay{margin-top:8px;position:absolute;right:0;top:100%;z-index:100}@media (max-width:768px){.roadmap-wrap{height:calc(100vh - 90px);height:calc(100dvh - 90px)}.roadmap-nav{flex-wrap:wrap;gap:6px;margin-bottom:8px;margin-top:10px}.roadmap-nav-inner{flex:1 1;justify-content:center;padding:8px 12px}.roadmap-nav .cal-nav-btn{min-height:36px;min-width:36px}.roadmap-nav .cal-nav-heute{font-size:.8rem;padding:4px 8px}.roadmap-nav>div[style]{display:none}.roadmap-nav>.filter-wrap{bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));position:fixed;right:16px;right:calc(16px + env(safe-area-inset-right));z-index:90}.roadmap-nav>.filter-wrap>.btn-filter-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000080;min-height:36px;min-width:36px;padding:8px 12px}.roadmap{-webkit-overflow-scrolling:touch}.roadmap-label-cell{min-width:70px;width:70px}.roadmap-group-label{font-size:.7rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;overflow-wrap:break-word;padding:6px 4px;word-break:break-word}.roadmap-group{border-bottom:1px solid #1e2028}.roadmap-lanes{min-height:44px}.roadmap-month-cell{font-size:.75rem;padding:8px 0}.roadmap-kw-cell{font-size:.65rem;padding:5px 0}.roadmap-bar{font-size:.65rem;height:32px}.roadmap-bar-content{gap:1px;padding:2px 5px}.roadmap-bar-text{font-size:.65rem}.roadmap-bar-meta{gap:3px;min-height:12px}.roadmap-bar-date{font-size:.55rem}.roadmap-bar-person{font-size:.55rem;padding:1px 3px}.roadmap-bar-events{height:auto;min-height:48px}.roadmap-bar-employee{font-size:.58rem;height:20px}.roadmap-backlog{top:80px}.roadmap-backlog-open{width:220px}.roadmap-form{max-width:100%}.roadmap-form-row{flex-direction:column;gap:8px}.roadmap-person-chip{font-size:.72rem;padding:5px 10px}.roadmap-wrap .filter-overlay{bottom:0;left:0;margin-top:0;position:fixed;right:0;top:auto;z-index:1000}}@media (max-width:480px){.roadmap-wrap{height:calc(100vh - 76px);height:calc(100dvh - 76px)}.roadmap-nav{gap:4px;margin-bottom:6px}.roadmap-nav-inner{padding:4px 6px}.roadmap-label-cell{min-width:70px;width:70px}.roadmap-group-label{font-size:.65rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;overflow-wrap:break-word;padding:4px 3px;word-break:break-word}.roadmap-lanes{min-height:40px}.roadmap-bar-date{display:none}.roadmap-bar-events{min-height:44px}.roadmap-bar-employee{font-size:.55rem;height:18px}.roadmap-month-cell{font-size:.7rem;padding:4px 0}.roadmap-kw-cell{font-size:.5rem;padding:3px 0}.roadmap-backlog{top:70px}.roadmap-backlog-open{width:160px}.roadmap-backlog-toggle{font-size:.6rem;left:-24px;padding:8px 4px}.roadmap-backlog-item{font-size:.65rem;padding:5px 8px}}.login-page{align-items:center;background:var(--bg-body);display:flex;justify-content:center;min-height:100vh}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 30px #0006;display:flex;flex-direction:column;gap:18px;max-width:95vw;padding:40px 36px;width:380px}.login-logo{margin-bottom:8px;text-align:center}.login-logo-img{height:64px;margin-bottom:12px;width:64px}.login-logo h1{color:var(--text-primary);font-size:1.6rem;font-weight:700}.login-error{background:var(--tint-danger);border:1px solid #ef44444d;border-radius:6px;color:var(--color-danger-light);font-size:.85rem;font-weight:500;padding:10px 14px}.login-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.82rem;font-weight:600;gap:5px}.login-input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);font-size:.9rem;outline:none;padding:10px 12px;transition:border-color .15s}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--tint-purple)}.login-btn{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:6px;padding:12px;transition:background .15s}.login-btn:hover{background:var(--color-primary-hover)}.login-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.login-page{align-items:flex-start;min-height:100dvh;padding:15vh 16px 16px}.login-card{border-radius:10px;gap:14px;max-width:100%;padding:28px 20px;width:100%}.login-logo h1{font-size:1.4rem}.login-input{font-size:16px;padding:12px}.login-btn{font-size:1rem;min-height:48px;padding:14px}}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;src:url(/static/media/Montserrat-Regular.24785cc015b27a3e964b.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;src:url(/static/media/Montserrat-Medium.b8c6753baa964ccac1ba.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;src:url(/static/media/Montserrat-SemiBold.93b37a465fc4ec0d0415.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;src:url(/static/media/Montserrat-Bold.50f0257aa1e905f4bfaf.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;src:url(/static/media/Montserrat-ExtraBold.6c8b198832c88c649faa.ttf) format("truetype")}:root{--bg-body:#121212;--bg-card:#1c1c1c;--bg-input:#252528;--bg-hover:#27272a;--border:#2d2e3a;--border-input:#3f3f46;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-faint:#52525b;--color-primary:#28588a;--color-primary-hover:#1e4a6e;--color-accent:#5ba3d9;--color-danger:#ef4444;--color-danger-light:#f87171;--color-success:#22c55e;--color-warning:#f59e0b;--focus-ring:#28588a26;--tint-purple:#5d6ed026;--tint-primary:#28588a33;--tint-danger:#ef44441a}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}[contenteditable=true],input,textarea{-webkit-user-select:text;user-select:text}body{background:#121212;background:var(--bg-body);color:#e4e4e7;color:var(--text-primary);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1920px;overflow:hidden;padding:20px}.app-header{align-items:center;background:#1c1c1c;background:var(--bg-card);border:none;border-radius:6px;color:#fff;display:flex;justify-content:space-between;margin-bottom:14px;padding:16px 24px}.app-header h1{font-size:1.5rem;font-weight:700}.header-brand{align-items:baseline;display:flex;gap:10px;letter-spacing:.08em}.header-logo{align-self:center;height:28px;width:auto}.header-username{color:#a1a1aa;color:var(--text-secondary);font-size:.95rem;font-weight:400}.header-nav{background:#ffffff14;border-radius:6px;display:flex;gap:4px;padding:3px}.nav-link{border-radius:4px;color:#ffffff80;font-size:.85rem;font-weight:600;padding:6px 16px;text-decoration:none;transition:all .15s}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-active{background:#28588a;background:var(--color-primary);color:#fff}.header-right{gap:10px}.header-right,.header-user{align-items:center;display:flex}.header-user{color:#fff9;font-size:.82rem;font-weight:500;gap:6px}.header-role-badge{background:#28588a;background:var(--color-primary);border-radius:4px;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:2px 6px;text-transform:uppercase}.header-settings-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#ffffff80;cursor:pointer;display:flex;padding:6px 8px;transition:all .15s}.header-settings-btn:hover{background:#0000;color:#ffffffbf}.header-ms-btn:hover{border-color:#0078d466;color:#0078d4}.header-logout-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#ffffff80;cursor:pointer;display:flex;padding:6px 8px;transition:all .15s}.header-logout-btn:hover{background:#ef44440f;color:#ef4444;color:var(--color-danger)}.btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px;transition:opacity .2s}.btn:hover{opacity:.85}.btn-primary{background:#28588a;background:var(--color-primary);color:#fff}.btn-danger{background:#ef4444;background:var(--color-danger);color:#fff}.btn-secondary{background:#3f3f46;background:var(--border-input);color:#e4e4e7;color:var(--text-primary)}.modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:#1c1c1c;background:var(--bg-card);border:1px solid #2d2e3a;border:1px solid var(--border);border-radius:6px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:95vw;overflow-y:auto;padding:24px;width:480px}.modal-content.modal-no-clip{overflow:visible}.modal-content.modal-wide{width:620px}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-title{color:#e4e4e7;color:var(--text-primary);font-size:1.2rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.modal-close-btn{background:none;border:none;border-radius:4px;color:#71717a;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px;transition:all .15s}.modal-close-btn:hover{background:#2d2e3a;background:var(--border);color:#e4e4e7;color:var(--text-primary)}.app-loading{align-items:center;background:#121212;background:var(--bg-body);display:flex;justify-content:center;min-height:100vh}.app-spinner{animation:spin .6s linear infinite;border:3px solid #2d2e3a;border-top-color:#28588a;border:3px solid var(--border);border-radius:50%;border-top-color:var(--color-primary);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.app-loading-bar{color:#71717a;color:var(--text-muted);font-size:.82rem;padding:8px;text-align:center}.app-error-bar{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;display:flex;font-size:.85rem;font-weight:500;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.app-error-bar,.app-error-bar button{color:#f87171;color:var(--color-danger-light)}.app-error-bar button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0 4px}.mobile-backdrop{display:none}@media (hover:none) and (pointer:coarse){.task-check{opacity:1}.task-dots-wrap{min-width:20px;width:20px}.task-dots-btn{visibility:visible}.list-category-add,.row-actions{opacity:1}.appointment-card-dots-btn{visibility:visible}}@media (max-width:768px){.app{overflow-x:hidden;overflow-y:auto;padding:8px calc(8px + env(safe-area-inset-right)) 8px calc(8px + env(safe-area-inset-left))}.mobile-backdrop{background:#00000080;display:block;inset:0;position:fixed;z-index:999}.app-header{border-radius:6px 6px 0 0;flex-wrap:wrap;gap:8px;margin-bottom:0;padding:10px 14px}.app-header h1{font-size:1.5rem}.header-brand{gap:10px}.header-logo{height:30px}.header-username{display:none}.header-right{gap:14px;order:2}.header-nav{border-radius:0 0 6px 6px;justify-content:center;margin-bottom:4px;margin-top:6px;order:3;padding:4px;width:100%}.nav-link{flex:1 1;font-size:.82rem;padding:12px 10px;text-align:center}.modal-overlay{align-items:flex-end}.modal-content{border-radius:12px 12px 0 0;margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.modal-content,.modal-content.modal-wide{max-width:100vw;width:100%}.modal-title{font-size:1rem}.btn{min-height:40px;padding:10px 16px}.header-logout-btn,.header-settings-btn{align-items:center;display:flex;justify-content:center;min-height:40px;min-width:40px}}@media (max-width:480px){.app{padding:4px calc(4px + env(safe-area-inset-right)) 4px calc(4px + env(safe-area-inset-left))}.app-header{gap:6px;padding:8px 10px}.app-header h1{font-size:1.15rem}.header-brand{gap:6px}.header-logo{height:22px}.header-right{gap:4px}.header-nav{padding:3px}.nav-link{font-size:.78rem;padding:11px 8px}.header-logout-btn,.header-settings-btn{padding:5px 6px}.modal-content{border-radius:12px 12px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.header-role-badge{display:none}}
/*# sourceMappingURL=main.147ee202.css.map*/