@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{color-scheme:light;--font-sans: "Poppins", "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Poppins", sans-serif;--slate-950: #14213d;--slate-900: #1f325b;--slate-800: #31497c;--slate-700: #486197;--slate-200: #d5dff0;--slate-100: #ebf0f7;--slate-50: #f6f8fc;--white: #ffffff;--accent-600: #f28f3b;--accent-500: #ffb357;--accent-100: #fff1de;--success-100: #ddf7e4;--success-700: #18794e;--danger-100: #ffe1e1;--danger-700: #a12d39;--color-background: linear-gradient(180deg, #f8fbff 0%, #edf3fb 100%);--color-surface: rgba(255, 255, 255, .88);--color-surface-strong: #ffffff;--color-surface-muted: #eef3fa;--color-border: rgba(49, 73, 124, .14);--color-border-strong: rgba(49, 73, 124, .24);--color-text: #183153;--color-text-muted: #5c7097;--color-heading: #14213d;--color-primary: #315efb;--color-primary-hover: #2449ca;--color-secondary: #eef3ff;--color-secondary-hover: #dde7ff;--color-shadow: 0 24px 60px rgba(20, 33, 61, .12);--color-shadow-soft: 0 14px 36px rgba(20, 33, 61, .08);--menu-bg: rgba(255, 255, 255, .96);--menu-text: var(--color-heading);--menu-hover: var(--color-primary);--menu-shadow: rgba(20, 33, 61, .18);--slider-bg: #edf2fb;--slider-border: #b9c7e3;--slider-handle: #4d77ff;--slider-fill: #c8d7ff;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: 8px;--border-radius-md: 14px;--border-radius-lg: 24px;--border-radius-xl: 32px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--container-sm: 420px;--container-md: 820px;--container-lg: 1280px;--container-xl: 1680px;--slider-graph-line: #315efb;--slider-graph-area: rgba(49, 94, 251, .18);--slider-graph-line-width: 1.5px;--slider-graph-area-opacity: .2}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body{min-height:100vh;margin:0;color:var(--color-text);background:radial-gradient(circle at top left,rgba(255,179,87,.22),transparent 28%),radial-gradient(circle at top right,rgba(49,94,251,.14),transparent 24%),var(--color-background);line-height:1.5;font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.container{width:min(100% - 2rem,var(--container-xl));margin:0 auto}.page-shell{min-height:100vh;padding:6.5rem 1rem 2rem}.page-shell--centered{display:flex;align-items:center;justify-content:center}.auth-shell{position:relative;width:min(100%,1100px);display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--border-radius-xl);background:#ffffffc2;box-shadow:var(--color-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(255,255,255,.2),transparent 38%);pointer-events:none}.auth-hero{padding:clamp(2rem,5vw,4rem);background:linear-gradient(160deg,#14213df5,#2c4783eb),#14213d;color:#f8fbff}.auth-kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:999px;background:#ffffff1f;color:#ffffffe6;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.auth-hero h1,.auth-hero h2{margin:1.25rem 0 .75rem;font:700 clamp(2rem,4vw,3.75rem) / 1.02 var(--font-display)}.auth-hero p{margin:0;max-width:26rem;color:#f4f7ffc7;font-size:1rem}.auth-hero-list{margin:2rem 0 0;padding:0;list-style:none;display:grid;gap:.9rem}.auth-hero-list li{display:flex;align-items:center;gap:.75rem;color:#f8fbffdb}.auth-hero-list li:before{content:"";width:.75rem;height:.75rem;border-radius:999px;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));box-shadow:0 0 0 6px #f28f3b29;flex:0 0 auto}.auth-card{position:relative;padding:clamp(1.5rem,4vw,3rem);background:var(--color-surface)}.surface-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-surface-strong);box-shadow:var(--color-shadow-soft)}.form-card{padding:clamp(1.25rem,3vw,2rem)}.form-card h2{margin:0 0 .4rem;color:var(--color-heading);font:700 clamp(1.6rem,2vw,2.1rem) / 1.15 var(--font-display)}.form-lead{margin:0 0 1.5rem;color:var(--color-text-muted)}.form-grid{display:grid;gap:1rem}.form-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.form-group{display:grid;gap:.45rem}.form-group label,.field-label{color:var(--color-heading);font-size:.92rem;font-weight:600}input,select,textarea{width:100%;min-height:3rem;padding:.8rem .95rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface-muted);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#315efb80;background:var(--white);box-shadow:0 0 0 4px #315efb1f}input:disabled,select:disabled{cursor:not-allowed;opacity:.7}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.8rem 1.25rem;border:1px solid transparent;border-radius:999px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}button:hover,.btn:hover{transform:translateY(-1px)}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary,button.btn-primary,button[type=submit]{background:linear-gradient(135deg,var(--color-primary),#4d77ff);color:var(--white);box-shadow:0 16px 30px #315efb3d}.btn-primary:hover,button.btn-primary:hover,button[type=submit]:hover{background:linear-gradient(135deg,var(--color-primary-hover),#315efb)}.btn-secondary{background:var(--color-secondary);color:var(--color-heading);border-color:#315efb1f}.btn-secondary:hover{background:var(--color-secondary-hover)}.btn-text{min-height:auto;padding:0;border:0;background:transparent;color:var(--color-primary);box-shadow:none;border-radius:0}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.button-row>*{flex:1 1 12rem}.message-bubble{margin-top:1rem;padding:.95rem 1rem;border-radius:var(--border-radius-md);border:1px solid transparent;font-size:.95rem}.message-bubble--error,.error-bubble,.error{background:var(--danger-100);color:var(--danger-700);border-color:#a12d3929}.message-bubble--success,.success-bubble{background:var(--success-100);color:var(--success-700);border-color:#18794e29}.message-bubble--info{background:var(--accent-100);color:#9b5d22;border-color:#f28f3b33}.section-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:#ffffffc7;box-shadow:var(--color-shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chart-card{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:linear-gradient(180deg,#fffffff0,#f7faffe6);box-shadow:var(--color-shadow-soft);overflow:hidden}.chart-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem .75rem;border-bottom:1px solid rgba(49,73,124,.08)}.chart-card__title{margin:0;color:var(--color-heading);font:700 1.05rem/1.2 var(--font-display)}.chart-card__subtitle{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.82rem}.chart-card__body{padding:1rem 1.15rem 1.15rem}.chart-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.chart-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0;border-radius:14px;border:1px solid rgba(49,94,251,.1);background:#315efb0f;box-shadow:none}.chart-icon-button:hover{background:#315efb1f}.chart-icon-button--danger{border-color:#a12d391f;background:#a12d390f}.chart-icon-button--danger:hover{background:#a12d391f}.chart-empty,.chart-loading{min-height:20rem;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(49,73,124,.16);border-radius:calc(var(--border-radius-lg) - 6px);background:#f0f5ff99;color:var(--color-text-muted);text-align:center;padding:1rem}.chart-spinner{width:3rem;height:3rem;border-radius:999px;border:4px solid rgba(49,94,251,.14);border-top-color:var(--color-primary);animation:spin .9s linear infinite}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.eyebrow{display:inline-block;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.auth-shell,.form-grid.two-column{grid-template-columns:1fr}}@media (max-width: 640px){.page-shell{padding-top:5.5rem}.container{width:min(100% - 1rem,var(--container-xl))}}#app{min-height:100vh}::selection{background:#315efb2e;color:var(--color-heading)}.dialog-backdrop[data-v-95af4f90]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d47;z-index:2100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-window[data-v-95af4f90]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff7;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);min-width:340px;width:min(92vw,560px);max-height:90vh;padding:1.25rem;box-shadow:var(--color-shadow);display:flex;flex-direction:column;gap:.9rem}.dialog-header[data-v-95af4f90],.dialog-footer[data-v-95af4f90]{display:flex;align-items:center;justify-content:space-between}.dialog-header[data-v-95af4f90]{color:var(--color-heading);font-size:1.12rem;font-weight:700}.dialog-body[data-v-95af4f90]{display:grid;gap:.8rem;overflow:auto}.dialog-body label[data-v-95af4f90]{display:flex;flex-direction:column;gap:.35rem;color:var(--color-heading);font-weight:600}.password-note[data-v-95af4f90],.dialog-info[data-v-95af4f90]{margin:0;color:var(--color-text-muted)}.icon-btn[data-v-95af4f90]{width:32px;height:32px;cursor:pointer}.dialog-error[data-v-95af4f90],.dialog-success[data-v-95af4f90]{padding:.85rem 1rem;border-radius:var(--border-radius-md);text-align:center}.dialog-error[data-v-95af4f90]{background:var(--danger-100);color:var(--danger-700)}.dialog-success[data-v-95af4f90]{background:#2cae601f;color:#1d7a45}.navbar[data-v-b3ecb0fe]{width:100%;background:#ffffffb8;color:var(--menu-text);box-shadow:0 14px 30px #14213d14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border);position:fixed;inset:0 0 auto 0;z-index:30;height:72px}.navbar-container[data-v-b3ecb0fe]{display:flex;align-items:center;justify-content:space-between;height:100%;position:relative;gap:1rem}.left-section[data-v-b3ecb0fe]{display:flex;align-items:center;gap:1rem;min-width:0}.brand-lockup[data-v-b3ecb0fe]{display:flex;align-items:center;gap:.85rem;padding-left:3.5rem}.brand-badge[data-v-b3ecb0fe]{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),#4d77ff);color:#fff;font:700 1rem/1 var(--font-display);box-shadow:0 12px 22px #315efb3d}.brand-copy[data-v-b3ecb0fe]{min-width:0}.logo[data-v-b3ecb0fe]{margin:0;color:var(--color-heading);font:700 1.25rem/1.1 var(--font-display)}.brand-copy p[data-v-b3ecb0fe]{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.82rem}.hamburger-lines[data-v-b3ecb0fe]{display:flex;flex-direction:column;justify-content:space-between;position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:2;cursor:pointer;background:#315efb0f;border:1px solid rgba(49,94,251,.12);border-radius:14px;padding:.75rem;height:3rem;width:3rem}.hamburger-lines .line[data-v-b3ecb0fe]{height:3px;width:100%;border-radius:999px;background:var(--color-heading);transition:all .3s ease}.close-btn[data-v-b3ecb0fe]{min-height:3rem;min-width:3rem;background:#315efb0f;color:var(--color-heading);border:1px solid rgba(49,94,251,.12);position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:none}.menu-items[data-v-b3ecb0fe]{position:fixed;top:0;left:0;background:var(--menu-bg);height:100vh;width:min(80vw,340px);transform:translate(-100%);display:flex;flex-direction:column;padding:6.5rem 1.25rem 1.25rem;box-shadow:18px 0 44px var(--menu-shadow);transition:transform .28s ease-in-out;z-index:20;border-right:1px solid var(--color-border)}.menu-items.is-active[data-v-b3ecb0fe]{transform:translate(0)}.menu-items li[data-v-b3ecb0fe]{list-style:none;margin-bottom:.6rem}.menu-title[data-v-b3ecb0fe]{margin-bottom:1rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.menu-items a[data-v-b3ecb0fe],.menu-action[data-v-b3ecb0fe]{display:flex;align-items:center;width:100%;min-height:3.25rem;padding:.9rem 1rem;border-radius:16px;color:var(--menu-text);font-size:1rem;font-weight:600;background:transparent;border:0;box-shadow:none;justify-content:flex-start}.menu-items a.router-link-active[data-v-b3ecb0fe],.menu-items a[data-v-b3ecb0fe]:hover,.menu-action[data-v-b3ecb0fe]:hover{color:var(--menu-hover);background:#315efb14}.menu-scrim[data-v-b3ecb0fe]{position:fixed;top:72px;right:0;bottom:0;left:0;background:#14213d33;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:15}.right-menu[data-v-b3ecb0fe]{margin-left:auto;display:flex;align-items:center;gap:.75rem;padding-left:1rem}.language-label[data-v-b3ecb0fe]{color:var(--color-text-muted);font-size:.82rem;font-weight:600}.language-dropdown[data-v-b3ecb0fe]{position:relative}.language-trigger[data-v-b3ecb0fe],.language-option[data-v-b3ecb0fe]{display:flex;align-items:center;gap:.55rem;box-shadow:none}.language-trigger[data-v-b3ecb0fe]{min-height:2.75rem;min-width:9rem;padding:.5rem .85rem;border-radius:14px;background:#315efb0f;border:1px solid rgba(49,94,251,.12);color:var(--color-heading);font-size:.92rem;font-weight:600}.language-dropdown-menu[data-v-b3ecb0fe]{position:absolute;right:0;top:calc(100% + .45rem);min-width:10rem;padding:.35rem;border-radius:16px;border:1px solid var(--color-border);background:#fffffffa;box-shadow:0 18px 36px #14213d24;z-index:45}.language-option[data-v-b3ecb0fe]{width:100%;min-height:2.65rem;padding:.5rem .65rem;border-radius:12px;background:transparent;border:0;color:var(--color-heading);font-size:.92rem;font-weight:600;justify-content:flex-start}.language-option[data-v-b3ecb0fe]:hover,.language-option.is-active[data-v-b3ecb0fe]{background:#315efb14}.language-flag[data-v-b3ecb0fe]{width:1.35rem;height:1rem;border-radius:.2rem;object-fit:cover;flex:0 0 auto}.language-trigger__label[data-v-b3ecb0fe]{white-space:nowrap}@media (max-width: 700px){.navbar[data-v-b3ecb0fe]{height:64px}.brand-copy p[data-v-b3ecb0fe],.language-label[data-v-b3ecb0fe]{display:none}.brand-lockup[data-v-b3ecb0fe]{padding-left:3.25rem}.logo[data-v-b3ecb0fe]{font-size:1.05rem}.right-menu[data-v-b3ecb0fe]{padding-left:.25rem}}@media (max-width: 520px){.navbar-container[data-v-b3ecb0fe]{gap:.5rem}.brand-badge[data-v-b3ecb0fe]{width:2.2rem;height:2.2rem}.language-trigger[data-v-b3ecb0fe]{min-width:7.5rem;min-height:2.45rem}}.app-shell[data-v-30d7a309]{min-height:100vh}.login-container[data-v-c2cc650e]{max-width:30rem;margin-left:auto}.additional-actions[data-v-c2cc650e]{margin-top:1rem}@media (max-width: 900px){.login-container[data-v-c2cc650e]{max-width:none}}.summary-section[data-v-992cd987]{max-width:var(--container-xl);margin:0 auto 1.5rem}.summary-chart[data-v-992cd987]{width:100%;min-height:420px}.stacked-bar-chart-shell[data-v-6f338214]{width:100%}.stacked-bar-chart[data-v-6f338214]{width:100%;height:460px}.stacked-bar-chart[data-v-6f338214] svg{overflow:visible}.no-data[data-v-6f338214]{min-height:460px}.stacked-bar-chart-wrapper[data-v-91dbff2d]{position:relative}.header-row[data-v-91dbff2d]{align-items:center}.counter-name[data-v-91dbff2d]{margin:.25rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.counter-id[data-v-91dbff2d]{margin:.2rem 0 0;color:var(--color-text-muted);font-size:.82rem}.toolbar[data-v-91dbff2d]{justify-content:flex-end}.icon[data-v-91dbff2d]{width:18px;height:18px;display:block;vertical-align:middle}.dialog-backdrop[data-v-eb420965]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog-window[data-v-eb420965]{background:#fff;border-radius:10px;min-width:380px;max-width:92vw;max-height:90vh;padding:1.25rem 1.25rem 1rem;box-shadow:0 8px 32px #0000002e;position:relative;display:flex;flex-direction:column;gap:.75rem}.dialog-header[data-v-eb420965]{display:flex;justify-content:space-between;align-items:center;font-size:1.15em;font-weight:600}.dialog-body[data-v-eb420965]{display:grid;grid-template-columns:1fr;gap:.75rem;overflow-y:auto;min-height:0;padding-bottom:.25rem}.row-2[data-v-eb420965]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.toggle[data-v-eb420965]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none}.dialog-body .toggle[data-v-eb420965]{flex-direction:row}.toggle-text[data-v-eb420965]{font-weight:500}.toggle-input[data-v-eb420965]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.toggle-track[data-v-eb420965]{position:relative;width:44px;height:24px;background:#e5e7eb;border-radius:9999px;box-shadow:inset 0 1px 2px #0000000f;transition:background-color .2s ease;flex:0 0 auto}.toggle-thumb[data-v-eb420965]{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:9999px;box-shadow:0 1px 2px #0003;transition:transform .2s ease}.toggle-input:focus+.toggle-track[data-v-eb420965]{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}.toggle-input:checked+.toggle-track[data-v-eb420965]{background:#2563eb}.toggle-input:checked+.toggle-track .toggle-thumb[data-v-eb420965]{transform:translate(20px)}.sensors-collapsible[data-v-eb420965]{border-top:1px solid #eee;padding-top:.5rem}.sensors-header[data-v-eb420965]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#f6f8fa;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem .75rem;cursor:pointer}.sensors-body[data-v-eb420965]{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.sensor-row[data-v-eb420965]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}.sensor-meta[data-v-eb420965]{display:flex;flex-direction:column;gap:.25rem;color:#6b7280;font-size:.9rem}.sensor-name[data-v-eb420965]{display:flex;flex-direction:column;gap:.35rem;font-weight:500}.no-sensors[data-v-eb420965]{color:#6b7280;font-size:.95rem}.chevron[data-v-eb420965]{width:20px;height:20px;fill:#6b7280;transition:transform .2s ease;transform:rotate(0)}.chevron.rotated[data-v-eb420965]{transform:rotate(180deg)}.dialog-body label[data-v-eb420965]{font-weight:500;display:flex;flex-direction:column;gap:.35rem}.dialog-body input[type=text][data-v-eb420965],.dialog-body input[type=number][data-v-eb420965]{padding:.5em .8em;border:1px solid #ccc;border-radius:6px;font-size:1em;background:#fff}.dialog-footer[data-v-eb420965]{display:flex;justify-content:flex-end;gap:1.2rem;border-top:1px solid #eee;padding-top:.5rem}.icon-btn[data-v-eb420965]{width:32px;height:32px;cursor:pointer;transition:filter .2s}.icon-btn[data-v-eb420965]:hover{filter:brightness(.85)}.dialog-error[data-v-eb420965]{color:#c00;margin-top:.25rem;text-align:center}.fade-enter-active[data-v-eb420965],.fade-leave-active[data-v-eb420965]{transition:opacity .15s ease}.fade-enter-from[data-v-eb420965],.fade-leave-to[data-v-eb420965]{opacity:0}.counter-sensors-chart[data-v-b3dbe9a2]{width:100%}.chart-container[data-v-b3dbe9a2]{width:100%;min-height:420px}.chart-error[data-v-b3dbe9a2]{margin-top:.75rem}.view-dialog-backdrop[data-v-23e1bf38]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d47;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-counter-dialog[data-v-23e1bf38]{background:#fffffff7;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);max-width:92vw;max-height:90vh;padding:1.25rem 1.25rem 1rem;box-shadow:var(--color-shadow);position:relative;display:flex;flex-direction:column;gap:12px}.view-dialog-header[data-v-23e1bf38]{display:flex;justify-content:space-between;align-items:center;color:var(--color-heading);font-size:1.15em;font-weight:700}.toolbar[data-v-23e1bf38]{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border)}.toolbar-item[data-v-23e1bf38]{display:flex;gap:6px;align-items:center}.toolbar-item>span[data-v-23e1bf38]{font-weight:600;color:var(--color-heading)}.toolbar-actions[data-v-23e1bf38]{display:flex;gap:.65rem;margin-left:auto}.file-icon-button[data-v-23e1bf38]{width:2.9rem;height:2.9rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--color-border);background:var(--color-secondary);cursor:pointer;transition:background .2s ease,transform .2s ease}.file-icon-button[data-v-23e1bf38]:hover:not(:disabled){background:var(--color-secondary-hover);transform:translateY(-1px)}.file-icon-button[data-v-23e1bf38]:disabled{opacity:.55;cursor:not-allowed}.file-type-icon[data-v-23e1bf38]{width:1.95rem;height:2.2rem;border-radius:.5rem;display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:.28rem;position:relative;font-size:.56rem;font-weight:800;letter-spacing:.08em;line-height:1;color:#fff;box-shadow:inset 0 -6px #0000001f}.file-type-icon[data-v-23e1bf38]:before{content:"";position:absolute;top:0;right:0;width:.62rem;height:.62rem;background:#ffffffd1;clip-path:polygon(0 0,100% 0,100% 100%);border-top-right-radius:.45rem}.file-icon-button--csv .file-type-icon[data-v-23e1bf38]{background:linear-gradient(180deg,#2dbd79,#168c56)}.file-icon-button--excel .file-type-icon[data-v-23e1bf38]{background:linear-gradient(180deg,#3578f6,#1f57c3)}.charts[data-v-23e1bf38]{padding-top:8px;overflow:auto}.data-section[data-v-23e1bf38]{display:flex;flex-direction:column;gap:.75rem;min-height:0}.data-section__header[data-v-23e1bf38]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.data-section__header h3[data-v-23e1bf38]{margin:0;color:var(--color-heading);font-size:1rem}.data-section__meta[data-v-23e1bf38]{color:var(--color-text-muted);font-size:.92rem}.table-shell[data-v-23e1bf38]{overflow:auto;border:1px solid var(--color-border);border-radius:16px;max-height:28vh;background:#ffffffe6}.data-table[data-v-23e1bf38]{width:100%;border-collapse:collapse;min-width:640px}.data-table th[data-v-23e1bf38],.data-table td[data-v-23e1bf38]{padding:.7rem .85rem;border-bottom:1px solid rgba(24,49,83,.08);text-align:left;white-space:nowrap}.data-table thead th[data-v-23e1bf38]{position:sticky;top:0;background:#f8fbff;color:var(--color-heading);font-weight:700;z-index:1}.data-table tbody tr[data-v-23e1bf38]:nth-child(2n){background:#f0f5ff73}.table-state[data-v-23e1bf38]{padding:1rem;border:1px dashed var(--color-border);border-radius:14px;color:var(--color-text-muted);background:#f8fbffb3}.table-state--error[data-v-23e1bf38]{color:#a33a4b}.view-dialog-footer[data-v-23e1bf38]{display:flex;justify-content:flex-end;gap:1.2rem;border-top:1px solid var(--color-border);padding-top:.5rem}.icon-btn[data-v-23e1bf38]{width:32px;height:32px;cursor:pointer;transition:transform .2s ease,filter .2s}.icon-btn[data-v-23e1bf38]:hover{filter:brightness(.9);transform:translateY(-1px)}@media (max-width: 900px){.toolbar-actions[data-v-23e1bf38]{width:100%;margin-left:0}.file-icon-button[data-v-23e1bf38]{flex:0 0 auto}}.charts-section[data-v-dbfed375]{max-width:var(--container-xl);margin:0 auto}.charts-header[data-v-dbfed375]{margin-bottom:1rem}.charts-header h2[data-v-dbfed375]{margin:.25rem 0 0;color:var(--color-heading);font:700 clamp(1.4rem,2vw,2rem) / 1.1 var(--font-display)}.charts-grid[data-v-dbfed375]{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:1.75rem;margin-bottom:1.5rem;align-items:start}.view-dialog-container[data-v-dbfed375]{border:1px solid #e0e0e0;border-radius:var(--border-radius-lg);padding:12px;margin-top:16px;background:#ffffffd6;box-shadow:var(--color-shadow-soft)}.view-dialog-header[data-v-dbfed375]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600;color:var(--color-heading)}.close-btn[data-v-dbfed375]{min-height:2.5rem;background:var(--color-secondary);border:1px solid var(--color-border);padding:4px 10px;border-radius:999px;color:var(--color-heading);width:auto;box-shadow:none}.close-btn[data-v-dbfed375]:hover{background:var(--color-secondary-hover)}@media (max-width: 1100px){.charts-grid[data-v-dbfed375]{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}}@media (max-width: 720px){.charts-grid[data-v-dbfed375]{grid-template-columns:minmax(0,1fr)}}.dialog-backdrop[data-v-10707ebc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d47;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-window[data-v-10707ebc]{background:#fffffff5;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);min-width:320px;max-width:90vw;padding:1.5rem;box-shadow:var(--color-shadow);position:relative;display:flex;flex-direction:column;align-items:stretch}.dialog-header[data-v-10707ebc]{display:flex;justify-content:space-between;align-items:center;color:var(--color-heading);font-size:1.2em;font-weight:700;margin-bottom:1rem}.dialog-body label[data-v-10707ebc]{font-weight:600;display:flex;flex-direction:column;gap:.5rem;color:var(--color-heading)}.dialog-body input[data-v-10707ebc]{margin-top:.25rem}.dialog-actions[data-v-10707ebc]{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.25rem}.icon-btn[data-v-10707ebc]{width:32px;height:32px;cursor:pointer;transition:transform .2s ease,filter .2s}.icon-btn[data-v-10707ebc]:hover{filter:brightness(.9);transform:translateY(-1px)}.dialog-error[data-v-10707ebc]{margin-top:1rem;text-align:center;padding:.85rem 1rem;border-radius:var(--border-radius-md);background:var(--danger-100);color:var(--danger-700)}.welcome[data-v-5a3d5355]{padding:6.5rem 1rem 2rem;position:relative;min-height:100vh}.toolbar-folder[data-v-5a3d5355]{max-width:var(--container-xl);margin:0 auto 1.5rem;padding:1rem 1.2rem;background:#fffc;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--color-shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toolbar-header[data-v-5a3d5355]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.toolbar-left[data-v-5a3d5355]{display:flex;align-items:center;gap:.5rem;min-width:0}.header-icon[data-v-5a3d5355]{width:22px;height:22px;fill:var(--color-primary);flex:0 0 auto}.toolbar-title[data-v-5a3d5355]{font-weight:700;color:var(--color-heading);font-size:1.05rem}.collapse-btn[data-v-5a3d5355]{min-height:2.75rem;min-width:2.75rem;background:#315efb0f;border:1px solid rgba(49,94,251,.1);padding:.25rem;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:none}.collapse-btn[data-v-5a3d5355]:hover{background:#315efb1f}.chevron[data-v-5a3d5355]{width:20px;height:20px;fill:var(--color-primary);transition:transform .2s ease;transform:rotate(0)}.chevron.rotated[data-v-5a3d5355]{transform:rotate(180deg)}.toolbar-content[data-v-5a3d5355]{display:flex;align-items:center;gap:1.5rem;margin-top:.5rem}.date-picker-row[data-v-5a3d5355]{display:flex;gap:1rem 1.2rem;align-items:end;flex-wrap:wrap}.date-picker-row label[data-v-5a3d5355]{font-weight:600;display:flex;flex-direction:column;gap:.35rem;color:var(--color-heading);min-width:12rem}.date-picker-row input[type=date][data-v-5a3d5355]{min-height:3rem}.search-label[data-v-5a3d5355]{display:flex;flex-direction:column;gap:.35rem}.search-input[data-v-5a3d5355]{min-width:240px}.floating-add[data-v-5a3d5355]{position:fixed;left:32px;bottom:32px;width:56px;height:56px;z-index:1000;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 20px 36px #315efb38;border-radius:50%;background:transparent;-webkit-user-select:none;user-select:none}.floating-add[data-v-5a3d5355]:hover{transform:translateY(-2px)}.floating-add[data-v-5a3d5355]:active{box-shadow:0 10px 18px #315efb3d}.spinner[data-v-5a3d5355]{border:12px solid rgba(49,94,251,.12);border-top:12px solid var(--color-primary);border-radius:50%;width:60px;height:60px;animation:spin-5a3d5355 1s linear infinite;margin:8rem auto 0}.welcome-message[data-v-5a3d5355]{max-width:var(--container-lg);margin:8rem auto 0}.fade-enter-active[data-v-5a3d5355],.fade-leave-active[data-v-5a3d5355]{transition:opacity .15s ease}.fade-enter-from[data-v-5a3d5355],.fade-leave-to[data-v-5a3d5355]{opacity:0}@keyframes spin-5a3d5355{to{transform:rotate(360deg)}}@media (max-width: 640px){.welcome[data-v-5a3d5355]{padding-left:.75rem;padding-right:.75rem}.toolbar-folder[data-v-5a3d5355]{padding:1rem}.date-picker-row label[data-v-5a3d5355],.search-label[data-v-5a3d5355]{min-width:100%}.floating-add[data-v-5a3d5355]{left:auto;right:20px;bottom:20px}}.auth-shell--register[data-v-0e3baaa3]{grid-template-columns:minmax(0,400px) minmax(0,1fr)}.form-group--full[data-v-0e3baaa3]{grid-column:1 / -1}@media (max-width: 900px){.auth-shell--register[data-v-0e3baaa3]{grid-template-columns:1fr}}.recover-password-container[data-v-c5cf207e]{max-width:30rem;margin-left:auto}.reset-link[data-v-c5cf207e]{display:block;margin-top:.5rem;color:var(--color-primary);word-break:break-all}.reset-password-container[data-v-ad6ee3aa]{width:100%;max-width:31rem;margin-left:auto}input.invalid[data-v-ad6ee3aa]{border-color:#a12d394d;background-color:#fff0f0}.field-error[data-v-ad6ee3aa]{color:var(--danger-700);font-size:.82rem}.post-actions[data-v-ad6ee3aa]{margin-top:1rem}
