@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Sora:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--page-bg: linear-gradient(180deg, #f7f8fb 0%, #eef2f7 100%);--board-bg: radial-gradient(1100px 500px at 15% -10%, rgba(47, 122, 248, .16), transparent 55%), radial-gradient(900px 420px at 85% -20%, rgba(16, 185, 129, .18), transparent 55%), #edf1f7;--surface: #ffffff;--surface-2: #f6f8fc;--surface-3: #eef2f7;--text: #0f172a;--text-muted: #5b677b;--accent: #2f7af8;--accent-strong: #1f5fd6;--accent-soft: #dbe7ff;--danger: #e4564a;--border: rgba(15, 23, 42, .12);--border-soft: rgba(15, 23, 42, .08);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 10px 24px rgba(15, 23, 42, .12);--shadow-lg: 0 18px 40px rgba(15, 23, 42, .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}body{font-family:Sora,Space Grotesk,Montserrat,sans-serif;background:var(--page-bg);color:var(--text);line-height:1.5}h1,h2,h3,h4{font-family:Space Grotesk,Sora,sans-serif}.app{min-height:100vh}.boards-list{padding:40px 20px;max-width:1200px;margin:0 auto;animation:page-fade .35s ease}.boards-list h1{font-size:24px;font-weight:600;margin-bottom:24px;color:var(--text)}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.board-card{background:linear-gradient(135deg,#2f7af8,#2ac3a2);border-radius:var(--radius-md);padding:18px;height:104px;text-decoration:none;color:#fff;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.18);transition:transform .2s ease,box-shadow .2s ease}.board-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.board-card h3{font-size:17px;font-weight:700;margin-bottom:4px}.board-card p{font-size:12px;opacity:.8}.board{height:100vh;background:var(--board-bg);padding:20px;overflow-x:auto;animation:page-fade .35s ease}.board-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:8px;flex-wrap:wrap;gap:12px}.board-header h2{color:var(--text);font-size:22px;font-weight:700}.board-actions{display:flex;gap:8px;flex-wrap:wrap}.board-actions button{background:var(--surface);color:var(--text);border:1px solid var(--border-soft);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}.board-actions button:hover{background:var(--surface-2);transform:translateY(-1px);box-shadow:var(--shadow-md)}.board-actions button:first-child{background:var(--accent);color:#fff;border-color:transparent}.board-actions button:first-child:hover{background:var(--accent-strong)}.columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,auto);gap:12px;align-items:flex-start;height:calc(100vh - 120px);overflow-x:auto;padding-bottom:16px}@media (max-width: 768px){.columns{grid-auto-columns:85vw}.board{padding:12px}.board-header{padding:4px}}.column{background:#ffffffc7;border-radius:var(--radius-md);height:fit-content;max-height:100%;display:flex;flex-direction:column;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:column-rise .35s ease}.column h3{font-size:14px;font-weight:600;padding:10px 12px;color:var(--text)}.task-list{min-height:1px;padding:4px 6px 8px;overflow-y:auto;max-height:calc(100vh - 200px)}.task-card{background:var(--surface);border-radius:var(--radius-md);padding:12px;margin-bottom:10px;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.task-card:hover{background:var(--surface-2);transform:translateY(-2px);box-shadow:var(--shadow-md)}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.task-header h4{font-size:15px;font-weight:600;color:var(--text);word-wrap:break-word}.task-actions{opacity:0;transition:opacity .2s ease}.task-card:hover .task-actions{opacity:1}.task-actions button{background:var(--surface-3);border:1px solid var(--border-soft);padding:4px 8px;border-radius:var(--radius-sm);margin-left:4px;cursor:pointer;font-size:12px;color:var(--text)}.task-actions button:hover{background:var(--surface-2)}.task-card p{font-size:13px;color:var(--text-muted);margin-bottom:8px}.task-meta{font-size:12px;color:var(--text-muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;display:flex;justify-content:center;align-items:flex-start;padding-top:48px;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:1120px;min-height:72vh;max-height:90vh;padding:24px;margin:48px 0;box-shadow:var(--shadow-lg);border:1px solid var(--border-soft);animation:modal-pop .25s ease;display:flex;flex-direction:column}.modal-content h2{font-size:22px;font-weight:600;margin-bottom:16px;color:var(--text)}.task-form{flex:1;min-height:0;overflow-y:auto;padding-right:6px;display:flex;flex-direction:column}.task-form-body{display:flex;gap:24px;align-items:stretch;flex:1;min-height:0}.task-form-column{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:700;margin-bottom:4px;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f7af82e;outline:none}.form-group textarea{min-height:100px;resize:vertical}.ai-history-textarea{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:1.4;background:var(--surface);white-space:pre-wrap;flex:1;min-height:0}.ai-history-field textarea[readonly]{color:var(--text)}.ai-history-field{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}@media (max-width: 900px){.task-form-body{flex-direction:column}.ai-history-textarea{min-height:220px}}.assignees-list,.users-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;max-height:200px;overflow-y:auto}.checkbox-label{display:flex;align-items:center;padding:4px 8px;cursor:pointer;border-radius:3px;transition:background .2s ease}.checkbox-label:hover{background:var(--surface-2)}.checkbox-label input[type=checkbox]{margin-right:8px;width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button{padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;font-size:14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.modal-actions button[type=submit]{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.modal-actions button[type=submit]:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-actions button[type=button]{background:var(--surface-2);color:var(--text);border-color:var(--border-soft)}.modal-actions button[type=button]:hover{background:var(--surface-3)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--page-bg)}.login-container form{background:var(--surface);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-container h2{text-align:center;color:var(--text);margin-bottom:24px;font-size:24px;font-weight:600}.login-container input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.login-container input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f7af82e;outline:none}.login-container button{width:100%;padding:10px 12px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.login-container button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.task-list.dragging-over{background-color:#091e4214;border-radius:var(--radius-sm)}.task-card.is-dragging{background:var(--surface);box-shadow:var(--shadow-lg);transform:rotate(2deg)}.task-list::-webkit-scrollbar{width:8px}.task-list::-webkit-scrollbar-track{background:transparent}.task-list::-webkit-scrollbar-thumb{background:#0f172a38;border-radius:4px}.task-list::-webkit-scrollbar-thumb:hover{background:#0f172a52}.app-header{background:linear-gradient(90deg,#2f7af8,#23b4a5);padding:10px 16px;box-shadow:var(--shadow-sm)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center}.header-right{display:flex;align-items:center;gap:16px}.back-arrow{font-size:20px;margin-right:4px}.nav-link{color:#fff;text-decoration:none;padding:6px 12px;border-radius:var(--radius-sm);transition:background .2s ease;display:flex;align-items:center}.nav-link:hover{background:#fff3}.user-info{color:#fff;display:flex;align-items:center;gap:8px}.user-role{opacity:.8;font-size:.9em}.logout-button{background:#ffffff38;color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background .2s ease,transform .2s ease}.logout-button:hover{background:#ffffff52;transform:translateY(-1px)}.boards-list{padding-top:20px}.board{height:calc(100vh - 48px)}.users-management{max-width:1200px;margin:0 auto;padding:24px}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.users-list-table{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-soft)}.users-list-table table{width:100%;border-collapse:collapse}.users-list-table th,.users-list-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-soft)}.users-list-table th{background:var(--surface-2);font-weight:600;color:var(--text-muted)}.delete-button{background:var(--danger);color:#fff;border:none;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.delete-button:hover{background:#cc3d32}.checkbox-group{display:flex;align-items:center}.checkbox-group input[type=checkbox]{margin-right:8px}.assignees-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.find-random-button{background:var(--surface-2);border:1px solid var(--border-soft);padding:6px 12px;margin:4px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text);transition:all .2s ease}.find-random-button:hover{background:var(--surface-3);transform:translateY(-1px)}.find-random-button:active{transform:translateY(0)}@keyframes modal-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes page-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes column-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg);padding:20px}.login-form{background:var(--surface);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-soft);width:100%;max-width:400px;animation:modal-pop .3s ease}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{color:var(--text);font-size:1.875rem;font-weight:600;margin-bottom:.5rem}.login-header p{color:var(--text-muted);font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-muted);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;color:var(--text);transition:all .2s}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f7af82e}.error-message{background-color:#fff5f5;color:#c53030;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1.5rem;border:1px solid #feb2b2}.login-button{width:100%;padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.login-button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-button:focus{outline:none;box-shadow:0 0 0 3px #2f7af838}.login-button:disabled{background:#9fb0c5;cursor:not-allowed}@media (max-width: 480px){.login-form{padding:1.5rem}}.tasks-by-user-modal{width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.tasks-by-user-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-soft)}.tasks-by-user-modal .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;color:var(--text-muted)}.tasks-by-user-modal .close-button:hover{color:var(--text)}.tasks-by-user{flex:1;overflow-y:auto;padding:1rem}.user-tasks{margin-bottom:2rem;padding:1.5rem;background-color:var(--surface-2);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-soft)}.user-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.task-stats{display:flex;gap:1rem}.stat{background-color:var(--surface-3);padding:.35rem .85rem;border-radius:16px;font-size:.875rem;color:var(--text-muted)}.tasks-list{display:grid;gap:1rem}.task-item{background-color:var(--surface);padding:1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-soft)}.tasks-by-user .task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.task-description{color:var(--text-muted);margin-bottom:1rem;line-height:1.4}.task-footer{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-muted)}.task-status{padding:.25rem .75rem;border-radius:16px;font-size:.75rem;font-weight:500}.status-new{background-color:#e0eeff;color:#1f5fd6}.status-in-progress{background-color:#fff1dc;color:#d97706}.status-on-hold{background-color:#ffe0e6;color:#c0265b}.status-done{background-color:#dff6ec;color:#15803d}.no-tasks{text-align:center;color:var(--text-muted);padding:2rem;background-color:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border-soft)}.assignees{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.overdue-yellow{border:2px solid #ffd600!important;box-shadow:0 0 8px #ffd60033}.overdue-red{border:2px solid #d32f2f!important;box-shadow:0 0 8px #d32f2f33}
