*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100vh}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f0f2f5;color:#111827;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 32px;display:flex;align-items:center;gap:40px;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #0000000f}.app-title{font-size:20px;font-weight:700;color:#111827;letter-spacing:-.3px;white-space:nowrap}.tabs{display:flex;gap:4px;height:100%}.tab{display:flex;align-items:center;gap:8px;padding:18px 16px;font-size:14px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}.tab:hover{color:#374151}.tab--active{color:#1d4ed8;border-bottom-color:#1d4ed8;font-weight:600}.tab-badge{background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;min-width:20px;text-align:center}.tab--active .tab-badge{background:#dbeafe;color:#1d4ed8}.add-todo-row{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:12px 16px;margin:24px 32px 20px;transition:border-color .15s,box-shadow .15s}.add-todo-row--focused{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.add-todo-icon{font-size:20px;color:#9ca3af;line-height:1;font-weight:300;flex-shrink:0}.add-todo-input{flex:1;border:none;outline:none;font-size:15px;color:#111827;background:transparent}.add-todo-input::placeholder{color:#9ca3af}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5;padding:24px}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 4px 24px #00000014}.login-title{font-size:22px;font-weight:700;color:#111827;margin-bottom:4px;letter-spacing:-.3px}.login-subtitle{font-size:14px;color:#9ca3af;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:13px;font-weight:500;color:#374151}.login-input{border:1.5px solid #e5e7eb;border-radius:8px;padding:9px 12px;font-size:14px;color:#111827;outline:none;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.login-error{font-size:13px;color:#ef4444}.login-btn{margin-top:4px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.login-btn:hover{background:#1e40af}.login-btn:disabled{opacity:.6;cursor:not-allowed}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.app-switcher{position:relative}.app-switcher-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#9ca3af;transition:color .12s,background .12s}.app-switcher-btn:hover{color:#374151;background:#f3f4f6}.app-switcher-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:12px;z-index:200;width:280px}.app-switcher-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.app-switcher-tile{border-radius:10px;overflow:hidden;display:block;transition:transform .15s,box-shadow .15s}.app-switcher-tile:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.app-switcher-tile--active{box-shadow:0 0 0 2.5px #1d4ed8}.app-switcher-tile-img{display:block;width:100%;height:auto}.logout-btn{font-size:13px;color:#9ca3af;padding:6px 12px;border-radius:6px;transition:color .12s,background .12s}.logout-btn:hover{color:#374151;background:#f3f4f6}.column-add-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(0,0,0,.06)}.column-add-icon{font-size:16px;color:#9ca3af;font-weight:300;flex-shrink:0;line-height:1}.column-add-input{flex:1;border:none;outline:none;font-size:13px;color:#111827;background:transparent}.column-add-input::placeholder{color:#c4c9d4}.column-add-row:focus-within .column-add-icon{color:#6b7280}.current-tab{flex:1;display:flex;flex-direction:column}.columns-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:24px 32px 32px;flex:1;align-items:start;transition:grid-template-columns .3s ease}.column{border-radius:16px;padding:0;overflow:hidden;box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a}.column--urgent{background:#eff6ff;border:1.5px solid #bfdbfe}.column--normal{background:#fff;border:1.5px solid #e5e7eb}.column--low{background:#f9fafb;border:1.5px solid #e5e7eb}.column-header{display:flex;align-items:center;gap:8px;padding:14px 16px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.column-header--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.column-header--clickable:hover{filter:brightness(.97)}.column-header--focused{filter:brightness(.95)}.column--urgent .column-header{background:#dbeafe;border-bottom-color:#93c5fd}.column--normal .column-header{background:#eff6ff;border-bottom-color:#bfdbfe}.column--low .column-header{background:#f9fafb;border-bottom-color:#e5e7eb}.column-emoji{font-size:14px}.column-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;flex:1}.column--urgent .column-title{color:#1d4ed8}.column--normal .column-title{color:#374151}.column--low .column-title{color:#6b7280}.column-count{font-size:12px;font-weight:600;color:#9ca3af;background:#0000000d;padding:1px 7px;border-radius:999px}.column-items{padding:8px;display:flex;flex-direction:column;gap:6px;min-height:60px}.column-empty{padding:20px 12px;text-align:center;font-size:13px;color:#d1d5db;font-style:italic}.todo-item{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 6px;border-radius:10px;border:1px solid transparent;background:#fff;transition:box-shadow .15s,opacity .2s,border-color .15s;-webkit-user-select:none;user-select:none;position:relative}.todo-item:hover{box-shadow:0 2px 8px #00000014}.todo-item--urgent{background:#fff;border-color:#bfdbfe}.todo-item--normal{background:#fff;border-color:#e5e7eb}.todo-item--low{background:#f9fafb;border-color:#e5e7eb}.todo-item--completing{opacity:.45;pointer-events:none;background:#f0fdf4!important;border-color:#86efac!important}.todo-item--priority-changing{border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b33!important}.todo-item--dragging{box-shadow:0 8px 24px #00000026!important}.todo-item--overlay{box-shadow:0 8px 24px #0000002e;opacity:.95;cursor:grabbing}.drag-handle{color:#d1d5db;cursor:grab;padding:2px 4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:color .12s}.drag-handle:hover{color:#9ca3af}.drag-handle:active{cursor:grabbing}.complete-btn{width:20px;height:20px;border-radius:50%;border:2px solid #d1d5db;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;color:#fff}.complete-btn:hover{border-color:#22c55e;background:#f0fdf4}.complete-btn--active{border-color:#22c55e;background:#22c55e;pointer-events:none}.todo-title{flex:1;min-width:0;overflow:hidden}.todo-title-text{font-size:14px;color:#111827;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-item--expanded{align-items:flex-start}.todo-title-text--expanded{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.todo-title-text--completing{text-decoration:line-through;color:#6b7280;font-size:14px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-title-input{width:100%;border:none;outline:none;font-size:14px;font-weight:500;color:#111827;background:transparent;padding:0}.priority-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0;transition:transform .1s,opacity .1s;letter-spacing:.2px}.priority-badge:hover{opacity:.8;transform:scale(1.03)}.priority-badge--urgent{background:#1d4ed8;color:#fff}.priority-badge--normal{background:#6b7280;color:#fff}.priority-badge--low{background:#e5e7eb;color:#4b5563}.priority-badge--small{font-size:10px;padding:2px 6px}.priority-badge__arrow{display:none}.app-logo{display:flex;align-items:center;flex-shrink:0}.urgent-toggle-btn{font-size:13px;line-height:1;color:#d1d5db;padding:0 2px;flex-shrink:0;transition:color .12s}.urgent-toggle-btn:hover{color:#9ca3af}.urgent-toggle-btn--active{color:#fbbf24}.todo-item--flagged-urgent{background:#4c1d95!important;border-color:#4c1d95!important}.todo-item--flagged-urgent .todo-title-text,.todo-item--flagged-urgent .todo-title-text--completing{color:#e9d5ff}.todo-item--flagged-urgent .complete-btn{border-color:#7c3aed;background:#5b21b6;color:#fff}.todo-item--flagged-urgent .drag-handle{color:#7c3aed}.todo-item--flagged-urgent .drag-handle:hover{color:#a78bfa}.todo-item--flagged-urgent .item-menu-btn{color:#7c3aed}.todo-item--flagged-urgent .item-menu-btn:hover{color:#a78bfa}.item-menu-wrap{position:relative;flex-shrink:0}.item-menu-btn{font-size:16px;line-height:1;color:#d1d5db;padding:0 4px;transition:color .12s;letter-spacing:.05em}.item-menu-btn:hover{color:#6b7280}.item-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001f;min-width:130px;z-index:100;overflow:hidden}.item-menu-option{display:block;width:100%;text-align:left;padding:8px 14px;font-size:13px;color:#374151;transition:background .1s}.item-menu-option:hover{background:#f3f4f6}.item-menu-option--danger{color:#ef4444}.item-menu-option--danger:hover{background:#fef2f2}.hang-panel{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:10px 32px;background:#fff;border-bottom:1px solid #e5e7eb}.hang-panel-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;margin-right:4px}.hang-panel-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hang-panel-divider{width:1px;height:16px;background:#e5e7eb;flex-shrink:0;align-self:center}.hang-pill{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;background:#f3f4f6;color:#374151;white-space:nowrap}.hang-pill--priority{background:#fef3c7;color:#92400e}.completed-tab{flex:1;max-width:720px;width:100%;margin:0 auto;padding:32px}.completed-tab-heading{font-size:22px;font-weight:700;color:#111827;margin-bottom:20px;letter-spacing:-.3px}.completed-list{display:flex;flex-direction:column;gap:8px}.completed-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:12px;border:1px solid transparent}.completed-item--urgent{background:#eff6ff;border-color:#bfdbfe}.completed-item--normal{background:#fff;border-color:#e5e7eb}.completed-item--low{background:#f9fafb;border-color:#e5e7eb}.completed-item-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.completed-checkmark-btn{color:#22c55e;font-size:16px;flex-shrink:0;padding:2px 4px;border-radius:4px;transition:background .15s,color .15s;line-height:1}.completed-checkmark-btn:hover{background:#dcfce7;color:#16a34a}.completed-checkmark-btn--restoring{color:#f59e0b;animation:pulse 1s ease-in-out infinite}.completed-checkmark-btn--restoring:hover{background:#fef3c7;color:#d97706}.completed-item--restoring{opacity:.6}.completed-title--restoring{color:#6b7280}.completed-restoring-label{font-size:12px;color:#f59e0b;font-style:italic;margin-left:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.completed-title{font-size:15px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.completed-item-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.completed-date{font-size:12px;color:#9ca3af;white-space:nowrap}.completed-empty{text-align:center;padding:60px 20px;color:#9ca3af}.completed-empty p{margin-bottom:8px;font-size:15px}.completed-empty-sub{font-size:13px;color:#d1d5db}.owed-main{flex:1;display:flex;justify-content:center;padding:32px}.owed-tab{width:100%;max-width:620px}.owed-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.owed-heading{font-size:22px;font-weight:700;color:#111827;letter-spacing:-.3px}.owed-total{font-size:15px;color:#6b7280}.owed-total strong{color:#111827;font-weight:700}.owed-form{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.owed-input{border:1.5px solid #e5e7eb;border-radius:8px;padding:9px 12px;font-size:14px;color:#111827;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s;background:#fff}.owed-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.owed-input::placeholder{color:#9ca3af}.owed-amount-wrap{position:relative;display:flex;align-items:center}.owed-dollar{position:absolute;left:10px;font-size:14px;color:#6b7280;pointer-events:none}.owed-input--amount{width:110px;padding-left:22px}.owed-input--reason{flex:1;min-width:140px}.owed-add-btn{background:#1d4ed8;color:#fff;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;white-space:nowrap;border:none}.owed-add-btn:hover{background:#1e40af}.owed-error{font-size:13px;color:#ef4444;margin-bottom:12px}.owed-empty{text-align:center;padding:60px 20px;color:#9ca3af;font-size:15px}.owed-empty-sub{font-size:13px;color:#d1d5db;margin-top:6px}.owed-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:12px}.owed-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:box-shadow .15s}.owed-item:hover{box-shadow:0 2px 8px #00000014}.owed-item-main{display:flex;flex-direction:column;gap:3px;min-width:0}.owed-item-name{font-size:15px;font-weight:600;color:#111827}.owed-item-reason{font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owed-item-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.owed-item-amount{font-size:17px;font-weight:700;color:#111827}.owed-delete-btn{font-size:12px;color:#d1d5db;padding:4px 6px;border-radius:4px;transition:color .12s,background .12s;cursor:pointer;border:none;background:none;font-family:inherit}.owed-delete-btn:hover{color:#ef4444;background:#fef2f2}@media (max-width: 900px){.columns-container{grid-template-columns:1fr;padding:0 16px 24px}.add-todo-row{margin:16px 16px 12px}.app-header{padding:0 16px;gap:20px}.completed-tab{padding:24px 16px}}@media (max-width: 600px){.app-title{font-size:17px}.tab{padding:14px 10px;font-size:13px}}
