:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input{border-radius:8px;border:1px solid #444;padding:.6em 1em;font-size:1em;font-family:inherit;background-color:#1a1a1a;color:inherit}input:focus{border-color:#646cff;outline:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}input{background-color:#fff;border-color:#ccc}}#root{max-width:1400px;margin:0 auto;padding:1rem}.loading{text-align:center;padding:3rem}.auth-container{max-width:400px;margin:2rem auto;text-align:center}.auth-form{background:#ffffff0d;border-radius:12px;padding:2rem;margin-top:1rem}.auth-form h2{margin-top:0;margin-bottom:1.5rem}.auth-form form{display:flex;flex-direction:column;gap:1rem}.auth-form input{width:100%;box-sizing:border-box}.auth-form button[type=submit]{margin-top:.5rem}.auth-error{color:#ff6b6b;background:#ff6b6b1a;padding:.5rem 1rem;border-radius:8px;margin-bottom:1rem}.auth-toggle{margin-top:1rem;color:#888}.auth-toggle button{background:none;border:none;color:#646cff;cursor:pointer;padding:0;margin-left:.5rem}.google-btn{margin-top:1rem;background:#4285f4!important;color:#fff;border:none}.google-btn:hover{background:#357abd!important}.dev-warning{color:#ff9800;font-size:.85rem;margin-bottom:1rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #444}.header h1{margin:0}.subtitle{color:#888;margin:0;font-size:.9rem}.user-info{display:flex;align-items:center;gap:1rem}.user-email{color:#888;font-size:.9rem}.sign-out-btn{background:transparent;border:1px solid #666;color:#888;font-size:.85rem;padding:.4em .8em}.sign-out-btn:hover{border-color:#ff6b6b;color:#ff6b6b}.controls{display:flex;gap:.5rem}.controls button:disabled{opacity:.5;cursor:not-allowed}.controls .offline-btn{background:#ff9800;border-color:#ff9800;color:#000}.controls .offline-btn:hover{background:#f57c00;border-color:#f57c00}.controls .online-btn{background:transparent;border-color:#666;color:#888}.controls .online-btn:hover{border-color:#ff9800;color:#ff9800}.status-bar{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;padding:.5rem 1rem;background:#ffffff0d;border-radius:8px;font-size:.85rem}.status-bar .status{color:#4caf50}.status-bar .status.error{color:#ff6b6b}.status-bar .status.offline{color:#ff9800}.pending-badge{background:#ff9800;color:#000;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.error-banner{background:#ff6b6b33;color:#ff6b6b;padding:.5rem 1rem;border-radius:8px;margin-bottom:1rem}.main-content{display:flex;gap:1.5rem}.sidebar{width:250px;flex-shrink:0}.project-selector,.member-list{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem}.project-selector h4,.member-list h4{margin:0 0 .75rem;font-size:.9rem;color:#888}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-header h4{margin:0}.refresh-btn{background:transparent;border:none;padding:.25em .5em;font-size:1rem;cursor:pointer}.project-list{list-style:none;padding:0;margin:0 0 .75rem}.project-list li{padding:.5rem .75rem;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.project-list li:hover{background:#ffffff1a}.project-list li.selected{background:#646cff33}.project-name{font-size:.9rem}.owner-badge,.member-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:4px}.owner-badge{background:#4caf5033;color:#4caf50}.member-badge{background:#646cff33;color:#646cff}.you-badge{font-size:.7rem;color:#888;margin-left:.5rem}.no-projects{color:#666;font-size:.85rem;text-align:center;padding:1rem 0}.new-project-btn{width:100%;background:transparent;border:1px dashed #444;color:#888;font-size:.85rem}.new-project-btn:hover{border-color:#646cff;color:#646cff}.new-project-form{display:flex;flex-direction:column;gap:.5rem}.new-project-form input{font-size:.85rem;padding:.5rem}.new-project-buttons{display:flex;gap:.5rem}.new-project-buttons button{flex:1;font-size:.8rem;padding:.4em .8em}.cancel-btn{background:transparent;border:1px solid #444}.member-list ul{list-style:none;padding:0;margin:0 0 .75rem}.member-list li{padding:.4rem 0;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.member-list li.owner{font-weight:500}.remove-btn{background:transparent;border:none;color:#ff6b6b;font-size:.75rem;padding:.2em .4em;margin-left:auto;cursor:pointer}.invite-form{display:flex;gap:.5rem}.invite-form input{flex:1;font-size:.8rem;padding:.4rem .6rem}.invite-form button{font-size:.8rem;padding:.4em .8em}.members-panel{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.members-header h4{margin:0;font-size:.9rem;color:#888}.members-error{color:#ff6b6b;font-size:.8rem;margin-bottom:.5rem}.members-list{list-style:none;padding:0;margin:0 0 .75rem}.members-list li{padding:.4rem 0;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.member-email{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-member-btn{background:transparent;border:none;color:#666;font-size:1rem;padding:0 .3em;cursor:pointer;line-height:1}.remove-member-btn:hover{color:#ff6b6b}.no-members{color:#666;font-size:.85rem;text-align:center;padding:.5rem 0;margin:0}.invite-error{color:#ff6b6b;font-size:.75rem;margin-top:.25rem;width:100%}.board-section{flex:1;min-width:0}.add-column-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-column-form input{flex:1;max-width:200px}.add-column-form input[type=number]{max-width:80px}.board{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;min-height:400px}.column{background:#ffffff0d;border-radius:12px;padding:1rem;min-width:280px;max-width:280px;display:flex;flex-direction:column}.column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.column-header h3{margin:0;font-size:1.1rem}.wip-badge{font-size:.8rem;color:#888;background:#ffffff1a;padding:.2rem .5rem;border-radius:4px}.wip-badge.at-limit{color:#ff6b6b;background:#ff6b6b33}.cards{flex:1;display:flex;flex-direction:column;gap:.5rem}.card{background:#ffffff1a;border-radius:8px;padding:.75rem;cursor:grab;transition:transform .1s,box-shadow .1s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.card.dragging{opacity:.5}.card.drop-before{border-top:3px solid #4ade80;margin-top:-3px}.card.drop-after{border-bottom:3px solid #4ade80;margin-bottom:-3px}.card-id{font-size:.7rem;color:#666;margin-bottom:.25rem}.card-title{font-size:.95rem;cursor:text}.card-edit-form{margin:0}.card-edit-form input{width:100%;font-size:.95rem;padding:.25rem;border:1px solid #646cff;border-radius:4px;background:#0003;color:inherit;box-sizing:border-box}.add-card-form{margin-top:auto;padding-top:.5rem;display:flex;gap:.5rem}.add-card-form input{flex:1;box-sizing:border-box}.add-card-form button{padding:.6em 1em}.empty-board{text-align:center;color:#666;padding:3rem}.info{color:#888;font-size:.85rem;margin-top:1rem;text-align:center}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#ff9800f2;color:#000;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;box-shadow:0 4px 12px #0000004d;animation:slideUp .3s ease-out;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-color-scheme:light){.header{border-bottom-color:#ddd}.status-bar,.auth-form{background:#f5f5f5}.sidebar>div,.project-selector,.members-panel{background:#f5f5f5}.column{background:#f5f5f5}.column-header{border-bottom-color:#ddd}.wip-badge{background:#e0e0e0;color:#666}.card{background:#fff;box-shadow:0 1px 3px #0000001a}.card:hover{box-shadow:0 4px 12px #00000026}}
