:root{color-scheme:light;--bg-0: #f5f1e8;--bg-1: #fffaf0;--panel: #fffefa;--ink: #21201c;--ink-soft: #5d5648;--line: #dccfb5;--brand: #c24f2a;--brand-dark: #96361b;--ok: #2b7f5d;--danger: #b33939;--warning: #f39c12;--shadow-sm: 0 2px 8px rgba(114, 82, 24, .06);--shadow-md: 0 4px 16px rgba(114, 82, 24, .08);--shadow-lg: 0 12px 24px rgba(114, 82, 24, .12);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 10%,#ffd8a8 0%,transparent 35%),radial-gradient(circle at 85% 90%,#f7c3ae 0%,transparent 35%),linear-gradient(160deg,var(--bg-0),var(--bg-1));min-height:100vh}.app-shell{width:min(1080px,92vw);margin:2rem auto;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.auth-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.auth-shape{position:absolute;border-radius:50%;opacity:.15;filter:blur(80px);animation:floatShape 20s ease-in-out infinite}.shape-1{width:400px;height:400px;background:linear-gradient(135deg,#667eea,#764ba2);top:-100px;left:-100px;animation-delay:0s}.shape-2{width:350px;height:350px;background:linear-gradient(135deg,#f093fb,#f5576c);bottom:-80px;right:-80px;animation-delay:-7s}.shape-3{width:300px;height:300px;background:linear-gradient(135deg,#4facfe,#00f2fe);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes floatShape{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.auth-card{width:min(480px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;animation:slideUp .4s cubic-bezier(.16,1,.3,1);position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{font-size:3.5rem;margin-bottom:1rem;animation:bounceIcon 2s ease-in-out infinite}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-header .eyebrow{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;color:var(--brand);font-weight:700;font-family:Outfit,Segoe UI,sans-serif}.auth-header h1{margin:.75rem 0 .5rem;font-size:2rem;font-family:Outfit,Segoe UI,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header .subtext{margin:0;color:var(--ink-soft);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:.25rem}.label-icon{font-size:1.1rem}.form-group input{border:2px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1rem;font:inherit;background:#fff;transition:all .15s ease;font-size:.95rem}.form-group input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #c24f2a1a;transform:translateY(-1px)}.form-group input::placeholder{color:#b8a99a}.btn-lg{padding:1rem 1.5rem;font-size:1.05rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.btn-arrow{font-size:1.3rem;transition:transform .15s ease}.btn-lg:hover .btn-arrow{transform:translate(4px)}.btn-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-footer{margin-top:2rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.auth-link-btn{background:transparent;border:0;color:var(--brand);font-weight:600;cursor:pointer;font-size:.9rem;padding:.5rem;border-radius:8px;transition:all .15s ease}.auth-link-btn:hover{background:#c24f2a14;transform:translate(-2px)}.auth-switch{margin:0;color:var(--ink-soft);font-size:.9rem}.auth-switch .link-btn{background:transparent;border:0;color:var(--brand);font-weight:700;cursor:pointer;font-size:inherit;padding:0;transition:color .15s ease}.auth-switch .link-btn:hover{color:var(--brand-dark);text-decoration:underline}.error-alert,.success-alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-sm);margin-top:1rem;animation:fadeIn .3s ease}.error-alert{background:#ffe7e7;color:#7b1717;border:1px solid #f5c6c6}.success-alert{background:#e6f5ec;color:#1f5e3f;border:1px solid #b7e4c7}.alert-icon{font-size:1.25rem;flex-shrink:0}.token-display{background:#f8f4ed;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;margin-top:1rem}.token-label{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.token-code{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.75rem;font-size:.85rem;word-break:break-all;font-family:Courier New,monospace}.token-display .btn{margin-top:.75rem}.token-verified{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#e6f5ec;border:1px solid #b7e4c7;border-radius:var(--radius-sm);font-weight:600;color:#1f5e3f}.verified-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#2b7f5d;color:#fff;border-radius:50%;font-weight:700;font-size:1.1rem}.success-banner{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#e6f5ec,#c6f0d7);border:1px solid #b7e4c7;border-radius:var(--radius-md);margin-top:1rem}.banner-icon{font-size:2.5rem}.success-banner p{margin:0;color:#1f5e3f;font-weight:600;font-size:1rem}.password-mismatch{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;color:#e65100;font-size:.9rem;font-weight:600}.link-btn{background:transparent;border:0;color:var(--brand-dark);font-weight:600;cursor:pointer}.app-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.header-left .eyebrow{margin:0;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--ink-soft);font-family:Outfit,Segoe UI,sans-serif}.header-left h1{margin:.4rem 0 0;font-family:Outfit,Segoe UI,sans-serif;font-size:1.75rem}.header-right{display:flex;gap:.75rem;align-items:center}.btn-icon{background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;position:relative;font-size:1.2rem}.btn-icon:hover{background:#f0e7d7;transform:scale(1.05)}.btn-icon .badge{position:absolute;top:-4px;right:-4px;background:var(--brand);color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:50%;min-width:18px;text-align:center}.btn{border:0;border-radius:var(--radius-sm);padding:.7rem 1.2rem;cursor:pointer;font:600 .92rem DM Sans,sans-serif;transition:all .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-soft{background:#f0e7d7;color:var(--ink)}.btn-soft:hover{background:#e6dbca}.btn-success{background:var(--ok);color:#fff}.btn-success:hover{background:#236949}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#8f2d2d}.btn-sm{padding:.5rem .9rem;font-size:.85rem}.btn-full{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem}.stat-card{border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:center;gap:1.25rem;box-shadow:var(--shadow-md);transition:all .25s ease;position:relative;overflow:hidden;border:2px solid transparent}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.08;transition:opacity .2s ease}.stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}.stat-card:hover:before{opacity:.12}.stat-icon{font-size:2.5rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;flex-shrink:0;transition:transform .2s ease}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(-5deg)}.stat-content{flex:1}.stat-content p{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-content strong{display:block;margin-top:.25rem;font-size:2.25rem;font-family:Outfit,Segoe UI,sans-serif;font-weight:700;line-height:1}.stat-total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-total:before{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.3),transparent 50%)}.stat-total .stat-icon{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-total .stat-content p{color:#ffffffd9}.stat-pending{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-pending:before{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.3),transparent 50%)}.stat-pending .stat-icon{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-pending .stat-content p{color:#ffffffd9}.stat-completed{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-completed:before{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.3),transparent 50%)}.stat-completed .stat-icon{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-completed .stat-content p{color:#ffffffd9}.task-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.toolbar-search{margin-bottom:1rem}.toolbar-search input{width:100%;height:48px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 1rem;font-size:.95rem;background:#fff;transition:border-color .15s ease}.toolbar-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c24f2a1a}.toolbar-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.toolbar-filters select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem 1rem;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .15s ease}.toolbar-filters select:focus{outline:none;border-color:var(--brand)}.filter-tabs{display:inline-flex;gap:.5rem;background:#f0e7d7;padding:4px;border-radius:var(--radius-sm)}.filter-tab{border:0;background:transparent;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--ink-soft);transition:all .15s ease}.filter-tab:hover{color:var(--ink)}.filter-tab.active{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.active-filters{background:#f8f4ed;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.filter-label{font-size:.85rem;color:var(--ink-soft);font-weight:600}.filter-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;color:var(--ink)}.btn-clear-filters{background:transparent;border:0;color:var(--danger);font-weight:600;cursor:pointer;font-size:.85rem;padding:.35rem .75rem;border-radius:8px;transition:background .15s ease}.btn-clear-filters:hover{background:#ffe7e7}.task-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1.5rem;box-shadow:var(--shadow-sm);overflow:hidden}.task-form-toggle{width:100%;background:transparent;border:0;padding:1.2rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;color:var(--ink);transition:background .15s ease}.task-form-toggle:hover{background:#f8f4ed}.icon-plus{font-size:1.5rem;font-weight:700;color:var(--brand)}.task-form-content{padding:0 1.5rem 1.5rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.task-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group-full{grid-column:1 / -1}.form-group label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .9rem;font:inherit;background:#fff;transition:border-color .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #c24f2a1a}.form-group textarea{min-height:80px;resize:vertical}.task-form-actions{display:flex;gap:.75rem}.task-list{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.task-list-header h2{margin:0;font-family:Outfit,Segoe UI,sans-serif;font-size:1.3rem}.task-count{font-size:.85rem;color:var(--ink-soft);background:#f0e7d7;padding:.35rem .75rem;border-radius:999px;font-weight:600}.task-stack{display:grid;gap:.75rem}.task-item{border:1px solid var(--line);border-radius:var(--radius-md);padding:1.2rem;display:flex;gap:1rem;align-items:flex-start;background:#fff;transition:all .2s ease}.task-item:hover{box-shadow:var(--shadow-md);transform:translate(2px)}.task-item.completed{background:#f3faf5;opacity:.85}.task-item.completed .task-header h3{text-decoration:line-through;text-decoration-thickness:2px;color:#4c675b}.task-checkbox{flex-shrink:0;padding-top:.2rem}.custom-checkbox{position:relative;display:inline-block;cursor:pointer}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox .checkmark{position:relative;display:inline-block;height:24px;width:24px;background:#fff;border:2px solid var(--line);border-radius:6px;transition:all .15s ease}.custom-checkbox input:checked~.checkmark{background:var(--ok);border-color:var(--ok)}.custom-checkbox .checkmark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox input:checked~.checkmark:after{display:block}.task-body{flex:1;min-width:0}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.task-header h3{margin:0;line-height:1.3;font-size:1.05rem}.priority-badge{font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.priority-low{background:#e8f5e9;color:#2e7d32}.priority-medium{background:#fff3e0;color:#f57c00}.priority-high{background:#ffebee;color:#c62828}.task-description{margin:0 0 .6rem;color:var(--ink-soft);font-size:.9rem;line-height:1.5}.task-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.task-date{font-size:.8rem;color:#897f69}.task-date.overdue{color:var(--danger);font-weight:600}.task-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-icon.btn-edit,.btn-icon.btn-delete{width:36px;height:36px;font-size:1.1rem}.btn-icon.btn-edit:hover{background:#f0e7d7}.btn-icon.btn-delete:hover{background:#ffe7e7}.edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-sm)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state h3{margin:.5rem 0;color:var(--ink)}.empty-state p{margin:.5rem 0 0;color:var(--ink-soft);font-size:.95rem}.empty-state-small{text-align:center;padding:2rem;color:var(--ink-soft)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:1.5rem 0;animation:fadeIn .3s ease}.loading-spinner{position:relative;width:64px;height:64px;margin-bottom:1.5rem}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-radius:50%;animation:spin 1.5s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){border-top-color:#667eea;animation-delay:-.45s}.spinner-ring:nth-child(2){border-top-color:#f5576c;animation-delay:-.3s}.spinner-ring:nth-child(3){border-top-color:#4facfe;animation-delay:-.15s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin:0;font-size:1rem;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-message,.success-message{margin:1rem 0;padding:1rem;border-radius:var(--radius-sm)}.error-message{background:#ffe7e7;color:#7b1717;border:1px solid #f5c6c6}.success-message{background:#e6f5ec;color:#1f5e3f;border:1px solid #b7e4c7}.pagination{text-align:center;padding:1.5rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1.5rem}.pagination-info{display:block;margin-top:.75rem;font-size:.85rem;color:var(--ink-soft)}.notifications-panel{position:fixed;right:1.5rem;top:5rem;width:360px;max-height:70vh;overflow:auto;padding:1.2rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.notifications-header h3{margin:0;font-family:Outfit,Segoe UI,sans-serif}.btn-close{background:transparent;border:0;font-size:1.2rem;cursor:pointer;color:var(--ink-soft);padding:.25rem;border-radius:6px;transition:background .15s ease}.btn-close:hover{background:#f0e7d7}.notifications-list{list-style:none;padding:0;margin:0}.notification-item{padding:.75rem;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-title{display:block;font-weight:600;margin-bottom:.25rem}.notification-due{font-size:.8rem;color:var(--ink-soft)}@media (max-width: 768px){.app-shell{width:95vw;margin:1rem auto}.auth-shell{padding:1rem .75rem}.auth-card{padding:2rem 1.5rem}.auth-logo{font-size:2.75rem}.auth-header h1{font-size:1.6rem}.app-header{flex-direction:column;gap:1rem;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1.2rem}.stat-icon{width:52px;height:52px;font-size:2rem}.stat-content strong{font-size:1.75rem}.task-toolbar{padding:1rem}.toolbar-filters{flex-direction:column;align-items:stretch}.filter-tabs{justify-content:center}.task-form-grid,.edit-grid{grid-template-columns:1fr}.task-item{flex-direction:column}.task-header{flex-direction:column;gap:.5rem}.task-actions{align-self:flex-end}.task-form-actions{flex-direction:column}.notifications-panel{width:calc(100vw - 2rem);right:1rem}}@media (max-width: 480px){.header-left h1{font-size:1.4rem}.stat-card{padding:1rem;gap:1rem}.stat-icon{width:48px;height:48px;font-size:1.75rem}.stat-content strong{font-size:1.5rem}.stat-content p{font-size:.75rem}.task-list-header h2{font-size:1.1rem}.loading-container{padding:3rem 1.5rem}.loading-spinner{width:48px;height:48px;margin-bottom:1rem}.spinner-ring{border-width:3px}.loading-text{font-size:.9rem}}
