:root{--clr-bg: #1e1e1e;--clr-surface: #252526;--clr-surface-2: #2d2d30;--clr-border: #3c3c3c;--clr-text: #d4d4d4;--clr-text-muted: #858585;--clr-text-light: #6a6a6a;--col-todo-accent: #569cd6;--col-todo-light: #1a2d3d;--col-progress-accent: #ce9178;--col-progress-light: #2e2118;--col-done-accent: #6a9955;--col-done-light: #1a2518;--urgency-none-bg: #2d2d30;--urgency-none-clr: #858585;--urgency-approaching-bg: #2e2a14;--urgency-approaching-clr: #d7ba7d;--urgency-urgent-bg: #2e1f10;--urgency-urgent-clr: #FF5C00;--urgency-overdue-bg: #2e1414;--urgency-overdue-clr: #f48771;--urgency-overdue-border: #f44747;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.3);--shadow-drag: 0 10px 30px rgba(0,0,0,.6), 0 4px 10px rgba(0,0,0,.4);--transition-fast: .12s ease;--transition-base: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,sans-serif;background:var(--clr-bg);color:var(--clr-text);min-height:100vh}button{cursor:pointer;font:inherit;border:none;background:none}input,textarea,select{font:inherit;color:var(--clr-text)}.board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;gap:var(--sp-5);padding:var(--sp-6) var(--sp-8);height:100vh;align-items:stretch}.column{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);display:flex;flex-direction:column;overflow:hidden;height:100%}.column-header{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);height:52px;flex-shrink:0;border-bottom:1px solid var(--clr-border);background:var(--clr-surface-2)}.column-accent-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.column-label{font-size:.875rem;font-weight:600;flex:1;color:var(--clr-text)}.clear-all-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--clr-text-muted);transition:all var(--transition-fast)}.clear-all-btn:hover{background:#3d1a1a;color:#f48771}.column-count{font-size:.75rem;font-weight:600;padding:2px 7px;border-radius:99px;background:var(--clr-bg);color:var(--clr-text-muted)}.column-body{flex:1;padding:0;overflow-y:auto;transition:background var(--transition-fast)}.column-body::-webkit-scrollbar{width:6px}.column-body::-webkit-scrollbar-track{background:transparent}.column-body::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:3px}.column-body::-webkit-scrollbar-thumb:hover{background:var(--clr-text-muted)}.drop-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);min-height:100%;padding:var(--sp-3);box-sizing:border-box;width:100%}.add-btn{margin:var(--sp-2) var(--sp-3) var(--sp-3);width:calc(100% - var(--sp-6));padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--clr-text-muted);background:transparent;border:1.5px dashed var(--clr-border);transition:all var(--transition-fast);text-align:left}.add-btn:hover{border-color:var(--clr-text-muted);color:var(--clr-text);background:var(--clr-surface-2)}.add-form{display:flex;flex-direction:column;gap:var(--sp-3)}.add-form input[type=text],.add-form input[type=date],.add-form textarea,.add-form select{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--clr-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--clr-bg);color:var(--clr-text);transition:border-color var(--transition-fast);color-scheme:dark}.add-form input:focus,.add-form textarea:focus,.add-form select:focus{outline:none;border-color:#569cd6}.add-form textarea{resize:vertical}.add-form select{cursor:pointer}.add-form-actions{display:flex;gap:var(--sp-2)}.date-label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:.8125rem;color:var(--clr-text-muted)}.btn-primary{padding:var(--sp-2) var(--sp-4);background:#0e639c;color:#fff;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;transition:background var(--transition-fast)}.btn-primary:hover{background:#17b}.btn-ghost{padding:var(--sp-2) var(--sp-3);color:var(--clr-text-muted);border-radius:var(--radius-sm);font-size:.8125rem;transition:color var(--transition-fast)}.btn-ghost:hover{color:var(--clr-text)}.card{background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);box-shadow:var(--shadow-sm);cursor:grab;transition:box-shadow var(--transition-base),transform var(--transition-base),background var(--transition-fast);position:relative;border-left:3px solid transparent;display:flex;flex-direction:column;gap:var(--sp-2)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);background:#303031}.card:active{cursor:grabbing}.card.quick-win{border-top:2px solid #d7ba7d}.card[data-urgency=overdue]{border-left-color:var(--urgency-overdue-border)}.card[data-urgency=urgent]{border-left-color:#ff5c00}.card[data-urgency=approaching]{border-left-color:#d7ba7d}@keyframes overdue-pulse{0%,to{border-left-color:var(--urgency-overdue-border)}50%{border-left-color:#9e2a2a}}.card[data-urgency=overdue]{animation:overdue-pulse 2s ease-in-out infinite}.card-header{display:flex;align-items:flex-start;gap:var(--sp-2)}.card-title{flex:1;font-size:.875rem;font-weight:500;line-height:1.4;color:var(--clr-text)}.card-delete{opacity:0;flex-shrink:0;width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--clr-text-muted);font-size:.75rem;transition:all var(--transition-fast)}.card:hover .card-delete{opacity:1}.card-delete:hover{background:#3d1a1a;color:#f48771}.card-description{font-size:.8125rem;color:var(--clr-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deadline-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:500;width:fit-content}.deadline-badge[data-urgency=none]{background:var(--urgency-none-bg);color:var(--urgency-none-clr)}.deadline-badge[data-urgency=approaching]{background:var(--urgency-approaching-bg);color:var(--urgency-approaching-clr)}.deadline-badge[data-urgency=urgent]{background:var(--urgency-urgent-bg);color:var(--urgency-urgent-clr)}.deadline-badge[data-urgency=overdue]{background:var(--urgency-overdue-bg);color:var(--urgency-overdue-clr)}[data-is-dnd-shadow-item-for]{opacity:0!important}.error-banner{margin:var(--sp-4) var(--sp-8);padding:var(--sp-3) var(--sp-4);background:#3d1a1a;border:1px solid #6e2828;border-radius:var(--radius-md);color:#f48771;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.error-banner button{color:#f48771;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:32px;height:32px;border:3px solid var(--clr-border);border-top-color:var(--clr-text-muted);border-radius:50%;animation:spin .7s linear infinite}
