:root{--fuchsia-50: #FAE8F1;--fuchsia-100: #F3B4D2;--fuchsia-200: #E880B0;--fuchsia-400: #DE528C;--fuchsia-600: #D4246F;--fuchsia-800: #A01A54;--fuchsia-900: #6A1038;--teal-50: #D4EFEC;--teal-100: #91D5CE;--teal-200: #4CB8AF;--teal-400: #239085;--teal-600: #0D5C52;--teal-800: #09403A;--teal-900: #052620;--navy-50: #D6DEE9;--navy-100: #9BAAC1;--navy-200: #5E7189;--navy-400: #334A66;--navy-600: #142235;--navy-800: #0C172A;--navy-900: #060D1A;--sage-50: #FFFFFF;--sage-100: #F8FBF9;--sage-200: #F0F5F3;--sage-400: #E0EDEA;--sage-600: #C4D9D5;--sage-800: #8CAAA5;--sage-900: #527872;--success-100: #C9E6DB;--success-600: #2B8A6E;--warning-100: #F4D3BA;--warning-600: #D0682A;--danger-100: #F0CCD4;--danger-600: #A83A4A;--violet-600: #7E3E9E;--azure-600: #3B5A8C;--copper-400: #B43A5F;--slate-accent: #4D7D7D;--nxb-color-bg: var(--sage-200);--nxb-color-surface: var(--sage-50);--nxb-color-surface-elevated: var(--sage-100);--nxb-color-surface-inset: var(--sage-400);--nxb-color-border: rgba(11, 20, 30, .08);--nxb-color-border-light: rgba(11, 20, 30, .16);--nxb-color-rule: var(--sage-600);--nxb-color-text: var(--navy-600);--nxb-color-text-secondary: var(--navy-400);--nxb-color-text-muted: var(--navy-200);--nxb-color-text-ghost: var(--sage-800);--nxb-color-primary: var(--fuchsia-600);--nxb-color-primary-hover: var(--fuchsia-800);--nxb-color-primary-ring: rgba(212, 36, 111, .18);--nxb-color-primary-ghost: rgba(212, 36, 111, .08);--nxb-color-accent: var(--fuchsia-600);--nxb-color-ground: var(--teal-600);--nxb-color-success: var(--success-600);--nxb-color-warning: var(--warning-600);--nxb-color-danger: var(--danger-600);--nxb-tag-1: var(--fuchsia-600);--nxb-tag-2: var(--teal-600);--nxb-tag-3: var(--copper-400);--nxb-tag-4: var(--violet-600);--nxb-tag-5: var(--azure-600);--nxb-tag-6: var(--success-600);--nxb-tag-7: var(--warning-600);--nxb-tag-8: var(--danger-600);--nxb-tag-9: var(--slate-accent);--nxb-tag-10: var(--fuchsia-800)}:root{--nxb-space-1: 4px;--nxb-space-2: 6px;--nxb-space-3: 8px;--nxb-space-4: 10px;--nxb-space-5: 12px;--nxb-space-6: 16px;--nxb-space-7: 18px;--nxb-space-8: 22px;--nxb-space-9: 24px;--nxb-space-10: 32px}:root{--nxb-font-serif: "Fraunces", "Times New Roman", Georgia, serif;--nxb-font-family: "Bricolage Grotesque", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nxb-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--nxb-font-xs: .62rem;--nxb-font-sm: .75rem;--nxb-font-base: .85rem;--nxb-font-md: .875rem;--nxb-font-lg: 1.05rem;--nxb-font-xl: 1.25rem;--nxb-font-2xl: 1.75rem;--nxb-font-display: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);--nxb-font-weight-normal: 400;--nxb-font-weight-medium: 500;--nxb-font-weight-semibold: 600;--nxb-font-weight-bold: 700;--nxb-line-height: 1.55;--nxb-letter-tight: -.02em;--nxb-letter-normal: -.01em;--nxb-letter-wide: .06em;--nxb-letter-eyebrow: .2em}:root{--nxb-radius-xs: 2px;--nxb-radius-sm: 4px;--nxb-radius-md: 6px;--nxb-radius-lg: 10px;--nxb-radius-xl: 14px;--nxb-radius-pill: 999px;--nxb-shadow-hang-sm: 0 1px 2px rgba(11, 20, 30, .04), 0 2px 6px rgba(11, 20, 30, .04);--nxb-shadow-hang-md: 0 2px 4px rgba(11, 20, 30, .04), 0 8px 24px rgba(11, 20, 30, .08);--nxb-shadow-hang-lg: 0 4px 8px rgba(11, 20, 30, .06), 0 24px 48px rgba(11, 20, 30, .12);--nxb-shadow-suspend: 0 18px 24px -16px rgba(11, 20, 30, .35);--nxb-shadow-sm: var(--nxb-shadow-hang-sm);--nxb-shadow-md: var(--nxb-shadow-hang-md);--nxb-shadow-lg: var(--nxb-shadow-hang-lg)}:root{--nxb-ease-settle: cubic-bezier(.34, 1.35, .64, 1);--nxb-ease-pendulum: cubic-bezier(.37, 0, .22, 1.15);--nxb-ease-curtain: cubic-bezier(.83, 0, .17, 1);--nxb-ease-out-expo: cubic-bezier(.16, 1, .3, 1);--nxb-ease-hang: cubic-bezier(.25, .1, .25, 1);--nxb-dur-1: .12s;--nxb-dur-2: .22s;--nxb-dur-3: .42s;--nxb-dur-4: .7s;--nxb-dur-5: 1.1s;--nxb-stagger: 70ms;--nxb-transition-fast: var(--nxb-dur-2) var(--nxb-ease-out-expo);--nxb-transition-normal: var(--nxb-dur-3) var(--nxb-ease-out-expo);--nxb-transition-slow: var(--nxb-dur-4) var(--nxb-ease-out-expo)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}body{font-family:var(--nxb-font-family);background-color:var(--nxb-color-bg);color:var(--nxb-color-text);line-height:var(--nxb-line-height);font-feature-settings:"ss01","ss02","kern","liga";hanging-punctuation:first last;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--fuchsia-100);color:var(--fuchsia-900)}.nxb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nxb-btn{padding:8px 18px;border-radius:var(--nxb-radius-md);font-weight:var(--nxb-font-weight-medium);font-size:var(--nxb-font-md);letter-spacing:var(--nxb-letter-normal);transition:background var(--nxb-transition-fast),color var(--nxb-transition-fast),transform var(--nxb-transition-fast)}.nxb-btn:active{transform:scale(.97)}.nxb-btn-primary{background:var(--nxb-color-primary);color:#fff}.nxb-btn-primary:hover{background:var(--nxb-color-primary-hover)}.nxb-btn-secondary{background:var(--nxb-color-border);color:var(--nxb-color-text)}.nxb-btn-secondary:hover{background:var(--nxb-color-border-light)}.nxb-btn-danger{background:var(--nxb-color-danger);color:#fff}.nxb-btn-danger:hover{opacity:.9}.nxb-btn-ghost{background:transparent;color:var(--nxb-color-primary);border:1px solid var(--nxb-color-border)}.nxb-btn-ghost:hover{background:var(--nxb-color-primary-ghost);border-color:var(--nxb-color-primary)}.nxb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--nxb-space-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nxb-modal{background:var(--nxb-color-surface);border:1px solid var(--nxb-color-border);border-radius:var(--nxb-radius-lg);box-shadow:var(--nxb-shadow-lg);width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.nxb-modal-header{padding:var(--nxb-space-7) var(--nxb-space-8);border-bottom:1px solid var(--nxb-color-border);display:flex;align-items:center;justify-content:space-between}.nxb-modal-title{font-size:var(--nxb-font-lg);font-weight:var(--nxb-font-weight-semibold);letter-spacing:var(--nxb-letter-tight)}.nxb-modal-close{width:26px;height:26px;border-radius:var(--nxb-radius-sm);font-size:1.1rem;color:var(--nxb-color-text-secondary);display:flex;align-items:center;justify-content:center}.nxb-modal-close:hover{background:var(--nxb-color-border);color:var(--nxb-color-text)}.nxb-modal-body{padding:var(--nxb-space-8)}.nxb-modal-footer{padding:14px var(--nxb-space-8);border-top:1px solid var(--nxb-color-border);display:flex;justify-content:flex-end;gap:var(--nxb-space-4)}@media (max-width: 768px){.nxb-modal{max-width:none;margin:0;border-radius:var(--nxb-radius-lg) var(--nxb-radius-lg) 0 0;max-height:85vh;position:fixed;bottom:0;left:0;right:0}.nxb-modal-overlay{align-items:flex-end;padding:0}}.nxb-form-group{margin-bottom:var(--nxb-space-6)}.nxb-form-label{display:block;font-size:.78rem;font-weight:var(--nxb-font-weight-medium);margin-bottom:var(--nxb-space-2)}.nxb-input{width:100%;padding:9px var(--nxb-space-5);border:1px solid var(--nxb-color-border);border-radius:var(--nxb-radius-md);font-size:var(--nxb-font-base);background:var(--nxb-color-bg);color:var(--nxb-color-text);transition:border-color var(--nxb-transition-fast)}.nxb-input:focus{outline:none;border-color:var(--nxb-color-primary);background:var(--nxb-color-surface);box-shadow:0 0 0 3px var(--nxb-color-primary-ring)}.nxb-input::placeholder{color:var(--nxb-color-text-muted)}.nxb-textarea{resize:vertical;min-height:80px}@media (max-width: 768px){.nxb-input,.nxb-textarea,select.nxb-input{font-size:16px}}.nxb-card{background:var(--nxb-color-surface-elevated);border:1px solid var(--nxb-color-border);border-radius:var(--nxb-radius-md);padding:var(--nxb-space-4) var(--nxb-space-5);transition:border-color var(--nxb-transition-fast),background var(--nxb-transition-fast)}.nxb-card:hover{border-color:var(--nxb-color-border-light)}.nxb-card-surface{background:var(--nxb-color-surface);border:1px solid var(--nxb-color-border);border-radius:var(--nxb-radius-lg)}.nxb-tag{font-size:var(--nxb-font-xs);font-weight:var(--nxb-font-weight-medium);padding:2px 7px;border-radius:3px;text-transform:lowercase}.nxb-tag-list{display:flex;flex-wrap:wrap;gap:var(--nxb-space-1)}.nxb-badge{display:inline-flex;align-items:center;gap:var(--nxb-space-2);padding:2px 7px;background:var(--nxb-color-border);color:var(--nxb-color-text-secondary);font-size:.68rem;font-weight:var(--nxb-font-weight-medium);border-radius:var(--nxb-radius-sm)}.nxb-badge-primary{background:var(--nxb-color-primary);color:#fff}:root{--color-bg: var(--nxb-color-bg);--color-surface: var(--nxb-color-surface);--color-surface-elevated: var(--nxb-color-surface-elevated);--color-surface-inset: var(--nxb-color-surface-inset);--color-border: var(--nxb-color-border);--color-border-light: var(--nxb-color-border-light);--color-rule: var(--nxb-color-rule);--color-text: var(--nxb-color-text);--color-text-secondary: var(--nxb-color-text-secondary);--color-text-muted: var(--nxb-color-text-muted);--color-primary: var(--nxb-color-primary);--color-primary-hover: var(--nxb-color-primary-hover);--color-primary-ring: var(--nxb-color-primary-ring);--color-primary-ghost: var(--nxb-color-primary-ghost);--color-accent: var(--nxb-color-accent);--color-ground: var(--nxb-color-ground);--color-success: var(--nxb-color-success);--color-warning: var(--nxb-color-warning);--color-danger: var(--nxb-color-danger);--color-today: var(--sage-100);--color-today-border: var(--nxb-color-primary);--radius-sm: var(--nxb-radius-sm);--radius-md: var(--nxb-radius-md);--radius-lg: var(--nxb-radius-lg);--radius-xl: var(--nxb-radius-xl);--radius-pill: var(--nxb-radius-pill);--shadow-sm: var(--nxb-shadow-hang-sm);--shadow-md: var(--nxb-shadow-hang-md);--shadow-lg: var(--nxb-shadow-hang-lg);--shadow-suspend: var(--nxb-shadow-suspend);--transition: var(--nxb-dur-2) var(--nxb-ease-out-expo);--ease-settle: var(--nxb-ease-settle);--ease-out-expo: var(--nxb-ease-out-expo)}html{font-size:20px}@media (min-width: 641px){html{font-size:16px}}#app{min-height:100vh}button{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.app-header{padding:18px 24px;background:var(--sage-100);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}.app-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(11,20,30,.02) 39px,rgba(11,20,30,.02) 40px)}.app-header>*{position:relative;z-index:1}.app-title{display:flex;align-items:center;gap:10px;color:var(--color-text);transition:color var(--transition)}.app-title:hover{color:var(--fuchsia-800)}.header-icon{width:32px;height:32px;border-radius:var(--radius-lg);background:#d4246f14;border:1px solid rgba(212,36,111,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-name{font-family:var(--nxb-font-serif);font-weight:700;font-size:1.1rem;letter-spacing:-.02em;font-variation-settings:"opsz" 24,"WONK" 1;color:inherit;line-height:1}.app-main{flex:1;padding:24px;overflow-x:auto}.advance-week-banner{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 24px;background:var(--color-primary);color:var(--sage-50);font-family:var(--nxb-font-sans);letter-spacing:.01em}.advance-week-text{font-size:.85rem;font-weight:500}.advance-week-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:.78rem;font-weight:700;color:var(--color-primary);background:var(--sage-50);border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);letter-spacing:.02em}.advance-week-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-suspend)}.advance-week-btn:active{transform:translateY(0)}.orphan-banner{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 24px;background:var(--color-warning);color:var(--sage-50)}.orphan-text{font-size:.85rem;font-weight:500}.orphan-fix-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-family:inherit;font-size:.78rem;font-weight:700;color:var(--color-warning);background:var(--sage-50);border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.orphan-fix-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-suspend)}.week-view{display:flex;gap:16px;min-height:calc(100vh - 160px)}.task-column{flex:1;min-width:260px;max-width:320px;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;position:relative;transition:box-shadow var(--nxb-dur-3) var(--ease-out-expo)}.task-column.is-today{background:var(--color-today);border-color:var(--color-border-light)}.task-column.is-today:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--color-accent);border-radius:var(--radius-md) var(--radius-md) 0 0}.task-column.is-hidden{display:none}.column-header{padding:14px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.column-title{font-family:var(--nxb-font-serif);font-weight:600;font-size:1rem;letter-spacing:-.015em;font-variation-settings:"opsz" 24,"WONK" 0;color:var(--color-text)}.task-column.is-today .column-title{color:var(--color-accent)}@media (max-width: 768px){.column-title{font-size:1.3rem;font-weight:700}}.column-count{font-family:var(--nxb-font-mono);background:transparent;color:var(--color-text-muted);font-size:.68rem;font-weight:500;padding:1px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-left:8px}.column-add-btn{width:26px;height:26px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--sage-50);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);border:none;cursor:pointer}.column-add-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-suspend)}.column-add-btn:active{transform:translateY(0)}.column-tasks{flex:1;padding:12px;overflow-y:auto;min-height:200px;display:flex;flex-direction:column;gap:8px}.column-empty{color:var(--color-text-muted);text-align:center;padding:32px 16px;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px}.column-empty-icon{font-family:var(--nxb-font-serif);font-style:italic;font-size:1.25rem;color:var(--color-text-ghost);line-height:1}.column-empty-title{font-family:var(--nxb-font-serif);font-style:italic;font-size:.95rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:-.01em}.column-empty-desc{font-size:.72rem;color:var(--color-text-muted)}.column-empty-cta{margin-top:6px;padding:6px 14px;background:var(--color-primary);color:var(--sage-50);border:none;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;letter-spacing:.01em;cursor:pointer;pointer-events:auto;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.column-empty-cta:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-suspend)}.task-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;cursor:grab;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.task-item:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-suspend);transform:translateY(-1px)}.task-item:active{cursor:grabbing;transform:translateY(0)}}.task-item.is-dragging{opacity:.5}.task-item.is-completed{opacity:.45}.task-item.is-completed .task-title{text-decoration:line-through;color:var(--color-text-muted)}.task-item.is-completed:hover{opacity:.7}.task-item.is-compact{padding:6px 10px}.task-item.is-compact .task-title{font-size:.76rem}.task-item.is-compact .task-notes-indicator{font-size:.65rem}.task-item.is-collapsed{padding:3px 8px;border:none;background:none;box-shadow:none;border-radius:var(--radius-sm)}@media (hover: hover) and (pointer: fine){.task-item.is-collapsed:hover{background:#0b141e0a;transform:none;box-shadow:none}}.task-item.is-collapsed .task-title{font-size:.74rem;color:var(--color-text-secondary)}.task-item.is-collapsed .task-notes-indicator{display:none}.task-header{display:flex;align-items:flex-start;gap:8px}.task-checkbox{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--color-accent)}.task-content{flex:1;min-width:0}.task-title{font-family:var(--nxb-font-family);font-size:.875rem;font-weight:400;word-break:break-word;letter-spacing:-.005em;color:var(--color-text);display:flex;align-items:center;gap:6px}.ws-dot,.tag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.task-notes-indicator{color:var(--color-text-muted);font-size:.75rem;margin-top:4px;font-style:italic}.task-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.task-tag{font-family:var(--nxb-font-family);font-size:.62rem;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:var(--radius-xs);text-transform:lowercase;border:1px solid transparent}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition)}.task-item:hover .task-actions{opacity:1}.task-action-btn{width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition),color var(--transition)}.task-action-btn:hover{background:var(--color-primary-ghost);color:var(--color-accent)}.task-action-btn.delete:hover{background:var(--danger-100);color:var(--color-danger)}.workstream-row{border-radius:var(--radius-md);padding:8px;margin-bottom:8px}.workstream-row:last-child{margin-bottom:0}.workstream-header{margin-bottom:8px;padding-left:4px}.workstream-label{font-family:var(--nxb-font-family);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--nxb-letter-eyebrow);color:var(--color-text-muted);font-feature-settings:"c2sc","smcp"}.workstream-tasks{display:flex;flex-direction:column;gap:8px;min-height:40px}.workstream-add-btn{width:100%;padding:6px;margin-top:6px;border:1px dashed var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1rem;font-weight:300;background:transparent;cursor:pointer;transition:all var(--transition)}.workstream-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-primary-ghost)}.workstream-picker{margin-top:8px}.workstream-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.workstream-option{padding:6px 12px;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;border:1px solid transparent;background:transparent;cursor:pointer;transition:all var(--transition)}.workstream-option:hover{opacity:.88}.workstream-option.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.workstream-option.no-workstream{background:var(--color-surface-inset);color:var(--color-text-secondary)}.workstream-new-section{padding-top:12px;border-top:1px solid var(--color-border)}.workstream-new-label{font-size:.8rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.workstream-new-form{display:flex;gap:8px;margin-bottom:8px}.workstream-name-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.85rem;background:var(--color-surface);color:var(--color-text)}.workstream-name-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-primary-ring)}.workstream-create-btn{padding:8px 16px;background:var(--color-primary);color:var(--sage-50);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.workstream-create-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.workstream-create-btn:disabled{opacity:.5;cursor:not-allowed}.workstream-color-picker{display:flex;flex-wrap:wrap;gap:6px}.workstream-color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.workstream-color-option:hover{transform:scale(1.08)}.workstream-color-option.is-selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b141e66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:overlay-in var(--nxb-dur-3) var(--ease-out-expo)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;animation:modal-in var(--nxb-dur-4) var(--ease-settle)}@keyframes modal-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:18px 22px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--nxb-font-serif);font-size:1.2rem;font-weight:600;font-variation-settings:"opsz" 36,"WONK" 0;letter-spacing:-.02em;color:var(--color-text)}.modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:1.1rem;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition)}.modal-close:hover{background:var(--color-primary-ghost);color:var(--color-accent)}.modal-body{padding:22px}.modal-footer{padding:14px 22px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:10px}.form-group{margin-bottom:16px}.form-label{display:block;font-family:var(--nxb-font-family);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--nxb-letter-eyebrow);color:var(--color-text-muted);margin-bottom:8px}.form-input{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-primary-ring)}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:80px;font-family:var(--nxb-font-serif);font-size:.95rem;line-height:1.55;font-variation-settings:"opsz" 14}.btn{padding:.55rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:.8rem;letter-spacing:.01em;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:var(--sage-50)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-suspend)}.btn-secondary{background:var(--color-surface-inset);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-elevated);border-color:var(--color-border-light)}.btn-danger{background:none;color:var(--color-danger);border:none;font-size:.8rem}.btn-danger:hover{text-decoration:underline;transform:none}.btn-ghost{background:transparent;color:var(--color-accent);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-primary-ghost);border-color:var(--color-accent)}.tag-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-option{padding:4px 10px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.tag-option:hover{opacity:.88}.tag-option.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.tag-input-wrapper{display:flex;gap:8px;margin-top:8px}.tag-input{flex:1;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.8rem;background:var(--color-surface);color:var(--color-text)}.tag-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-primary-ring)}.tag-add-btn{padding:6px 14px;background:var(--color-surface-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.8rem;color:var(--color-text);cursor:pointer;transition:background var(--transition)}.tag-add-btn:hover{background:var(--color-primary-ghost);border-color:var(--color-accent);color:var(--color-accent)}.search-bar{position:relative;width:260px}.search-input{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.82rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-primary-ring)}.search-input::placeholder{color:var(--color-text-muted);font-style:italic}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:.875rem}.tag-filter{display:flex;align-items:center;gap:8px;position:relative}.tag-filter-label{font-family:var(--nxb-font-family);font-size:.68rem;font-weight:700;letter-spacing:var(--nxb-letter-eyebrow);text-transform:uppercase;color:var(--color-text-muted)}.tag-filter-list{display:flex;gap:6px}.tag-filter-btn{padding:4px 10px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.tag-filter-btn:hover{opacity:.88}.tag-filter-btn.is-active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.tag-filter-clear{font-size:.75rem;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;background:none;border:none;cursor:pointer}.tag-filter-clear:hover{color:var(--color-accent)}.tag-filter-toggle,.tag-filter-dropdown{display:none}.review-section{margin-bottom:24px}.review-section-title{font-family:var(--nxb-font-serif);font-size:1.05rem;font-weight:600;font-variation-settings:"opsz" 24;letter-spacing:-.015em;margin-bottom:10px;color:var(--color-text)}.review-section-desc{font-family:var(--nxb-font-serif);font-size:.95rem;font-style:italic;color:var(--color-text-secondary);margin-bottom:14px;line-height:1.5}.review-tasks{display:flex;flex-direction:column;gap:8px}.review-task{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:box-shadow var(--transition)}.review-task:hover{box-shadow:var(--shadow-hang-sm)}.review-task-checkbox{width:18px;height:18px;accent-color:var(--color-accent)}.review-task-info{flex:1}.review-task-title{font-size:.9rem;color:var(--color-text)}.review-task-tags{display:flex;gap:4px;margin-top:4px}.review-task-action{display:flex;gap:4px}.review-action-btn{padding:5px 10px;border-radius:var(--radius-sm);font-family:inherit;font-size:.75rem;font-weight:500;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition)}.review-action-btn:hover{background:var(--color-primary-ghost);border-color:var(--color-accent);color:var(--color-accent)}.review-action-btn.is-selected{background:var(--color-primary);color:var(--sage-50);border-color:var(--color-primary)}.review-bulk-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.task-bite-indicator{font-size:.7rem;margin-top:4px;padding:2px 0;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-bite-indicator.bite-child{font-style:italic}.task-bite-indicator.bite-parent{font-weight:500;color:var(--color-text-secondary)}.task-item.has-bites{border-left:2px solid var(--color-accent)}.task-bite-parent-indicator{margin-top:6px;padding:2px 0}.bite-summary{font-family:var(--nxb-font-family);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);display:block;margin-bottom:4px}.bite-progress-track{width:100%;height:3px;background:var(--color-surface-inset);border-radius:var(--radius-pill);overflow:hidden}.bite-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-pill);transition:width var(--nxb-dur-3) var(--ease-out-expo)}.task-activate-at{font-family:var(--nxb-font-mono);font-size:.68rem;margin-top:4px;padding:2px 0;color:var(--color-accent);font-weight:500;letter-spacing:.01em}.task-action-btn.bite{color:var(--color-text-muted)}.task-action-btn.bite:hover{background:var(--color-primary-ghost);color:var(--color-accent)}.sortable-ghost{opacity:.35}.sortable-chosen{box-shadow:var(--shadow-suspend)}.sortable-drag{opacity:1!important;box-shadow:var(--shadow-lg)}.task-item.is-selected{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px var(--color-primary-ring);background:var(--color-primary-ghost)!important}.task-item.is-faded-for-drag{opacity:.25;pointer-events:none}.cell-tasks:has(.sortable-ghost),.workstream-tasks:has(.sortable-ghost){background:var(--color-primary-ghost);border-radius:var(--radius-sm);outline:1px dashed var(--color-accent);outline-offset:-2px}.multi-drag-label{font-family:var(--nxb-font-family);font-size:.85rem;font-weight:600;color:var(--color-accent);text-align:center;padding:8px 12px;display:flex;align-items:center;justify-content:center;height:100%}.select-mode .task-item{cursor:pointer}.select-mode-badge{display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--color-primary);color:var(--sage-50);border-radius:var(--radius-md);font-family:var(--nxb-font-family);font-size:.68rem;font-weight:700;letter-spacing:var(--nxb-letter-eyebrow);text-transform:uppercase;animation:badge-enter var(--nxb-dur-2) var(--ease-settle)}.select-mode-badge .select-count{background:#ffffff38;padding:1px 6px;border-radius:var(--radius-xs);font-size:.68rem}@keyframes badge-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.app-header{padding:12px 16px;flex-wrap:nowrap;gap:8px}.tag-filter-label,.tag-filter-desktop{display:none}.tag-filter-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;position:relative;transition:all var(--transition)}.tag-filter-toggle:hover,.tag-filter-toggle:active{background:var(--color-primary-ghost);color:var(--color-accent);border-color:var(--color-accent)}.tag-filter-badge{position:absolute;top:-4px;right:-4px;background:var(--color-primary);color:var(--sage-50);font-family:var(--nxb-font-mono);font-size:.6rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.tag-filter-dropdown{display:flex;flex-wrap:wrap;gap:6px;position:absolute;top:100%;left:0;margin-top:8px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;min-width:200px}.app-main{padding:0;overflow:hidden}.week-view{flex-direction:column;gap:0;min-height:auto}.week-view.is-mobile{position:relative;overflow:hidden;width:100%}.mobile-columns-wrapper{display:flex;touch-action:pan-y;width:100%;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.task-column{flex:0 0 100vw;min-width:100vw;max-width:100vw;width:100vw;border-radius:0;border-left:none;border-right:none;min-height:calc(100dvh - 120px);overflow-x:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.task-column.is-today{border:none}.task-column.is-today:before{border-radius:0}.column-header{border-bottom:none}.search-bar{display:none}.modal{max-width:100vw;width:100vw;margin:0;border-left:none;border-right:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;position:fixed;bottom:0;left:0;right:0;overflow-x:hidden}.modal-overlay{align-items:flex-end;padding:0;overflow-x:hidden}.form-input,.form-input.form-textarea,select.form-input{font-size:16px}.task-action-btn,.column-add-btn,.tag-filter-toggle{width:44px;height:44px}.advance-week-btn,.review-action-btn,.btn,.column-empty-cta,.tag-option,.tag-filter-btn,.workstream-add-btn,.workstream-create-btn,.tag-add-btn{min-height:44px}.tag-option,.tag-filter-btn,.column-empty-cta{display:inline-flex;align-items:center;justify-content:center}.workstream-color-option{width:44px;height:44px}.task-checkbox,.review-task-checkbox{width:22px;height:22px}.modal-body{padding:16px}.modal-header{padding:14px 16px}.modal-footer{padding:12px 16px}}
