@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--clr-bg:#f5f6fa;--clr-surface:#fff;--clr-surface-2:#f0f2f8;--clr-border:#e2e5ef;--clr-border-light:#eef0f8;--clr-text-primary:#1a1d2e;--clr-text-secondary:#5c6080;--clr-text-muted:#9ca3b8;--clr-accent:#2da87e;--clr-accent-hover:#24936d;--clr-accent-light:#e8f7f2;--clr-accent-soft:#d1f0e6;--clr-high:#e53e3e;--clr-high-bg:#fff5f5;--clr-medium:#d97706;--clr-medium-bg:#fffbeb;--clr-low:#2da87e;--clr-low-bg:#e8f7f2;--clr-pending:#d97706;--clr-pending-bg:#fffbeb;--clr-inprog:#3b82f6;--clr-inprog-bg:#eff6ff;--clr-done:#2da87e;--clr-done-bg:#e8f7f2;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000d;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 12px 40px #0000001f, 0 4px 12px #0000000f;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--gap:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}body{background:var(--clr-bg);color:var(--clr-text-primary);min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.6}.header{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);box-shadow:var(--shadow-sm);z-index:100;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;padding:14px 24px;display:flex}.header__logo{align-items:center;gap:12px;display:flex}.header__icon{background:linear-gradient(135deg, var(--clr-accent) 0%, #1e8f6a 100%);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex;box-shadow:0 2px 8px #2da87e4d}.header__title{color:var(--clr-text-primary);letter-spacing:-.3px;font-size:20px;font-weight:700}.header__subtitle{color:var(--clr-text-muted);margin-top:1px;font-size:12px}.main{padding:28px 0 60px}.container{flex-direction:column;gap:20px;max-width:900px;margin:0 auto;padding:0 24px;display:flex}.card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stats-bar{flex-direction:column;gap:14px;display:flex}.stats-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__icon{font-size:22px}.stat-card__value{color:var(--clr-text-primary);font-size:22px;font-weight:700;line-height:1}.stat-card__label{color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:11px;font-weight:500;display:block}.stat--total{border-left:3px solid #6366f1}.stat--pending{border-left:3px solid var(--clr-pending)}.stat--progress{border-left:3px solid var(--clr-inprog)}.stat--done{border-left:3px solid var(--clr-done)}.progress-row{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 16px;display:flex}.progress-label{color:var(--clr-text-secondary);white-space:nowrap;min-width:120px;font-size:13px;font-weight:500}.progress-track{background:var(--clr-surface-2);border-radius:99px;flex:1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--clr-accent), #1e8f6a);border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-pct{color:var(--clr-accent);text-align:right;min-width:36px;font-size:13px;font-weight:600}.form-card__header{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:16px 20px;transition:background .15s;display:flex}.form-card__header:hover{background:var(--clr-surface-2)}.form-card__header-left{align-items:center;gap:10px;display:flex}.form-card__plus{background:var(--clr-accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;font-weight:600;line-height:1;transition:background .15s;display:flex}.form-card__label{color:var(--clr-text-primary);font-size:15px;font-weight:600}.form-card__hint{color:var(--clr-text-muted);font-size:12px}.task-form{flex-direction:column;gap:14px;padding:0 20px 20px;display:flex}.form-row{gap:12px;display:flex}.form-row--3col{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.form-group{flex-direction:column;flex:1;gap:5px;display:flex}.form-group--full{width:100%}.form-label{color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.form-input{border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);width:100%;color:var(--clr-text-primary);background:var(--clr-surface);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #2da87e1f}.form-input::placeholder{color:var(--clr-text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select{appearance:auto}.form-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.btn{border-radius:var(--radius-sm);padding:9px 20px;font-size:14px;font-weight:600;line-height:1;transition:background .15s,transform .1s,box-shadow .15s}.btn--primary{background:var(--clr-accent);color:#fff;box-shadow:0 2px 6px #2da87e4d}.btn--primary:hover:not(:disabled){background:var(--clr-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2da87e59}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:var(--clr-surface-2);color:var(--clr-text-secondary);border:1.5px solid var(--clr-border)}.btn--ghost:hover{background:var(--clr-border-light);color:var(--clr-text-primary)}.filter-bar{padding:16px 20px}.filter-bar__inner{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-search{flex:1;align-items:center;min-width:180px;display:flex;position:relative}.filter-search__icon{pointer-events:none;font-size:14px;position:absolute;left:10px}.filter-search__input{border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);width:100%;color:var(--clr-text-primary);background:var(--clr-surface-2);outline:none;padding:8px 12px 8px 34px;font-size:14px;transition:border-color .15s,box-shadow .15s}.filter-search__input:focus{border-color:var(--clr-accent);background:var(--clr-surface);box-shadow:0 0 0 3px #2da87e1f}.filter-search__clear{color:var(--clr-text-muted);font-size:18px;transition:color .1s;position:absolute;right:10px}.filter-search__clear:hover{color:var(--clr-text-primary)}.filter-group{align-items:center;gap:8px;display:flex}.filter-label{color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;font-size:12px;font-weight:600}.filter-pills{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{color:var(--clr-text-secondary);background:var(--clr-surface-2);border:1.5px solid var(--clr-border);border-radius:99px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.filter-pill:hover{border-color:var(--clr-accent);color:var(--clr-accent);background:var(--clr-accent-light)}.filter-pill--active{background:var(--clr-accent);border-color:var(--clr-accent);color:#fff}.task-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.task-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.task-card--completed{opacity:.72;background:var(--clr-surface-2)}.task-card__stripe{border-radius:4px 0 0 4px;flex-shrink:0;width:4px}.task-card__stripe--high{background:var(--clr-high)}.task-card__stripe--medium{background:var(--clr-medium)}.task-card__stripe--low{background:var(--clr-low)}.task-card__body{flex-direction:column;flex:1;gap:10px;min-width:0;padding:14px 16px;display:flex}.task-card__top{align-items:flex-start;gap:10px;display:flex}.checkbox{border:2px solid var(--clr-border);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:border-color .15s,background .15s;display:flex}.checkbox:hover{border-color:var(--clr-accent)}.checkbox--checked{background:var(--clr-accent);border-color:var(--clr-accent)}.checkbox__check{color:#fff;font-size:13px;font-weight:700;line-height:1}.task-card__title-wrap{flex:1;min-width:0}.task-card__title{color:var(--clr-text-primary);word-break:break-word;font-size:14px;font-weight:600;line-height:1.4}.task-card__title--done{color:var(--clr-text-muted);text-decoration:line-through}.task-card__desc{color:var(--clr-text-secondary);word-break:break-word;font-size:13px;line-height:1.5}.task-card__meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge--high{background:var(--clr-high-bg);color:var(--clr-high)}.badge--medium{background:var(--clr-medium-bg);color:var(--clr-medium)}.badge--low{background:var(--clr-low-bg);color:var(--clr-low)}.status-pill{border-radius:99px;padding:3px 9px;font-size:11px;font-weight:600}.status--pending{background:var(--clr-pending-bg);color:var(--clr-pending)}.status--inprogress{background:var(--clr-inprog-bg);color:var(--clr-inprog)}.status--completed{background:var(--clr-done-bg);color:var(--clr-done)}.due-date{color:var(--clr-text-muted);align-items:center;gap:3px;font-size:11px;display:inline-flex}.due-date--overdue{color:var(--clr-high);font-weight:600}.task-card__actions{border-top:1px solid var(--clr-border-light);gap:8px;padding-top:2px;display:flex}.action-btn{border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.action-btn--edit{color:var(--clr-inprog)}.action-btn--edit:hover{background:var(--clr-inprog-bg)}.action-btn--delete{color:var(--clr-high)}.action-btn--delete:hover{background:var(--clr-high-bg)}.state-box{text-align:center;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.state-box--error{background:#fff5f5;border-color:#fca5a5}.state-box__icon{font-size:40px}.state-box__title{color:var(--clr-text-primary);font-size:16px;font-weight:600}.state-box__sub{color:var(--clr-text-muted);font-size:13px}.spinner{border:3px solid var(--clr-border);border-top-color:var(--clr-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0f111e59;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:90vh;animation:.2s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal__header{border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal__title{color:var(--clr-text-primary);font-size:17px;font-weight:700}.modal__close{width:30px;height:30px;color:var(--clr-text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:background .15s,color .15s;display:flex}.modal__close:hover{background:var(--clr-surface-2);color:var(--clr-text-primary)}.modal .task-form{padding:20px 24px 24px}.toast{z-index:300;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:340px;padding:12px 20px;font-size:14px;font-weight:500;animation:.25s cubic-bezier(.4,0,.2,1) toastIn;position:fixed;bottom:28px;right:28px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast--success{background:var(--clr-done-bg);color:var(--clr-done);border:1px solid var(--clr-accent-soft)}.toast--error{background:var(--clr-high-bg);color:var(--clr-high);border:1px solid #fca5a5}@media (width<=680px){.stats-cards{grid-template-columns:repeat(2,1fr)}.form-row--3col{grid-template-columns:1fr 1fr}.filter-bar__inner{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column;align-items:flex-start}.task-grid{grid-template-columns:1fr}.header__subtitle{display:none}}@media (width<=380px){.stats-cards{grid-template-columns:1fr 1fr}.form-row--3col{grid-template-columns:1fr}}
