/* BOOKS PAGE */
.book-page{position:fixed;inset:0;background:var(--bg);z-index:180;overflow-y:auto;padding-bottom:90px;transform:translateX(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
.book-page.open{transform:translateX(0)}
.book-header{position:sticky;top:0;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:10;backdrop-filter:blur(8px)}
.book-title{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:var(--gold)}
.book-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 6px}
.book-sum-card{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:12px;text-align:center}
.book-sum-val{font-family:var(--font-d);font-size:1.15rem;font-weight:600;color:var(--gold)}
.book-sum-lbl{font-size:.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.book-filters{display:flex;gap:6px;padding:0 16px;margin:6px 0}
.book-ftab{background:none;border:1px solid var(--border-g);border-radius:20px;color:var(--text-dim);font-family:var(--font-b);font-size:.7rem;padding:5px 12px;cursor:pointer;transition:all .2s}
.book-ftab.active{background:rgba(155,122,204,.15);border-color:#6a4a9a;color:#9b7acc}
.book-list{padding:0 16px;display:flex;flex-direction:column;gap:10px;margin-top:4px}
.book-card{background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:14px;display:flex;gap:12px}
.book-card-cover{width:64px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}
.book-card-cover img{width:64px;height:90px;object-fit:cover;border-radius:6px;border:1px solid var(--border-g)}
.book-card-cover-empty{width:64px;height:90px;border-radius:6px;border:1px dashed var(--border-g);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--text-dim);background:var(--bg3)}
.book-card-body{flex:1;min-width:0}
.book-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.book-card-name{font-size:.95rem;color:var(--text);font-weight:700;line-height:1.3;flex:1}
.book-card-badge{font-size:.6rem;padding:3px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0;font-weight:600;letter-spacing:.04em}
.badge-done{background:rgba(76,175,125,.15);color:var(--green);border:1px solid rgba(76,175,125,.3)}
.badge-reading{background:rgba(106,158,196,.15);color:var(--blue);border:1px solid rgba(106,158,196,.3)}
.badge-wish{background:rgba(201,168,76,.1);color:var(--gold-d);border:1px solid rgba(201,168,76,.2)}
.book-card-author{font-size:.75rem;color:var(--text-dim);margin-bottom:7px}
.book-card-genre{display:inline-block;font-size:.62rem;color:#9b7acc;background:rgba(155,122,204,.1);border:1px solid rgba(155,122,204,.25);border-radius:8px;padding:2px 7px;margin-bottom:7px}
.book-card-stars{font-size:1rem;letter-spacing:2px;margin-bottom:6px}
.book-card-notes{font-size:.78rem;color:var(--text-mid);line-height:1.55;background:var(--bg3);border-radius:8px;padding:8px 10px;margin-bottom:8px;white-space:pre-wrap}
.book-card-dates{font-size:.65rem;color:var(--text-dim);margin-bottom:8px}
.book-card-footer{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border)}
.book-del-btn{background:none;border:1px solid rgba(224,85,85,.3);border-radius:7px;color:var(--red);padding:5px 10px;font-size:.67rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.book-del-btn:hover{background:rgba(224,85,85,.1)}
.book-img-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:4px}
.book-img-preview-wrap{width:70px;flex-shrink:0}
.book-img-preview-wrap img{width:70px;height:98px;object-fit:cover;border-radius:8px;border:1px solid var(--border-g)}
.book-img-placeholder{width:70px;height:98px;border-radius:8px;border:2px dashed var(--border-g);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--text-dim);background:var(--bg3)}
.book-img-actions{flex:1;display:flex;flex-direction:column;gap:6px;padding-top:4px}
.book-img-btn{background:var(--bg3);border:1px solid var(--border-g);border-radius:9px;color:var(--text-mid);font-size:.72rem;font-family:var(--font-b);padding:8px 10px;cursor:pointer;text-align:left;transition:all .2s;display:flex;align-items:center;gap:7px}
.book-img-btn:hover{border-color:var(--gold-d);color:var(--gold)}
.book-img-btn.generating{border-color:var(--gold-d);color:var(--gold);animation:blink 1s infinite}
.book-fab{position:fixed;bottom:24px;right:16px;z-index:190;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#3d2a5a,#9b7acc);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 18px rgba(155,122,204,.35);transition:all .25s;color:#fff}
.book-fab:hover{transform:scale(1.08)}
.book-search-wrap{padding:0 16px;margin:6px 0 2px}
.book-search-inp{width:100%;background:var(--bg3);border:1px solid var(--border-g);border-radius:10px;color:var(--text);font-family:var(--font-b);font-size:.82rem;padding:9px 12px 9px 34px;outline:none;transition:border-color .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a7060' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center}
.book-search-inp:focus{border-color:var(--gold-d)}
.book-search-inp::placeholder{color:var(--text-dim)}
.book-empty{text-align:center;padding:50px 20px;color:var(--text-dim)}
.book-empty-icon{font-size:3rem;margin-bottom:12px}
.book-empty-text{font-size:.85rem;line-height:1.6}
.book-status-row{display:flex;gap:6px;margin-bottom:4px}
.book-status-btn{flex:1;padding:8px 4px;border:1px solid var(--border-g);border-radius:9px;font-size:.72rem;cursor:pointer;font-family:var(--font-b);background:none;color:var(--text-dim);transition:all .2s;text-align:center}
.book-status-btn.active-done{background:rgba(76,175,125,.15);border-color:var(--green);color:var(--green)}
.book-status-btn.active-reading{background:rgba(106,158,196,.15);border-color:var(--blue);color:var(--blue)}
.book-status-btn.active-wish{background:rgba(201,168,76,.1);border-color:var(--gold-d);color:var(--gold)}
.star-pick{display:flex;gap:4px;margin:4px 0 8px}
.star-pick span{font-size:1.4rem;cursor:pointer;transition:opacity .15s;opacity:.35}
.star-pick span.lit{opacity:1}
/* CAR PAGE */
.car-page{position:fixed;inset:0;background:var(--bg);z-index:180;overflow-y:auto;padding-bottom:90px;transform:translateX(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
.car-page.open{transform:translateX(0)}
.car-header{position:sticky;top:0;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:10;backdrop-filter:blur(8px)}
.car-title{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:var(--gold)}
.car-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 16px 6px}
.car-sum-card{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:12px;text-align:center}
.car-sum-val{font-family:var(--font-d);font-size:1.15rem;font-weight:600;color:var(--gold)}
.car-sum-lbl{font-size:.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.car-list{padding:0 16px;display:flex;flex-direction:column;gap:10px;margin-top:8px}
.car-record{background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:14px}
.car-record-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.car-record-date{font-size:.67rem;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase}
.car-record-mileage{font-size:.8rem;color:#d4813a;font-weight:700;letter-spacing:.04em}
.car-record-work{font-size:.88rem;color:var(--text);font-weight:600;margin-bottom:5px;line-height:1.4}
.car-record-parts{font-size:.75rem;color:var(--text-mid);line-height:1.5;margin-bottom:6px;padding:7px 10px;background:var(--bg3);border-radius:8px}
.car-record-parts-lbl{font-size:.6rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}
.car-record-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.car-record-cost{font-family:var(--font-d);font-size:1.15rem;font-weight:600;color:var(--red)}
.car-del-btn{background:none;border:1px solid rgba(224,85,85,.3);border-radius:7px;color:var(--red);padding:5px 10px;font-size:.67rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.car-del-btn:hover{background:rgba(224,85,85,.1)}
.car-record-note{font-size:.7rem;color:var(--text-dim);font-style:italic;margin-top:4px}
.car-fab{position:fixed;bottom:24px;right:16px;z-index:190;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#5a3010,#d4813a);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 4px 18px rgba(212,129,58,.35);transition:all .25s;color:#fff}
.car-fab:hover{transform:scale(1.08)}
.car-empty{text-align:center;padding:50px 20px;color:var(--text-dim)}
.car-empty-icon{font-size:3rem;margin-bottom:12px}
.car-empty-text{font-size:.85rem;line-height:1.6}
.risk-selector{display:flex;gap:6px}
.risk-btn{flex:1;padding:9px 4px;border:1px solid var(--border-g);border-radius:9px;font-size:.7rem;cursor:pointer;font-family:var(--font-b);background:none;color:var(--text-dim);transition:all .2s;text-align:center;line-height:1.4}
.risk-btn.safe.active{background:rgba(76,175,125,.15);border-color:var(--green);color:var(--green)}
.risk-btn.moderate.active{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--gold)}
.risk-btn.risky.active{background:rgba(224,85,85,.15);border-color:var(--red);color:var(--red)}
.inv-empty{text-align:center;padding:44px 20px;color:var(--text-dim)}
.inv-empty-icon{font-size:3rem;margin-bottom:12px}
.inv-empty-text{font-size:.85rem;line-height:1.7}

/* EXTRA ACTION BUTTONS */
.actions-row2{padding:0 16px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:-4px}
.abtn-taxi{background:linear-gradient(135deg,#0f1e2a,#0a1420);color:#6a9ec4;border:1px solid #1e3d5a}
.abtn-taxi:hover{background:linear-gradient(135deg,#152535,#0f1a2a)}
.abtn-inv{background:linear-gradient(135deg,#1a1530,#100d20);color:#9b8acc;border:1px solid #352a5a}
.abtn-inv:hover{background:linear-gradient(135deg,#1f1a38,#130f28)}
.abtn-goals{background:linear-gradient(135deg,#1a1505,#0d0c02);color:var(--gold);border:1px solid var(--gold-d)}
.abtn-goals:hover{background:linear-gradient(135deg,#221c06,#131100)}
.abtn-car{background:linear-gradient(135deg,#1a0e05,#100903);color:#d4813a;border:1px solid #5a3010}
.abtn-car:hover{background:linear-gradient(135deg,#221408,#160c04)}
.abtn-books{background:linear-gradient(135deg,#120d1a,#0c0812);color:#9b7acc;border:1px solid #3d2a5a}
.abtn-books:hover{background:linear-gradient(135deg,#181122,#100d18)}
.abtn-stats{background:linear-gradient(135deg,#0a1a1a,#051010);color:#4ecdc4;border:1px solid #1a5a55}
.abtn-stats:hover{background:linear-gradient(135deg,#0e2222,#071515)}
.abtn-sport{background:linear-gradient(135deg,#1a0a0a,#100505);color:#ff6b6b;border:1px solid #5a1a1a}
.abtn-sport:hover{background:linear-gradient(135deg,#221010,#150707)}
.abtn-health{background:linear-gradient(135deg,#0a1915,#06110f);color:#79d7a5;border:1px solid #1a4a3b}
.abtn-health:hover{background:linear-gradient(135deg,#0d241d,#071713)}

/* STATS PAGE */
.stats-page{position:fixed;inset:0;background:var(--bg);z-index:180;overflow-y:auto;padding-bottom:90px;transform:translateX(100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
.stats-page.open{transform:translateX(0)}
.stats-header{position:sticky;top:0;background:var(--bg2);border-bottom:1px solid var(--border-g);padding:11px 16px;display:flex;align-items:center;gap:12px;z-index:10;backdrop-filter:blur(8px)}
.stats-back{background:none;border:1px solid var(--border-g);border-radius:8px;color:var(--text-dim);padding:6px 11px;font-size:.75rem;cursor:pointer;font-family:var(--font-b);transition:all .2s}
.stats-back:hover{border-color:var(--gold);color:var(--gold)}
.stats-title{font-family:var(--font-d);font-size:1.3rem;font-weight:600;color:#4ecdc4}
.stats-period-row{display:flex;gap:6px;padding:12px 16px 0;flex-wrap:wrap}
.stats-period-btn{background:none;border:1px solid var(--border-g);border-radius:20px;color:var(--text-dim);font-family:var(--font-b);font-size:.68rem;padding:5px 12px;cursor:pointer;transition:all .2s}
.stats-period-btn.active{background:rgba(78,205,196,.15);border-color:#4ecdc4;color:#4ecdc4}
.stats-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 16px}
.stats-kpi{background:var(--card);border:1px solid var(--border-g);border-radius:12px;padding:12px 13px;position:relative;overflow:hidden}
.stats-kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.stats-kpi.income::before{background:linear-gradient(90deg,var(--green),#6fcf97)}
.stats-kpi.expense::before{background:linear-gradient(90deg,var(--red),#eb6060)}
.stats-kpi.balance::before{background:linear-gradient(90deg,#4ecdc4,#45b7aa)}
.stats-kpi.savings::before{background:linear-gradient(90deg,var(--gold-d),var(--gold))}
.stats-kpi-val{font-family:var(--font-d);font-size:1.2rem;font-weight:600;color:var(--text);line-height:1.2}
.stats-kpi-val.pos{color:var(--green)}.stats-kpi-val.neg{color:var(--red)}
.stats-kpi-lbl{font-size:.58rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.stats-kpi-delta{font-size:.65rem;margin-top:5px;font-weight:600}
.stats-kpi-delta.up{color:var(--green)}.stats-kpi-delta.dn{color:var(--red)}
.stats-chart-block{padding:0 16px;margin-top:8px}
.stats-chart-title{font-family:var(--font-d);font-size:1rem;font-weight:600;color:var(--gold);margin-bottom:8px;letter-spacing:.04em}
.stats-canvas-wrap{background:var(--card);border:1px solid var(--border-g);border-radius:14px;padding:12px;margin-bottom:14px;overflow:hidden}
.stats-canvas-wrap canvas{display:block;width:100%!important}
.stats-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.stats-legend-item{display:flex;align-items:center;gap:5px;font-size:.65rem;color:var(--text-dim)}
.stats-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.stats-cat-list{display:flex;flex-direction:column;gap:6px}
.stats-cat-row{display:flex;align-items:center;gap:8px}
.stats-cat-name{font-size:.75rem;color:var(--text-mid);width:110px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-cat-bar-wrap{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.stats-cat-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--red),#eb8080);transition:width .5s ease}
.stats-cat-val{font-size:.68rem;color:var(--text-dim);flex-shrink:0;min-width:60px;text-align:right}

