:root{--color-bg: #f0f2f5;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-border: #d1d5db;--color-primary: #f59e0b;--color-primary-hover: #d97706}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text)}#root{min-height:100vh}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);background-image:url(/pika-on-hay-pile.jpg);background-size:cover;background-position:center;padding:1rem;position:relative}.auth__caption{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:.875rem;color:#fff;background:#000000b3;padding:.5rem 1rem;border-radius:4px;font-style:italic}.auth__container{width:100%;max-width:400px;background-color:var(--color-surface);border-radius:12px;padding:2.5rem 2rem;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;text-align:center}.auth__logo{width:120px;height:120px;margin-bottom:1rem}.auth__title{font-size:1.75rem;font-weight:700;margin:0 0 .25rem;color:var(--color-text)}.auth__subtitle{font-size:1rem;font-weight:400;margin:0 0 1.5rem;color:var(--color-text-muted)}.auth__form{display:flex;flex-direction:column;gap:1rem;text-align:left}.auth__field{display:flex;flex-direction:column;gap:.375rem}.auth__label{font-size:.875rem;font-weight:500;color:var(--color-text)}.auth__input{padding:.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease}.auth__input:focus{outline:none;border-color:var(--color-primary)}.auth__input::placeholder{color:var(--color-text-muted)}.auth__button{padding:.875rem 1rem;font-size:1rem;font-weight:600;color:#1a1a1a;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;margin-top:.5rem;transition:background-color .15s ease}.auth__button:hover{background-color:var(--color-primary-hover)}.auth__button:disabled{opacity:.6;cursor:not-allowed}.auth__error{padding:.75rem 1rem;font-size:.875rem;color:#dc2626;background-color:#fef2f2;border-radius:8px;border:1px solid #fecaca}.auth__message{padding:.75rem 1rem;font-size:.875rem;color:#059669;background-color:#ecfdf5;border-radius:8px;border:1px solid #a7f3d0}.auth__toggle{display:block;width:100%;margin-top:1.5rem;padding:.5rem;font-size:.875rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color .15s ease}.auth__toggle:hover{color:var(--color-primary)}.card{background:#fff;border-radius:4px;padding:8px 10px;margin-bottom:8px;box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 2px 4px #00000026}.card--dragging{box-shadow:0 4px 12px #0003;transform:rotate(2deg)}.card__title{font-size:14px;color:#333}.card__due-date{font-size:11px;color:#666;margin-top:6px}.column{background:#f4f5f7;border-radius:6px;display:flex;flex-direction:column;max-height:100%;height:100%}.column__header{padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:grab;border-radius:6px 6px 0 0;transition:background-color .15s}.column__header:hover{background:#ebecf0}.column__title{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;color:#5e6c84;margin:0;letter-spacing:.5px;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s}.column__title:hover{background:#dfe1e6}.column__title-input{flex:1;font-size:12px;font-weight:600;text-transform:uppercase;color:#5e6c84;letter-spacing:.5px;padding:2px 4px;border:1px solid #0079bf;border-radius:3px;background:#fff;outline:none}.column__count{font-size:12px;color:#5e6c84;background:#dfe1e6;padding:2px 8px;border-radius:10px}.column__delete-btn{background:none;border:none;color:#5e6c84;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.column:hover .column__delete-btn{opacity:1}.column__delete-btn:hover{background:#ffebe6;color:#cf1322}.column__cards{padding:0 8px 8px;flex:1;overflow-y:auto;min-height:60px;transition:background-color .2s}.column__cards--drag-over{background:#e3f2fd}.column__footer{padding:8px}.column__add-btn{width:100%;padding:8px 12px;background:none;border:none;border-radius:4px;color:#5e6c84;font-size:13px;cursor:pointer;text-align:left;transition:background-color .15s,color .15s}.column__add-btn:hover{background:#dfe1e6;color:#172b4d}.column__add-form{background:#fff;border-radius:4px;padding:8px;box-shadow:0 1px 2px #0000001a}.column__add-input{width:100%;padding:8px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;margin-bottom:8px}.column__add-input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.column__add-actions{display:flex;gap:8px}.column__add-submit{padding:6px 12px;background:#0079bf;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.column__add-submit:hover:not(:disabled){background:#026aa7}.column__add-submit:disabled{background:#a0c3d9;cursor:not-allowed}.column__add-cancel{padding:6px 10px;background:none;border:none;color:#5e6c84;font-size:16px;cursor:pointer;border-radius:4px;transition:background-color .15s}.column__add-cancel:hover{background:#dfe1e6}.project{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.project__header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fafbfc;border-bottom:1px solid #e1e4e8;cursor:pointer;transition:background-color .15s}.project__header:hover{background:#e1e4e8}.project__collapse-icon{font-size:12px;color:#6a737d;padding:4px;transition:color .15s}.project__header:hover .project__collapse-icon{color:#24292e}.project__title{font-size:16px;font-weight:600;color:#24292e;margin:0;flex:1}.project__delete-btn{background:none;border:none;color:#6a737d;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.project:hover .project__delete-btn{opacity:1}.project__delete-btn:hover{background:#ffebe6;color:#cf1322}.project__column-count{font-size:12px;color:#6a737d}.project__columns{display:flex;gap:12px;padding:16px;overflow-x:auto;min-height:200px}.project__columns--drag-over{background:#e3f2fd}.project__column-wrapper{flex:0 0 260px}.project__column-wrapper--dragging{opacity:.9}.project__column-wrapper--dragging .column{box-shadow:0 4px 12px #00000026;transform:rotate(2deg)}.project--collapsed .project__header{border-bottom:none}.project__add-column{flex:0 0 260px;display:flex;flex-direction:column}.project__add-column-btn{width:100%;padding:12px;background:#f4f5f7;border:2px dashed #dfe1e6;border-radius:6px;color:#5e6c84;font-size:14px;cursor:pointer;transition:background-color .15s,border-color .15s}.project__add-column-btn:hover{background:#ebecf0;border-color:#c1c7d0}.project__add-column-form{background:#f4f5f7;border-radius:6px;padding:12px}.project__add-column-input{width:100%;padding:8px 10px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;margin-bottom:8px}.project__add-column-input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.project__add-column-actions{display:flex;gap:8px}.project__add-column-submit{padding:6px 12px;background:#0079bf;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s}.project__add-column-submit:hover:not(:disabled){background:#026aa7}.project__add-column-submit:disabled{background:#a0c3d9;cursor:not-allowed}.project__add-column-cancel{padding:6px 10px;background:none;border:none;color:#5e6c84;font-size:16px;cursor:pointer;border-radius:4px;transition:background-color .15s}.project__add-column-cancel:hover{background:#dfe1e6}.kanban-board{padding:20px;min-height:100vh;background:#f0f2f5}.kanban-board__group{margin-bottom:32px}.kanban-board__group--collapsed{margin-bottom:16px}.kanban-board__group-header{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:8px;border-bottom:2px solid #d1d5da;cursor:pointer;border-radius:6px 6px 0 0;transition:background-color .15s}.kanban-board__group-header:hover{background:#e1e4e8}.kanban-board__group--collapsed .kanban-board__group-header{border-bottom:none;border-radius:6px;background:#e1e4e8}.kanban-board__group--collapsed .kanban-board__group-header:hover{background:#d1d5da}.kanban-board__group-collapse-btn{background:none;border:none;font-size:12px;color:#6a737d;padding:4px;cursor:pointer;transition:color .15s}.kanban-board__group-header:hover .kanban-board__group-collapse-btn{color:#24292e}.kanban-board__group-title{font-size:18px;font-weight:600;color:#24292e;margin:0;flex:1}.kanban-board__group-count{font-size:13px;color:#6a737d}.sidebar{width:240px;background:#24292e;color:#e1e4e8;display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;transition:width .2s ease}.sidebar--collapsed{width:60px}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #444d56}.sidebar__brand--collapsed{flex-direction:column;gap:12px;padding:12px 8px}.sidebar__logo{width:32px;height:32px;border-radius:6px}.sidebar__brand-name{font-size:16px;font-weight:600;color:#e1e4e8;flex:1}.sidebar__collapse-btn{background:none;border:none;color:#959da5;font-size:10px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__collapse-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__header{padding:16px;border-bottom:1px solid #444d56;display:flex;align-items:center;justify-content:space-between}.sidebar__title-btn{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#959da5;background:none;border:none;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__title-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__add-group-btn{background:none;border:none;color:#959da5;font-size:18px;cursor:pointer;padding:2px 8px;border-radius:4px;transition:background-color .15s,color .15s}.sidebar__add-group-btn:hover{background:#2f363d;color:#e1e4e8}.sidebar__add-group-form{padding:12px 16px;border-bottom:1px solid #444d56}.sidebar__add-group-input{width:100%;padding:8px 10px;border:1px solid #444d56;border-radius:4px;background:#2f363d;color:#e1e4e8;font-size:13px;margin-bottom:8px}.sidebar__add-group-input:focus{outline:none;border-color:#58a6ff}.sidebar__add-group-actions{display:flex;gap:8px}.sidebar__add-group-submit{padding:6px 12px;background:#238636;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s}.sidebar__add-group-submit:hover:not(:disabled){background:#2ea043}.sidebar__add-group-submit:disabled{background:#1e4620;cursor:not-allowed}.sidebar__add-group-cancel{padding:6px 10px;background:none;border:none;color:#959da5;font-size:14px;cursor:pointer;border-radius:4px;transition:background-color .15s}.sidebar__add-group-cancel:hover{background:#2f363d}.sidebar__nav{flex:1;min-height:0;overflow-y:auto;padding:8px 0}.sidebar__group{margin-bottom:4px;transition:background-color .15s}.sidebar__group--dragging{background:#2f363d;border-radius:4px}.sidebar__group-header{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#e1e4e8;font-size:13px;font-weight:600;cursor:grab;transition:background-color .15s}.sidebar__group-header:hover{background:#2f363d}.sidebar__chevron-btn{background:none;border:none;font-size:10px;width:16px;color:#959da5;cursor:pointer;padding:2px}.sidebar__chevron-btn:hover{color:#e1e4e8}.sidebar__group-name{flex:1;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s}.sidebar__group-name:hover{background:#444d56}.sidebar__group-input{flex:1;padding:2px 4px;border:1px solid #58a6ff;border-radius:3px;background:#2f363d;color:#e1e4e8;font-size:13px;font-weight:600;outline:none}.sidebar__group-count{font-size:11px;color:#959da5;background:#444d56;padding:2px 6px;border-radius:10px}.sidebar__group-edit-btn,.sidebar__group-delete-btn{background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.sidebar__group-header:hover .sidebar__group-edit-btn,.sidebar__group-header:hover .sidebar__group-delete-btn{opacity:1}.sidebar__group-edit-btn:hover{background:#58a6ff33;color:#58a6ff}.sidebar__group-delete-btn:hover{background:#f8514933;color:#f85149}.sidebar__projects{list-style:none;margin:0;padding:4px 0;min-height:8px;transition:background-color .15s}.sidebar__projects--drag-over{background:#58a6ff1a}.sidebar__project{display:flex;align-items:center;width:100%;padding:6px 16px 6px 40px;background:none;border:none;color:#b1bac4;font-size:13px;cursor:grab;text-align:left;transition:background-color .15s,color .15s}.sidebar__project:hover{background:#2f363d;color:#e1e4e8}.sidebar__project--dragging{background:#58a6ff;color:#fff;border-radius:4px}.sidebar__project-name{flex:1;cursor:pointer}.sidebar__project-input{flex:1;padding:2px 4px;border:1px solid #58a6ff;border-radius:3px;background:#2f363d;color:#e1e4e8;font-size:13px;outline:none}.sidebar__project-edit-btn,.sidebar__project-delete-btn{background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.sidebar__project:hover .sidebar__project-edit-btn,.sidebar__project:hover .sidebar__project-delete-btn{opacity:1}.sidebar__project-edit-btn:hover{background:#58a6ff33;color:#58a6ff}.sidebar__project-delete-btn:hover{background:#f8514933;color:#f85149}.sidebar__add-project-btn{padding:6px 16px 6px 40px;color:#6a737d;font-size:13px;cursor:pointer;transition:background-color .15s,color .15s}.sidebar__add-project-btn:hover{background:#2f363d;color:#959da5}.sidebar__add-project-form{padding:8px 16px 8px 36px}.sidebar__add-project-input{width:100%;padding:6px 8px;border:1px solid #444d56;border-radius:4px;background:#2f363d;color:#e1e4e8;font-size:12px;margin-bottom:6px}.sidebar__add-project-input:focus{outline:none;border-color:#58a6ff}.sidebar__add-project-actions{display:flex;gap:6px}.sidebar__add-project-submit{padding:4px 10px;background:#238636;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:background-color .15s}.sidebar__add-project-submit:hover:not(:disabled){background:#2ea043}.sidebar__add-project-submit:disabled{background:#1e4620;cursor:not-allowed}.sidebar__add-project-cancel{padding:4px 8px;background:none;border:none;color:#959da5;font-size:12px;cursor:pointer;border-radius:4px;transition:background-color .15s}.sidebar__add-project-cancel:hover{background:#2f363d}.sidebar__footer{padding:16px;border-top:1px solid #444d56;margin-top:auto;flex-shrink:0}.sidebar__footer--collapsed{padding:12px 8px;display:flex;justify-content:center}.sidebar__sign-out{width:100%;padding:8px 12px;font-size:13px;background:transparent;color:#959da5;border:1px solid #444d56;border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s}.sidebar__sign-out:hover{background:#2f363d;color:#e1e4e8}.sidebar__sign-out--collapsed{width:auto;padding:6px 10px;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e1e4e8}.modal__title{font-size:18px;font-weight:600;margin:0;color:#24292e}.modal__close{background:none;border:none;font-size:20px;color:#6a737d;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s}.modal__close:hover{background:#f1f3f5}.modal__body{padding:20px;overflow-y:auto}.modal__field{margin-bottom:16px}.modal__field:last-child{margin-bottom:0}.modal__label{display:block;font-size:13px;font-weight:600;color:#5e6c84;margin-bottom:6px}.modal__input{width:100%;padding:10px 12px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;transition:border-color .15s,box-shadow .15s}.modal__input:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.modal__textarea{width:100%;padding:10px 12px;border:1px solid #dfe1e6;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .15s,box-shadow .15s}.modal__textarea:focus{outline:none;border-color:#0079bf;box-shadow:0 0 0 2px #0079bf33}.modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #e1e4e8;background:#fafbfc}.modal__footer-right{display:flex;gap:8px}.modal__btn{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.modal__btn--save{background:#0079bf;color:#fff;border:none}.modal__btn--save:hover:not(:disabled){background:#026aa7}.modal__btn--save:disabled{background:#a0c3d9;cursor:not-allowed}.modal__btn--cancel{background:#fff;color:#5e6c84;border:1px solid #dfe1e6}.modal__btn--cancel:hover{background:#f4f5f7}.modal__btn--delete{background:#fff;color:#cf1322;border:1px solid #ffa39e}.modal__btn--delete:hover{background:#fff1f0}.empty-state{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem}.empty-state__content{text-align:center;max-width:400px}.empty-state__title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--color-text)}.empty-state__description{font-size:1rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}.empty-state__button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--color-primary);border:none;border-radius:4px;cursor:pointer}.empty-state__button:hover{background-color:var(--color-primary-hover)}.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg);padding:2rem;text-align:center}.not-found__logo{width:100px;height:100px;margin-bottom:1.5rem}.not-found__title{font-size:5rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem;line-height:1}.not-found__message{font-size:1.25rem;color:var(--color-text-muted);margin:0 0 2rem}.not-found__link{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#1a1a1a;background-color:var(--color-primary);border-radius:8px;text-decoration:none;transition:background-color .15s ease}.not-found__link:hover{background-color:var(--color-primary-hover)}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app__header{background:transparent;padding:8px 20px;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.app__header-spacer{flex:1}.app__sign-out{padding:6px 12px;font-size:13px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;transition:background-color .15s,color .15s}.app__sign-out:hover{background:#f3f4f6;color:#374151}.app__loading,.app__error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1rem;color:var(--color-text-muted, #666)}.app__body{flex:1;display:flex;overflow:hidden;min-height:0}.app__main{flex:1;overflow-y:auto;display:flex;flex-direction:column}.app__main--empty{display:flex;align-items:center;justify-content:center}.app__breadcrumb{display:flex;align-items:center;gap:4px;padding:12px 20px;font-size:14px;color:#6b7280;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.app__breadcrumb-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0}.app__breadcrumb-link:hover{text-decoration:underline}.app__breadcrumb-current{color:#374151;font-weight:500}
