:root{--bg-main:#fbf9f5;--bg-subtle:#f4f0ea;--bg-card:#fff;--border-color:#e6dfd5;--border-color-hover:#d4c9b8;--text-main:#1f1e1d;--text-muted:#524f4a;--text-light:#7c766e;--accent-orange:#da7756;--accent-orange-hover:#c86343;--accent-orange-light:#fdf3ef;--accent-orange-border:#f7d7ca;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000000d, 0 1px 3px #00000014;--shadow-lg:0 12px 32px #00000014, 0 2px 6px #0000000a;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:"Lora", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e2dacd;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#cfc4b3}.app-container{flex-direction:column;min-height:100vh;display:flex}.btn{font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--accent-orange);border:1px solid #c86343;box-shadow:0 4px 14px #da775659;color:#fff!important}.btn-primary:hover{background:var(--accent-orange-hover);transform:translateY(-1px);box-shadow:0 6px 18px #da775673}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #da77564d}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--border-color-hover);transform:translateY(-1px)}.btn-danger{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2}.btn-danger:hover{background:#fee2e2;transform:translateY(-1px)}.btn-today{background:var(--accent-orange-light);border:1px solid var(--accent-orange-border);color:var(--accent-orange);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:.45rem 1rem;font-size:.825rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-today:hover{background:var(--accent-orange);color:#fff;border-color:var(--accent-orange-hover);transform:translateY(-1px);box-shadow:0 4px 12px #da77564d}.nav-arrow-btn{background:var(--bg-card);border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.nav-arrow-btn:hover{background:var(--accent-orange-light);border-color:var(--accent-orange-border);color:var(--accent-orange);transform:translateY(-1px)}.app-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:40;justify-content:space-between;align-items:center;padding:.85rem 2rem;display:flex;position:relative}.brand-title{font-family:var(--font-serif);color:var(--text-main);letter-spacing:-.02em;font-size:1.4rem;font-weight:600}.view-switcher{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:12px;padding:.25rem;display:flex}.view-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.825rem;font-weight:600;transition:all .2s;display:flex}.view-btn.active{background:var(--bg-card);color:var(--accent-orange);box-shadow:var(--shadow-sm)}.header-actions{align-items:center;gap:1rem;display:flex}.notif-bell-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex;position:relative}.notif-bell-btn:hover{background:var(--bg-subtle);color:var(--accent-orange)}.notif-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:0;right:0}.notif-dropdown{background:var(--bg-card);border:1px solid var(--border-color);width:340px;box-shadow:var(--shadow-lg);z-index:100;border-radius:16px;flex-direction:column;max-height:420px;padding:1rem;display:flex;position:absolute;top:60px;right:1.5rem}.profile-dropdown{background:var(--bg-card);border:1px solid var(--border-color);width:320px;box-shadow:var(--shadow-lg);z-index:100;border-radius:16px;flex-direction:column;padding:1.5rem;display:flex;position:absolute;top:60px;right:1.5rem}.notif-dropdown-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.notif-dropdown-title{color:var(--text-main);font-size:.95rem;font-weight:700}.mark-read-btn{color:var(--accent-orange);cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:600}.mark-read-btn:hover{text-decoration:underline}.notif-list{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.notif-item{background:var(--bg-subtle);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.65rem;font-size:.825rem;transition:all .2s}.notif-item.unread{background:var(--accent-orange-light);border-color:var(--accent-orange-border)}.notif-item:hover{transform:translateY(-1px)}.notif-time{color:var(--text-light);margin-top:.25rem;font-size:.7rem}.phase-nav{background:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 2rem;display:flex}.phase-tabs{align-items:center;gap:.25rem;display:flex}.phase-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.phase-tab:hover{color:var(--text-main);background:var(--bg-subtle)}.phase-tab.active{background:var(--accent-orange-light);color:var(--accent-orange-hover);border-color:var(--accent-orange-border)}.toggle-container{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.toggle-switch{background:#d4c9b8;border-radius:9999px;width:38px;height:22px;transition:background .2s;position:relative}.toggle-switch.active{background:var(--accent-orange)}.toggle-knob{width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-switch.active .toggle-knob{transform:translate(16px)}.user-pill{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.85rem;font-weight:500;display:flex}.login-wrapper{background-color:var(--bg-main);background-image:radial-gradient(circle at 50% 30%,#f3ede2 0%,#0000 60%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border-color);width:100%;max-width:440px;box-shadow:var(--shadow-lg);text-align:center;border-radius:20px;padding:2.5rem}.login-icon-box{background:var(--accent-orange-light);border:1px solid var(--accent-orange-border);width:60px;height:60px;color:var(--accent-orange);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.login-title{font-family:var(--font-serif);color:var(--text-main);margin-bottom:.25rem;font-size:1.85rem;font-weight:600}.login-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.role-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);text-align:left;margin-bottom:.75rem;font-size:.725rem;font-weight:700}.role-list{flex-direction:column;gap:.65rem;max-height:380px;padding-right:.25rem;display:flex;overflow-y:auto}.role-button{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:.9rem 1.1rem;transition:all .2s;display:flex}.role-button:hover{background:var(--accent-orange-light);border-color:var(--accent-orange-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.role-name{color:var(--text-main);font-size:.925rem;font-weight:600}.role-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.dot-producer{background-color:#ea580c;box-shadow:0 0 0 3px #ffedd5}.dot-production-manager{background-color:#b45309;box-shadow:0 0 0 3px #fef3c7}.dot-director{background-color:#9f1239;box-shadow:0 0 0 3px #ffe4e6}.dot-assistant-director{background-color:#701a75;box-shadow:0 0 0 3px #fdf4ff}.dot-cinematographer{background-color:#1d4ed8;box-shadow:0 0 0 3px #dbeafe}.dot-gaffer{background-color:#d97706;box-shadow:0 0 0 3px #fef3c7}.dot-art-director{background-color:#0f766e;box-shadow:0 0 0 3px #ccfbf1}.dot-sound-designer{background-color:#334155;box-shadow:0 0 0 3px #f1f5f9}.dot-editor{background-color:#15803d;box-shadow:0 0 0 3px #dcfce7}.badge-role{letter-spacing:.02em;border-radius:6px;align-items:center;padding:.2rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-producer{color:#ea580c;background:#ffedd5;border:1px solid #fed7aa}.badge-production-manager{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-director{color:#9f1239;background:#ffe4e6;border:1px solid #fecdd3}.badge-assistant-director{color:#701a75;background:#fdf4ff;border:1px solid #fbcfe8}.badge-cinematographer{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.badge-gaffer{color:#d97706;background:#fef3c7;border:1px solid #fde68a}.badge-art-director{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.badge-sound-designer{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.badge-editor{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.priority-pill{text-transform:uppercase;border-radius:4px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.priority-high{color:#dc2626;background:#fee2e2}.priority-medium{color:#ca8a04;background:#fef9c3}.priority-low{color:#64748b;background:#f1f5f9}.checklist-badge{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.725rem;font-weight:600;display:inline-flex}.checklist-badge.complete{color:#16a34a;background:#dcfce7;border-color:#bbf7d0}.board-main{flex:1;padding:1.5rem 2rem;display:flex;overflow-x:auto}.columns-container{align-items:flex-start;gap:1.5rem;height:calc(100vh - 165px);display:flex}.column-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;flex-shrink:0;width:320px;max-height:100%;padding:1rem;display:flex}.column-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;padding:0 .25rem;display:flex}.column-title{color:var(--text-main);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.column-count{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-muted);border-radius:9999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.overdue-count{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;border-radius:9999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;transition:all .2s;display:flex}.icon-btn:hover{background:var(--bg-card);color:var(--accent-orange)}.task-list{flex-direction:column;flex:1;gap:.75rem;min-height:120px;padding-right:.2rem;display:flex;overflow-y:auto}.task-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:grab;box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:.45rem;padding:.9rem;transition:all .2s;display:flex}.task-card:hover{border-color:var(--accent-orange-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-labels-container{flex-wrap:wrap;gap:.35rem;margin-bottom:.2rem;display:flex}.task-title{color:var(--text-main);font-size:.925rem;font-weight:600;line-height:1.35}.task-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.825rem;line-height:1.4;display:-webkit-box;overflow:hidden}.attachment-link{color:var(--accent-orange);align-items:center;gap:.3rem;margin-top:.2rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.attachment-link:hover{text-decoration:underline}.task-card-footer{border-top:1px solid #f4f0ea;justify-content:space-between;align-items:center;margin-top:.4rem;padding-top:.5rem;display:flex}.task-date-overdue{color:#dc2626;align-items:center;gap:.35rem;font-size:.725rem;font-weight:600;display:flex}.task-date-normal{color:var(--text-light);align-items:center;gap:.35rem;font-size:.725rem;display:flex}.assignees-avatars{align-items:center;display:flex}.avatar-circle{background:var(--accent-orange);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-4px;font-size:.65rem;font-weight:700;display:flex}.avatar-circle:first-child{margin-left:0}.calendar-wrapper{flex-direction:column;flex:1;height:calc(100vh - 125px);padding:1.5rem 2rem;display:flex;overflow-x:auto}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.calendar-month-title{font-family:var(--font-serif);color:var(--text-main);letter-spacing:-.01em;font-size:1.45rem;font-weight:600}.calendar-container-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:18px;flex-direction:column;flex:1;min-width:800px;display:flex;overflow:auto}.calendar-grid-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);z-index:10;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;position:sticky;top:0}.calendar-day-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center;background:var(--bg-subtle);padding:.75rem .5rem;font-size:.775rem;font-weight:700}.calendar-grid-body{background:var(--border-color);flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(120px,1fr);gap:1px;display:grid}.calendar-cell{background:var(--bg-card);cursor:pointer;flex-direction:column;padding:.55rem;transition:background .15s;display:flex}.calendar-cell:hover{background:var(--accent-orange-light)}.calendar-cell.other-month{opacity:.6;background:#faf8f5}.calendar-cell.today-cell{background:#fffcf7}.calendar-cell-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.day-number{color:var(--text-main);font-size:.825rem;font-weight:700;line-height:1}.day-number.today-number{background:var(--accent-orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:flex;box-shadow:0 2px 6px #da775666}.add-task-cell-btn{color:var(--text-light);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:flex}.calendar-cell:hover .add-task-cell-btn{opacity:1}.add-task-cell-btn:hover{color:var(--accent-orange);background:var(--bg-subtle)}.calendar-tasks-list{flex-direction:column;flex:1;gap:.3rem;max-height:85px;display:flex;overflow-y:auto}.calendar-task-pill{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex;box-shadow:0 1px 2px #00000005}.calendar-task-pill:hover{border-color:var(--accent-orange-border);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.calendar-task-pill.overdue-pill{color:#dc2626;background:#fef2f2;border-color:#fee2e2}.calendar-task-title{white-space:nowrap;text-overflow:ellipsis;flex:1;line-height:1.25;overflow:hidden}.dashboard-container{flex-direction:column;flex:1;gap:1.25rem;max-height:calc(100vh - 125px);padding:1.5rem 2rem;display:flex;overflow-y:auto}.dashboard-top-bar{justify-content:space-between;align-items:center;display:flex}.claude-greeting-card{border:1px solid var(--accent-orange-border);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fdf3ef 0%,#fbf9f5 100%);border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.greeting-left{align-items:center;gap:1.25rem;display:flex}.greeting-icon-box{border:1px solid var(--accent-orange-border);width:52px;height:52px;color:var(--accent-orange);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.greeting-title{font-family:var(--font-serif);color:var(--text-main);letter-spacing:-.01em;font-size:1.65rem;font-weight:600;line-height:1.25}.greeting-subtext{color:#524f4a;margin-top:.15rem;font-size:.875rem;font-weight:500}.greeting-right-info{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.45rem;display:flex}.greeting-date-pill{color:var(--text-muted);border:1px solid var(--border-color);background:#fff;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 1px 2px #00000008}.greeting-status-badge{border-radius:9999px;padding:.2rem .65rem;font-size:.75rem;font-weight:700}.greeting-status-badge.badge-safe{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.greeting-status-badge.badge-warn{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:all .2s;display:flex}.kpi-card-success{background:#f0fdf4;border-color:#bbf7d0}.kpi-card-success .kpi-icon-box{color:#16a34a;background:#dcfce7}.kpi-card-success .kpi-value{color:#16a34a}.kpi-card-overdue-active{background:#fef2f2;border-color:#fca5a5;box-shadow:0 4px 14px #dc262626}.kpi-card-overdue-active .kpi-icon-box{color:#dc2626;background:#fee2e2}.kpi-card-overdue-active .kpi-value{color:#dc2626}.kpi-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.kpi-label{color:var(--text-muted);font-size:.8rem;font-weight:700}.kpi-icon-box{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.kpi-value{color:var(--text-main);margin-bottom:.35rem;font-size:2rem;font-weight:800;line-height:1.1}.kpi-subtext{color:#44403c;font-size:.775rem;font-weight:600}.kpi-progress-bar-bg{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:9999px;width:100%;height:6px;margin-top:.35rem;overflow:hidden}.kpi-progress-bar-fill{background:var(--accent-orange);border-radius:9999px;height:100%;transition:width .4s}.dashboard-grid{grid-template-columns:1.8fr 1fr;align-items:flex-start;gap:1.25rem;display:grid}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:18px;padding:1.35rem}.dashboard-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding-bottom:.65rem;display:flex}.dashboard-card-title{font-family:var(--font-serif);color:var(--text-main);font-size:1.15rem;font-weight:600}.dept-list{flex-direction:column;gap:1rem;display:flex}.dept-item-row{flex-wrap:wrap;align-items:center;gap:1rem;padding:.25rem 0;display:flex}.dept-item-left{flex:none;align-items:center;gap:.5rem;min-width:200px;display:flex}.dept-name{color:var(--text-main);font-size:.85rem;font-weight:600}.dept-role-text{color:var(--text-light);font-size:.75rem;font-weight:500}.dept-item-middle{flex:150px}.dept-item-right{flex:none;align-items:center;gap:.6rem;display:flex}.dept-progress-text{color:var(--text-main);font-size:.825rem;font-weight:700}.dept-progress-percent{color:#44403c;font-size:.775rem;font-weight:600}.overdue-badge-small{color:#dc2626;background:#fee2e2;border-radius:9999px;padding:.05rem .4rem;font-size:.7rem;font-weight:700}.dept-progress-bg{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:9999px;width:100%;height:8px;overflow:hidden}.dept-progress-fill{border-radius:9999px;height:100%;transition:width .4s}.fill-producer{background-color:#ea580c}.fill-production-manager{background-color:#b45309}.fill-director{background-color:#9f1239}.fill-assistant-director{background-color:#701a75}.fill-cinematographer{background-color:#1d4ed8}.fill-art-director{background-color:#0f766e}.fill-sound-designer{background-color:#334155}.fill-editor{background-color:#15803d}.dashboard-side-col{flex-direction:column;gap:1.25rem;display:flex}.phase-card-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;padding:.85rem 1rem}.health-status-card{box-shadow:var(--shadow-sm);border:1px solid #0000;border-radius:18px;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.health-status-safe{background:#f0fdf4;border-color:#bbf7d0}.health-status-safe .health-status-title{color:#15803d}.health-status-danger{background:#fef2f2;border-color:#fca5a5}.health-status-danger .health-status-title{color:#b91c1c}.health-status-header{align-items:center;gap:.55rem;display:flex}.health-status-title{font-size:.95rem;font-weight:700}.health-status-text{color:var(--text-main);font-size:.85rem;line-height:1.45}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-container{padding:1rem}.claude-greeting-card{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.greeting-right-info{align-items:flex-start}.kpi-grid{grid-template-columns:1fr}.dashboard-top-bar{flex-direction:column;align-items:flex-start;gap:.75rem}}@media print{body{background:#fff!important}.app-header,.phase-nav,.no-print{display:none!important}.dashboard-container{max-height:none!important;padding:0!important;overflow:visible!important}.claude-greeting-card,.dashboard-card,.kpi-card{box-shadow:none!important;border:1px solid #ccc!important}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#1e1e1e66;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);width:100%;max-width:600px;box-shadow:var(--shadow-lg);border-radius:20px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{font-family:var(--font-serif);color:var(--text-main);font-size:1.4rem;font-weight:600}.close-btn{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.close-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.detail-tab-nav{border-bottom:1px solid var(--border-color);gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.detail-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s}.detail-tab-btn.active{background:var(--accent-orange-light);color:var(--accent-orange)}.checklist-container{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.checklist-row{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.checklist-label{cursor:pointer;flex:1;align-items:center;gap:.6rem;font-size:.875rem;display:flex}.checklist-label.completed span{color:var(--text-light);text-decoration:line-through}.comment-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1rem;padding:.75rem}.comment-input{width:100%;font-family:var(--font-sans);resize:vertical;background:0 0;border:none;outline:none;min-height:50px;font-size:.875rem}.activity-list{flex-direction:column;gap:.75rem;max-height:250px;display:flex;overflow-y:auto}.activity-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;padding:.6rem;font-size:.825rem}.activity-author{color:var(--accent-orange);margin-bottom:.15rem;font-weight:700}.activity-time{color:var(--text-light);margin-top:.2rem;font-size:.7rem}.attachment-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.form-group{margin-bottom:1.1rem}.form-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.825rem;font-weight:600;display:block}.form-input,.form-textarea,.form-select{background:var(--bg-main);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);color:var(--text-main);border-radius:10px;outline:none;padding:.65rem .85rem;font-size:.9rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent-orange);background:#fff}.form-textarea{resize:vertical;min-height:80px}.checkbox-grid{background:var(--bg-main);border:1px solid var(--border-color);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:140px;padding:.75rem;display:grid;overflow-y:auto}.checkbox-item{cursor:pointer;color:var(--text-main);align-items:center;gap:.4rem;font-size:.825rem;display:flex}@media (max-width:768px){.dept-item-row{flex-direction:column;align-items:stretch;gap:.5rem}.dept-item-left{min-width:100%}.dept-item-right{justify-content:flex-end}}[data-theme=dark]{--bg-main:#141414;--bg-subtle:#1c1c1c;--bg-card:#222;--border-color:#333;--border-color-hover:#4a4a4a;--text-main:#f0f0f0;--text-muted:#a3a3a3;--text-light:#737373;--accent-orange:#e88663;--accent-orange-hover:#fa9a78;--accent-orange-light:#3d2218;--accent-orange-border:#633625;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0009;--shadow-md:0 4px 12px #00000080, 0 1px 3px #000c;--shadow-lg:0 12px 32px #000c, 0 2px 6px #0006}[data-theme=dark] .priority-high{color:#fecaca;background:#450a0a;border:1px solid}[data-theme=dark] .priority-medium{color:#fef08a;background:#422006;border:1px solid}[data-theme=dark] .priority-low{color:#cbd5e1;background:#0f172a;border:1px solid}[data-theme=dark] .calendar-cell.other-month{background:#111}[data-theme=dark] .calendar-cell.today-cell{background:#2a2a2a}[data-theme=dark] .greeting-subtext{color:#a0a0a8}[data-theme=dark] .claude-greeting-card{background:linear-gradient(135deg,#2d1c16 0%,#1a1614 100%);border-color:#4a281b}[data-theme=dark] .kpi-card-success,[data-theme=dark] .health-status-safe{background:var(--bg-card);border-color:#065f46}[data-theme=dark] .kpi-card-success .kpi-icon-box{color:#34d399;background:#022c22}[data-theme=dark] .kpi-card-success .kpi-value,[data-theme=dark] .health-status-safe .health-status-title{color:#34d399}[data-theme=dark] .kpi-card-overdue-active,[data-theme=dark] .health-status-danger{background:var(--bg-card);border-color:#991b1b}[data-theme=dark] .kpi-card-overdue-active .kpi-icon-box{color:#f87171;background:#450a0a}[data-theme=dark] .kpi-card-overdue-active .kpi-value,[data-theme=dark] .health-status-danger .health-status-title{color:#f87171}[data-theme=dark] .dot-producer{background-color:#ea580c;box-shadow:0 0 0 3px #431407}[data-theme=dark] .dot-production-manager{background-color:#d97706;box-shadow:0 0 0 3px #451a03}[data-theme=dark] .dot-director{background-color:#be123c;box-shadow:0 0 0 3px #4c0519}[data-theme=dark] .dot-assistant-director{background-color:#a21caf;box-shadow:0 0 0 3px #4a044e}[data-theme=dark] .dot-cinematographer{background-color:#3b82f6;box-shadow:0 0 0 3px #172554}[data-theme=dark] .dot-gaffer{background-color:#d97706;box-shadow:0 0 0 3px #451a03}[data-theme=dark] .dot-art-director{background-color:#14b8a6;box-shadow:0 0 0 3px #042f2e}[data-theme=dark] .dot-sound-designer{background-color:#64748b;box-shadow:0 0 0 3px #0f172a}[data-theme=dark] .dot-editor{background-color:#22c55e;box-shadow:0 0 0 3px #052e16}[data-theme=dark] .badge-producer{color:#fdba74;background:#431407;border-color:#ea580c}[data-theme=dark] .badge-production-manager{color:#fcd34d;background:#451a03;border-color:#d97706}[data-theme=dark] .badge-director{color:#fda4af;background:#4c0519;border-color:#be123c}[data-theme=dark] .badge-assistant-director{color:#f0abfc;background:#4a044e;border-color:#a21caf}[data-theme=dark] .badge-cinematographer{color:#93c5fd;background:#172554;border-color:#3b82f6}[data-theme=dark] .badge-gaffer{color:#fbbf24;background:#451a03;border-color:#b45309}[data-theme=dark] .badge-art-director{color:#5eead4;background:#042f2e;border-color:#14b8a6}[data-theme=dark] .badge-sound-designer{color:#cbd5e1;background:#0f172a;border-color:#64748b}[data-theme=dark] .badge-editor{color:#86efac;background:#052e16;border-color:#22c55e}[data-theme=dark] .dept-item-row{border-bottom:1px solid #ffffff26}[data-theme=dark] .dashboard-card,[data-theme=dark] .kpi-card{border:1px solid #ffffff1f}[data-theme=dark] .dept-role-text,[data-theme=dark] .user-pill span:last-child{color:#a0a0a8!important}.presence-container{align-items:center;gap:.5rem;margin-right:.5rem;display:flex}.avatar-stack{align-items:center;display:flex}.presence-avatar{color:#fff;border:2px solid var(--bg-card);width:32px;height:32px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:.75rem;font-weight:700;transition:transform .2s;display:flex}.presence-avatar:first-child{margin-left:0}.presence-avatar:hover{transform:translateY(-2px);z-index:100!important}@media (max-width:1024px){.app-header{padding:.85rem 1.5rem}.board-main{padding:1rem 1.5rem}.column-card{width:280px}}@media (max-width:768px){.app-header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.brand-title{font-size:1.2rem}.view-btn span{display:none}.header-actions{gap:.5rem}.phase-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem;overflow-x:auto}.phase-nav::-webkit-scrollbar{display:none}.phase-btn{white-space:nowrap;padding:.5rem 1rem}.board-main{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:1rem}.columns-container{gap:1rem;padding-bottom:1rem}.column-card{scroll-snap-align:center;width:85vw;max-width:320px}.modal-overlay{align-items:center;padding:1rem}.modal-content,.task-detail-modal,.profile-modal,.file-upload-modal{border-radius:16px;width:100%;max-width:100%;max-height:90vh;margin:0}.task-detail-grid{grid-template-columns:1fr;gap:1.5rem}.task-detail-main{border-right:none;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem;padding-right:0}.task-detail-sidebar{padding-left:0}.form-group input,.form-group select,.form-group textarea{font-size:16px}}@media (max-width:480px){.brand-title{font-size:1.1rem}.column-card{width:90vw}}:root{--color-terracotta:#c2410c;--color-ochre:#b45309;--color-sage:#65a30d;--color-olive:#4d7c0f;--color-slate:#475569;--color-navy:#1d4ed8;--color-plum:#be185d;--color-sand:#d97706}[data-theme=dark]{--color-terracotta:#9a3412;--color-ochre:#92400e;--color-sage:#4d7c0f;--color-olive:#3f6212;--color-slate:#334155;--color-navy:#1e40af;--color-plum:#9d174d;--color-sand:#b45309}.task-card-accent{border-left:4px solid #0000}.task-card-accent.color-terracotta{border-left-color:var(--color-terracotta)}.task-card-accent.color-ochre{border-left-color:var(--color-ochre)}.task-card-accent.color-sage{border-left-color:var(--color-sage)}.task-card-accent.color-olive{border-left-color:var(--color-olive)}.task-card-accent.color-slate{border-left-color:var(--color-slate)}.task-card-accent.color-navy{border-left-color:var(--color-navy)}.task-card-accent.color-plum{border-left-color:var(--color-plum)}.task-card-accent.color-sand{border-left-color:var(--color-sand)}.color-picker-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.color-picker-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:transform .1s,border-color .1s}.color-picker-btn:hover{transform:scale(1.1)}.color-picker-btn.active{border-color:var(--text-main);box-shadow:0 0 0 2px var(--bg-card), 0 0 0 4px var(--text-main)}.color-picker-btn.color-none{background:var(--bg-subtle);border:1px dashed var(--border-color)}
