*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0d0d10;--bg2: #131318;--bg3: #18181f;--bg4: #1e1e27;--border: #22222c;--border2: #2d2d3a;--accent: #5e6ad2;--acc-dim: rgba(94,106,210,.1);--acc-glow: rgba(94,106,210,.2);--text: #e2e2e8;--text2: #9898a8;--muted: #52525e;--red: #e5484d;--green: #30a46c;--yellow: #f5a623;--blue: #5e6ad2;--font: "Outfit", sans-serif;--mono: "DM Mono", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13.5px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}input,textarea,select{background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-family:var(--font);font-size:13px;padding:8px 12px;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--acc-dim)}input::placeholder{color:var(--muted)}select option{background:var(--bg3)}button{font-family:var(--font);cursor:pointer;transition:all .15s;border-radius:8px}.btn-primary{background:var(--accent);color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:600;border-radius:8px}.btn-primary:hover{background:#6e7ee0;transform:translateY(-1px)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2);padding:7px 14px;font-size:13px;border-radius:8px}.btn-ghost:hover{color:var(--text);border-color:var(--border2);background:var(--bg4)}.btn-icon{background:transparent;border:none;color:var(--muted);font-size:13px;padding:4px 8px;border-radius:6px;line-height:1}.btn-icon:hover{color:var(--red);background:#e5484d1a}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;padding:0 24px;height:56px;border-bottom:1px solid var(--border);background:#0d0d10d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:28px;position:sticky;top:0;z-index:100}.logo{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;white-space:nowrap;display:flex;align-items:center;gap:8px}.logo-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block}.tab-nav{display:flex;gap:2px;flex:1}.tab-btn{background:transparent;border:none;color:var(--muted);font-family:var(--font);font-size:13px;font-weight:500;padding:6px 14px;border-radius:8px;transition:all .15s;white-space:nowrap}.tab-btn:hover{color:var(--text2);background:var(--bg3)}.tab-btn.active{color:var(--text);background:var(--bg3)}.user-area{display:flex;align-items:center;gap:12px;margin-left:auto}.user-name{color:var(--muted);font-size:13px}.sign-out-btn{background:transparent;border:1px solid var(--border2);color:var(--muted);font-family:var(--font);font-size:12px;padding:5px 12px;border-radius:8px;cursor:pointer}.sign-out-btn:hover{color:var(--text);border-color:var(--border2);background:var(--bg3)}.app-main{flex:1;overflow-y:auto}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{text-align:center;padding:48px 40px;border:1px solid var(--border2);background:var(--bg2);border-radius:16px;min-width:340px;box-shadow:0 24px 80px #0006}.login-logo{font-size:20px;font-weight:700;color:var(--text);margin-bottom:6px;display:flex;align-items:center;justify-content:center;gap:10px}.login-sub{color:var(--muted);font-size:13px;margin-bottom:36px}.google-btn{display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--border2);color:var(--text2);font-family:var(--font);font-size:13px;padding:11px 20px;border-radius:10px;cursor:pointer;transition:all .15s;margin:0 auto;width:100%;justify-content:center}.google-btn:hover{border-color:var(--border2);color:var(--text);background:var(--bg4)}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:20px 0}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--border2)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.page{padding:32px 36px;max-width:1300px}.page-header{display:flex;align-items:baseline;gap:16px;margin-bottom:28px}.page-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.02em}.page-sub{color:var(--muted);font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}.card-body{padding:16px 18px}.add-form{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.add-form input,.add-form select{flex:1}.list-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);transition:background .1s}.list-item:hover{background:var(--bg3)}.list-item:last-child{border-bottom:none}.list-item.done .item-text{text-decoration:line-through;color:var(--muted)}.item-text{flex:1;font-size:13.5px}.idx{min-width:22px;color:var(--accent);font-weight:600;font-size:13px}.checkbox{cursor:pointer;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-size:11px}.checkbox.checked{background:var(--accent);border-color:var(--accent);color:#fff}.empty-state{padding:24px 18px;color:var(--muted);font-size:13px;text-align:center}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:11px 14px;font-size:11.5px;letter-spacing:.04em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;text-transform:uppercase}.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:hover td{background:var(--bg3)}.data-table tr:last-child td{border-bottom:none}.data-table td.num{text-align:right;font-family:var(--mono);font-size:13px}.data-table th.num{text-align:right}.pos{color:var(--green)}.neg{color:var(--red)}.muted-text{color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge-blue{background:#5e6ad226;color:#818cf8}.badge-yellow{background:#f5a6231f;color:#fbbf24}.badge-orange{background:#f973161f;color:#fb923c}.badge-green{background:#30a46c26;color:#34d399}.badge-red{background:#e5484d1f;color:#f87171}.badge-gray{background:#52525e33;color:#71717a}.badge-purple{background:#8b5cf626;color:#a78bfa}.stat-row{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}.stat-box{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;min-width:120px;flex:1}.stat-label{font-size:11.5px;color:var(--muted);font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.stat-val{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1;font-family:var(--mono)}.stat-unit{font-size:13px;color:var(--muted);margin-left:4px;font-family:var(--font);font-weight:400}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:28px;width:100%;max-width:500px;box-shadow:0 32px 100px #00000080}.modal-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:22px;letter-spacing:-.01em}.modal-fields{display:flex;flex-direction:column;gap:14px}.modal-fields input,.modal-fields select,.modal-fields textarea{width:100%}.modal-fields textarea{min-height:90px;resize:vertical}.field-label{font-size:12px;color:var(--text2);font-weight:500;margin-bottom:6px}.field-group{display:flex;flex-direction:column}.form-row{display:flex;gap:10px;flex-wrap:wrap}.form-row .field-group{flex:1;min-width:100px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.table-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.filter-select{background:var(--bg3);border:1px solid var(--border2);color:var(--text);font-family:var(--font);font-size:13px;padding:7px 10px;border-radius:8px}.section-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:28px 0 14px;display:flex;align-items:center;gap:10px}.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.account-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px}.account-pea{background:#5e6ad226;color:#818cf8}.account-cto{background:#f5a6231f;color:#fbbf24}.editable{cursor:pointer;border-bottom:1px dashed var(--border2)}.editable:hover{border-bottom-color:var(--accent);color:var(--accent)}.stars{display:flex;gap:3px}.star{font-size:14px;cursor:pointer;color:var(--border2);transition:color .1s}.star.filled,.star:hover{color:var(--yellow)}.progress-bar{height:4px;background:var(--border2);border-radius:99px;overflow:hidden;margin-top:6px}.progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .3s}.news-item{padding:14px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;text-decoration:none;display:block}.news-item:hover{background:var(--bg3)}.news-item:last-child{border-bottom:none}.news-title{font-size:13.5px;font-weight:500;color:var(--text);margin-bottom:4px;line-height:1.4}.news-meta{font-size:11.5px;color:var(--muted);display:flex;gap:10px}.habit-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);transition:background .1s}.habit-row:hover{background:var(--bg3)}.habit-row:last-child{border-bottom:none}.habit-name{flex:1;font-size:13.5px}.habit-streak{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}@media (max-width: 768px){.two-col,.three-col{grid-template-columns:1fr}.page{padding:16px}.app-header{padding:0 16px;gap:12px}.tab-btn{padding:5px 10px;font-size:12px}.stat-row{gap:10px}.stat-box{min-width:90px}}
