:root{color-scheme:dark;--bg:#0d1424;--surface:#18243a;--surface2:#202f48;--surface3:#2b3d58;--line:#314059;--ink:#ecf2fc;--muted:#a0b0c9;--blue:#6a9df8;--aqua:#61d4c4;--warning:#ffcc81;--pink:#ff8d9a;--radius:18px;--bottom:calc(80px + env(safe-area-inset-bottom,0px));font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{font-size:14px;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus{border-color:var(--blue)!important;box-shadow:0 0 0 2px #6a9df831}
a{color:var(--blue)}.app-shell{width:min(100%,900px);margin:auto;min-height:100dvh;padding-bottom:var(--bottom)}.topbar{height:76px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #27354c;background:#0d1424e8;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px}.brand-icon{background:linear-gradient(135deg,#5683eb,#5bd3c0);color:white;font-size:25px;font-weight:700;border-radius:14px;width:44px;height:44px;display:grid;place-items:center;box-shadow:0 8px 23px #3d6ed133}.brand strong{display:block;font-size:18px;letter-spacing:-.5px}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.top-actions{display:flex;gap:8px}.icon-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:40px;height:40px;font-size:23px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;padding:8px 10px calc(9px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-around;gap:3px;background:#101b2ff5;backdrop-filter:blur(14px);border-top:1px solid #2a3953;z-index:20;max-width:900px;margin:auto}.nav-btn{border:0;background:transparent;color:#91a4c2;min-width:54px;flex:1;max-width:150px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;border-radius:13px}.nav-btn.active{background:#23385a;color:#b7d0ff}.nav-icon{font-size:22px;line-height:22px}.page-inner{padding:18px 16px 24px;display:flex;flex-direction:column;gap:16px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.page-title h1{font-size:24px;line-height:1.18;margin:0;letter-spacing:-.7px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua);font-weight:750}.subtitle{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.5}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 -4px}.section-title h2{font-size:15px;margin:0}.section-title button{border:0;background:transparent;color:var(--blue);font-size:12px;padding:6px}.card{background:var(--surface);border:1px solid #2e3b51;border-radius:var(--radius);padding:16px}.hero{padding:20px;border-radius:22px;background:linear-gradient(120deg,#263f68,#192a47 63%,#1b4a55);border:1px solid #355074;box-shadow:0 15px 36px #0000002b}.hero h1{font-size:23px;line-height:1.17;margin:6px 0 10px;letter-spacing:-.65px}.hero p{color:#c4d2e4;line-height:1.55;margin:0}.hero .status{font-size:12px;color:#93f2db}.quick-form{display:flex;gap:8px;align-items:center;margin-top:17px}.quick-form input{flex:1;min-width:0;padding:13px 12px;background:#111e33;color:var(--ink);border:1px solid #415975;border-radius:12px;font-size:13px}.primary{background:linear-gradient(135deg,#699cf7,#5985ed);color:white;border:none;border-radius:12px;padding:12px 16px;font-weight:750;box-shadow:0 7px 16px #366cbb36}.primary.compact{padding:11px 14px}.secondary{background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-weight:600}.danger{border:1px solid #76404f;color:#ffc5c7;background:#4e2635;padding:10px 14px;border-radius:11px}.text-btn{background:transparent;border:0;color:var(--blue);padding:8px;font-weight:650}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{padding:15px 12px;background:var(--surface);border:1px solid var(--line);border-radius:15px;min-width:0}.stat strong{font-size:25px;display:block;line-height:1.2}.stat span{font-size:11px;color:var(--muted)}.stat.warning strong{color:var(--warning)}.stat.teal strong{color:var(--aqua)}.list{display:flex;flex-direction:column;gap:8px}.task{display:flex;gap:11px;align-items:flex-start;padding:13px;background:var(--surface);border:1px solid #304059;border-radius:14px}.task-left{padding-top:3px}.check-round{border:2px solid #7286a6;width:23px;height:23px;border-radius:50%;background:transparent;color:var(--aqua);font-size:16px;line-height:16px;display:grid;place-items:center}.task.is-done{opacity:.57}.task-main{flex:1;min-width:0}.task-title{font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.task.is-done .task-title{text-decoration:line-through}.task-details{font-size:12px;color:var(--muted);margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.task-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;border-radius:20px;color:#bdcbe0;background:#2c3b52;padding:4px 8px}.tag.high{color:#ffd1a2;background:#5b413c}.tag.blue{color:#c8dbff;background:#284269}.mini-action{border:0;background:var(--surface2);color:var(--muted);border-radius:9px;padding:8px;font-size:17px;line-height:16px}.empty{padding:25px 19px;text-align:center;border:1px dashed #3e516b;border-radius:17px;color:var(--muted);line-height:1.5}.empty strong{color:var(--ink)}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{padding:9px 13px;white-space:nowrap;border-radius:100px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:12px}.chip.active{background:#315287;color:#e3eeff;border-color:#568fe4}.btn-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search-input{border:1px solid var(--line);background:var(--surface);padding:13px 14px;border-radius:12px;color:var(--ink);width:100%}.note-grid{display:grid;grid-template-columns:1fr;gap:10px}.note{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow-wrap:anywhere}.note b{font-size:14px}.note p{color:#a9bbd4;font-size:13px;line-height:1.58;margin:9px 0 12px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.note-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.amount-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #2c3a52}.amount-line:last-child{border-bottom:0}.amount-right{font-weight:800;font-size:14px;white-space:nowrap}.amount-right.income{color:var(--aqua)}.amount-right.expense{color:#ffc1af}.finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finance-box{padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:15px}.finance-box span{display:block;color:var(--muted);font-size:11px}.finance-box b{font-size:20px;display:block;margin-top:5px;overflow-wrap:anywhere}.memory-entry{border-left:3px solid var(--blue);padding:5px 3px 5px 14px;margin-bottom:13px}.memory-entry small{color:var(--muted)}.memory-entry p{line-height:1.5;white-space:pre-wrap;margin:6px 0}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.more-tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:left;color:var(--ink);min-height:90px}.more-tile strong{display:block;font-size:14px;margin-bottom:5px}.more-tile span{font-size:12px;color:var(--muted)}.more-icon{font-size:23px;margin-bottom:7px}.simple-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center;justify-content:space-between}.simple-item small{color:var(--muted)}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-head b{font-size:15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal-dow{text-align:center;color:var(--muted);font-size:10px;padding:7px 2px}.cal-cell{border:1px solid transparent;background:#1b2a40;color:var(--ink);border-radius:11px;aspect-ratio:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px}.cal-cell.out{color:#586b85;background:transparent}.cal-cell.today{border-color:var(--aqua)}.cal-cell.selected{background:#3b62a1;border-color:#6699ed}.cal-dot{width:5px;height:5px;border-radius:10px;background:var(--aqua)}.cal-cell .cal-empty{height:5px}.modal-root[hidden]{display:none}.modal-root{position:fixed;inset:0;background:#000a;z-index:40;display:flex;justify-content:center;align-items:flex-end;padding:0}.modal-panel{background:#17243a;border:1px solid #394c66;border-radius:22px 22px 0 0;width:min(100%,650px);max-height:94dvh;overflow-y:auto;padding:20px 18px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -18px 50px #0007}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h2{font-size:19px;margin:0}.close-btn{background:var(--surface2);border:0;color:var(--ink);padding:7px 10px;border-radius:11px;font-size:20px}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0}.field label{font-weight:600;color:#c4d1e3;font-size:12px}.field input,.field textarea,.field select{width:100%;border:1px solid #3d506b;background:#101b2e;color:var(--ink);border-radius:11px;padding:12px;min-height:43px}.field textarea{min-height:100px;resize:vertical}.field select option{color:var(--ink);background:#101b2e}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.modal-actions .primary{flex:1}.confirm-row{display:flex;align-items:center;gap:10px;margin:13px 0;color:var(--muted)}.confirm-row input{width:18px;height:18px}.tag-progress{height:7px;border-radius:20px;background:#33455f;overflow:hidden;margin-top:9px}.tag-progress span{display:block;background:var(--aqua);height:100%}#toast{position:fixed;bottom:calc(var(--bottom) + 16px);left:50%;transform:translateX(-50%);max-width:min(90vw,460px);min-width:100px;z-index:80;background:#334967;padding:12px 17px;border:1px solid #547298;border-radius:13px;box-shadow:0 15px 40px #0009;color:white;display:none;text-align:center}.splash{display:flex;min-height:50vh;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:7px}.splash-icon{font-size:55px;color:var(--blue)}.splash h2{color:var(--ink);margin:0}.splash p{max-width:300px;text-align:center;line-height:1.55}.auth-error{padding:20px;background:#3c2837;border:1px solid #8e536a;color:#ffd3dd;border-radius:15px;line-height:1.6}.hint{color:var(--muted);font-size:12px;line-height:1.6}.top-right{display:flex;gap:8px}.divider{height:1px;background:#2d3d55}.muted{color:var(--muted)}.small{font-size:12px}.flag{font-size:11px;white-space:nowrap}.spinner{border:3px solid #304362;border-top-color:var(--blue);border-radius:50%;width:23px;height:23px;animation:spin .8s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:640px){.page-inner{padding:28px 30px 40px}.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-root{align-items:center;padding:20px}.modal-panel{border-radius:22px;max-height:85dvh}.page-title h1{font-size:30px}.topbar{padding:14px 30px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
