*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f4f5f7;color:#172b4d}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;font-size:16px}.page-loading{padding:40px;text-align:center;color:#5e6c84}.btn{border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500}.btn-primary{background:#0079bf;color:#fff}.btn-primary:hover{background:#026aa7}.btn-secondary{background:#dfe1e6;color:#172b4d}.btn-secondary:hover{background:#c1c7d0}.btn-danger{background:#eb5a46;color:#fff}.text-input{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#5e6c84}.text-input input{padding:8px 10px;border:2px solid #dfe1e6;border-radius:4px;font-size:16px}.text-input input:focus{outline:none;border-color:#0079bf}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0079bf,#026aa7)}.auth-card{background:#fff;padding:32px;border-radius:8px;width:340px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 24px #0003}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-switch{font-size:13px;color:#5e6c84;text-align:center}.form-error{background:#ffebe6;color:#bf2600;padding:8px 10px;border-radius:4px;font-size:13px;margin:0}.board-page-error{margin:8px 16px 0;cursor:pointer}.boards-page{max-width:960px;margin:0 auto;padding:32px 24px}.boards-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.boards-header h1{font-size:24px;margin:0}.boards-header-user{display:flex;align-items:center;gap:12px;font-size:14px}.board-create-form{display:flex;align-items:flex-end;gap:10px;margin-bottom:24px;max-width:400px}.board-create-form .text-input{flex:1}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.board-tile{position:relative;background:#0079bf;border-radius:6px;height:90px}.board-tile-link{display:block;height:100%;color:#fff;text-decoration:none;font-weight:600;padding:12px 12px 12px 30px}.board-tile-drag-handle{position:absolute;top:6px;left:8px;color:#fffc;cursor:grab;font-size:14px;line-height:1;padding:4px;touch-action:none}.board-tile-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px}.board-tile-duplicate,.board-tile-delete{background:#00000040;color:#fff;border:none;border-radius:4px;width:22px;height:22px;line-height:1;font-size:13px}.board-tile-duplicate:hover,.board-tile-delete:hover{background:#0006}.board-page{height:100vh;display:flex;flex-direction:column}.board-page-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#026aa7;color:#fff}.board-page-header h1{margin:0;font-size:18px;flex:1}.board-members-btn{border:none;background:#ffffff26;color:#fff;border-radius:4px;padding:6px 12px;font-size:13px;white-space:nowrap}.board-members-btn:hover{background:#ffffff40}.board-back-link{color:#fff;text-decoration:none;font-size:13px;opacity:.9}.board-lists{flex:1;display:flex;align-items:flex-start;gap:12px;padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.list-column{background:#ebecf0;border-radius:6px;width:260px;min-width:260px;max-height:100%;display:flex;flex-direction:column}.list-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 6px;gap:8px}.list-header h2{margin:0;font-size:14px;font-weight:600;cursor:grab;flex:1}.list-header form{flex:1}.list-delete{border:none;background:transparent;color:#5e6c84;font-size:16px;line-height:1}.list-body{display:flex;flex-direction:column;gap:6px;padding:0 8px;overflow-y:auto;min-height:8px}.card-item{background:#fff;border-radius:4px;padding:8px 10px;box-shadow:0 1px #091e4240;cursor:grab;display:flex;flex-direction:column;gap:6px;font-size:14px}.card-item-title{overflow-wrap:anywhere}.card-item-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.card-item-badge{font-size:12px;color:#5e6c84;white-space:nowrap;background:#f4f5f7;border-radius:3px;padding:1px 6px}.card-item-due.overdue{color:#bf2600;background:#ffebe6}.card-item-assignee{margin-left:auto;width:22px;height:22px;border-radius:50%;background:#0079bf;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.add-card-trigger,.add-list-trigger{background:transparent;border:none;text-align:left;padding:8px 10px;color:#5e6c84;font-size:14px}.add-card-trigger:hover,.add-list-trigger:hover{background:#091e4214;border-radius:4px}.add-list-trigger{width:260px;min-width:260px;height:fit-content;background:#fff6;border-radius:6px}.add-card-form,.add-list-form{display:flex;flex-direction:column;gap:8px;padding:8px}.add-list-form{width:244px;background:#ebecf0;border-radius:6px}.add-card-form textarea,.add-list-form input{padding:8px;border-radius:4px;border:1px solid #dfe1e6;resize:none}.add-card-actions,.add-list-actions{display:flex;gap:8px}.add-card-actions button,.add-list-actions button{border:none;border-radius:4px;padding:6px 12px;font-size:13px}.add-card-actions button[type=submit],.add-list-actions button[type=submit]{background:#0079bf;color:#fff}.add-card-actions button[type=button],.add-list-actions button[type=button]{background:transparent;color:#5e6c84}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#091e428a;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto;z-index:100}.modal-content{background:#f4f5f7;border-radius:8px;width:100%;max-width:560px;padding:24px;position:relative}.modal-close{position:absolute;top:12px;right:12px;border:none;background:transparent;font-size:20px;color:#5e6c84}.card-modal{display:flex;flex-direction:column;gap:16px}.card-modal-title-row{display:flex;align-items:center;gap:8px}.card-modal-title{flex:1;min-width:0;font-size:18px;font-weight:600;border:none;background:transparent;padding:6px 8px;border-radius:4px}.card-modal-title:hover,.card-modal-title:focus{background:#fff;outline:none}.card-modal-copy-btn{border:none;background:#dfe1e6;color:#172b4d;border-radius:4px;padding:6px 10px;font-size:12px;white-space:nowrap}.card-modal-copy-btn:hover{background:#c1c7d0}.card-modal-description-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-modal-description-label{font-size:12px;font-weight:600;color:#5e6c84;text-transform:uppercase}.card-modal-description{min-height:80px;border-radius:4px;border:1px solid #dfe1e6;padding:10px;resize:vertical}.card-modal-checklists{display:flex;flex-direction:column;gap:16px}.checklist-section{background:transparent}.checklist-header{display:flex;align-items:center;justify-content:space-between}.checklist-header h3{margin:0;font-size:14px}.checklist-header button{border:none;background:transparent;color:#5e6c84;font-size:16px}.checklist-progress{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:12px;color:#5e6c84}.checklist-progress-bar{flex:1;height:6px;background:#dfe1e6;border-radius:3px;overflow:hidden}.checklist-progress-fill{height:100%;background:#61bd4f}.checklist-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.checklist-items li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:4px;font-size:14px}.checklist-items li:hover{background:#fff}.checklist-items li label{display:flex;align-items:center;gap:8px;flex:1}.checklist-items li.checked label{text-decoration:line-through;color:#5e6c84}.checklist-items li button{border:none;background:transparent;color:#5e6c84;font-size:14px;opacity:0}.checklist-items li:hover button{opacity:1}.checklist-add-item{display:flex;gap:6px;margin-top:6px}.checklist-add-item input{flex:1;padding:6px 8px;border-radius:4px;border:1px solid #dfe1e6}.checklist-add-item button{border:none;background:#dfe1e6;border-radius:4px;padding:6px 12px;font-size:13px}.add-checklist-btn{align-self:flex-start;border:none;background:#dfe1e6;border-radius:4px;padding:8px 12px;font-size:13px}.card-modal-delete{align-self:flex-start;border:none;background:#eb5a46;color:#fff;border-radius:4px;padding:8px 12px;font-size:13px}.card-modal-meta{display:flex;gap:16px;flex-wrap:wrap}.card-modal-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5e6c84;text-transform:uppercase}.card-modal-field input,.card-modal-field select{border:1px solid #dfe1e6;border-radius:4px;padding:6px 8px;font-weight:400;text-transform:none;color:#172b4d}.attachment-section h3{margin:0 0 8px;font-size:14px}.attachment-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.attachment-image-tile{position:relative;width:100px;height:100px}.attachment-image-tile img{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block}.attachment-image-tile button{position:absolute;top:4px;right:4px;background:#00000080;color:#fff;border:none;border-radius:4px;width:20px;height:20px;font-size:12px}.attachment-links{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.attachment-links li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-radius:4px;padding:6px 10px;font-size:13px}.attachment-links a{color:#0079bf;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-links button{border:none;background:transparent;color:#5e6c84;font-size:14px;flex-shrink:0}.attachment-actions{display:flex;gap:8px;margin-bottom:8px}.attachment-actions button{border:none;background:#dfe1e6;border-radius:4px;padding:6px 10px;font-size:13px}.attachment-link-form{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.attachment-link-form input{flex:1;min-width:140px;padding:6px 8px;border-radius:4px;border:1px solid #dfe1e6}.attachment-link-form button{border:none;background:#0079bf;color:#fff;border-radius:4px;padding:6px 12px;font-size:13px}.members-panel{display:flex;flex-direction:column;gap:16px}.members-panel h2{margin:0;font-size:18px}.members-list,.members-search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.members-list li,.members-search-results li{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-radius:4px;padding:8px 10px;font-size:14px}.member-email{color:#5e6c84;font-size:12px}.member-role-badge{margin-left:8px;background:#dfe1e6;border-radius:3px;padding:1px 6px;font-size:11px;text-transform:uppercase}.member-already{color:#5e6c84;font-size:12px}.members-list button,.members-search-results button{border:none;background:#0079bf;color:#fff;border-radius:4px;padding:4px 10px;font-size:12px}.members-add{display:flex;flex-direction:column;gap:8px}.members-add-label{font-size:12px;font-weight:600;color:#5e6c84;text-transform:uppercase}.members-add input{padding:8px 10px;border:1px solid #dfe1e6;border-radius:4px}@media (max-width: 480px){.list-column,.add-list-trigger,.add-list-form{width:82vw;min-width:82vw}}
