.calendar-root[data-v-a4528856]{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.calendar-header[data-v-a4528856]{font-size:1.1em;font-weight:700}.calendar-title[data-v-a4528856]{letter-spacing:.1em}.calendar-nav[data-v-a4528856]{background:#e5e7eb;border:none;border-radius:4px;cursor:pointer;font-size:1.2em;padding:.2em .7em}.calendar-grid[data-v-a4528856]{display:grid;gap:2px;grid-template-columns:repeat(7,1fr);min-height:-moz-fit-content;min-height:fit-content}.calendar-day[data-v-a4528856],.calendar-grid[data-v-a4528856]{box-sizing:border-box;max-width:100%;min-width:0;overflow:visible;position:relative;width:100%}.calendar-day[data-v-a4528856]{background:#fff;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:.95em;height:80px;max-height:none;min-height:80px;padding:6px 8px}.calendar-day.today[data-v-a4528856]{background:linear-gradient(135deg,#fef3c7,#fde68a)}.calendar-day.saturday[data-v-a4528856]{background:#eff6ff}.calendar-day.sunday[data-v-a4528856]{background:#fef2f2}@media (max-width:900px){.calendar-day[data-v-a4528856]{height:60px;min-height:60px}}@media (max-width:600px){.calendar-day[data-v-a4528856]{height:50px;min-height:50px;padding:1px 2px}.calendar-date[data-v-a4528856]{font-size:.8em}.calendar-event[data-v-a4528856]{font-size:.7em}.holiday-label[data-v-a4528856]{font-size:.45rem}}.calendar-day-label[data-v-a4528856]{align-items:center;background:#f3f4f6;box-sizing:border-box;display:flex;font-weight:700;height:50px;justify-content:center;max-width:100%;min-height:50px;min-width:0;overflow:hidden;text-align:center;width:100%}.calendar-day-label.header-saturday[data-v-a4528856]{background:#eff6ff}.calendar-day-label.header-sunday[data-v-a4528856]{background:#fef2f2}.calendar-date[data-v-a4528856]{color:#2563eb;font-size:.9em;font-weight:700}.calendar-date.holiday[data-v-a4528856]{color:#dc2626;line-height:1}.holiday-label[data-v-a4528856]{color:#dc2626;font-size:.5rem;font-weight:700}.calendar-events[data-v-a4528856]{list-style:none;margin:0;max-width:100%;padding:0;width:100%}.calendar-event[data-v-a4528856]{align-items:center;color:#333;display:flex;font-size:.8em;gap:.3em;max-width:100%;overflow:hidden;width:100%}.event-start[data-v-a4528856]{color:#2563eb;font-weight:600}.event-end[data-v-a4528856]{color:#059669;font-weight:600}.event-holiday[data-v-a4528856]{color:#dc2626;font-weight:600}.event-project-milestone[data-v-a4528856]{color:#7c3aed;font-weight:600}.event-project-task-start[data-v-a4528856]{color:#2563eb;font-weight:500}.event-project-task-end[data-v-a4528856]{color:#059669;font-weight:500}.event-deliverable-milestone[data-v-a4528856]{color:#ea580c;font-weight:600}.event-deliverable-task-start[data-v-a4528856]{color:#0891b2;font-weight:500}.event-deliverable-task-end[data-v-a4528856]{color:#65a30d;font-weight:500}.ellipsis[data-v-a4528856]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}@media (max-width:900px){.ellipsis[data-v-a4528856]{max-width:80%}}.empty[data-v-a4528856]{background:transparent}.span-events-container[data-v-a4528856]{height:16px;margin-bottom:2px;position:relative}.span-event-bar[data-v-a4528856]{align-items:center;border-radius:2px;color:#fff;display:flex;font-size:.7em;font-weight:500;height:14px;overflow:hidden;padding:1px 4px;position:absolute;text-overflow:ellipsis;white-space:nowrap;z-index:10}.span-event-task[data-v-a4528856]{background-color:#3b82f6;border:1px solid #2563eb}.span-event-milestone[data-v-a4528856]{background-color:#ef4444;border:1px solid #dc2626}.span-bars-overlay[data-v-a4528856]{inset:0;pointer-events:none;position:absolute;z-index:5}.span-bar[data-v-a4528856]{align-items:center;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.7em;font-weight:500;gap:4px;overflow:hidden;padding:2px 6px;pointer-events:auto;position:absolute;text-overflow:ellipsis;white-space:nowrap}.span-bar.completed[data-v-a4528856]{background-color:#6b7280!important;border-color:#4b5563!important;opacity:.7;text-decoration:line-through}.task-status-icon[data-v-a4528856]{align-items:center;background:#fff;border-radius:50%;color:#10b981;display:flex;flex-shrink:0;font-size:.8em;font-size:8px;font-weight:700;height:12px;justify-content:center;width:12px}.task-name[data-v-a4528856]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.span-bar-deliverable-milestone[data-v-a4528856],.span-bar-milestone[data-v-a4528856],.span-bar-project-milestone[data-v-a4528856]{background-color:#ef4444!important;border:1px solid #dc2626!important}.span-bar-schedule[data-v-a4528856]{background-color:#8b5cf6!important;border:1px solid #7c3aed!important}.span-bar-project-task[data-v-a4528856]{background-color:#10b981!important;border:1px solid #059669!important}.span-bar-deliverable-task[data-v-a4528856],.span-bar-task[data-v-a4528856]{background-color:#3b82f6!important;border:1px solid #2563eb!important}.bar-detail-popup[data-v-a4528856]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;font-size:.9em;max-width:400px;min-width:280px;overflow:hidden;z-index:9999}@media (max-width:768px){.bar-detail-popup[data-v-a4528856]{font-size:.85em;max-width:calc(100vw - 20px);min-width:260px}}@media (max-width:480px){.bar-detail-popup[data-v-a4528856]{font-size:.8em;max-width:calc(100vw - 20px);min-width:240px}}.popup-header[data-v-a4528856]{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;display:flex;justify-content:between;padding:12px 16px}.popup-title[data-v-a4528856]{color:#1f2937;flex:1;font-size:1.1em;font-weight:600;margin:0 8px 0 0}.popup-close[data-v-a4528856]{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5em;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.popup-close[data-v-a4528856]:hover{background-color:#e5e7eb;color:#374151}.popup-content[data-v-a4528856]{max-height:400px;overflow-y:auto;padding:16px}.popup-content[data-v-a4528856]::-webkit-scrollbar{width:6px}.popup-content[data-v-a4528856]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.popup-content[data-v-a4528856]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.popup-content[data-v-a4528856]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.detail-row[data-v-a4528856]{align-items:flex-start;display:flex;margin-bottom:12px}.detail-row[data-v-a4528856]:last-child{margin-bottom:0}.detail-label[data-v-a4528856]{color:#4b5563;font-size:.9em;font-weight:600;margin-right:12px;min-width:80px}.detail-value[data-v-a4528856]{color:#1f2937;flex:1;word-break:break-word}.detail-actions[data-v-a4528856]{border-top:1px solid #e5e7eb;display:flex;justify-content:center;margin-top:16px;padding-top:12px}.project-nav-button[data-v-a4528856]{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:.9em;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s ease}.project-nav-button[data-v-a4528856]:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.project-nav-button[data-v-a4528856]:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}.project-nav-button.disabled[data-v-a4528856]{background:#9ca3af;cursor:not-allowed;opacity:.6}.project-nav-button.disabled[data-v-a4528856]:hover{background:#9ca3af;box-shadow:0 2px 4px #9ca3af33;transform:none}.detail-value.status-completed[data-v-a4528856]{color:#10b981;font-weight:600}.status-icon[data-v-a4528856]{color:#10b981;font-weight:700;margin-right:4px}.popup-fade-enter-active[data-v-a4528856],.popup-fade-leave-active[data-v-a4528856]{transition:all .2s ease-out}.popup-fade-enter-from[data-v-a4528856]{opacity:0;transform:scale(.95) translateY(-10px)}.popup-fade-leave-to[data-v-a4528856]{opacity:0;transform:scale(.95) translateY(10px)}@media (max-width:480px){.popup-fade-enter-from[data-v-a4528856]{transform:scale(.9) translateY(-20px)}}
