:root{--color-card-bg:var(--td-bg-content);--color-card-border:var(--td-border);--color-card-text:var(--td-text-primary);--color-card-text-muted:var(--td-text-secondary);--color-bg-alt:var(--td-bg-subtle);--color-text:var(--td-text-primary);--color-text-muted:var(--td-text-secondary)}[data-theme=dark]{--color-card-bg:var(--td-bg-content);--color-card-border:var(--td-border);--color-card-text:var(--td-text-primary);--color-card-text-muted:var(--td-text-secondary);--color-bg-alt:var(--td-bg-subtle)}#root{display:flex}#root,.loading-screen{flex-direction:column;min-height:100vh}.loading-screen{background:var(--td-bg-page);gap:var(--td-space-lg)}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--td-border-strong);border:3px solid var(--td-border-strong);border-radius:50%;border-top-color:var(--td-primary);height:40px;width:40px}.project-shell{background:var(--td-bg-page);display:flex;flex-direction:column;min-height:100vh}.project-header{grid-gap:var(--td-space-lg);align-items:center;background:var(--td-bg-content);border-bottom:1px solid var(--td-border);display:grid;gap:var(--td-space-lg);grid-template-columns:1fr auto 1fr;padding:var(--td-space-lg) var(--td-space-2xl);position:sticky;top:0;z-index:var(--td-z-sticky)}.project-nav{flex-wrap:wrap;gap:var(--td-space-sm);justify-content:center}.project-nav,.project-nav a{align-items:center;display:flex}.project-nav a{border:1px solid #0000;border-radius:var(--td-radius-sm);color:var(--td-text-secondary);font-size:var(--td-text-base);font-weight:var(--td-font-medium);min-height:var(--td-touch-target);padding:var(--td-space-sm) var(--td-space-lg);text-decoration:none;transition:all var(--td-transition-fast)}.project-nav a:hover{background:var(--td-bg-hover);color:var(--td-text-primary)}.project-nav a.active{background:var(--td-primary-light);border-color:var(--td-primary);color:var(--td-primary);font-weight:var(--td-font-semibold)}.back-link{align-items:center;border-radius:var(--td-radius-sm);color:var(--td-primary);display:inline-flex;font-weight:var(--td-font-medium);min-height:var(--td-touch-target);padding:var(--td-space-sm) var(--td-space-lg);text-decoration:none;transition:background var(--td-transition-fast)}.back-link:hover{background:var(--td-bg-hover)}.project-main{flex:1 1;margin:0 auto;max-width:1400px;padding:var(--td-space-2xl);width:100%}.task-reminders{border-top:1px solid var(--td-border);margin-top:var(--td-space-md);padding-top:var(--td-space-md)}.task-reminders-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:var(--td-space-sm);-webkit-user-select:none;user-select:none}.task-reminders-title{align-items:center;color:var(--td-text-secondary);display:flex;font-size:var(--td-text-sm);font-weight:var(--td-font-semibold);gap:var(--td-space-xs)}.task-reminders-list{display:flex;flex-direction:column;gap:var(--td-space-xs)}.reminder-item{align-items:center;background:var(--td-bg-hover);border-radius:var(--td-radius-sm);display:flex;font-size:var(--td-text-sm);gap:var(--td-space-sm);padding:var(--td-space-sm)}.reminder-item.past{background:#d1453b1a;color:var(--td-danger)}@media (max-width:768px){.project-header{gap:var(--td-space-md);grid-template-columns:1fr;padding:var(--td-space-md)}.project-nav{justify-content:flex-start;order:2}.project-main{padding:var(--td-space-lg)}.project-nav a{min-height:var(--td-touch-target-lg);padding:var(--td-space-md) var(--td-space-lg)}}@media (max-width:480px){.project-header{padding:var(--td-space-sm)}.project-nav{gap:var(--td-space-xs)}.project-nav a{font-size:var(--td-text-sm);padding:var(--td-space-sm) var(--td-space-md)}.project-main{padding:var(--td-space-md)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:slideInFromBottom .3s ease}.page-container{margin:0 auto;max-width:1200px;padding:var(--td-space-2xl)}.page-header{margin-bottom:var(--td-space-2xl)}.page-title{color:var(--td-text-primary);font-size:var(--td-text-3xl);font-weight:var(--td-font-bold);margin-bottom:var(--td-space-sm)}.page-subtitle{color:var(--td-text-secondary);font-size:var(--td-text-base)}@media print{.back-link,.column-drag-handle,.project-header,.task-drag-handle,button{display:none!important}.project-main{padding:0}.card{break-inside:avoid;page-break-inside:avoid}}:focus-visible{border-radius:var(--td-radius-xs);outline:2px solid var(--td-primary)}::selection{background:var(--td-primary-light);color:var(--td-text-primary)}.btn,.card,.dropdown-menu,.modal{backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.drop-ghost{background:#6366f11a;background:var(--color-primary-light,#6366f11a);border:2px dashed #6366f1;border:2px dashed var(--color-primary,#6366f1);pointer-events:none;-webkit-user-select:none;user-select:none}.drop-ghost--vertical{margin:4px 0;width:100%}.drop-ghost--horizontal{height:100%;margin:0 4px;min-width:8px}.drop-ghost--hovered{background:#6366f126;background:var(--color-primary-light,#6366f126);border-color:#4f46e5;border-color:var(--color-primary-hover,#4f46e5);box-shadow:0 0 0 4px #6366f10d;box-shadow:0 0 0 4px var(--color-primary-fade,#6366f10d);opacity:.75;transform:scale(1.02)}.drop-ghost[aria-hidden=true]{speak:none}@media (prefers-reduced-motion:reduce){.drop-ghost{animation:none;transition:none}.drop-ghost--hovered{transform:none}}@media (prefers-contrast:high){.drop-ghost{border-style:solid;border-width:3px}}@media (max-width:768px){.drop-ghost{min-height:48px}.drop-ghost--vertical{margin:6px 0}}*,:after,:before{margin:0;padding:0}:root{--td-primary:#db4c3f;--td-primary-light:#db4c3f1a;--td-bg-page:#fafafa;--td-bg-content:#fff;--td-bg-hover:#f9f9f9;--td-bg-active:#f3f3f3;--td-bg-subtle:#f9f9f9;--td-text-secondary:grey;--td-text-disabled:#ccc;--td-border:#f3f3f3;--td-border-medium:#e8e8e8;--td-border-strong:#d9d9d9;--td-priority-1:#d1453b;--td-priority-2:#eb8909;--td-priority-3:#246fe0;--td-priority-4:grey;--td-success:#058527;--td-warning:#ad6200;--td-danger:#d1453b;--td-info:#246fe0;--td-shadow-xs:0 1px 2px #0000000a;--td-shadow-sm:0 2px 4px #0000000f;--td-shadow-md:0 4px 12px #00000014;--td-shadow-lg:0 8px 24px #0000001f;--td-space-xs:4px;--td-space-sm:8px;--td-space-md:12px;--td-space-lg:16px;--td-space-xl:20px;--td-space-2xl:24px;--td-space-3xl:32px;--td-space-4xl:48px;--td-touch-target:44px;--td-touch-target-lg:48px;--td-radius-xs:3px;--td-radius-sm:5px;--td-radius-md:8px;--td-radius-lg:10px;--td-radius-xl:12px;--td-radius-full:9999px;--td-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--td-text-xs:11px;--td-text-sm:13px;--td-text-base:14px;--td-text-lg:16px;--td-text-xl:20px;--td-text-2xl:24px;--td-text-3xl:28px;--td-leading-tight:1.2;--td-leading-normal:1.5;--td-leading-relaxed:1.75;--td-font-normal:400;--td-font-medium:500;--td-font-semibold:600;--td-font-bold:700;--td-z-dropdown:1000;--td-z-sticky:1020;--td-z-fixed:1030;--td-z-modal-backdrop:1040;--td-z-modal:1050;--td-z-popover:1060;--td-z-tooltip:1070}[data-theme=dark]{--td-bg-page:#1f1f1f;--td-bg-content:#282828;--td-bg-active:#3d3d3d;--td-text-disabled:#4d4d4d;--td-border:#333;--td-border-medium:#404040;--td-border-strong:#4d4d4d;--td-primary:#ff7066;--td-primary-hover:#ff8a82;--td-primary-light:#ff706626;--td-priority-1:#ff7066;--td-priority-2:#ff9a14;--td-priority-3:#4073ff}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--td-bg-page);color:#202020;color:var(--td-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--td-font-family);font-size:var(--td-text-base);line-height:var(--td-leading-normal)}.btn{border-radius:5px;border-radius:var(--td-radius-sm);font-family:inherit;font-size:14px;font-size:var(--td-text-base);font-weight:var(--td-font-medium);gap:8px;gap:var(--td-space-sm);min-height:44px;min-height:var(--td-touch-target);padding:0 16px;padding:0 var(--td-space-lg);text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:#db4c3f;background:var(--td-primary)}.btn-primary:hover:not(:disabled){background:#c53727;background:var(--td-primary-hover)}.btn-secondary{background:#f9f9f9;background:var(--td-bg-hover);border:1px solid #d9d9d9;border:1px solid var(--td-border-strong);color:#202020;color:var(--td-text-primary)}.btn-secondary:hover:not(:disabled){background:#f3f3f3;background:var(--td-bg-active);border-color:#d9d9d9;border-color:var(--td-border-strong)}.btn-ghost{background:#0000;color:grey}.btn-ghost:hover:not(:disabled){background:var(--td-bg-hover);color:#202020;color:var(--td-text-primary)}.btn-danger{background:#d1453b;background:var(--td-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b8362e}.btn-sm{font-size:13px;font-size:var(--td-text-sm);min-height:36px;padding:0 12px;padding:0 var(--td-space-md)}.btn-lg{font-size:16px;font-size:var(--td-text-lg);min-height:48px;min-height:var(--td-touch-target-lg);padding:0 20px;padding:0 var(--td-space-xl)}.btn-icon{min-height:44px;min-height:var(--td-touch-target);padding:0;width:44px;width:var(--td-touch-target)}.btn-icon-sm{min-height:36px;width:36px}.btn-block{width:100%}.input,.select,.textarea{background:#fff;background:var(--td-bg-content);border:1px solid #d9d9d9;border:1px solid var(--td-border-strong);border-radius:5px;border-radius:var(--td-radius-sm);font-family:inherit;font-size:14px;font-size:var(--td-text-base);min-height:44px;min-height:var(--td-touch-target);padding:12px 16px;padding:var(--td-space-md) var(--td-space-lg)}.input:focus,.select:focus,.textarea:focus{border-color:#db4c3f}.input::placeholder,.textarea::placeholder{color:#999;color:var(--td-text-tertiary)}.input:disabled,.select:disabled,.textarea:disabled{background:#f9f9f9;background:var(--td-bg-subtle);opacity:.5}.input-group{align-items:center;display:flex;position:relative}.input-group .input{padding-left:32px;padding-left:var(--td-space-3xl)}.input-icon{color:#999;color:var(--td-text-tertiary);height:20px;left:12px;left:var(--td-space-md);pointer-events:none;position:absolute;width:20px}.textarea{line-height:1.75;line-height:var(--td-leading-relaxed);min-height:100px;resize:vertical}.select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' stroke='gray' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-position:right var(--td-space-md) center;background-repeat:no-repeat;cursor:pointer;padding-right:32px;padding-right:var(--td-space-3xl)}.checkbox,.radio{align-items:center;cursor:pointer;display:inline-flex;gap:8px;gap:var(--td-space-sm);min-height:44px;min-height:var(--td-touch-target)}.checkbox input,.radio input{cursor:pointer;height:20px;width:20px}.card{background:var(--td-bg-content);border:1px solid #f3f3f3;border:1px solid var(--td-border);border-radius:10px;border-radius:var(--td-radius-lg);padding:24px;padding:var(--td-space-2xl)}.card-sm{padding:16px;padding:var(--td-space-lg)}.card-lg{padding:32px;padding:var(--td-space-3xl)}.card-hover{cursor:pointer;transition:all .15s ease;transition:all var(--td-transition-fast)}.card-hover:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--td-shadow-md);transform:translateY(-2px)}.container{margin:0 auto;max-width:1200px;padding:0 24px;padding:0 var(--td-space-2xl)}.container-sm{max-width:800px}.container-lg{max-width:1400px}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.gap-xs{gap:4px;gap:var(--td-space-xs)}.gap-sm{gap:8px}.gap-md{gap:12px}.gap-lg{gap:16px}.gap-xl{gap:20px;gap:var(--td-space-xl)}.gap-2xl{gap:24px;gap:var(--td-space-2xl)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.heading-1{font-size:28px;font-size:var(--td-text-3xl);font-weight:var(--td-font-bold)}.heading-1,.heading-2{line-height:1.2;line-height:var(--td-leading-tight)}.heading-2{font-size:24px;font-size:var(--td-text-2xl);font-weight:700;font-weight:var(--td-font-bold)}.heading-3{font-size:20px;font-size:var(--td-text-xl);line-height:1.2;line-height:var(--td-leading-tight)}.heading-3,.heading-4{font-weight:var(--td-font-semibold)}.heading-4{font-size:16px;font-size:var(--td-text-lg)}.text-primary{color:#202020;color:var(--td-text-primary)}.text-secondary{color:grey;color:var(--td-text-secondary)}.text-tertiary{color:var(--td-text-tertiary)}.text-xs{font-size:11px;font-size:var(--td-text-xs)}.text-sm{font-size:13px;font-size:var(--td-text-sm)}.text-base{font-size:14px;font-size:var(--td-text-base)}.text-lg{font-size:16px;font-size:var(--td-text-lg)}.text-xl{font-size:20px;font-size:var(--td-text-xl)}.font-normal{font-weight:400;font-weight:var(--td-font-normal)}.font-medium{font-weight:var(--td-font-medium)}.font-semibold{font-weight:var(--td-font-semibold)}.font-bold{font-weight:var(--td-font-bold)}.p-xs{padding:4px;padding:var(--td-space-xs)}.p-sm{padding:8px;padding:var(--td-space-sm)}.p-md{padding:12px;padding:var(--td-space-md)}.p-lg{padding:16px;padding:var(--td-space-lg)}.p-xl{padding:20px;padding:var(--td-space-xl)}.p-2xl{padding:24px;padding:var(--td-space-2xl)}.m-xs{margin:4px;margin:var(--td-space-xs)}.m-sm{margin:8px;margin:var(--td-space-sm)}.m-md{margin:12px;margin:var(--td-space-md)}.m-lg{margin:16px;margin:var(--td-space-lg)}.m-xl{margin:20px;margin:var(--td-space-xl)}.m-2xl{margin:24px;margin:var(--td-space-2xl)}.my-auto{margin-bottom:auto;margin-top:auto}.badge{border-radius:3px;border-radius:var(--td-radius-xs);font-size:11px;font-size:var(--td-text-xs);font-weight:500;font-weight:var(--td-font-medium);gap:4px;gap:var(--td-space-xs);padding:2px 8px;padding:2px var(--td-space-sm)}.badge-primary{background:#db4c3f1a;background:var(--td-primary-light);color:#db4c3f;color:var(--td-primary)}.badge-success{background:#0585271a;color:#058527;color:var(--td-success)}.badge-warning{background:#ad62001a;color:#ad6200;color:var(--td-warning)}.badge-danger{background:#d1453b1a;color:#d1453b;color:var(--td-danger)}.badge-neutral{background:#f9f9f9;background:var(--td-bg-hover);color:grey;color:var(--td-text-secondary)}.divider{border:none;margin:24px 0;margin:var(--td-space-2xl) 0}.divider,.divider-vertical{background:#f3f3f3;background:var(--td-border)}.divider-vertical{height:auto;margin:0 16px;margin:0 var(--td-space-lg)}.modal-overlay{animation:fadeIn .15s ease;animation:fadeIn var(--td-transition-fast);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040;z-index:var(--td-z-modal-backdrop)}.modal{animation:slideUp .2s ease;animation:slideUp var(--td-transition-base);background:#fff;background:var(--td-bg-content);border-radius:10px;border-radius:var(--td-radius-lg);box-shadow:0 8px 24px #0000001f;box-shadow:var(--td-shadow-lg);display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1050;z-index:var(--td-z-modal)}.modal-header{align-items:center;border-bottom:1px solid #f3f3f3;border-bottom:1px solid var(--td-border);display:flex;justify-content:space-between;padding:24px;padding:var(--td-space-2xl)}.modal-title{color:#202020;color:var(--td-text-primary);font-size:20px;font-size:var(--td-text-xl);font-weight:600;font-weight:var(--td-font-semibold)}.modal-body{flex:1 1;overflow-y:auto}.modal-body,.modal-footer{padding:24px;padding:var(--td-space-2xl)}.modal-footer{align-items:center;border-top:1px solid #f3f3f3;border-top:1px solid var(--td-border);display:flex;gap:12px;gap:var(--td-space-md);justify-content:flex-end}.dropdown{display:inline-block;position:relative}.dropdown-menu{animation:slideDown .15s ease;animation:slideDown var(--td-transition-fast);background:#fff;background:var(--td-bg-content);border:1px solid #f3f3f3;border:1px solid var(--td-border);border-radius:8px;border-radius:var(--td-radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--td-shadow-md);left:0;margin-top:4px;margin-top:var(--td-space-xs);min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:1000;z-index:var(--td-z-dropdown)}.dropdown-item{align-items:center;color:#202020;color:var(--td-text-primary);cursor:pointer;display:flex;font-size:14px;font-size:var(--td-text-base);gap:12px;gap:var(--td-space-md);min-height:44px;min-height:var(--td-touch-target);padding:12px 16px;padding:var(--td-space-md) var(--td-space-lg);text-decoration:none;transition:background .15s ease;transition:background var(--td-transition-fast)}.dropdown-item:hover{background:#f9f9f9;background:var(--td-bg-hover)}.dropdown-divider{background:#f3f3f3;background:var(--td-border);height:1px;margin:4px 0;margin:var(--td-space-xs) 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d9d9d9;background:var(--td-border-strong)}::-webkit-scrollbar-thumb:hover{background:var(--td-text-tertiary)}@media (max-width:768px){:root{--td-space-2xl:20px;--td-space-3xl:24px}.container{padding:0 16px;padding:0 var(--td-space-lg)}.card{padding:16px;padding:var(--td-space-lg)}.modal{max-height:95vh;width:95%}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.btn,.btn-icon{min-height:48px;min-height:var(--td-touch-target-lg)}.btn-icon{width:48px;width:var(--td-touch-target-lg)}}@media (max-width:480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.heading-1{font-size:24px;font-size:var(--td-text-2xl)}.heading-2{font-size:20px;font-size:var(--td-text-xl)}.modal-body,.modal-footer,.modal-header{padding:16px;padding:var(--td-space-lg)}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.hidden{display:none!important}.visible{display:block!important}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.shadow-sm{box-shadow:0 2px 4px #0000000f;box-shadow:var(--td-shadow-sm)}.shadow-md{box-shadow:0 4px 12px #00000014;box-shadow:var(--td-shadow-md)}.shadow-lg{box-shadow:0 8px 24px #0000001f;box-shadow:var(--td-shadow-lg)}.rounded-sm{border-radius:5px;border-radius:var(--td-radius-sm)}.rounded-md{border-radius:8px;border-radius:var(--td-radius-md)}.rounded-lg{border-radius:10px;border-radius:var(--td-radius-lg)}.rounded-full{border-radius:var(--td-radius-full)}:root{--td-primary:#dc4c3e;--td-primary-hover:#c53727;--td-bg-primary:#fff;--td-bg-secondary:#f9f9f9;--td-bg-subtle:#f5f5f5;--td-bg-hover:#eee;--td-overlay-bg:#00000080;--td-border:#e0e0e0;--td-border-hover:#ccc;--td-text-primary:#202020;--td-text-secondary:#666;--td-text-tertiary:#999;--td-text-muted:#b3b3b3;--td-success:#4caf50;--td-success-subtle:#e8f5e9;--td-success-text:#2e7d32;--td-danger:#ef4444;--td-danger-subtle:#fee;--td-danger-text:#991b1b;--td-warning:#ff9800;--td-warning-subtle:#fff3e0;--td-warning-text:#e65100;--td-info:#3b82f6;--td-info-subtle:#eff6ff;--td-info-text:#1e40af;--td-shadow-sm:0 1px 2px 0 #0000000d;--td-shadow-md:0 4px 6px -1px #0000001a;--td-shadow-lg:0 10px 15px -3px #0000001a;--td-shadow-xl:0 20px 25px -5px #0000001a;--td-shadow-2xl:0 25px 50px -12px #00000040;--td-space-xs:0.25rem;--td-space-sm:0.5rem;--td-space-md:0.75rem;--td-space-lg:1rem;--td-space-xl:1.5rem;--td-space-2xl:2rem;--td-radius-sm:0.25rem;--td-radius-md:0.375rem;--td-radius-lg:0.5rem;--td-radius-xl:0.75rem;--td-transition-fast:0.15s ease;--td-transition-base:0.2s ease;--td-transition-slow:0.3s ease}[data-theme=dark]{--td-bg-primary:#1e1e1e;--td-bg-secondary:#252525;--td-bg-subtle:#2a2a2a;--td-bg-hover:#333;--td-overlay-bg:#000000b3;--td-border:#3a3a3a;--td-border-hover:#4a4a4a;--td-text-primary:#fff;--td-text-secondary:#b3b3b3;--td-text-tertiary:grey;--td-text-muted:#666;--td-success:#66bb6a;--td-success-subtle:#1b3a1e;--td-success-text:#81c784;--td-danger:#ef5350;--td-danger-subtle:#3a1a1a;--td-danger-text:#ef9a9a;--td-warning:#ffa726;--td-warning-subtle:#3a2a1a;--td-warning-text:#ffb74d;--td-info:#42a5f5;--td-info-subtle:#1a2a3a;--td-info-text:#64b5f6;--td-shadow-sm:0 1px 2px 0 #0000004d;--td-shadow-md:0 4px 6px -1px #0006;--td-shadow-lg:0 10px 15px -3px #0006;--td-shadow-xl:0 20px 25px -5px #0006;--td-shadow-2xl:0 25px 50px -12px #00000080}.heading-1{color:#202020;color:var(--td-text-primary);font-size:2rem;font-weight:700}.heading-2{font-size:1.5rem}.heading-2,.heading-3{color:#202020;color:var(--td-text-primary);font-weight:600}.heading-3{font-size:1.25rem}.heading-4{color:#202020;color:var(--td-text-primary);font-size:1rem;font-weight:600}.label{color:#666;color:var(--td-text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;margin-bottom:var(--td-space-xs)}.input,.select,.textarea{background-color:#fff;background-color:var(--td-bg-primary);border:1px solid #e0e0e0;border:1px solid var(--td-border);border-radius:.375rem;border-radius:var(--td-radius-md);color:#202020;color:var(--td-text-primary);font-size:.875rem;padding:.5rem .75rem;padding:var(--td-space-sm) var(--td-space-md);transition:border-color .15s ease;transition:border-color var(--td-transition-fast);width:100%}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:#ccc;border-color:var(--td-border-hover)}.input:focus,.select:focus,.textarea:focus{border-color:#dc4c3e;border-color:var(--td-primary);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background-color:#f5f5f5;background-color:var(--td-bg-subtle);cursor:not-allowed;opacity:.6}.btn{align-items:center;border:none;border-radius:.375rem;border-radius:var(--td-radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;gap:var(--td-space-xs);justify-content:center;padding:.5rem 1rem;padding:var(--td-space-sm) var(--td-space-lg);transition:all .15s ease;transition:all var(--td-transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#dc4c3e;background-color:var(--td-primary)}.btn-primary:hover:not(:disabled){background-color:#c53727;background-color:var(--td-primary-hover)}.btn-ghost{background-color:initial;border:1px solid #e0e0e0;border:1px solid var(--td-border);color:var(--td-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:#eee;background-color:var(--td-bg-hover);border-color:#ccc;border-color:var(--td-border-hover)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.gap-sm{gap:.5rem;gap:var(--td-space-sm)}.gap-md{gap:.75rem;gap:var(--td-space-md)}.gap-lg{gap:1rem;gap:var(--td-space-lg)}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--td-bg-subtle);border-radius:var(--td-radius-sm)}.modal-content::-webkit-scrollbar-thumb{background:var(--td-border-hover);border-radius:var(--td-radius-sm)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--td-text-tertiary)}.btn-icon:hover:not(:disabled){background-color:var(--td-bg-hover);border-radius:var(--td-radius-sm);color:var(--td-text-primary)!important}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:var(--td-primary);outline:2px solid var(--td-primary);outline-offset:2px}[data-theme=dark] .modal-content input[style*="border-color: var(--td-danger)"],[data-theme=dark] .modal-content select[style*="border-color: var(--td-danger)"]{border-color:#ef4444!important}@media (max-width:640px){.modal-overlay{padding:var(--td-space-md)}.modal-content{max-height:95vh}.grid.grid-cols-2{grid-template-columns:1fr}}.modal-content input:disabled,.modal-content select:disabled,.modal-content textarea:disabled{cursor:not-allowed;opacity:.6}.modal-content input::placeholder,.modal-content textarea::placeholder{color:var(--td-text-tertiary);opacity:.8}.modal-content [style*="--td-info-subtle"] p:before{margin-right:var(--td-space-xs)}.schedule-page{margin:0 auto;max-width:1400px;padding:1.5rem}.schedule-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.schedule-title{color:var(--color-text-primary);font-size:2rem;font-weight:700;margin:0}.schedule-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.view-toggle{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:8px;display:flex;gap:.25rem;padding:.25rem}.schedule-filters{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.filters-title{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin:0 0 1.25rem}.filter-group{margin-bottom:1.25rem}.filter-label{color:var(--color-text-secondary);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.filter-pills{display:flex;flex-wrap:wrap;gap:.5rem}.filter-pill{background:var(--color-bg-primary);border:2px solid var(--color-border-medium);border-radius:9999px;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;min-height:40px;padding:.5rem 1rem;transition:all .15s ease}.filter-pill:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.filter-pill.active{background:var(--color-bg-hover);font-weight:600}.filter-pill.active.montagem{background:var(--color-primary-100);border-color:var(--color-primary-500);color:var(--color-primary-text-on-bg)}.filter-pill.active.desmontagem{background:var(--color-danger-100);border-color:var(--color-danger-500);color:var(--color-danger-text-on-bg)}.filter-pill.active.recebimento{background:var(--color-success-100);border-color:var(--color-success-500);color:var(--color-success-text-on-bg)}.filter-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.25rem}.filter-dates{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:1fr 1fr auto}.filter-input-group{display:flex;flex-direction:column;gap:.5rem}.filter-input{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:1rem;min-height:44px;padding:.75rem 1rem;transition:all .15s ease;width:100%}.filter-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50);outline:none}.filter-input::placeholder{color:var(--color-text-tertiary)}.clear-btn{min-height:44px;white-space:nowrap}.schedule-legend{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1rem}.legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.legend-dot{border-radius:4px;height:16px;width:16px}.legend-dot.montagem{background:var(--color-primary-500)}.legend-dot.desmontagem{background:var(--color-danger-500)}.legend-dot.recebimento{background:var(--color-success-500)}.schedule-cards{display:flex;flex-direction:column;gap:1rem}.schedule-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);padding:1.25rem;transition:all .15s ease}.schedule-card:hover{border-color:var(--color-border-medium);box-shadow:var(--shadow-md)}.card-badge{margin-bottom:.75rem}.card-title{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem}.card-details{display:flex;flex-direction:column;gap:.5rem}.card-detail{align-items:baseline;display:flex;font-size:.875rem;gap:.5rem}.card-detail strong{color:var(--color-text-secondary);font-weight:600;min-width:100px}.card-detail span{color:var(--color-text-primary)}.schedule-table{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.table-header{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);display:grid;font-size:.8125rem;font-weight:700;grid-template-columns:140px 2fr 110px 90px 1fr;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase}.table-body{max-height:600px;overflow-y:auto}.table-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:grid;grid-template-columns:140px 2fr 110px 90px 1fr;padding:1rem 1.5rem;transition:background .15s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--color-bg-hover)}.table-cell{color:var(--color-text-primary);font-size:.875rem}.table-cell.card-name{font-weight:500}.table-cell.muted{color:var(--color-text-secondary)}.schedule-calendar{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;padding:1rem}.schedule-calendar .fc{--fc-border-color:var(--color-border);--fc-button-bg-color:var(--color-primary-500);--fc-button-border-color:var(--color-primary-500);--fc-button-hover-bg-color:var(--color-primary-600);--fc-button-hover-border-color:var(--color-primary-600);--fc-button-active-bg-color:var(--color-primary-700);--fc-button-active-border-color:var(--color-primary-700);--fc-today-bg-color:var(--color-primary-50)}.schedule-calendar .fc-theme-standard th{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text-secondary);font-weight:600}.schedule-calendar .fc-theme-standard td{border-color:var(--color-border)}.schedule-calendar .fc-col-header-cell-cushion,.schedule-calendar .fc-daygrid-day-number,.schedule-calendar .fc-timegrid-slot-label-cushion{color:var(--color-text-primary)}.schedule-calendar .fc-day-today{background:var(--color-primary-50)!important}.schedule-calendar .fc-event{border:none;border-radius:4px;font-size:.75rem;font-weight:500;padding:2px 4px}.schedule-calendar .fc-event.event-montagem{background:var(--color-primary-500);color:#fff}.schedule-calendar .fc-event.event-desmontagem{background:var(--color-danger-500);color:#fff}.schedule-calendar .fc-event.event-recebimento{background:var(--color-success-500);color:#fff}@media (max-width:768px){.schedule-page{padding:1rem}.schedule-header{align-items:flex-start;flex-direction:column}.schedule-title{font-size:1.5rem}.schedule-actions,.view-toggle{width:100%}.view-toggle button{flex:1 1}.schedule-filters{padding:1rem}.filter-dates,.filter-inputs{grid-template-columns:1fr}.clear-btn{width:100%}.schedule-legend{gap:1rem;padding:.75rem}.schedule-calendar{padding:.5rem}.schedule-calendar .fc-toolbar{flex-direction:column;gap:.5rem}.schedule-calendar .fc-toolbar-chunk{display:flex;justify-content:center}}.loading-screen{align-items:center;color:var(--color-text-secondary);display:flex;font-size:1rem;justify-content:center;min-height:400px}.schedule-card,.table-row{animation:fadeIn .2s ease}.table-body::-webkit-scrollbar{height:8px;width:8px}.table-body::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.table-body::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.table-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:root,[data-theme=light]{--color-bg-page:#fafafa;--color-bg-primary:#fff;--color-bg-secondary:#f8f9fa;--color-bg-hover:#f5f5f5;--color-bg-active:#eee;--color-text-primary:#202020;--color-text-secondary:#4a4a4a;--color-text-tertiary:#6e6e6e;--color-text-disabled:#9e9e9e;--color-text-inverse:#fff;--color-border-light:#f0f0f0;--color-border:#e0e0e0;--color-border-medium:#c8c8c8;--color-border-strong:#9e9e9e;--color-primary-50:#e3f2fd;--color-primary-100:#bbdefb;--color-primary-200:#90caf9;--color-primary-500:#0d6efd;--color-primary-600:#0b5ed7;--color-primary-700:#084298;--color-primary-text-on-bg:#084298;--color-success-50:#d1f4e0;--color-success-100:#b2eacc;--color-success-500:#198754;--color-success-600:#157347;--color-success-700:#0f5132;--color-success-text-on-bg:#0f5132;--color-danger-50:#ffe5e8;--color-danger-100:#ffccd2;--color-danger-500:#dc3545;--color-danger-600:#c82333;--color-danger-700:#b02a37;--color-danger-text-on-bg:#b02a37;--color-warning-50:#fff8e5;--color-warning-100:#ffecb3;--color-warning-500:#ff9800;--color-warning-600:#ed7c00;--color-warning-700:#c60;--color-warning-text-on-bg:#c60;--color-info-50:#e3f5ff;--color-info-100:#b8e4ff;--color-info-500:#0dcaf0;--color-info-600:#0aa2c0;--color-info-700:#087990;--color-info-text-on-bg:#087990;--color-gray-50:#f8f9fa;--color-gray-100:#e9ecef;--color-gray-200:#dee2e6;--color-gray-300:#ced4da;--color-gray-400:#adb5bd;--color-gray-500:#6c757d;--color-gray-600:#495057;--color-gray-700:#343a40;--color-gray-800:#212529;--color-gray-900:#0d0d0d;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #00000014;--shadow-md:0 4px 8px #0000001f;--shadow-lg:0 8px 16px #00000026;--shadow-xl:0 12px 24px #0000002e}[data-theme=dark]{--color-bg-page:#1a1a1a;--color-bg-primary:#242424;--color-bg-secondary:#2a2a2a;--color-bg-elevated:#2e2e2e;--color-bg-hover:#ffffff0d;--color-bg-active:#ffffff1a;--color-text-primary:#f5f5f5;--color-text-secondary:#c8c8c8;--color-text-tertiary:#9e9e9e;--color-text-disabled:#6e6e6e;--color-text-inverse:#1a1a1a;--color-border-light:#2e2e2e;--color-border:#3a3a3a;--color-border-medium:#4a4a4a;--color-border-strong:#5a5a5a;--color-primary-50:#0d6efd1a;--color-primary-100:#0d6efd33;--color-primary-200:#0d6efd4d;--color-primary-500:#4d94ff;--color-primary-600:#3d84ff;--color-primary-700:#2d74ff;--color-primary-text-on-bg:#6ea8fe;--color-success-50:#1987541a;--color-success-100:#19875433;--color-success-500:#3fb76f;--color-success-600:#2fa75f;--color-success-700:#1f974f;--color-success-text-on-bg:#5fd98f;--color-danger-50:#dc35451a;--color-danger-100:#dc354533;--color-danger-500:#ff6b7a;--color-danger-600:#ff5b6a;--color-danger-700:#ff4b5a;--color-danger-text-on-bg:#ff8a94;--color-warning-50:#ff98001a;--color-warning-100:#ff980033;--color-warning-500:#ffb54d;--color-warning-600:#ffa53d;--color-warning-700:#ff952d;--color-warning-text-on-bg:#ffc97a;--color-info-50:#0dcaf01a;--color-info-100:#0dcaf033;--color-info-500:#4dd8f5;--color-info-600:#3dc8e5;--color-info-700:#2db8d5;--color-info-text-on-bg:#7de8ff;--color-gray-50:#2a2a2a;--color-gray-100:#323232;--color-gray-200:#3a3a3a;--color-gray-300:#4a4a4a;--color-gray-400:#6e6e6e;--color-gray-500:#9e9e9e;--color-gray-600:#c8c8c8;--color-gray-700:#d8d8d8;--color-gray-800:#e8e8e8;--color-gray-900:#f5f5f5;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #0006;--shadow-md:0 4px 8px #00000080;--shadow-lg:0 8px 16px #0009;--shadow-xl:0 12px 24px #000000b3}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;line-height:1;padding:.25rem .75rem;white-space:nowrap}.badge-primary{background-color:#bbdefb;background-color:var(--color-primary-100);border:1px solid #90caf9;border:1px solid var(--color-primary-200);color:#084298;color:var(--color-primary-text-on-bg)}.badge-success{background-color:#b2eacc;background-color:var(--color-success-100);border:1px solid var(--color-success-200);color:#0f5132;color:var(--color-success-text-on-bg)}.badge-danger{background-color:#ffccd2;background-color:var(--color-danger-100);border:1px solid var(--color-danger-200);color:#b02a37;color:var(--color-danger-text-on-bg)}.badge-warning{background-color:#ffecb3;background-color:var(--color-warning-100);border:1px solid var(--color-warning-200);color:#c60;color:var(--color-warning-text-on-bg)}.badge-info{background-color:#b8e4ff;background-color:var(--color-info-100);border:1px solid var(--color-info-200);color:#087990;color:var(--color-info-text-on-bg)}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;line-height:1;padding:.25rem .75rem;white-space:nowrap}.status-badge.approved,.status-badge.paid,.status-badge.received{background-color:#b2eacc;background-color:var(--color-success-100);border:1px solid var(--color-success-200);color:#0f5132;color:var(--color-success-text-on-bg)}.status-badge.pending,.status-badge.review{background-color:#ffecb3;background-color:var(--color-warning-100);border:1px solid var(--color-warning-200);color:#c60;color:var(--color-warning-text-on-bg)}.status-badge.declined,.status-badge.overdue,.status-badge.unpaid{background-color:#ffccd2;background-color:var(--color-danger-100);border:1px solid var(--color-danger-200);color:#b02a37;color:var(--color-danger-text-on-bg)}*{transition-duration:.2s;transition-property:background-color,color,border-color,box-shadow;transition-timing-function:ease-in-out}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-3{left:.75rem}.top-1\/2{top:50%}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:#6b21a8;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*,body,html{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}:root,[data-theme=light]{--color-primary:#dc4c3e;--color-primary-hover:#c5433a;--color-primary-light:#ffe3e0;--color-primary-dark:#a83830;--color-bg:#fafafa;--color-bg-alt:#fff;--color-bg-elevated:#fff;--color-content-bg:#fff;--color-text-primary:#1f1f1f;--color-text-secondary:#666;--color-text-tertiary:#999;--color-text-disabled:#ccc;--color-border:#f0f0f0;--color-border-strong:#e0e0e0;--color-divider:#f5f5f5;--color-hover:#f9f9f9;--color-active:#f5f5f5;--color-focus:#dc4c3e1a;--color-success:#058527;--color-warning:#ff9a14;--color-danger:#dc4c3e;--color-info:#4073ff;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029}[data-theme=dark]{--color-primary:#eb5545;--color-primary-hover:#ff6a59;--color-primary-light:#eb554526;--color-primary-dark:#c5433a;--color-bg:#1f1f1f;--color-bg-alt:#282828;--color-bg-elevated:#2f2f2f;--color-content-bg:#282828;--color-text-primary:#fff;--color-text-secondary:#b3b3b3;--color-text-tertiary:grey;--color-text-disabled:#4d4d4d;--color-border:#333;--color-border-strong:#404040;--color-divider:#2a2a2a;--color-hover:#ffffff0d;--color-active:#ffffff14;--color-focus:#eb554526;--color-success:#29b955;--color-warning:#ffa940;--color-danger:#eb5545;--color-info:#5f95ff;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-xl:0 16px 48px #0009}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,"sans-serif";font-size:14px;line-height:1.5;margin:0;padding:0;transition:background-color .2s ease,color .2s ease}body,input,select,textarea{color:#1f1f1f;color:var(--color-text-primary)}input,select,textarea{background:#fff;background:var(--color-bg-alt);border:1px solid #e0e0e0;border:1px solid var(--color-border-strong);border-radius:5px;font-family:inherit;font-size:13px;padding:8px 10px;transition:all .15s ease;width:100%}input:hover,select:hover,textarea:hover{background:#fff;background:var(--color-bg-elevated);border-color:#e0e0e0;border-color:var(--color-border-strong)}input:focus,select:focus,textarea:focus{background:#fff;background:var(--color-bg-elevated);border-color:#dc4c3e;border-color:var(--color-primary);box-shadow:0 0 0 3px #dc4c3e1a;box-shadow:0 0 0 3px var(--color-focus);outline:none}input::placeholder,textarea::placeholder{color:#999;color:var(--color-text-tertiary)}input:disabled,select:disabled,textarea:disabled{background:#fafafa;background:var(--color-bg);cursor:not-allowed;opacity:.5}button{background:#0000;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:13px;margin:0;padding:0;transition:all .15s ease}button:disabled{cursor:not-allowed;opacity:.4}.btn-primary{background:#dc4c3e;background:var(--color-primary);border-radius:5px;box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs);color:#fff;font-weight:500;padding:8px 12px}.btn-primary:hover:not(:disabled){background:#c5433a;background:var(--color-primary-hover);box-shadow:0 2px 4px #0000000f;box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{background:#fff;background:var(--color-bg-elevated);border:1px solid #e0e0e0;border:1px solid var(--color-border-strong);border-radius:5px;color:#1f1f1f;color:var(--color-text-primary);font-weight:500;padding:8px 12px}.btn-secondary:hover:not(:disabled){background:#f9f9f9;background:var(--color-hover);border-color:#e0e0e0;border-color:var(--color-border-strong)}.btn-ghost{border-radius:5px;color:#666;color:var(--color-text-secondary);padding:8px 12px}.btn-ghost:hover:not(:disabled){background:#f9f9f9;background:var(--color-hover);color:#1f1f1f;color:var(--color-text-primary)}.btn-icon{align-items:center;border-radius:5px;color:#666;color:var(--color-text-secondary);display:inline-flex;height:32px;justify-content:center;width:32px}.btn-icon:hover:not(:disabled){background:#f9f9f9;background:var(--color-hover);color:#1f1f1f;color:var(--color-text-primary)}.card{background:#fff;background:var(--color-content-bg);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs);padding:16px;transition:all .15s ease}.card:hover{border-color:#e0e0e0;border-color:var(--color-border-strong);box-shadow:0 2px 4px #0000000f;box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:active{transform:scale(.99)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#fafafa;background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999;background:var(--color-text-tertiary)}.text-sm{font-size:12px}.text-base{font-size:13px}.text-lg{font-size:14px}.text-xl{font-size:16px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-secondary{color:#666;color:var(--color-text-secondary)}.text-tertiary{color:#999;color:var(--color-text-tertiary)}.divider{height:1px;margin:12px 0}.divider,.divider-vertical{background:#f5f5f5;background:var(--color-divider)}.divider-vertical{margin:0 12px;width:1px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fadeIn .2s ease}.animate-slide-up{animation:slideInUp .2s ease}.animate-slide-right{animation:slideInRight .2s ease}@media (max-width:768px){body{font-size:14px}.card{border-radius:6px;padding:12px}input,select,textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.task-list-dnd{grid-gap:1.5rem;gap:1.5rem}.task-section{background:#fff;background:var(--color-bg-alt);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:12px;padding:1rem;transition:background .2s ease,transform .2s ease}.task-section-title{font-size:1rem;font-weight:600;margin-bottom:.75rem}.task-section-list{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.task-item{background:#fff;background:var(--color-bg-elevated);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:8px;transition:box-shadow .2s,transform .2s}.task-item:active{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);transform:scale(1.02)}.task-btn{align-items:center;color:#1f1f1f;color:var(--color-text-primary);cursor:grab;display:flex;justify-content:space-between;padding:10px 12px;width:100%}.delete-btn,.task-btn{background:#0000;border:none}.delete-btn{cursor:pointer;font-size:1.1rem;opacity:.7;transition:opacity .2s}.delete-btn:hover{opacity:1}.task-section.is-over{background:#ffe3e0;background:var(--color-primary-light);border-color:#dc4c3e;border-color:var(--color-primary)}.drop-ghost{animation:ghostInList .15s ease forwards}@keyframes ghostInList{0%{opacity:0;transform:scale(.98)}to{opacity:.45;transform:scale(1)}}.kb-task,.tl-item{background:#fff;background:var(--color-bg-elevated);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:10px}.kb-task-btn,.tl-item-btn{align-items:center;background:#0000;border:none;color:#1f1f1f;color:var(--color-text-primary);cursor:grab;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.kb-task-btn:active,.tl-item-btn:active{cursor:grabbing}.kb-task-delete,.tl-item-delete{background:#0000;border:none;cursor:pointer;font-size:16px;opacity:.7}.kb-task-delete:hover,.tl-item-delete:hover{opacity:1}.drop-ghost{animation:ghostIn .15s ease forwards;background:#ffe3e0;background:var(--color-primary-light);border:2px dashed #dc4c3e;border:2px dashed var(--color-primary);border-radius:10px;height:52px;margin:4px 0;opacity:.45;transition:all .15s ease}.drop-ghost.hovered{border-color:#c5433a;border-color:var(--color-primary-hover);opacity:.75;transform:scale(1.02)}@keyframes ghostIn{0%{opacity:0;transform:scale(.98)}to{opacity:.45;transform:scale(1)}}.kanban-container{-webkit-overflow-scrolling:touch;align-items:flex-start;padding:8px 8px 16px;scroll-snap-type:x mandatory}.kanban-column{max-width:420px;min-width:320px;padding:16px}.kanban-column-title{align-items:baseline;display:flex;font-size:16px;gap:8px;margin:0 0 12px}.kanban-column-count{font-size:12px}.kanban-column-list{grid-gap:8px;border-radius:8px;display:grid;gap:8px;max-height:calc(100vh - 220px);padding:4px}.kanban-column-empty{font-size:14px;margin-top:12px}.kb-overlay{background:var(--color-bg-alt);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-width:320px;opacity:.96;transform:scale(1.03)}.task-list-dnd{grid-gap:16px;display:grid;gap:16px}.tl-section{background:#fff;background:var(--color-bg-alt);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:12px;padding:16px;transition:background .2s ease,transform .2s ease,border-color .2s ease}.tl-section.is-over{background:#ffe3e0;background:var(--color-primary-light);border-color:#dc4c3e;border-color:var(--color-primary)}.tl-section-title{align-items:baseline;display:flex;font-weight:600;gap:8px;margin:0 0 10px}.tl-section-count{color:#999;color:var(--color-text-tertiary);font-size:12px}.tl-section-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.tl-section-empty{border:2px dashed #0000;border-radius:10px;color:#999;color:var(--color-text-tertiary);margin-top:8px;padding:16px;text-align:center}@media (max-width:768px){.kanban-column{max-width:88vw;min-width:88vw}.kanban-column-list{max-height:calc(100dvh - 210px)}.task-list-dnd{-webkit-overflow-scrolling:touch;display:flex;gap:12px;overflow-x:auto;padding:4px 6px;scroll-snap-type:x mandatory}.tl-section{max-width:90vw;min-width:90vw;scroll-snap-align:start}.kb-task-btn,.tl-item-btn{touch-action:none}}.tld-container{display:block;padding:8px 0 24px}.tld-section{background:#fff;background:var(--color-bg-alt);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:12px;margin:0 0 12px;padding:12px 12px 8px}.tld-section-header{align-items:baseline;border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:0 0 8px}.tld-section-title{color:#1f1f1f;color:var(--color-text-primary);font-weight:600;margin:0}.tld-section-count{color:#999;color:var(--color-text-tertiary);font-size:12px}.tld-list{grid-gap:8px;border-radius:8px;display:grid;gap:8px;list-style:none;margin:10px 0 0;padding:0;transition:background .2s ease}.tld-list.is-over{background:#ffe3e0;background:var(--color-primary-light)}.tld-row{background:#fff;background:var(--color-bg-elevated);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:10px}.tld-row-btn{align-items:center;background:#0000;border:none;color:#1f1f1f;color:var(--color-text-primary);cursor:grab;display:flex;gap:12px;justify-content:space-between;padding:10px 12px;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.tld-row-btn:active{cursor:grabbing}.tld-row-title{text-align:left}.tld-row-delete{background:#0000;border:none;cursor:pointer;font-size:16px;opacity:.7}.tld-row-delete:hover{opacity:1}.tld-drop-ghost{animation:tldGhostIn .15s ease forwards;background:#ffe3e0;background:var(--color-primary-light);border:2px dashed #dc4c3e;border:2px dashed var(--color-primary);border-radius:10px;height:52px;margin:4px 0;opacity:.45;transition:all .15s ease}.tld-drop-ghost.hovered{border-color:#c5433a;border-color:var(--color-primary-hover);opacity:.75;transform:scale(1.02)}@keyframes tldGhostIn{0%{opacity:0;transform:scale(.98)}to{opacity:.45;transform:scale(1)}}.tld-overlay{background:#fff;background:var(--color-bg-alt);border:1px solid #e0e0e0;border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-width:320px;opacity:.96;padding:12px;transform:scale(1.03)}@media (max-width:768px){.tld-section{border-radius:14px}.tld-row-btn{padding:12px 14px}}.kanban-container{display:flex;gap:16px;gap:var(--td-space-lg,16px);overflow-x:auto;overflow-y:hidden;padding:1rem;scroll-snap-type:x proximity;scrollbar-width:thin}.kanban-container::-webkit-scrollbar{height:8px}.kanban-container::-webkit-scrollbar-thumb{background:#f0f0f0;background:var(--color-border);border-radius:8px}.kanban-container::-webkit-scrollbar-thumb:hover{background:#e0e0e0;background:var(--color-border-strong)}.kanban-column{background:#fff;background:var(--color-bg-alt);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-xs);display:flex;flex:0 0 340px;flex-direction:column;max-height:calc(100vh - 180px);scroll-snap-align:start}.kanban-column-header{align-items:center;background:#fff;background:var(--color-bg-elevated);border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--color-border);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:.75rem .75rem .5rem}.kanban-column-title-wrap{align-items:center;display:flex;gap:8px}.kanban-column-grip{cursor:grab;font-size:18px;opacity:.5;transition:opacity .2s;-webkit-user-select:none;user-select:none}.kanban-column-grip:hover{opacity:.9}.kanban-column-title{cursor:text;font-weight:600;-webkit-user-select:none;user-select:none}.kanban-column-input,.kanban-column-title{color:#1f1f1f;color:var(--color-text-primary);font-size:1rem}.kanban-column-input{background:#fafafa;background:var(--color-bg);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:6px;padding:4px 6px;width:140px}.kanban-column-actions{align-items:center;display:flex;gap:6px}.kanban-column-actions .btn-ghost{background:none;border:none;border-radius:6px;color:#999;color:var(--color-text-tertiary);cursor:pointer;font-size:15px;padding:2px 6px;transition:background .15s}.kanban-column-actions .btn-ghost:hover{background:#f9f9f9;background:var(--color-hover);color:#666;color:var(--color-text-secondary)}.kanban-column-count{color:#999;color:var(--color-text-tertiary);font-size:.9rem}.kanban-column-list{flex:1 1;overflow-y:auto;padding:.5rem;transition:background .15s}.kanban-column-list.is-over{background:#ffe3e0;background:var(--color-primary-light);border-radius:8px}.kanban-column-empty{border:2px dashed #f0f0f0;border:2px dashed var(--color-border);border-radius:8px;color:#999;color:var(--color-text-tertiary);font-size:.9rem;padding:1.5rem .5rem;text-align:center}.kb-task{background:#fff;background:var(--color-bg-alt);border:1px solid #f0f0f0;border:1px solid var(--color-border);border-radius:8px;cursor:grab;margin-bottom:.5rem;padding:.5rem;transition:all .2s}.kb-task:hover{border-color:#e0e0e0;border-color:var(--color-border-strong);box-shadow:0 2px 4px #0000000f;box-shadow:var(--shadow-sm)}.kb-task-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;width:100%}.kb-task-title{color:#1f1f1f;color:var(--color-text-primary);font-size:.95rem;font-weight:500;text-align:left;word-break:break-word}.kb-task-delete{background:none;border:none;color:#999;color:var(--color-text-tertiary);cursor:pointer;font-size:.9rem}.kb-task-delete:hover{color:#dc4c3e;color:var(--color-danger)}.add-column{align-items:center;background:#fff;background:var(--color-bg-alt);border:2px dashed #f0f0f0;border:2px dashed var(--color-border);border-radius:12px;display:flex;justify-content:center;min-width:240px;transition:all .2s}.add-column:hover{background:#f9f9f9;background:var(--color-hover);border-color:#dc4c3e;border-color:var(--color-primary)}.add-column-btn{background:none;border:none;color:#dc4c3e;color:var(--color-primary);cursor:pointer;font-weight:600;padding:1rem}.kb-overlay{background:#fff;background:var(--color-bg-elevated);border:1px solid #e0e0e0;border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);font-size:.95rem;font-weight:500;opacity:.9;padding:12px}@media (max-width:768px){.kanban-container{gap:12px;padding:.5rem;scroll-snap-type:x mandatory}.kanban-column{flex:0 0 88vw;max-width:88vw;min-width:84vw}.kanban-column-title{font-size:.95rem}.kanban-column-input{font-size:.9rem;width:120px}.kb-task{padding:.6rem .5rem}}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}:focus-visible{outline:3px solid #6366f1;outline:3px solid var(--color-primary,#6366f1);outline-offset:2px}[role=button]:focus-visible,[tabindex="0"]:focus-visible,button:focus-visible{box-shadow:0 0 0 6px #6366f133;box-shadow:0 0 0 6px var(--color-primary-fade,#6366f133);outline:3px solid #6366f1;outline:3px solid var(--color-primary,#6366f1);outline-offset:2px}[aria-grabbed=true]:focus-visible,[data-keyboard-dragging]:focus-visible{animation:pulse-focus 1.5s ease-in-out infinite;box-shadow:0 0 0 6px #10b98133;box-shadow:0 0 0 6px var(--color-success-fade,#10b98133);outline:3px solid #10b981;outline:3px solid var(--color-success,#10b981);outline-offset:3px}@keyframes pulse-focus{0%,to{box-shadow:0 0 0 6px #10b98133;box-shadow:0 0 0 6px var(--color-success-fade,#10b98133)}50%{box-shadow:0 0 0 8px #10b9814d;box-shadow:0 0 0 8px var(--color-success-fade,#10b9814d)}}:focus:not(:focus-visible){box-shadow:none;outline:none}[role=button],a,button,input,select,textarea{min-height:44px;min-width:44px}.kb-task-btn,.task-list-item-content,.tl-item-btn{-webkit-tap-highlight-color:transparent;cursor:pointer;min-height:44px;padding:12px;touch-action:none}.kb-task-action-btn,.kb-task-delete,.tl-item-delete{padding:12px}.icon-button,.kb-task-action-btn,.kb-task-delete,.tl-item-delete{align-items:center;display:inline-flex;justify-content:center;min-height:44px;min-width:44px}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}#a11y-announcer{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}[aria-grabbed=true],[data-keyboard-dragging=true]{background:#10b9811a;background:var(--color-success-light,#10b9811a);border:2px solid #10b981;border:2px solid var(--color-success,#10b981);box-shadow:0 8px 16px #0003;position:relative;transform:scale(1.02);z-index:100}[aria-grabbed=true]:before,[data-keyboard-dragging]:before{align-items:center;animation:bounce 1s ease-in-out infinite;background:#10b981;background:var(--color-success,#10b981);border-radius:50%;box-shadow:0 2px 8px #0003;content:"✋";display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:-12px;top:-12px;width:32px;z-index:10}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}[aria-dropeffect=move]{background:#6366f11a;background:var(--color-primary-light,#6366f11a);border:2px dashed #6366f1;border:2px dashed var(--color-primary,#6366f1)}@media (prefers-contrast:high){:focus-visible{outline-offset:3px;outline-width:4px}.drop-ghost,[aria-grabbed=true],[data-keyboard-dragging]{border-width:3px}.drop-ghost{opacity:.9}[role=button],button{border:2px solid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[aria-grabbed=true],[data-keyboard-dragging]{animation:none;transform:none}[aria-grabbed=true]:before,[data-keyboard-dragging]:before{animation:none}:hover{transform:none}}.keyboard-hint{background:#fff;background:var(--color-bg-elevated,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;box-shadow:0 4px 6px #0000001a;color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.75rem;left:0;margin-top:8px;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;top:100%;transition:opacity .2s ease;white-space:nowrap;z-index:1000}:focus-visible .keyboard-hint{opacity:1}.skip-link{background:#6366f1;background:var(--color-primary,#6366f1);border-radius:0 0 4px 0;color:#fff;left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;transition:top .2s ease;z-index:10000}.skip-link:focus{top:0}.drag-instructions{background:#3b82f61a;background:var(--color-info-light,#3b82f61a);border-left:4px solid #3b82f6;border-left:4px solid var(--color-info,#3b82f6);border-radius:4px;color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem;margin-bottom:16px;padding:12px 16px}.drag-instructions-title{color:#111827;color:var(--color-text-primary,#111827);font-weight:600;margin-bottom:4px}@media (max-width:768px){[role=button],a,button{min-height:48px;min-width:48px}.kb-task-btn,.task-list-item-content,.tl-item-btn{min-height:48px;padding:14px}.kb-task-action-btn,.kb-task-delete,.tl-item-delete{min-height:48px;min-width:48px;padding:14px}:focus-visible{outline-offset:3px;outline-width:4px}}@media (prefers-color-scheme:dark){:focus-visible{outline-color:#818cf8;outline-color:var(--color-primary-light,#818cf8)}[aria-grabbed=true]:focus-visible{outline-color:#34d399;outline-color:var(--color-success-light,#34d399)}[aria-grabbed=true]:before,[data-keyboard-dragging]:before{background:#34d399;background:var(--color-success-light,#34d399);color:#000}[aria-dropeffect=move]{background:#6366f133;background:var(--color-primary-dark,#6366f133)}}@media (forced-colors:active){[role=button],[tabindex="0"],button{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight}[aria-grabbed=true]{background:Highlight;border:3px solid Highlight}[aria-dropeffect=move]{border:2px dashed Highlight}}.focus-trap-active{isolation:isolate;position:relative}.focus-trap-active~*{opacity:.5;pointer-events:none}.a11y-badge{align-items:center;background:#10b9811a;background:var(--color-success-light,#10b9811a);border:1px solid #10b981;border:1px solid var(--color-success,#10b981);border-radius:3px;color:#10b981;color:var(--color-success,#10b981);display:inline-flex;font-size:.625rem;font-weight:600;gap:4px;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase}.a11y-badge:before{content:"♿"}[aria-busy=true]{pointer-events:none;position:relative}[aria-busy=true]:after{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#6366f1;border:3px solid var(--color-border,#e5e7eb);border-radius:50%;border-top-color:var(--color-primary,#6366f1);content:"";height:24px;left:50%;margin:-12px 0 0 -12px;position:absolute;top:50%;width:24px}@keyframes spin{to{transform:rotate(1turn)}}[aria-invalid=true]{border-color:#ef4444;border-color:var(--color-danger,#ef4444);outline-color:#ef4444;outline-color:var(--color-danger,#ef4444)}[aria-invalid=true]:focus-visible{box-shadow:0 0 0 6px #ef444433;box-shadow:0 0 0 6px var(--color-danger-fade,#ef444433);outline-color:#ef4444;outline-color:var(--color-danger,#ef4444)}[data-tooltip]{position:relative}[data-tooltip]:after{background:#1f2937;background:var(--color-bg-tooltip,#1f2937);border-radius:4px;bottom:100%;color:#fff;content:attr(data-tooltip);font-size:.75rem;left:50%;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(-8px);transition:opacity .2s ease;white-space:nowrap;z-index:1000}[data-tooltip]:focus-visible:after,[data-tooltip]:hover:after{opacity:1}[data-tooltip]:before{border:6px solid #0000;border-top:6px solid var(--color-bg-tooltip,#1f2937);bottom:100%;content:"";left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease}[data-tooltip]:focus-visible:before,[data-tooltip]:hover:before{opacity:1}@media print{[role=button],button{display:none}:focus,:focus-visible{box-shadow:none;outline:none}[aria-expanded=false]+*{display:block!important}}
/*# sourceMappingURL=main.479d9fde.css.map*/