:root{--bg:#f5f5f5;--surface:#fff;--primary:#4f46e5;--primary-hover:#4338ca;--text:#1f2937;--text-secondary:#6b7280;--border:#e5e7eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--radius:8px;--shadow:0 1px 3px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}#root{width:100%;max-width:800px;min-height:100vh;margin:0 auto}.loading{height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:400px;padding:40px}.auth-card h1{color:var(--primary);margin-bottom:4px;font-size:1.8rem}.auth-card h2{color:var(--text-secondary);margin-bottom:24px;font-size:1.2rem;font-weight:400}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card input{border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:10px 14px;font-size:.95rem}.auth-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.auth-card button{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:10px;font-size:1rem}.auth-card button:hover{background:var(--primary-hover)}.error{color:var(--danger);font-size:.9rem}.auth-link{color:var(--text-secondary);margin-top:16px;font-size:.9rem}.auth-link a{color:var(--primary);text-decoration:none}.plans-page{padding:0 16px 80px}.plans-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;display:flex}.plans-page header h1{color:var(--primary);font-size:1.4rem}.header-right{align-items:center;gap:12px;font-size:.9rem;display:flex}.header-right a{color:var(--primary);text-decoration:none}.header-right button{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 12px;font-size:.85rem}.tabs{gap:0;margin-bottom:16px;display:flex}.tabs button{border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:8px 20px;font-size:.9rem}.tabs button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.tabs button:last-child{border-radius:0 var(--radius) var(--radius) 0}.tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.add-plan{gap:8px;margin-bottom:24px;display:flex}.add-plan input{border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:10px 14px;font-size:.95rem}.add-plan input:focus{border-color:var(--primary)}.add-plan button{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:10px 20px;font-size:.95rem}.add-plan button:hover{background:var(--primary-hover)}.plan-group{margin-bottom:24px}.plan-group h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px;font-size:.85rem}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;padding:14px}.plan-card.completed{opacity:.6}.plan-num{color:var(--primary);min-width:28px;font-size:.9rem;font-weight:600}.sub-num{color:var(--text-secondary);min-width:32px;font-size:.8rem}.plan-header{align-items:flex-start;gap:8px;display:flex}.plan-header input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary);margin-top:4px}.plan-content{cursor:pointer;flex:1}.plan-text{font-size:.95rem}.plan-text.line-through{color:var(--text-secondary);text-decoration:line-through}.plan-meta{margin-left:8px}.badge{background:var(--warning);color:#fff;border-radius:4px;padding:2px 6px;font-size:.7rem}.plan-edit{flex:1;gap:6px;display:flex}.plan-edit input{border:1px solid var(--primary);border-radius:4px;flex:1;padding:6px 10px;font-size:.9rem}.plan-edit button{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.8rem}.plan-edit button:first-of-type{background:var(--primary);color:#fff}.plan-edit button:last-of-type{background:var(--border)}.subtasks{margin-top:8px;margin-left:26px}.subtask{align-items:center;gap:8px;padding:4px 0;font-size:.88rem;display:flex}.subtask input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary)}.subtask .line-through{color:var(--text-secondary);text-decoration:line-through}.add-subtask{gap:6px;margin-top:4px;display:flex}.add-subtask input{border:none;border-bottom:1px solid var(--border);outline:none;flex:1;padding:6px 10px;font-size:.85rem}.add-subtask input:focus{border-bottom-color:var(--primary)}.add-subtask button{border:1px solid var(--border);cursor:pointer;color:var(--primary);background:0 0;border-radius:4px;padding:4px 10px;font-size:.85rem}.stats-page{padding:0 16px 80px}.stats-page header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;display:flex}.stats-page header h1{color:var(--primary);font-size:1.4rem}.stats-controls{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.type-tabs{gap:0;display:flex}.type-tabs button{border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:8px 20px;font-size:.9rem}.type-tabs button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.type-tabs button:last-child{border-radius:0 var(--radius) var(--radius) 0}.type-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.date-nav{justify-content:center;align-items:center;gap:16px;display:flex}.date-nav button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;padding:6px 14px;font-size:1rem}.date-nav span{text-align:center;min-width:100px;font-size:1rem;font-weight:500}.summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:16px}.summary-card .num{color:var(--primary);font-size:1.6rem;font-weight:700;display:block}.summary-card .label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem}.stats-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.stats-table th{background:var(--primary);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.3px;padding:10px 14px;font-size:.85rem}.stats-table td{border-bottom:1px solid var(--border);padding:10px 14px;font-size:.9rem}.stats-table tr:last-child td{border-bottom:none}.stats-table td:first-child{font-weight:500}
