@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&family=Lexend:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;700&display=swap";:root{--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-main:"Roboto", var(--bs-font-sans-serif);--font-heading:"Lexend", var(--bs-font-sans-serif);--font-number:"Inter", var(--bs-font-sans-serif);--font-mono:"Roboto Mono", var(--bs-font-monospace);--bg:#f0f4f8;--bg2:#e8edf3;--card:#fff;--border:#c8d5e0;--tm:#0f172a;--ts:#475569;--ts2:#94a3b8;--brand:#0057b8;--brand-rgb:0, 87, 184;--brand-l:#eff6ff;--brand-m:#3b82f6;--bg-rgb:240, 244, 248;--green:#16a34a;--green-l:#dcfce7;--red:#dc2626;--red-l:#fee2e2;--orange:#d97706;--orange-l:#fef3c7;--purple:#7c3aed;--purple-l:#ede9fe;--shadow:0 1px 4px #00000014;--shadow-md:0 4px 18px #0000001f}[data-theme=dark]{--bg:#0f172a;--bg2:#1e293b;--card:#1e293b;--border:#334155;--tm:#f1f5f9;--ts:#cbd5e1;--ts2:#64748b;--brand:#3b82f6;--brand-rgb:59, 130, 246;--brand-l:#1e3a5f;--brand-m:#60a5fa;--bg-rgb:15, 23, 42;--green-l:#14532d;--red-l:#450a0a;--orange-l:#431407;--purple-l:#2e1065;--shadow:0 1px 4px #00000059;--shadow-md:0 4px 18px #00000080}[data-theme=dark] body{background:var(--bg);color:var(--tm)}[data-theme=dark] .form-control-custom,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--bg2)!important;color:var(--tm)!important;border-color:var(--border)!important}[data-theme=dark] .tbl thead th,[data-theme=dark] .tbl tbody .sub-header-row th{background:var(--bg)}[data-theme=dark] .card-box{background:var(--card);border-color:var(--border)}[data-theme=dark] .btn-outline-custom{background:var(--bg2);color:var(--ts);border-color:var(--border)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .modal-box{background:var(--card);border-color:var(--border)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:var(--border)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,optgroup,select,textarea,.csd-wrap,.csd-popup,.csd-opt,.csd-trigger,.msp-wrap,.msp-popup,.msp-trigger,.msp-cell,.msp-dcell{font-size:inherit;line-height:inherit;font-family:inherit!important}body{font-family:var(--font-main);background:var(--bg);color:var(--tm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:14px;line-height:1.5}.font-sora{font-family:var(--font-number);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.font-inter{font-family:var(--font-number);font-variant-numeric:tabular-nums}.font-mono{font-family:var(--font-mono)}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl thead th,.tbl tbody .sub-header-row th{background:var(--bg2);color:var(--ts);text-transform:uppercase;letter-spacing:.4px;border-bottom:1.5px solid var(--border);white-space:nowrap;padding:12px 20px;font-size:11.5px;font-weight:700}.tbl tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.tbl tbody tr:last-child{border-bottom:none}.tbl tbody tr:nth-child(2n){background-color:#00000004}[data-theme=dark] .tbl tbody tr:nth-child(2n){background-color:#ffffff04}.tbl tbody tr:hover{background:var(--brand-l)!important}.tbl td{vertical-align:middle;padding:12px 20px}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;position:relative}.tbl th.sortable:hover{background:var(--border)!important;color:var(--brand)!important}.tbl th.sortable .sort-ico{opacity:.5;margin-left:4px;font-size:10px}.tbl th.sortable.active .sort-ico{opacity:1;color:var(--brand)}.badge-custom{border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-blue{background:var(--brand-l);color:var(--brand)}.badge-green{background:var(--green-l);color:var(--green)}.badge-orange{background:var(--orange-l);color:var(--orange)}.badge-gray{background:var(--bg2);color:var(--ts)}.badge-purple{background:var(--purple-l);color:var(--purple)}.empty-state{text-align:center;color:var(--ts2);font-size:13px;padding:40px 20px!important}.btn-primary-custom{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary-custom:hover{opacity:.9;transform:translateY(-1px)}.btn-primary-custom:active{transform:translateY(0)}.btn-outline-custom{color:var(--ts);border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .2s;display:inline-flex}.btn-outline-custom:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-l)}.btn-outline-custom:disabled{opacity:.5;cursor:not-allowed}.btn-sm{border-radius:6px!important;padding:4px 10px!important;font-size:11.5px!important}.btn-primary-custom.btn-sm{padding:5px 12px!important}.card-box{background:var(--card);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:16px;margin:0;overflow:visible}.card-box>.tbl-wrap:last-child,.card-box>.tbl:last-child{border-bottom-right-radius:14px;border-bottom-left-radius:14px}.card-box>.tbl:last-child{overflow:hidden}.card-box>.tbl-wrap:last-child{overflow:auto hidden}.card-head{z-index:10;border-bottom:1px solid var(--border);background:rgba(var(--brand-rgb), .02);border-top-left-radius:15px;border-top-right-radius:15px;align-items:center;gap:12px;padding:16px 20px;display:flex;position:relative}.card-ico{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.card-title{color:var(--tm);font-size:15px;font-weight:700}.card-sub{color:var(--ts2);font-size:11.5px}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.search-box{border:1.5px solid var(--border);background:#fff;border-radius:8px;flex:1;align-items:center;gap:6px;min-width:150px;padding:6px 10px;font-size:13px;display:flex}.search-box i{color:var(--ts2);font-size:14px}.search-box input{color:var(--tm);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.search-box input::placeholder{color:var(--ts2)}.form-group-custom{margin-bottom:1rem}.label-custom{color:var(--ts);margin-bottom:.5rem;font-size:13px;font-weight:600;display:block}.form-control-custom{width:100%;color:var(--tm);border:1.5px solid var(--border);appearance:none;background-color:#fff;background-clip:padding-box;border-radius:8px;padding:.45rem .9rem;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block}.form-control-custom:focus{color:var(--tm);border-color:var(--brand-m);background-color:#fff;outline:0;box-shadow:0 0 0 .25rem #3b82f626}.form-control-custom::placeholder{color:var(--ts2);opacity:.8}.form-control-custom:disabled{background-color:var(--bg);opacity:.7;cursor:not-allowed}.form-select-custom{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px 12px}.help-text{color:var(--ts2);margin-top:4px;font-size:11px}.form-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:1.5rem;display:flex}.btn-save{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-weight:700;transition:all .2s}.btn-save:hover{background:#004a9e;transform:translateY(-1px);box-shadow:0 4px 12px #0057b833}.btn-save:active{transform:translateY(0)}.btn-cancel{color:var(--ts);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 16px;font-weight:600}.btn-cancel:hover{background:var(--bg2)}.row-actions{justify-content:center;gap:6px;display:flex}.btn-icon{background:var(--bg);width:28px;height:28px;color:var(--ts);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon:hover{background:var(--brand-l);color:var(--brand)}.btn-icon.del:hover{background:var(--red-l);color:var(--red)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.toggle-switch{background:var(--border);cursor:pointer;border-radius:12px;width:38px;height:19px;padding:2px;transition:all .3s;display:inline-flex}.switch{background:#fff;border-radius:50%;width:15px;height:15px;transition:all .3s;box-shadow:0 1px 3px #0000001a}.switch.active{background:var(--green);transform:translate(19px)}.toggle-switch:has(.active){background:var(--green-l);border:1px solid var(--green-m)}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.msp-wrap{z-index:1000;display:inline-flex;position:relative}.msp-trigger{cursor:pointer;background:var(--card);border:1.5px solid var(--border);color:var(--tm);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:border-color .15s;display:inline-flex}.msp-trigger:hover{border-color:var(--brand-m)}.msp-trigger .msp-ico{color:var(--brand);flex-shrink:0;font-size:14px}.msp-trigger .msp-caret{color:var(--ts2);font-size:10px;transition:transform .2s}.msp-wrap.open .msp-trigger{border-color:var(--brand-m);box-shadow:0 0 0 3px #3b82f61f}.msp-wrap.open .msp-caret{transform:rotate(180deg)}.msp-popup{z-index:9999;background:var(--card);border:1.5px solid var(--border);opacity:0;pointer-events:none;border-radius:12px;width:220px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 6px);left:0;transform:scale(.96)translateY(-6px);box-shadow:0 8px 32px #00000024}.msp-popup.open{opacity:1;pointer-events:all;transform:scale(1)translateY(0)}.msp-head{border-bottom:1px solid var(--border);justify-content:center;align-items:center;padding:12px 16px;display:flex}.msp-year{font-family:var(--font-heading);color:var(--tm);letter-spacing:.5px;font-size:14px;font-weight:800}.msp-grid{grid-template-columns:repeat(3,1fr);gap:6px;padding:12px 14px;display:grid}.msp-cell{color:var(--tm);text-align:center;cursor:pointer;border:1.5px solid #0000;border-radius:8px;padding:9px 4px;font-size:12px;font-weight:600;transition:all .12s}.msp-cell:hover{background:var(--brand-l);color:var(--brand)}.msp-cell.msp-sel{background:var(--brand-m);color:#fff;border-color:#0000;font-weight:700}.msp-cell.msp-today{color:var(--brand);border-color:var(--brand);font-weight:700}.msp-cell.msp-today.msp-sel{border-color:#0000}.dashboard-loading{background:rgba(var(--bg-rgb), .7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}[data-theme=dark] .dashboard-loading{background:#0f172a99}.loader-content{flex-direction:column;align-items:center;gap:16px;display:flex}.loader-spinner{border:4px solid rgba(var(--brand-rgb), .1);border-top-color:var(--brand);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}.loader-text{color:var(--tm);letter-spacing:.5px;font-size:14px;font-weight:600}.cdl-wrap{z-index:1000;display:inline-block;position:relative}.cdl-trigger{cursor:pointer;background:var(--card);border:1.5px solid var(--border);color:var(--ts);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;padding:7px 11px;font-size:12.5px;font-weight:500;transition:border-color .15s;display:inline-flex}.cdl-trigger:hover{border-color:var(--brand-m)}.cdl-trigger .cdl-ico{color:var(--brand);flex-shrink:0;font-size:13px}.cdl-trigger .cdl-txt{text-align:left;flex:1;min-width:90px}.cdl-trigger .cdl-txt.ph{color:var(--ts2)}.cdl-trigger .cdl-caret{color:var(--ts2);font-size:10px;transition:transform .2s}.cdl-wrap.open .cdl-trigger{border-color:var(--brand-m);box-shadow:0 0 0 3px #3b82f61f}.cdl-wrap.open .cdl-caret{transform:rotate(180deg)}.cdl-popup{z-index:10001;background:var(--card);border:1.5px solid var(--border);opacity:0;pointer-events:none;border-radius:12px;min-width:180px;max-height:280px;transition:opacity .18s,transform .18s;position:fixed;overflow-y:auto;transform:scale(.96)translateY(-6px);box-shadow:0 8px 32px #00000024}.cdl-popup.open{opacity:1;pointer-events:all;transform:scale(1)translateY(0)}.cdl-item{color:var(--tm);cursor:pointer;border-bottom:1px solid var(--bg2);align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;transition:background .12s;display:flex}.cdl-item:last-child{border-bottom:none}.cdl-item:hover{background:var(--brand-l);color:var(--brand)}.cdl-item.cdl-sel{background:var(--brand-m);color:#fff;font-weight:600}.cdl-check{color:inherit;font-size:12px}@media (width<=768px){.card-head{flex-wrap:wrap;align-items:flex-start;padding:12px 14px}.card-actions{width:100%;margin-top:6px;margin-left:0!important}.page-body{padding:10px!important}.top-header{flex-direction:column;min-height:64px;align-items:flex-start!important;gap:10px!important;height:auto!important;padding:10px 16px!important}.header-right{justify-content:flex-end;width:100%}.top-nav{width:100%;padding-bottom:4px;overflow-x:auto}.header-left{width:100%;gap:16px!important}}@media (width<=480px){.btn-sm{padding:4px 8px!important;font-size:10.5px!important}.btn-primary-custom.btn-sm{padding:4px 10px!important}.card-box{border-radius:12px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--ts2)}.top-nav::-webkit-scrollbar{height:2px}.top-nav::-webkit-scrollbar-thumb{background:var(--brand-m)}.app-progress-bar{background:var(--brand-m);z-index:99999;width:0;height:3px;box-shadow:0 0 8px var(--brand-m);transition:width .3s;position:fixed;top:0;left:0}.app-progress-bar.loading{width:30%;animation:2s linear infinite progress-indefinite}@keyframes progress-indefinite{0%{width:30%;left:-30%}50%{width:40%;left:40%}to{width:30%;left:100%}}.tab-loading-overlay{background:rgba(var(--bg-rgb), .6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.loading-quote{color:var(--ts2);text-align:center;max-width:80%;font-size:12px;font-style:italic}.text-success{color:var(--green)!important}.text-danger{color:var(--red)!important}.text-warning{color:var(--orange)!important}.text-info{color:var(--brand)!important}.text-muted{color:var(--ts2)!important}.actions-group--divider{border-left:1.5px solid var(--border);margin-left:2px;padding-left:10px}[data-theme=dark] .actions-group--divider{border-color:var(--border)}.lp-page[data-v-80b64dd4]{background:linear-gradient(135deg,#1a237e 0%,#283593 30%,#1565c0 60%,#0288d1 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Inter,Be Vietnam Pro,sans-serif;display:flex;position:relative;overflow:hidden}.lp-bg-circle[data-v-80b64dd4]{pointer-events:none;border-radius:50%;position:absolute}.lp-c1[data-v-80b64dd4]{background:#ffffff0a;border:1px solid #ffffff12;width:500px;height:500px;top:-120px;left:-120px}.lp-c2[data-v-80b64dd4]{background:#ffffff08;border:1px solid #ffffff0f;width:350px;height:350px;bottom:-80px;right:-80px}.lp-c3[data-v-80b64dd4]{background:#ffffff06;border:1px solid #ffffff0d;width:200px;height:200px;top:40%;right:20%}.lp-card[data-v-80b64dd4]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1;background:#ffffff14;border:1px solid #ffffff38;border-radius:22px;width:100%;max-width:900px;min-height:500px;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 64px -16px #00000080,inset 0 0 0 1px #ffffff0f}.lp-left[data-v-80b64dd4]{color:#fff;flex-direction:column;flex:1;padding:44px 40px;display:flex;position:relative;overflow:hidden}.lp-inner-ring[data-v-80b64dd4]{pointer-events:none;border-radius:50%;position:absolute}.lp-r1[data-v-80b64dd4]{border:1px solid #ffffff1a;width:280px;height:280px;top:-60px;right:-60px}.lp-r2[data-v-80b64dd4]{border:1px solid #ffffff12;width:160px;height:160px;bottom:40px;left:-40px}.lp-brand[data-v-80b64dd4]{z-index:1;margin-bottom:22px;position:relative}.lp-logo[data-v-80b64dd4]{background:#ffffff26;border:1px solid #ffffff4d;border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:14px;font-family:Sora,Inter,sans-serif;font-size:26px;font-weight:800;display:flex}.lp-title[data-v-80b64dd4]{letter-spacing:-.5px;margin:0 0 8px;font-family:Sora,Inter,sans-serif;font-size:30px;font-weight:800}.lp-desc[data-v-80b64dd4]{color:#ffffffe0;max-width:280px;margin:0;font-size:13px;line-height:1.65}.lp-version[data-v-80b64dd4]{color:#ffffffe6;letter-spacing:.5px;background:#ffffff1f;border:1px solid #ffffff14;border-radius:6px;margin-top:14px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-block}.lp-divider[data-v-80b64dd4]{z-index:1;background:#ffffff2e;height:1px;margin:20px 0;position:relative}.lp-clock[data-v-80b64dd4]{z-index:1;font-variant-numeric:tabular-nums;align-items:baseline;gap:0;margin-bottom:10px;display:flex;position:relative}.lp-clock-main[data-v-80b64dd4]{letter-spacing:1px;color:#fff;font-family:Sora,Inter,sans-serif;font-size:44px;font-weight:800;line-height:1}.lp-clock-sec[data-v-80b64dd4]{color:#ffffffbf;margin-left:1px;font-family:Sora,Inter,sans-serif;font-size:24px;font-weight:700;line-height:1}.lp-clock-sep[data-v-80b64dd4]{margin:0 1px;animation:2s ease-in-out infinite sep-gentle-blink-80b64dd4;display:inline-block}@keyframes sep-gentle-blink-80b64dd4{0%,45%{opacity:1}55%,to{opacity:.25}}.lp-date[data-v-80b64dd4]{opacity:.9;z-index:1;align-items:center;gap:6px;margin-bottom:3px;font-size:13px;display:flex;position:relative}.lp-date[data-v-80b64dd4]:before{content:"📅";font-size:12px}.lp-lunar[data-v-80b64dd4]{opacity:.78;z-index:1;align-items:center;gap:6px;margin-bottom:12px;font-size:11.5px;display:flex;position:relative}.lp-lunar[data-v-80b64dd4]:before{content:"🌙";font-size:11px}.lp-day-quality[data-v-80b64dd4]{z-index:1;margin-bottom:8px;position:relative}.lp-badge[data-v-80b64dd4]{color:#fff;background:#ffffff29;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.lp-badge-note[data-v-80b64dd4]{opacity:.85;font-weight:400}.lp-hd-row[data-v-80b64dd4]{z-index:1;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:10px;display:flex;position:relative}.lp-hd-label[data-v-80b64dd4]{opacity:.65;flex-shrink:0;margin-right:2px;font-size:10.5px}.lp-hd-item[data-v-80b64dd4]{color:#ffffffbf;background:#ffffff1f;border:1px solid #0000;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.lp-hd-active[data-v-80b64dd4]{color:#fef08a!important;background:#facc1552!important;border-color:#facc1580!important}.lp-hd-time[data-v-80b64dd4]{opacity:.65;margin-left:2px;font-size:9.5px}.lp-weather-row[data-v-80b64dd4]{z-index:1;flex-wrap:wrap;gap:8px;display:flex;position:relative}.lp-badge-sm[data-v-80b64dd4]{padding:3px 10px;font-size:11.5px;font-weight:500}.lp-quote[data-v-80b64dd4]{z-index:1;max-width:280px;margin-top:4px;position:relative}.lp-quote-text[data-v-80b64dd4]{color:#ffffffd9;border:none;margin:0 0 6px;padding:0;font-size:12px;font-style:italic;line-height:1.65}.lp-quote-author[data-v-80b64dd4]{color:#ffffff8c;letter-spacing:.3px;font-size:11px;font-weight:600}.lp-right[data-v-80b64dd4]{background:#fff;flex:1.05;justify-content:center;align-items:center;padding:44px 48px;display:flex}.lp-form-box[data-v-80b64dd4]{width:100%;max-width:340px}.lp-form-title[data-v-80b64dd4]{color:#0f172a;letter-spacing:.5px;margin:0 0 8px;font-family:Sora,Inter,sans-serif;font-size:22px;font-weight:800}.lp-form-sub[data-v-80b64dd4]{color:#64748b;margin:0 0 24px;font-size:13px;line-height:1.55}.lp-field[data-v-80b64dd4]{margin-bottom:18px}.lp-label[data-v-80b64dd4]{color:#1e293b;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.lp-req[data-v-80b64dd4]{color:#ef4444}.lp-input-wrap[data-v-80b64dd4]{align-items:center;display:flex;position:relative}.lp-ico-l[data-v-80b64dd4]{color:#94a3b8;pointer-events:none;font-size:15px;position:absolute;left:13px}.lp-input[data-v-80b64dd4]{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;width:100%;padding:10px 14px 10px 38px;font-family:inherit;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.lp-input-pw[data-v-80b64dd4]{padding-right:40px}.lp-input[data-v-80b64dd4]:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.lp-input[data-v-80b64dd4]::placeholder{color:#94a3b8}.lp-eye[data-v-80b64dd4]{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;right:11px}.lp-error[data-v-80b64dd4]{color:#ef4444;margin-bottom:14px;font-size:12px;font-weight:500}.lp-btn[data-v-80b64dd4]{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 10px #3b82f64d}.lp-btn[data-v-80b64dd4]:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}.lp-btn[data-v-80b64dd4]:disabled{opacity:.7;cursor:not-allowed;transform:none}.lp-footer-note[data-v-80b64dd4]{color:#94a3b8;text-align:left;flex-direction:column;gap:4px;margin-top:22px;font-size:11px;line-height:1.65;display:flex}.lp-contact-link[data-v-80b64dd4]{color:#3b82f6;font-weight:600;text-decoration:none;transition:color .2s}.lp-contact-link[data-v-80b64dd4]:hover{color:#2563eb;text-decoration:underline}@media (width<=768px){.lp-card[data-v-80b64dd4]{flex-direction:column}.lp-left[data-v-80b64dd4],.lp-right[data-v-80b64dd4]{padding:30px}}.font-sora[data-v-ee4b47b3]{font-family:var(--font-heading)}.hero-banner[data-v-ee4b47b3]{color:#fff;background:linear-gradient(135deg,#0a1628 0%,#0d2252 40%,#1a0a3d 100%);border-radius:24px;margin-bottom:20px;padding:28px 28px 0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 20px 60px #001e6480,0 4px 16px #0000004d}.hero-banner[data-v-ee4b47b3]:before{content:"";pointer-events:none;background:radial-gradient(circle,#0057b873 0%,#0000 70%);border-radius:50%;width:480px;height:480px;animation:8s ease-in-out infinite float1-ee4b47b3;position:absolute;top:-180px;right:-80px}.hero-banner[data-v-ee4b47b3]:after{content:"";pointer-events:none;background:radial-gradient(circle,#7c3aed59 0%,#0000 70%);border-radius:50%;width:360px;height:360px;animation:11s ease-in-out infinite float2-ee4b47b3;position:absolute;bottom:-120px;left:30%}@keyframes float1-ee4b47b3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,20px)scale(1.05)}}@keyframes float2-ee4b47b3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-25px)scale(1.08)}}.hero-grid[data-v-ee4b47b3]{pointer-events:none;background-image:radial-gradient(#ffffff0a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.hero-main[data-v-ee4b47b3]{z-index:1;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:24px;display:flex;position:relative}.hero-left[data-v-ee4b47b3]{flex:1}.status-pill[data-v-ee4b47b3]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.02em;background:#ffffff14;border:1px solid #ffffff26;border-radius:100px;align-items:center;gap:8px;margin-bottom:14px;padding:5px 14px;font-size:11px;font-weight:700;display:inline-flex}.dot[data-v-ee4b47b3]{background:#10b981;border-radius:50%;flex-shrink:0;width:7px;height:7px}.pulse[data-v-ee4b47b3]{animation:2s infinite pulse-green-ee4b47b3}@keyframes pulse-green-ee4b47b3{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.hero-title[data-v-ee4b47b3]{background:linear-gradient(90deg,#fff 0%,#ffffffbf 100%);-webkit-text-fill-color:transparent;color:#0000;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:26px;font-weight:800}.hero-desc[data-v-ee4b47b3]{color:#ffffffbf;align-items:flex-start;gap:8px;max-width:550px;min-height:40px;margin-bottom:24px;font-size:13px;font-style:italic;line-height:1.6;display:flex}.quote-text[data-v-ee4b47b3]{flex:1}.hero-desc i[data-v-ee4b47b3]{opacity:.5;vertical-align:middle;color:var(--brand-m);margin-right:4px;font-size:16px}.btn-refresh-quote[data-v-ee4b47b3]{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-top:-2px;padding:4px;transition:all .2s;display:flex}.btn-refresh-quote[data-v-ee4b47b3]:hover{color:#fffc;background:#ffffff1a}.hero-actions[data-v-ee4b47b3]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.btn-action[data-v-ee4b47b3]{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:12.5px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.btn-action[data-v-ee4b47b3]:before{content:"";opacity:0;background:#ffffff1f;transition:opacity .2s;position:absolute;inset:0}.btn-action[data-v-ee4b47b3]:hover:before{opacity:1}.main-btn[data-v-ee4b47b3]{color:var(--brand);background:linear-gradient(135deg,#fff 0%,#e8f0fe 100%);box-shadow:0 4px 15px #ffffff26,inset 0 1px #fffc}.secondary-btn[data-v-ee4b47b3]{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff2e}.btn-action[data-v-ee4b47b3]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.btn-action[data-v-ee4b47b3]:active{transform:translateY(0)}.btn-action[data-v-ee4b47b3]:disabled{opacity:.5;cursor:not-allowed;transform:none}.price-status-text[data-v-ee4b47b3]{color:#ffffff8c;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:6px;padding:4px 12px;font-size:11px;font-weight:500;display:inline-flex}.price-status-text i[data-v-ee4b47b3]{color:#ffffffb3;font-size:12px}.hero-right[data-v-ee4b47b3]{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:12px;display:flex}.clock-wrap[data-v-ee4b47b3]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:18px;min-width:220px;padding:16px 22px 14px}.time-digit[data-v-ee4b47b3]{letter-spacing:-3px;font-variant-numeric:tabular-nums;background:linear-gradient(#fff 30%,#fff9 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;align-items:center;font-size:42px;font-weight:800;line-height:1;display:flex}.time-sep[data-v-ee4b47b3]{opacity:.8;-webkit-text-fill-color:#fffc;margin:0 2px;font-weight:700}.date-text[data-v-ee4b47b3]{color:#fffc;margin-top:5px;font-size:12px;font-weight:600}.lunar-text[data-v-ee4b47b3]{color:#ffffff80;margin-top:2px;font-size:10.5px}.lunar-pills[data-v-ee4b47b3]{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.day-status-pill[data-v-ee4b47b3]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:100px;align-items:center;gap:8px;padding:5px 14px;font-size:11px;display:inline-flex}.day-status-pill i[data-v-ee4b47b3]{color:#f59e0b}.zodiac-wrap[data-v-ee4b47b3]{justify-content:flex-end;align-items:center;gap:8px;display:flex}.zodiac-label[data-v-ee4b47b3]{color:#fff9;white-space:nowrap;font-size:10.5px;font-weight:700}.zodiac-list[data-v-ee4b47b3]{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.zodiac-item[data-v-ee4b47b3]{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:7px;padding:3px 9px;font-size:10.5px;font-weight:700}.zodiac-item small[data-v-ee4b47b3]{opacity:.55;margin-left:2px;font-weight:400}.weather-row[data-v-ee4b47b3]{gap:6px;display:flex}.weather-pill[data-v-ee4b47b3]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:7px;padding:5px 14px;font-size:11px;font-weight:700;display:flex}.warning-bar[data-v-ee4b47b3]{z-index:1;background:#f59e0b14;border-top:1px solid #f59e0b33;justify-content:space-between;align-items:center;margin:0 -28px;padding:10px 28px;display:flex;position:relative}.warning-content[data-v-ee4b47b3]{color:#fcd34d;align-items:center;gap:10px;font-size:12.5px;font-weight:600;display:flex}.warning-content i[data-v-ee4b47b3]{color:#f59e0b;font-size:14px}.warning-close[data-v-ee4b47b3]{cursor:pointer;color:#fff6;background:0 0;border:none;padding:2px;font-size:16px}.warning-close[data-v-ee4b47b3]:hover{color:#fffc}.spin[data-v-ee4b47b3]{animation:.8s linear infinite spin-ee4b47b3}@keyframes spin-ee4b47b3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1024px){.hero-main[data-v-ee4b47b3]{text-align:center;flex-direction:column;align-items:center;gap:24px}.hero-right[data-v-ee4b47b3]{text-align:center;align-items:center}.clock-wrap[data-v-ee4b47b3]{width:100%;min-width:0;max-width:260px}.zodiac-wrap[data-v-ee4b47b3]{flex-direction:column}.hero-desc[data-v-ee4b47b3]{margin-left:auto;margin-right:auto}.hero-actions[data-v-ee4b47b3]{flex-direction:column;width:100%;max-width:300px;margin-left:auto;margin-right:auto}.hero-actions .btn-action[data-v-ee4b47b3]{justify-content:center;width:100%}.price-status-text[data-v-ee4b47b3]{margin:0 auto}.warning-bar[data-v-ee4b47b3]{margin:0 -28px}}.modal-wrapper[data-v-7a07f314]{z-index:9999;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-overlay[data-v-7a07f314]{cursor:pointer;background:radial-gradient(#0f172ab8 0%,#020617d9 100%);position:absolute;inset:0}.modal-content[data-v-7a07f314]{z-index:1;background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:100%;max-width:650px;max-height:calc(100vh - 40px);display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 8px 32px #00000059,0 32px 80px #00000047}.modal-content.modal-wide[data-v-7a07f314]{max-width:1000px}.modal-header[data-v-7a07f314]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3[data-v-7a07f314]{color:var(--tm);margin:0;font-size:18px;font-weight:800}.close-btn[data-v-7a07f314]{background:var(--bg);border:1px solid var(--border);width:32px;height:32px;color:var(--ts2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:background .18s,color .18s,border-color .18s;display:flex}.close-btn[data-v-7a07f314]:hover{background:var(--red-l);color:var(--red);border-color:var(--red)}.modal-body[data-v-7a07f314]{flex:1;padding:24px;overflow-y:auto}@media (width<=640px){.modal-content[data-v-7a07f314]{border-radius:16px;max-height:calc(100vh - 20px)}.modal-header[data-v-7a07f314],.modal-body[data-v-7a07f314]{padding:16px}}.stat-area[data-v-f7f8a4ac]{margin-bottom:0;position:relative}.summary-body[data-v-f7f8a4ac]{padding:24px}.stats-row[data-v-f7f8a4ac]{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:20px;display:flex}.main-stat .label[data-v-f7f8a4ac]{color:var(--ts);margin-bottom:6px;font-size:13px;font-weight:600}.main-stat .value[data-v-f7f8a4ac]{letter-spacing:.2px;background:linear-gradient(135deg,#0f172a 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:32px;font-weight:700;display:inline-block}.stat-group[data-v-f7f8a4ac]{align-items:stretch;gap:24px;display:flex}.stat-divider[data-v-f7f8a4ac]{background:var(--border);width:1px;margin:4px 0}.stat-mini[data-v-f7f8a4ac]{flex-direction:column;display:flex}.stat-mini .label[data-v-f7f8a4ac]{color:var(--ts2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600}.stat-mini .value[data-v-f7f8a4ac]{background:linear-gradient(135deg,#0f172a 0%,#475569 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:700;display:inline-block}.stat-mini .sub-label[data-v-f7f8a4ac]{color:var(--ts2);opacity:.6;margin-top:2px;font-size:10px;font-weight:500}.stat-mini .pct[data-v-f7f8a4ac]{margin-left:4px;font-size:12px;font-weight:600}.divider[data-v-f7f8a4ac]{background:var(--border);border:none;height:1px;margin:24px 0}.allocation-grid[data-v-f7f8a4ac]{grid-template-columns:repeat(2,1fr);gap:20px 40px;display:grid}.allocation-col[data-v-f7f8a4ac]{flex-direction:column;gap:24px;display:flex}.asset-item[data-v-f7f8a4ac]{flex-direction:column;gap:8px;display:flex}.item-info[data-v-f7f8a4ac]{justify-content:space-between;align-items:center;display:flex}.item-info .name[data-v-f7f8a4ac]{color:var(--tm);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.item-info .name i[data-v-f7f8a4ac]{color:var(--brand);font-size:14px}.item-info .val[data-v-f7f8a4ac]{color:var(--tm);font-size:13px;font-weight:700}.item-info .val small[data-v-f7f8a4ac]{color:var(--ts2);margin-left:4px;font-weight:500}.bar-bg[data-v-f7f8a4ac]{background:var(--bg2);border-radius:10px;height:8px;overflow:hidden}.bar-fill[data-v-f7f8a4ac]{border-radius:10px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.pl-row[data-v-f7f8a4ac]{align-items:baseline;gap:6px;display:flex}.pl-amount[data-v-f7f8a4ac]{letter-spacing:.2px;font-size:20px;font-weight:600;font-family:var(--font-number)}.pl-badge[data-v-f7f8a4ac]{text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;font-size:11px;font-weight:600;font-family:var(--font-number);border-radius:4px;padding:1px 6px}.pl-positive .pl-amount[data-v-f7f8a4ac]{color:#059669;-webkit-text-fill-color:#059669;text-shadow:0 0 12px #10b9811a}.pl-positive .pl-badge[data-v-f7f8a4ac]{color:#059669;-webkit-text-fill-color:#059669;background:#ecfdf5;border:1px solid #10b98133}.pl-negative .pl-amount[data-v-f7f8a4ac]{color:#e11d48;-webkit-text-fill-color:#e11d48;text-shadow:0 0 12px #e11d481a}.pl-negative .pl-badge[data-v-f7f8a4ac]{color:#e11d48;-webkit-text-fill-color:#e11d48;background:#fff1f2;border:1px solid #f43f5e33}[data-theme=dark] .pl-positive .pl-badge[data-v-f7f8a4ac]{color:#34d399;-webkit-text-fill-color:#34d399;background:#10b98126}[data-theme=dark] .pl-negative .pl-badge[data-v-f7f8a4ac]{color:#fb7185;-webkit-text-fill-color:#fb7185;background:#e11d4826}[data-theme=dark] .pl-positive .pl-amount[data-v-f7f8a4ac]{color:#34d399;-webkit-text-fill-color:#34d399}[data-theme=dark] .pl-negative .pl-amount[data-v-f7f8a4ac]{color:#fb7185;-webkit-text-fill-color:#fb7185}[data-theme=dark] .main-stat .value[data-v-f7f8a4ac],[data-theme=dark] .stat-mini .value[data-v-f7f8a4ac]{background:linear-gradient(135deg,#f1f5f9 0%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}@media (width<=768px){.stats-row[data-v-f7f8a4ac]{flex-direction:column;align-items:flex-start;gap:20px}.stat-group[data-v-f7f8a4ac]{justify-content:space-between;width:100%}.allocation-grid[data-v-f7f8a4ac]{grid-template-columns:1fr}.main-stat .value[data-v-f7f8a4ac]{font-size:28px}}@media (width<=576px){.stat-group[data-v-f7f8a4ac]{flex-direction:column;align-items:flex-start;gap:12px;width:100%}.stat-divider[data-v-f7f8a4ac]{width:100%;height:1px;margin:4px 0}}.sector-popup-float[data-v-f7f8a4ac]{border:1.5px solid var(--border);z-index:9999;will-change:transform, opacity;background:#fff;border-radius:12px;width:280px;padding:12px;position:fixed;box-shadow:0 10px 40px #00000040}[data-theme=dark] .sector-popup-float[data-v-f7f8a4ac]{background:var(--card)}.popup-head[data-v-f7f8a4ac]{border-bottom:1px solid var(--bg2);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.popup-title[data-v-f7f8a4ac]{color:var(--brand);font-size:13px;font-weight:700}.popup-close[data-v-f7f8a4ac]{color:var(--ts2);cursor:pointer;background:0 0;border:none;font-size:18px}.popup-body[data-v-f7f8a4ac]{flex-direction:column;gap:6px;display:flex}.popup-row[data-v-f7f8a4ac]{align-items:center;gap:10px;padding:4px 0;font-size:11.5px;display:flex}.p-sym[data-v-f7f8a4ac]{color:var(--brand);min-width:45px;font-weight:800}.p-name[data-v-f7f8a4ac]{color:var(--ts);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.p-pct[data-v-f7f8a4ac]{color:var(--tm);text-align:right;min-width:35px;font-weight:700}.mini-chart-card[data-v-159a9413]{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.card-head.mini[data-v-159a9413]{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding-bottom:8px;display:flex}.card-ico[data-v-159a9413]{border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.card-title[data-v-159a9413]{color:var(--tm);font-size:13px;font-weight:700}.chart-badge[data-v-159a9413]{border-radius:12px;align-items:center;gap:4px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700;display:flex}.chart-body[data-v-159a9413]{flex:1}.bar-chart-container[data-v-159a9413]{flex-direction:column;gap:10px;padding:8px 0;display:flex;position:relative}.zero-line[data-v-159a9413]{border-left:1px dashed var(--ts2);opacity:.4;z-index:0;width:1px;position:absolute;top:0;bottom:0;left:calc(50% + 20px)}.sec-row[data-v-159a9413]{z-index:1;align-items:center;gap:8px;display:flex;position:relative}.sec-label[data-v-159a9413]{width:82px;color:var(--ts);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11.5px;font-weight:600;overflow:hidden}.sec-bar-wrap[data-v-159a9413]{flex:1;align-items:center;height:16px;display:flex}.bar-half[data-v-159a9413]{flex:1;height:100%;display:flex}.bar-half.left[data-v-159a9413]{justify-content:flex-end}.bar-half.right[data-v-159a9413]{justify-content:flex-start}.bar-fill[data-v-159a9413]{border-radius:3px;height:100%;transition:width .3s}.bar-fill.green[data-v-159a9413]{background:var(--green)}.bar-fill.red[data-v-159a9413]{background:var(--red)}.sec-value[data-v-159a9413]{text-align:right;width:50px;font-size:11px;font-weight:700;font-family:var(--font-number);flex-shrink:0}.empty-chart[data-v-159a9413]{color:var(--ts2);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:30px 0;font-size:11.5px;display:flex}.empty-chart i[data-v-159a9413]{opacity:.4;font-size:24px}.health-card[data-v-a126262f]{padding:0;overflow:hidden}.card-head.mini[data-v-a126262f]{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:12px 16px 10px;display:flex}.card-ico[data-v-a126262f]{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.card-title[data-v-a126262f]{color:var(--tm);font-size:13px;font-weight:700}.health-body[data-v-a126262f]{align-items:center;gap:20px;padding:12px 16px;display:flex}.score-column[data-v-a126262f]{flex-direction:column;flex-shrink:0;align-items:center;width:100px;display:flex}.score-circle-wrap[data-v-a126262f]{justify-content:center;display:flex;position:relative}.score-inner[data-v-a126262f]{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.score-num[data-v-a126262f]{font-size:16px;font-weight:800;line-height:1;font-family:var(--font-number)}.score-sub[data-v-a126262f]{color:var(--ts2);font-size:8px;font-weight:600}.score-label-wrap[data-v-a126262f]{text-align:center;margin-top:4px}.score-label[data-v-a126262f]{white-space:nowrap;font-size:11.5px;font-weight:800}.score-desc[data-v-a126262f]{color:var(--ts2);white-space:nowrap;margin-top:2px;font-size:9px}.metrics-grid[data-v-a126262f]{flex-direction:column;flex:1;gap:8px;display:flex}.metric-item[data-v-a126262f]{grid-template-columns:20px 1fr;align-items:center;gap:2px 8px;display:grid}.metric-icon[data-v-a126262f]{justify-self:center;font-size:12px}.metric-info[data-v-a126262f]{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.metric-label[data-v-a126262f]{color:var(--ts2);flex:1;font-size:10.5px;font-weight:600}.metric-value[data-v-a126262f]{font-size:10.5px;font-weight:800;font-family:var(--font-number)}.metric-sub[data-v-a126262f]{color:var(--ts2);font-size:9.5px}.metric-bar-wrap[data-v-a126262f]{background:var(--bg2);border-radius:10px;grid-column:2;height:3px;overflow:hidden}.metric-bar-fill[data-v-a126262f]{opacity:.7;border-radius:10px;height:100%;transition:width .8s}@media (width<=480px){.health-body[data-v-a126262f]{flex-direction:column;gap:16px}.score-column[data-v-a126262f]{width:100%}}.goal-tracker-card[data-v-c67c974b]{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;margin-bottom:20px;padding:24px;position:relative;overflow:hidden}.goal-tracker-card[data-v-c67c974b]:before{content:"";pointer-events:none;background:radial-gradient(circle,#a855f714 0%,#fff0 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-150px;right:-150px}.tracker-header[data-v-c67c974b]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.header-left[data-v-c67c974b]{align-items:center;gap:16px;display:flex}.card-subtitle[data-v-c67c974b]{color:var(--ts2);margin-top:4px;font-size:13px}.btn-edit-goal[data-v-c67c974b]{border:1px solid var(--border);background:var(--bg);color:var(--tm);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.btn-edit-goal[data-v-c67c974b]:hover{background:var(--border);border-color:var(--ts2)}.edit-panel[data-v-c67c974b]{background:var(--bg2);border:1px solid var(--border);border-radius:14px;margin-bottom:24px;padding:20px;animation:.25s ease-out slideDown-c67c974b}.form-grid[data-v-c67c974b]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.form-group[data-v-c67c974b]{flex-direction:column;gap:8px;display:flex}.form-group label[data-v-c67c974b]{color:var(--ts2);font-size:12px;font-weight:700}.input-wrap[data-v-c67c974b]{align-items:center;display:flex;position:relative}.prefix[data-v-c67c974b]{font-size:15px;position:absolute;left:12px}.input-wrap input[data-v-c67c974b]{border:1.5px solid var(--border);background:var(--card);width:100%;color:var(--tm);font-size:14px;font-weight:700;font-family:var(--font-number);border-radius:10px;outline:none;padding:10px 12px 10px 38px;transition:border-color .2s}.input-wrap input[data-v-c67c974b]:focus{border-color:var(--brand)}.form-actions[data-v-c67c974b]{justify-content:flex-end;margin-top:16px;display:flex}.btn-save[data-v-c67c974b]{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #3b82f640}.btn-save[data-v-c67c974b]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f659}.tracker-dashboard[data-v-c67c974b]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px;display:grid}.metric-box[data-v-c67c974b]{flex-direction:column;gap:6px;display:flex}.metric-label[data-v-c67c974b]{color:var(--ts2);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.metric-value[data-v-c67c974b]{color:var(--tm);font-size:24px;font-weight:900}.metric-value.target[data-v-c67c974b]{color:var(--ts)}.metric-value.pct[data-v-c67c974b]{color:var(--brand);background:0 0;padding:0}.progress-container[data-v-c67c974b]{padding:24px 32px 32px}.progress-track-wrapper[data-v-c67c974b]{width:100%;height:12px;position:relative}.progress-track-bg[data-v-c67c974b]{background:var(--border);opacity:.6;border-radius:6px;width:100%;height:100%;position:absolute;top:0;left:0}.progress-track-fill[data-v-c67c974b]{background:linear-gradient(90deg, var(--purple) 0%, var(--brand) 50%, var(--green) 100%);border-radius:6px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;overflow:hidden}.shine-effect[data-v-c67c974b]{background:linear-gradient(90deg,#fff0 0%,#ffffff40 50%,#fff0 100%);width:100%;height:100%;animation:2.5s linear infinite shine-c67c974b;position:absolute;top:0;left:0}.milestone-marker[data-v-c67c974b]{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:-4px;transform:translate(-50%)}.marker-dot[data-v-c67c974b]{border:4px solid var(--card);z-index:2;border-radius:50%;width:20px;height:20px;transition:all .3s;box-shadow:0 2px 6px #0000001a}.milestone-marker.reached .marker-dot[data-v-c67c974b]{transform:scale(1.1)}.marker-label[data-v-c67c974b]{color:var(--ts2);white-space:nowrap;margin-top:8px;font-size:10.5px;font-weight:700;transition:color .3s,font-weight .3s}.milestone-marker.reached .marker-label[data-v-c67c974b]{color:var(--tm);font-weight:800}.projection-banner[data-v-c67c974b]{background:var(--purple-l);border:1px solid #a855f726;border-radius:14px;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.banner-icon[data-v-c67c974b]{color:var(--purple);font-size:20px;line-height:1}.banner-text[data-v-c67c974b]{color:var(--tm);font-size:13.5px;line-height:1.5}.banner-text strong.highlight[data-v-c67c974b]{color:var(--purple);font-weight:800}@keyframes shine-c67c974b{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideDown-c67c974b{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.tracker-header[data-v-c67c974b]{flex-direction:column;align-items:flex-start;gap:16px}.btn-edit-goal[data-v-c67c974b]{justify-content:center;width:100%}.tracker-dashboard[data-v-c67c974b]{grid-template-columns:1fr;gap:16px}.marker-label[data-v-c67c974b]{display:none}}.widgets-grid[data-v-ffe11abf],.widgets-bottom-grid[data-v-ffe11abf]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.widget-card[data-v-ffe11abf]{height:100%;margin:0!important}.card-head.mini[data-v-ffe11abf]{border-bottom:1px dashed var(--border);background:0 0;padding:12px 16px}.card-head.mini .card-ico[data-v-ffe11abf]{border-radius:7px;width:28px;height:28px;font-size:13px}.card-head.mini .card-title[data-v-ffe11abf]{font-size:13px}.widget-body[data-v-ffe11abf]{padding:16px}.mini-loader[data-v-ffe11abf]{color:var(--ts2);font-size:12px}.change-content[data-v-ffe11abf]{justify-content:space-between;align-items:center;display:flex}.change-val[data-v-ffe11abf]{font-size:18px;font-weight:800;font-family:var(--font-number)}.change-pct[data-v-ffe11abf]{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:800;display:flex}.performers-body[data-v-ffe11abf]{align-items:stretch;gap:12px;display:flex}.perf-col[data-v-ffe11abf]{flex-direction:column;flex:1;gap:6px;display:flex}.perf-label[data-v-ffe11abf]{text-transform:uppercase;letter-spacing:.5px;color:var(--ts2);margin-bottom:2px;font-size:10px;font-weight:700}.perf-item[data-v-ffe11abf]{justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.p-sym[data-v-ffe11abf]{color:var(--tm)}.perf-divider[data-v-ffe11abf]{background:var(--border);width:1px;margin:0 4px}.empty-mini[data-v-ffe11abf]{color:var(--ts2);margin-top:4px;font-size:11px;font-style:italic}@media (width<=640px){.widgets-grid[data-v-ffe11abf],.widgets-bottom-grid[data-v-ffe11abf]{grid-template-columns:1fr}}.allocation-body[data-v-1cb7cdce]{padding:18px}.group-name[data-v-1cb7cdce]{color:var(--tm);font-size:13px;font-weight:700}.divider[data-v-1cb7cdce]{border-top:1px dashed var(--border);margin:20px 0}.asset-counts[data-v-1cb7cdce]{color:var(--ts2);gap:15px;font-size:11px;display:flex}.asset-counts i[data-v-1cb7cdce]{color:var(--brand)}.target-section[data-v-1cb7cdce]{margin-top:0}.target-head[data-v-1cb7cdce]{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.btn-edit-target[data-v-1cb7cdce]{border:1px solid var(--border);color:var(--ts2);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;display:flex}.btn-edit-target[data-v-1cb7cdce]:hover{border-color:var(--brand);color:var(--brand)}.target-edit-form[data-v-1cb7cdce]{flex-direction:column;gap:8px;display:flex}.edit-group-title[data-v-1cb7cdce]{color:var(--brand);margin-bottom:4px;font-size:11.5px;font-weight:800}.target-row[data-v-1cb7cdce]{justify-content:space-between;align-items:center;gap:8px;display:flex}.target-name[data-v-1cb7cdce]{color:var(--ts);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.font-bold[data-v-1cb7cdce]{color:var(--tm);font-weight:700}.target-input-wrap[data-v-1cb7cdce]{color:var(--ts2);align-items:center;gap:4px;font-size:12px;display:flex}.target-input[data-v-1cb7cdce]{border:1.5px solid var(--border);text-align:right;background:var(--bg);width:50px;color:var(--tm);border-radius:6px;padding:4px 6px;font-size:12px}.target-total[data-v-1cb7cdce]{text-align:right;color:var(--ts2);margin-top:4px;font-size:11px;font-weight:700}.target-total.over[data-v-1cb7cdce]{color:var(--red)}.mb-4[data-v-1cb7cdce]{margin-bottom:12px}.target-deviations[data-v-1cb7cdce]{flex-direction:column;gap:14px;display:flex}.asset-class-card[data-v-1cb7cdce]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px}.asset-class-header[data-v-1cb7cdce]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.asset-class-title[data-v-1cb7cdce]{color:var(--tm);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.asset-class-nums[data-v-1cb7cdce]{align-items:center;gap:6px;display:flex}.pct-bold[data-v-1cb7cdce]{color:var(--tm);font-size:13.5px;font-weight:800;font-family:var(--font-number)}.asset-bars[data-v-1cb7cdce]{background:var(--bg2);border-radius:4px;height:8px;margin-bottom:4px;position:relative;overflow:visible}.asset-line[data-v-1cb7cdce]{background:var(--orange);width:2.5px;height:12px;top:-2px}.sub-sectors-wrapper[data-v-1cb7cdce]{border-top:1px solid var(--bg2);flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;display:flex}.sub-sector-row[data-v-1cb7cdce]{cursor:pointer;padding-left:20px;transition:background .2s;position:relative}.sub-sector-row[data-v-1cb7cdce]:hover{background:var(--bg2);border-radius:6px}.sub-branch-line[data-v-1cb7cdce]{border-left:1.5px dashed var(--border);width:1.5px;position:absolute;top:-14px;bottom:10px;left:6px}.sub-sector-row:first-child .sub-branch-line[data-v-1cb7cdce]{top:-12px}.sub-sector-row[data-v-1cb7cdce]:before{content:"";border-top:1.5px dashed var(--border);width:8px;height:1.5px;position:absolute;top:10px;left:6px}.dev-row[data-v-1cb7cdce]{align-items:center;gap:8px;padding:4px 6px;display:flex}.dev-name[data-v-1cb7cdce]{color:var(--ts);white-space:nowrap;text-overflow:ellipsis;min-width:75px;font-size:11px;overflow:hidden}.sub-bars[data-v-1cb7cdce]{height:5px}.dev-bars[data-v-1cb7cdce]{background:var(--bg2);border-radius:4px;flex:1;height:6px;position:relative;overflow:visible}.dev-current[data-v-1cb7cdce]{background:var(--brand-m);border-radius:4px;height:100%;transition:width .3s}.dev-target-line[data-v-1cb7cdce]{background:var(--orange);border-radius:2px;width:2px;height:11px;position:absolute;top:-3px;transform:translate(-50%)}.dev-nums[data-v-1cb7cdce]{justify-content:flex-end;align-items:center;gap:6px;min-width:65px;font-size:11px;display:flex}.sub-nums[data-v-1cb7cdce]{font-size:10.5px}.dev-diff[data-v-1cb7cdce]{font-size:9.5px;font-weight:700;font-family:var(--font-number);border-radius:4px;padding:1px 4px}.dev-ok[data-v-1cb7cdce]{background:var(--green-l);color:var(--green)}.dev-over[data-v-1cb7cdce]{background:var(--red-l);color:var(--red)}.dev-under[data-v-1cb7cdce]{background:var(--orange-l);color:var(--orange)}.target-empty[data-v-1cb7cdce]{color:var(--ts2);text-align:center;padding:8px 0;font-size:11px}.text-blue[data-v-1cb7cdce]{color:#3b82f6}.text-purple[data-v-1cb7cdce]{color:#a855f7}.bg-blue[data-v-1cb7cdce]{background:#3b82f6!important}.bg-purple[data-v-1cb7cdce]{background:#a855f7!important}.mt-3[data-v-1cb7cdce]{margin-top:12px}.pop-enter-active[data-v-1cb7cdce],.pop-leave-active[data-v-1cb7cdce]{transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.pop-enter-from[data-v-1cb7cdce],.pop-leave-to[data-v-1cb7cdce]{opacity:0;transform:scale(.9)translateY(10px)}.sector-popup-float[data-v-1cb7cdce]{border:1.5px solid var(--border);z-index:9999;will-change:transform, opacity;background:#fff;border-radius:12px;width:280px;padding:12px;position:fixed;box-shadow:0 10px 40px #00000040}.popup-head[data-v-1cb7cdce]{border-bottom:1px solid var(--bg2);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.popup-title[data-v-1cb7cdce]{color:var(--brand);font-size:13px;font-weight:700}.popup-close[data-v-1cb7cdce]{color:var(--ts2);cursor:pointer;background:0 0;border:none;font-size:18px}.popup-body[data-v-1cb7cdce]{flex-direction:column;gap:6px;display:flex}.popup-row[data-v-1cb7cdce]{align-items:center;gap:10px;padding:4px 0;font-size:11.5px;display:flex}.p-sym[data-v-1cb7cdce]{color:var(--brand);min-width:45px;font-weight:800}.p-name[data-v-1cb7cdce]{color:var(--ts);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.p-pct[data-v-1cb7cdce]{color:var(--tm);text-align:right;min-width:35px;font-weight:700}.widgets-container[data-v-96139ec6]{flex-direction:column;flex:1;min-height:0;padding:0 18px;display:flex}.divider[data-v-96139ec6]{border-top:1px dashed var(--border);flex-shrink:0;margin:16px 0}.group-header[data-v-96139ec6]{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.group-name[data-v-96139ec6]{color:var(--tm);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.txn-count-badge[data-v-96139ec6]{background:var(--bg2);color:var(--ts2);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.recent-txns-section[data-v-96139ec6]{flex-direction:column;flex:1;min-height:0;margin-top:4px;display:flex}.timeline-fade-wrap[data-v-96139ec6]{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.timeline-fade[data-v-96139ec6]{background:linear-gradient(to bottom, transparent, var(--card));pointer-events:none;z-index:2;border-radius:0 0 14px 14px;height:72px;position:absolute;bottom:0;left:0;right:4px}[data-theme=dark] .timeline-fade[data-v-96139ec6]{background:linear-gradient(to bottom, transparent, var(--card))}.timeline-list[data-v-96139ec6]{will-change:transform;flex-direction:column;flex:1;gap:2px;padding-bottom:56px;padding-right:4px;display:flex;overflow-y:auto;transform:translate(0,0)}.timeline-list[data-v-96139ec6]::-webkit-scrollbar{width:4px}.timeline-list[data-v-96139ec6]::-webkit-scrollbar-track{background:0 0}.timeline-list[data-v-96139ec6]::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.timeline-list[data-v-96139ec6]::-webkit-scrollbar-thumb:hover{background:var(--brand-m)}.timeline-row[data-v-96139ec6]{border-radius:8px;flex-shrink:0;align-items:center;gap:9px;min-height:38px;padding:5px 6px;transition:background .15s;display:flex}.timeline-row[data-v-96139ec6]:hover{background:var(--bg2)}.tl-icon-wrap[data-v-96139ec6]{border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;display:flex}.tl-body[data-v-96139ec6]{flex:1;min-width:0}.tl-top[data-v-96139ec6]{align-items:center;gap:5px;display:flex}.tl-symbol[data-v-96139ec6]{color:var(--tm);font-size:12px;font-weight:700}.tl-badge[data-v-96139ec6]{border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:800}.tl-total[data-v-96139ec6]{color:var(--tm);font-size:11.5px;font-weight:700;font-family:var(--font-number);margin-left:auto}.tl-bottom[data-v-96139ec6]{align-items:center;gap:6px;margin-top:1px;display:flex}.tl-date[data-v-96139ec6]{color:var(--ts2);flex-shrink:0;font-size:10px}.tl-detail[data-v-96139ec6]{color:var(--ts2);font-size:10.5px;font-family:var(--font-number)}.tl-at[data-v-96139ec6]{opacity:.5;margin:0 1px}.txn-empty[data-v-96139ec6]{color:var(--ts2);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 0;font-size:12px;display:flex}.txn-empty i[data-v-96139ec6]{opacity:.4;font-size:24px}.tech-badge[data-v-07d268e5]{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 4px;transition:all .2s;display:inline-flex}.tech-badge.score[data-v-07d268e5]{text-align:center;width:auto;min-width:34px;padding:0 6px;font-size:11.5px;font-weight:800}.tech-badge.score.pill-mode[data-v-07d268e5]{border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #0000000d}.tech-badge.score[data-v-07d268e5]:hover{filter:brightness(.9);transform:translateY(-1px)}.spinner[data-v-07d268e5]{border:2px solid var(--border);border-top-color:var(--ts2);border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin-07d268e5}@keyframes spin-07d268e5{to{transform:rotate(360deg)}}.sparkline-wrapper[data-v-1d710864]{justify-content:center;align-items:center;display:inline-flex}.sparkline-svg[data-v-1d710864]{display:block;overflow:visible}.sparkline-current-dot[data-v-1d710864]{opacity:.95}.sparkline-empty[data-v-1d710864]{background:var(--border);opacity:.3;border-radius:2px;width:100%;height:2px}.tbl-wrap[data-v-2a29fe08]{overflow-x:auto}.tbl[data-v-2a29fe08]{font-size:12.5px}.tbl th[data-v-2a29fe08],.tbl td[data-v-2a29fe08]{padding:10px 12px}.th-sort[data-v-2a29fe08]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort i[data-v-2a29fe08]{color:var(--ts2);opacity:.6;margin-left:4px;font-size:10px;transition:opacity .2s}.th-sort[data-v-2a29fe08]:hover{color:var(--brand)}.th-sort:hover i[data-v-2a29fe08]{opacity:1;color:var(--brand)}.table-container-box[data-v-2a29fe08]{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;overflow:hidden}.table-container-box[data-v-2a29fe08]:last-child{margin-bottom:0}.rebalance-container[data-v-0561b122]{flex-direction:column;gap:20px;display:flex}.rebalance-header[data-v-0561b122]{background:var(--bg2);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.info-block .label[data-v-0561b122]{color:var(--ts2);margin-bottom:4px;font-size:13px;font-weight:500}.info-block .value[data-v-0561b122]{color:var(--tm);font-size:20px;font-weight:800;font-family:var(--font-number)}.info-block.right[data-v-0561b122]{text-align:right}.weight-sum.error[data-v-0561b122]{color:var(--red)}.error-msg[data-v-0561b122]{color:var(--red);margin-top:4px;font-size:12px;font-weight:500}.table-container[data-v-0561b122]{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.rb-table[data-v-0561b122]{border-collapse:collapse;width:100%;min-width:600px}.rb-table th[data-v-0561b122]{background:var(--bg2);color:var(--ts2);text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.rb-table td[data-v-0561b122]{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.rb-table tr:last-child td[data-v-0561b122]{border-bottom:none}.rb-table tbody tr[data-v-0561b122]:hover{background:var(--bg2)}.asset-info[data-v-0561b122]{flex-direction:column;gap:2px;display:flex}.asset-symbol[data-v-0561b122]{font-size:14px;font-weight:700}.asset-symbol.cp[data-v-0561b122]{color:var(--purple)}.asset-symbol.ccq[data-v-0561b122]{color:var(--brand)}.asset-symbol.cash[data-v-0561b122]{color:var(--green)}.asset-val[data-v-0561b122]{color:var(--ts2);font-size:12px}.weight-input[data-v-0561b122]{border:1px solid var(--border);background:var(--bg);width:70px;color:var(--tm);font-weight:700;font-family:var(--font-number);text-align:center;border-radius:6px;padding:6px 8px;transition:all .2s}.weight-input[data-v-0561b122]:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-l);outline:none}.text-gray[data-v-0561b122]{color:var(--ts2)}.action-badge[data-v-0561b122]{border-radius:20px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.action-badge.neutral[data-v-0561b122]{background:var(--bg);color:var(--ts2);border:1px solid var(--border)}.overview-grid[data-v-7bc10780]{grid-template-columns:350px 1fr;align-items:start;gap:20px;margin-bottom:20px;display:grid;position:relative}.sidebar-card[data-v-7bc10780]{flex-direction:column;max-height:calc(100vh - 100px);display:flex;position:sticky;top:80px;overflow:hidden}.sidebar-content[data-v-7bc10780]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (width<=1024px){.overview-grid[data-v-7bc10780]{grid-template-columns:1fr}}.rb-btn[data-v-7bc10780]{background:var(--purple-l);color:var(--purple);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s;display:flex}.rb-btn[data-v-7bc10780]:hover{background:var(--purple);color:#fff}.marquee-bar[data-v-ba0020aa]{background:var(--card);color:var(--ts);border-bottom:1px solid var(--border);align-items:center;gap:120px;height:28px;font-size:11.5px;font-weight:500;display:flex;overflow:hidden}.marquee-content[data-v-ba0020aa]{flex-shrink:0;gap:120px;animation-name:scroll-ba0020aa;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.marquee-bar:hover .marquee-content[data-v-ba0020aa]{cursor:pointer;animation-play-state:paused}.marquee-item[data-v-ba0020aa]{white-space:nowrap;align-items:center;gap:12px;display:flex}.m-dot[data-v-ba0020aa]{background:var(--brand-m);opacity:.6;border-radius:50%;width:5px;height:5px}.m-main[data-v-ba0020aa]{color:var(--tm);font-weight:700}.m-desc[data-v-ba0020aa]{color:var(--ts2);font-size:11px;font-weight:400}@keyframes scroll-ba0020aa{0%{transform:translate(0)}to{transform:translate(calc(-100% - 120px))}}.toast-container[data-v-73aa1690]{z-index:99999;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast-item[data-v-73aa1690]{background:#fff;border-radius:10px;align-items:center;gap:10px;min-width:250px;max-width:400px;padding:12px 20px;font-size:14px;font-weight:600;animation:.3s ease-out slideIn-73aa1690;display:flex;box-shadow:0 10px 30px #00000026}.toast-success[data-v-73aa1690]{border-left:5px solid var(--green);color:var(--green)}.toast-error[data-v-73aa1690]{border-left:5px solid var(--red);color:var(--red)}.toast-warning[data-v-73aa1690]{border-left:5px solid var(--orange);color:var(--orange)}.toast-list-enter-active[data-v-73aa1690],.toast-list-leave-active[data-v-73aa1690]{transition:all .3s}.toast-list-enter-from[data-v-73aa1690],.toast-list-leave-to[data-v-73aa1690]{opacity:0;transform:translate(30px)}@keyframes slideIn-73aa1690{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.loading-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.spinner{border:4px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.tab-loading-overlay{background:var(--bg);z-index:2000;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding-top:25vh;display:flex;position:absolute;inset:0}.loading-text{color:var(--ts2);font-size:14px;font-weight:600}.loading-quote{color:var(--ts);text-align:center;max-width:500px;margin-top:8px;font-size:13px;font-style:italic;line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin;display:inline-block}.error-overlay{background:var(--bg);z-index:2000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.error-content{background:var(--card);border:1px solid var(--border);text-align:center;max-width:400px;box-shadow:var(--shadow);border-radius:16px;padding:32px}.error-icon{color:#ef4444;margin-bottom:16px;font-size:48px}.error-title{color:var(--tm);margin-bottom:8px;font-size:18px;font-weight:700}.error-message{color:var(--ts);margin-bottom:24px;font-size:14px;line-height:1.5}.error-actions{justify-content:center;gap:12px;display:flex}.btn-retry,.btn-reload{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .2s;display:flex}.btn-retry{background:var(--brand);color:#fff;border:none}.btn-retry:hover{opacity:.9}.btn-reload{background:var(--bg2);color:var(--ts);border:1px solid var(--border)}.btn-reload:hover{background:var(--border);color:var(--tm)}.tab-pane{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-layout{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.top-header{background:var(--card);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;gap:12px;height:64px;padding:0 16px 0 24px;display:flex;position:sticky;top:0}.header-left{flex:1;align-items:center;gap:32px;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.header-left:after{content:"";background:linear-gradient(to left, var(--card) 30%, transparent);pointer-events:none;z-index:1;width:48px;position:absolute;top:0;bottom:0;right:0}.brand-horizontal{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-logo-small{background:var(--brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.brand-text{color:var(--tm);letter-spacing:-.02em;font-size:16px;font-weight:800}.top-nav{scrollbar-width:none;flex:1;align-items:center;min-width:0;height:100%;display:flex;overflow-x:auto}.top-nav::-webkit-scrollbar{display:none}.nav-item-h{height:100%;color:var(--ts);font-family:var(--font-main);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:7px;padding:0 13px;font-size:13.5px;font-weight:500;transition:all .2s;display:flex;position:relative}.nav-item-h:hover{color:var(--brand);background:var(--brand-l)}.nav-item-h.active{color:var(--brand);font-weight:600}.nav-item-h.active:after{content:"";background:var(--brand);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.user-pill-container{position:relative}.user-pill{background:var(--bg2);border:1px solid var(--border);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:4px 8px 4px 4px;transition:all .2s;display:flex}.user-pill:hover,.user-pill.active{background:var(--brand-l);border-color:var(--brand-m)}.user-avatar-small{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:flex;box-shadow:0 2px 4px #0000001a}.user-name-small{color:var(--tm);white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin:0 4px 0 2px;font-size:13px;font-weight:700;overflow:hidden}.menu-chevron{color:var(--ts2);margin-right:4px;font-size:10px;transition:transform .3s}.menu-chevron.rotate{transform:rotate(180deg)}.user-dropdown-menu{background:var(--card);border:1px solid var(--border);z-index:1000;transform-origin:100% 0;border-radius:12px;width:220px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d}.dropdown-header{background:var(--bg2);padding:12px 16px}.user-info .u-name{color:var(--tm);font-size:13.5px;font-weight:700}.user-info .u-email{color:var(--ts2);margin-top:2px;font-size:11px}.dropdown-divider{background:var(--border);height:1px}.dropdown-item{width:100%;color:var(--ts);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.dropdown-item i{color:var(--ts2);text-align:center;width:20px;font-size:16px}.dropdown-item:hover{background:var(--brand-l);color:var(--brand)}.dropdown-item:hover i{color:var(--brand)}.dropdown-item.logout{color:var(--red)}.dropdown-item.logout:hover{background:var(--red-l);color:var(--red)}.dropdown-item.logout:hover i{color:var(--red)}.fade-slide-enter-active,.fade-slide-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.fade-slide-enter-from,.fade-slide-leave-to{opacity:0;transform:translateY(-10px)scale(.95)}.header-action-btn{color:var(--ts2);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:8px;font-size:18px;transition:all .2s;display:flex}.header-action-btn:hover{color:var(--brand);background:var(--brand-l)}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.ai-btn:hover{color:var(--purple)!important;background:var(--purple-l)!important}.logout-link{color:var(--red);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;padding:6px;font-size:16px;transition:all .2s;display:flex}.logout-link:hover{background:var(--red-l)}.main-content{flex-direction:column;flex:1;display:flex;position:relative}.page-body{width:100%;max-width:1440px;margin:0 auto;padding:16px;position:relative}.dashboard-container{flex-direction:column;gap:24px;display:flex}.dashboard-top-grid{grid-template-columns:320px minmax(0,1fr);align-items:stretch;gap:16px;margin-top:16px;display:grid}.dashboard-top-right-col{flex-direction:column;gap:16px;display:flex}@media (width<=992px){.header-left{gap:12px}.nav-item-h span,.brand-text,.user-name-small{display:none}.dashboard-top-grid{grid-template-columns:1fr}}@media (width<=640px){.top-header{flex-wrap:wrap;height:auto;min-height:52px;padding:6px 10px}.header-left{gap:8px;width:100%}.header-right{border-top:1px solid var(--border);justify-content:flex-end;width:100%;padding-top:6px}.nav-item-h{padding:0 8px;font-size:18px}}.app-footer{background:var(--card);border-top:1px solid var(--border);margin-top:auto;padding:8px 16px}.footer-content{max-width:1200px;color:var(--ts2);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 auto;font-size:11.5px;display:flex}.footer-content p{opacity:.9;margin:0;font-weight:500}.author-link{color:var(--brand);font-weight:700;text-decoration:none;transition:all .2s}.author-link:hover{opacity:.8}.footer-links{opacity:.6;align-items:center;gap:8px;display:flex}.footer-links .dot{font-size:8px}.footer-separator{opacity:.4;font-size:8px}@media (width<=640px){.footer-content{text-align:center;flex-direction:column;gap:6px}.footer-separator{display:none}}
