.upload-panel[data-v-8e034247]{background:var(--card);border-radius:12px;padding:1rem}@media (min-width: 640px){.upload-panel[data-v-8e034247]{padding:1.5rem}}h2[data-v-8e034247]{margin:0 0 .2rem;font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.hint[data-v-8e034247]{font-size:.75rem;color:var(--text-muted);margin:0 0 .75rem}.drop-zone[data-v-8e034247]{border:2px dashed var(--border);border-radius:8px;padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text-muted);font-size:.85rem}.drop-zone.dragging[data-v-8e034247]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.drop-zone[data-v-8e034247]:hover{border-color:var(--accent)}.file-name[data-v-8e034247]{color:var(--text);font-weight:600}.password-row[data-v-8e034247]{margin-top:.6rem}.password-row input[data-v-8e034247]{width:100%;padding:.55rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;box-sizing:border-box;font-size:max(16px,.9rem)}.btn-upload[data-v-8e034247]{margin-top:.6rem;width:100%;padding:.75rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;min-height:44px}.btn-upload[data-v-8e034247]:disabled{opacity:.5;cursor:not-allowed}.result[data-v-8e034247]{margin-top:.6rem;padding:.55rem .75rem;border-radius:6px;font-size:.82rem}.result.success[data-v-8e034247]{background:color-mix(in srgb,#22c55e 15%,transparent);color:#16a34a}.result.error[data-v-8e034247]{background:color-mix(in srgb,#ef4444 15%,transparent);color:#dc2626}.health-card[data-v-df95c11c]{background:var(--card);border-radius:12px;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}@media (min-width: 480px){.health-card[data-v-df95c11c]{flex-direction:row;align-items:flex-start;padding:1.5rem;gap:1.5rem;text-align:left}}.score-ring[data-v-df95c11c]{flex-shrink:0}.health-info[data-v-df95c11c]{flex:1;width:100%}.label[data-v-df95c11c]{margin:0 0 .1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.status[data-v-df95c11c]{margin:0 0 .2rem;font-size:1.15rem;font-weight:700}.status-desc[data-v-df95c11c]{margin:0 0 .85rem;font-size:.78rem;color:var(--text-muted);line-height:1.4}.metrics[data-v-df95c11c]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.metric[data-v-df95c11c]{display:flex;flex-direction:column;gap:.05rem}.mkey[data-v-df95c11c]{font-size:.72rem;color:var(--text);font-weight:600}.mval[data-v-df95c11c]{font-size:1rem;font-weight:700}.mval-sm[data-v-df95c11c]{font-size:.82rem}.mtarget[data-v-df95c11c]{font-size:.63rem;color:var(--text-muted);line-height:1.3}.good[data-v-df95c11c]{color:#16a34a}.warn[data-v-df95c11c]{color:#d97706}.bad[data-v-df95c11c]{color:#dc2626}.summary-block[data-v-6a3681e7]{background:var(--card);border-radius:12px;overflow:hidden}.row[data-v-6a3681e7]{padding:.9rem 1rem}.row.two-col[data-v-6a3681e7]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0}@media (min-width: 480px){.row[data-v-6a3681e7]{padding:1rem 1.25rem}}.row-divider[data-v-6a3681e7]{height:1px;background:var(--border)}.cell-divider[data-v-6a3681e7]{width:1px;align-self:stretch;background:var(--border);margin:0 1rem}.cell[data-v-6a3681e7]{min-width:0}.cell-label[data-v-6a3681e7]{margin:0 0 .25rem;font-size:.72rem;font-weight:600;color:var(--text-muted);line-height:1.3}.period-note[data-v-6a3681e7]{font-weight:400}.cell-value[data-v-6a3681e7]{margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}@media (min-width: 480px){.cell-value[data-v-6a3681e7]{font-size:1.2rem}}.cell-sub[data-v-6a3681e7]{margin:.25rem 0 0;font-size:.67rem;color:var(--text-muted);line-height:1.4}.good[data-v-6a3681e7]{color:#16a34a}.bad[data-v-6a3681e7]{color:#dc2626}.neutral[data-v-6a3681e7]{color:var(--text)}.cat-section[data-v-261aa8ce]{background:var(--card);border-radius:12px;padding:1rem}@media (min-width: 640px){.cat-section[data-v-261aa8ce]{padding:1.5rem}}.section-title[data-v-261aa8ce]{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cat-list[data-v-261aa8ce]{display:flex;flex-direction:column;gap:.75rem}.cat-row[data-v-261aa8ce]{display:flex;flex-direction:column;gap:.25rem}.cat-meta[data-v-261aa8ce]{display:flex;justify-content:space-between;align-items:center}.cat-name[data-v-261aa8ce]{font-weight:600;font-size:.85rem}.cat-count[data-v-261aa8ce]{font-size:.72rem;color:var(--text-muted)}.bars[data-v-261aa8ce]{display:flex;flex-direction:column;gap:.2rem}.bar-row[data-v-261aa8ce]{display:flex;align-items:center;gap:.4rem}.bar-label[data-v-261aa8ce]{font-size:.72rem;width:100px;flex-shrink:0;text-align:right}@media (min-width: 480px){.bar-label[data-v-261aa8ce]{width:130px;font-size:.8rem}}.bar-label.in[data-v-261aa8ce]{color:#22c55e}.bar-label.out[data-v-261aa8ce]{color:#ef4444}.bar-track[data-v-261aa8ce]{flex:1;height:7px;background:var(--border);border-radius:4px;overflow:hidden;min-width:0}.bar[data-v-261aa8ce]{height:100%;border-radius:4px;transition:width .5s ease}.bar-in[data-v-261aa8ce]{background:#22c55e}.bar-out[data-v-261aa8ce]{background:#ef4444}.log-section[data-v-8cafbdaf]{background:var(--card);border-radius:12px;padding:1rem}@media (min-width: 640px){.log-section[data-v-8cafbdaf]{padding:1.5rem}}.log-header[data-v-8cafbdaf]{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}@media (min-width: 640px){.log-header[data-v-8cafbdaf]{flex-direction:row;justify-content:space-between;align-items:flex-start}}.section-title[data-v-8cafbdaf]{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filters[data-v-8cafbdaf]{display:flex;flex-direction:column;gap:.4rem}@media (min-width: 480px){.filters[data-v-8cafbdaf]{flex-direction:row}}.search-box[data-v-8cafbdaf],.filter-select[data-v-8cafbdaf]{padding:.5rem .7rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem;width:100%;box-sizing:border-box;font-size:max(16px,.85rem)}@media (min-width: 480px){.search-box[data-v-8cafbdaf]{width:200px;font-size:.85rem}.filter-select[data-v-8cafbdaf]{width:auto;font-size:.85rem}}.card-list[data-v-8cafbdaf]{display:flex;flex-direction:column;gap:0}.tx-card[data-v-8cafbdaf]{padding:.75rem 0;border-bottom:1px solid var(--border)}.tx-card[data-v-8cafbdaf]:last-child{border-bottom:none}.tx-top[data-v-8cafbdaf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.tx-date[data-v-8cafbdaf]{font-size:.72rem;color:var(--text-muted)}.tx-remarks[data-v-8cafbdaf]{margin:0 0 .35rem;font-size:.85rem;color:var(--text);line-height:1.4}.tx-bottom[data-v-8cafbdaf]{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.tx-in[data-v-8cafbdaf]{font-size:.82rem;font-weight:700;color:#16a34a}.tx-out[data-v-8cafbdaf]{font-size:.82rem;font-weight:700;color:#dc2626}.tx-bal[data-v-8cafbdaf]{font-size:.72rem;color:var(--text-muted);margin-left:auto}.table-wrap[data-v-8cafbdaf]{overflow-x:auto}table[data-v-8cafbdaf]{width:100%;border-collapse:collapse;font-size:.82rem}thead tr[data-v-8cafbdaf]{border-bottom:2px solid var(--border)}th[data-v-8cafbdaf]{padding:.45rem .6rem;text-align:left;color:var(--text-muted);font-weight:600;font-size:.7rem;text-transform:uppercase;white-space:nowrap}td[data-v-8cafbdaf]{padding:.45rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td[data-v-8cafbdaf]{border-bottom:none}.date[data-v-8cafbdaf]{white-space:nowrap;color:var(--text-muted);font-size:.75rem}.remarks[data-v-8cafbdaf]{max-width:300px;word-break:break-word}.num[data-v-8cafbdaf]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.in[data-v-8cafbdaf]{color:#16a34a;font-weight:600}.out[data-v-8cafbdaf]{color:#dc2626;font-weight:600}.empty-row[data-v-8cafbdaf]{text-align:center;color:var(--text-muted);padding:2rem;display:block}td.empty-row[data-v-8cafbdaf]{display:table-cell}.badge-cat[data-v-8cafbdaf]{display:inline-block;padding:.12rem .45rem;border-radius:20px;font-size:.68rem;font-weight:600;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);white-space:nowrap}.pagination[data-v-8cafbdaf]{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;justify-content:center;flex-wrap:wrap}@media (min-width: 480px){.pagination[data-v-8cafbdaf]{justify-content:flex-end}}.pagination button[data-v-8cafbdaf]{padding:.35rem .9rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font-size:1rem;min-height:36px}.pagination button[data-v-8cafbdaf]:disabled{opacity:.35;cursor:not-allowed}.page-total[data-v-8cafbdaf]{font-size:.78rem;color:var(--text-muted)}.pred-card[data-v-20ecde2b]{background:var(--card);border-radius:12px;padding:1rem}@media (min-width: 640px){.pred-card[data-v-20ecde2b]{padding:1.5rem}}.pred-header[data-v-20ecde2b]{margin-bottom:1rem}.pred-title[data-v-20ecde2b]{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem}.pred-sub[data-v-20ecde2b]{font-size:.875rem;color:var(--text-muted);margin:0}.pred-rows[data-v-20ecde2b]{display:flex;flex-direction:column;gap:0}.pred-row[data-v-20ecde2b]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.pred-row[data-v-20ecde2b]:last-child{border-bottom:none}.pred-period[data-v-20ecde2b]{display:flex;flex-direction:column;gap:.15rem}.pred-label[data-v-20ecde2b]{font-size:.95rem;font-weight:600;color:var(--text)}.pred-date[data-v-20ecde2b]{font-size:.78rem;color:var(--text-muted)}.pred-right[data-v-20ecde2b]{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.pred-balance[data-v-20ecde2b]{font-size:1rem;font-weight:700}.pred-delta[data-v-20ecde2b]{font-size:.75rem;font-weight:500}.pos[data-v-20ecde2b]{color:#16a34a}.neg[data-v-20ecde2b]{color:#dc2626}.pred-note[data-v-20ecde2b]{margin:.85rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.5}.chat-fab[data-v-909d7b2d]{position:fixed;bottom:1.5rem;right:1.5rem;width:52px;height:52px;border-radius:50%;background:var(--accent, #6366f1);color:#fff;border:none;cursor:pointer;font-size:1.25rem;box-shadow:0 4px 16px #6366f166;z-index:1000;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}.chat-fab[data-v-909d7b2d]:hover{transform:scale(1.08);box-shadow:0 6px 20px #6366f180}.fab-icon[data-v-909d7b2d]{line-height:1}.fab-badge[data-v-909d7b2d]{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-panel[data-v-909d7b2d]{position:fixed;bottom:5.5rem;right:1.5rem;width:360px;max-height:520px;background:var(--card, #fff);border:1px solid var(--border, #e2e8f0);border-radius:16px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;z-index:999;overflow:hidden}@media (max-width: 480px){.chat-panel[data-v-909d7b2d]{right:.75rem;left:.75rem;width:auto;bottom:5rem}}.chat-header[data-v-909d7b2d]{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border, #e2e8f0);background:var(--accent, #6366f1);color:#fff}.chat-title[data-v-909d7b2d]{font-weight:700;font-size:.95rem}.chat-header-actions[data-v-909d7b2d]{display:flex;gap:.5rem}.btn-icon[data-v-909d7b2d]{background:transparent;border:none;cursor:pointer;font-size:1rem;color:#ffffffd9;padding:2px 4px;border-radius:4px;line-height:1}.btn-icon[data-v-909d7b2d]:hover{color:#fff;background:#ffffff26}.chat-messages[data-v-909d7b2d]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-empty[data-v-909d7b2d]{text-align:center;color:var(--text-muted, #64748b);font-size:.875rem;padding:.5rem 0}.chat-empty p[data-v-909d7b2d]{margin:0 0 .75rem}.chat-suggestions[data-v-909d7b2d]{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.suggestion-chip[data-v-909d7b2d]{background:var(--bg, #f5f7fa);border:1px solid var(--border, #e2e8f0);border-radius:20px;padding:.3rem .75rem;font-size:.75rem;color:var(--text, #1e293b);cursor:pointer;text-align:left;transition:background .15s}.suggestion-chip[data-v-909d7b2d]:hover{background:var(--border, #e2e8f0)}.chat-bubble-wrap[data-v-909d7b2d]{display:flex}.chat-bubble-wrap.user[data-v-909d7b2d]{justify-content:flex-end}.chat-bubble-wrap.assistant[data-v-909d7b2d]{justify-content:flex-start}.chat-bubble[data-v-909d7b2d]{max-width:82%;padding:.6rem .85rem;border-radius:14px;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-bubble-wrap.assistant .chat-bubble ul[data-v-909d7b2d],.chat-bubble-wrap.assistant .chat-bubble ol[data-v-909d7b2d]{margin:.25rem 0 .25rem 1.1rem;padding:0;white-space:normal}.chat-bubble-wrap.assistant .chat-bubble li[data-v-909d7b2d]{margin-bottom:.15rem}.chat-bubble-wrap.assistant .chat-bubble strong[data-v-909d7b2d]{font-weight:600}.chat-bubble-wrap.assistant .chat-bubble em[data-v-909d7b2d]{font-style:italic}.chat-bubble-wrap.assistant .chat-bubble code[data-v-909d7b2d]{font-family:monospace;background:#00000012;padding:.1em .35em;border-radius:4px;font-size:.82em}.chat-bubble-wrap.user .chat-bubble[data-v-909d7b2d]{background:var(--accent, #6366f1);color:#fff;border-bottom-right-radius:4px}.chat-bubble-wrap.assistant .chat-bubble[data-v-909d7b2d]{background:var(--bg, #f5f7fa);color:var(--text, #1e293b);border-bottom-left-radius:4px}.typing[data-v-909d7b2d]{display:flex;align-items:center;gap:4px;padding:.7rem .85rem}.typing span[data-v-909d7b2d]{width:7px;height:7px;border-radius:50%;background:var(--text-muted, #94a3b8);animation:bounce-909d7b2d 1.2s infinite}.typing span[data-v-909d7b2d]:nth-child(2){animation-delay:.2s}.typing span[data-v-909d7b2d]:nth-child(3){animation-delay:.4s}@keyframes bounce-909d7b2d{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.chat-input-row[data-v-909d7b2d]{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border, #e2e8f0)}.chat-input-row textarea[data-v-909d7b2d]{flex:1;resize:none;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;background:var(--bg, #f5f7fa);color:var(--text, #1e293b);max-height:100px;overflow-y:auto;line-height:1.4}.chat-input-row textarea[data-v-909d7b2d]:focus{outline:none;border-color:var(--accent, #6366f1)}.chat-input-row textarea[data-v-909d7b2d]:disabled{opacity:.6}.btn-send[data-v-909d7b2d]{background:var(--accent, #6366f1);color:#fff;border:none;border-radius:8px;padding:.5rem .875rem;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s;align-self:flex-end}.btn-send[data-v-909d7b2d]:disabled{opacity:.45;cursor:not-allowed}.btn-send[data-v-909d7b2d]:not(:disabled):hover{opacity:.88}.chat-slide-enter-active[data-v-909d7b2d],.chat-slide-leave-active[data-v-909d7b2d]{transition:opacity .2s,transform .2s}.chat-slide-enter-from[data-v-909d7b2d],.chat-slide-leave-to[data-v-909d7b2d]{opacity:0;transform:translateY(12px) scale(.97)}:root{--bg: #f5f7fa;--card: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--accent: #6366f1}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-text-size-adjust:100%}.layout{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--border);padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.brand{display:flex;align-items:center;gap:.6rem}.logo{font-size:1.3rem}.brand-title{margin:0;font-size:.95rem;font-weight:700}.brand-sub{margin:0;font-size:.68rem;color:var(--text-muted)}.btn-danger{padding:.35rem .7rem;border-radius:6px;background:color-mix(in srgb,#ef4444 15%,transparent);color:#ef4444;border:1px solid #ef4444;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-danger:hover{background:color-mix(in srgb,#ef4444 25%,transparent)}.main{width:100%;max-width:1100px;margin:0 auto;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;box-sizing:border-box}@media (min-width: 640px){.topbar{padding:.75rem 1.5rem}.main{padding:1.25rem;gap:1.25rem}}.loading{text-align:center;color:var(--text-muted);padding:3rem 1rem}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;background:var(--card);border-radius:12px}.emergency-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.85rem 1rem;color:#1d4ed8;font-size:.875rem;margin-bottom:.5rem}.empty-icon{font-size:2.5rem;margin:0 0 .5rem;line-height:1}.empty-title{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 .4rem}.filter-bar{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.period-tabs{display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.period-tabs::-webkit-scrollbar{display:none}.tab{padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);transition:all .15s}.tab:hover{border-color:var(--accent);color:var(--text)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.tab-emergency{border-color:#22c55e40}.tab-emergency:hover{border-color:#22c55e}.tab-emergency.active{background:#16a34a;border-color:#16a34a}.tab-badge{display:inline-block;margin-left:.3rem;padding:.05rem .3rem;border-radius:8px;font-size:.58rem;font-weight:700;vertical-align:middle;background:var(--border);color:var(--text-muted)}.tab.active .tab-badge{background:#ffffff40;color:#fff}.period-chips{display:flex;gap:.5rem;flex-wrap:wrap}.chip{padding:.3rem .8rem;border-radius:20px;border:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}
