:root{--bg-primary: #FDFCFB;--bg-secondary: #F8F7F5;--bg-elevated: #FFFFFF;--text-primary: #1A1A1A;--text-secondary: #6B6B6B;--text-tertiary: #A8A8A8;--border-light: #ECECEC;--border-medium: #D4D4D4;--accent-primary: #2C6BED;--accent-primary-hover: #1E56D4;--accent-danger: #E63946;--accent-success: #06A77D;--accent-warning: #F2A541;--status-todo: #2C6BED;--status-progress: #F2A541;--status-done: #06A77D;--status-canceled: #A8A8A8;--font-serif: "Crimson Pro", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-sans);line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;position:relative;overflow-x:hidden}#root{position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2;margin:0;color:var(--text-primary)}h1{font-size:clamp(2.5rem,4vw,3.5rem);letter-spacing:-.02em;font-weight:700}h2{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.01em}h3{font-size:1.125rem;font-weight:600;font-family:var(--font-sans)}a{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:color .15s ease}a:hover{color:var(--accent-primary-hover)}button{font-family:var(--font-sans);font-weight:500;font-size:.9375rem;padding:.625rem 1.25rem;border:1px solid var(--border-medium);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .15s ease;border-radius:6px;letter-spacing:-.01em}button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:var(--font-sans);font-size:.9375rem;padding:.625rem .875rem;border:1px solid var(--border-medium);background:var(--bg-elevated);color:var(--text-primary);transition:all .15s ease;border-radius:6px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #2c6bed14}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.login-container{width:100%;max-width:420px;background:var(--bg-elevated);border:1px solid var(--border-light);padding:3rem 2.5rem;border-radius:12px;box-shadow:0 20px 60px #00000014;animation:fadeIn .5s ease,floatUp .5s ease}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-title{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.login-subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:.9375rem;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form-group{display:flex;flex-direction:column;gap:.5rem}.login-label{font-weight:500;font-size:.875rem;color:var(--text-primary)}.login-input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-medium);background:var(--bg-primary);font-size:.9375rem;transition:all .15s ease}.login-input:focus{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:0 0 0 3px #2c6bed14}.login-error{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:6px;color:var(--accent-danger);font-size:.875rem;font-weight:500;animation:floatUp .3s ease}.login-error:before{content:"⚠";font-size:1.125rem}.login-button{width:100%;padding:.875rem 1.5rem;background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .15s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.login-container{padding:2.5rem 2rem}.login-title{font-size:1.75rem}}.tasks-page{min-height:100vh;max-width:1280px;margin:0 auto;padding:0 2rem 4rem;animation:fadeIn .4s ease}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{display:flex;justify-content:space-between;align-items:center;padding:3rem 0 2rem;margin-bottom:2rem;border-bottom:1px solid var(--border-light);animation:slideInUp .5s ease}.header-content{flex:1}.page-title{font-size:2rem;margin-bottom:.25rem;letter-spacing:-.02em}.welcome-text{font-size:.9375rem;color:var(--text-secondary);font-weight:400}.logout-btn{padding:.5rem 1rem;color:var(--text-secondary);border-color:var(--border-light);font-size:.875rem;transition:all .15s ease}.logout-btn:hover{color:var(--text-primary);border-color:var(--border-medium)}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:var(--accent-danger);margin-bottom:2rem;font-size:.9375rem;animation:slideInUp .3s ease}.error-icon{font-size:1.25rem}.main-content{animation:slideInUp .5s ease .1s backwards}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.content-header-left{display:flex;align-items:baseline;gap:1rem}.content-header h2{font-size:1.5rem}.task-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .625rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.btn-primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);font-weight:500}.btn-primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.btn-small{padding:.5rem 1rem;font-size:.875rem}.quick-add-form{margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;animation:slideInUp .3s ease}.quick-add-grid{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:.75rem;align-items:center}.quick-add-input{background:var(--bg-elevated)}.title-input{font-weight:500}.date-input{font-size:.875rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:6rem 2rem;color:var(--text-tertiary)}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.empty-state h3{font-size:1.25rem;color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{font-size:.9375rem}.tasks-table-container{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.tasks-table{width:100%;border-collapse:collapse;font-size:.9375rem}.tasks-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.tasks-table th{text-align:left;padding:.875rem 1.25rem;font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.col-title{width:40%}.col-status{width:15%}.col-assigned{width:25%}.col-due{width:12%}.col-actions{width:8%}.task-row{border-bottom:1px solid var(--border-light);transition:background-color .15s ease;animation:slideInRight .4s ease backwards}.task-row:last-child{border-bottom:none}.task-row:hover{background:var(--bg-secondary)}.task-row td{padding:1.25rem;vertical-align:middle}.task-title-content{display:flex;align-items:flex-start;gap:.875rem}.status-indicator{flex-shrink:0;width:6px;height:6px;border-radius:50%;margin-top:.5rem;transition:all .2s ease}.task-row:hover .status-indicator{transform:scale(1.5)}.task-text{flex:1;min-width:0}.task-title{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem;line-height:1.4}.task-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.status-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236B6B6B' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;font-weight:500;font-size:.875rem;min-width:140px;cursor:pointer}.assigned-users{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.user-chips{display:flex;gap:.5rem;flex-wrap:wrap}.user-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;font-size:.8125rem;font-weight:500;transition:all .15s ease}.user-chip:hover{background:var(--bg-primary);border-color:var(--border-medium)}.user-avatar{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--accent-primary);color:#fff;border-radius:50%;font-size:.6875rem;font-weight:600;letter-spacing:.02em}.user-name{color:var(--text-primary)}.user-remove{all:unset;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-size:1.125rem;line-height:1;font-weight:400}.user-remove:hover{background:var(--accent-danger);color:#fff}.unassigned-text{color:var(--text-tertiary);font-size:.875rem;font-style:italic}.user-select{appearance:none;background-image:none;padding:.375rem .625rem;font-size:.8125rem;color:var(--accent-primary);font-weight:500;border:1px solid transparent;min-width:0;cursor:pointer;transition:all .15s ease}.user-select:hover{background:var(--bg-secondary);border-color:var(--border-light)}.user-select option[disabled]{color:var(--text-tertiary)}.due-date{color:var(--text-secondary);font-size:.875rem;font-weight:500}.btn-delete{all:unset;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:all .15s ease}.btn-delete:hover{background:#fef2f2;color:var(--accent-danger)}.btn-delete svg{display:block}@media(max-width:1024px){.quick-add-grid{grid-template-columns:1fr 1fr}.quick-add-grid .title-input{grid-column:1 / -1}.col-title{width:50%}.col-assigned{width:30%}.col-due{display:none}}@media(max-width:768px){.tasks-page{padding:0 1rem 3rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem 0 1.5rem}.logout-btn{align-self:stretch}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-primary{width:100%}.quick-add-grid{grid-template-columns:1fr}.tasks-table-container{overflow-x:auto}.tasks-table{min-width:600px}.col-status,.col-actions{display:none}.col-title{width:60%}.col-assigned{width:40%}}@media print{.page-header button,.content-header button,.quick-add-form,.btn-delete,.user-remove,.user-select{display:none}.tasks-table-container{border:none}.task-row{break-inside:avoid}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
