.confirm-overlay[data-v-f22b9068]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog[data-v-f22b9068]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;width:min(440px,calc(100vw - 2rem));box-shadow:var(--shadow-lg)}.confirm-title[data-v-f22b9068]{margin:0 0 .5rem;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.confirm-message[data-v-f22b9068]{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.confirm-actions[data-v-f22b9068]{display:flex;justify-content:flex-end;gap:.5rem}.btn-cancel[data-v-f22b9068],.btn-confirm[data-v-f22b9068]{padding:.5rem 1.25rem;border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;border:1px solid var(--border-strong)}.btn-cancel[data-v-f22b9068]{background:transparent;color:var(--text-secondary)}.btn-cancel[data-v-f22b9068]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-confirm[data-v-f22b9068]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-confirm[data-v-f22b9068]:hover{background:var(--accent-hover)}.btn-confirm.dangerous[data-v-f22b9068]{background:linear-gradient(135deg,var(--gs-co),#c94a4f);border-color:transparent}.btn-confirm.dangerous[data-v-f22b9068]:hover{filter:brightness(.9)}.fade-enter-active[data-v-f22b9068],.fade-leave-active[data-v-f22b9068]{transition:opacity .12s ease}.fade-enter-from[data-v-f22b9068],.fade-leave-to[data-v-f22b9068]{opacity:0}.toast-stack[data-v-4e2d7eb8]{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column-reverse;gap:.5rem;z-index:1000;max-width:min(420px,calc(100vw - 2rem))}.toast[data-v-4e2d7eb8]{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;background:linear-gradient(135deg,#2a0f14,var(--gs-az3));color:#ffe0e1;border:1px solid rgba(230,101,106,.55);border-left:4px solid var(--gs-co);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);cursor:pointer;font-size:.88rem;line-height:1.35}.toast-icon[data-v-4e2d7eb8]{flex-shrink:0;color:var(--gs-co);width:20px;height:20px;margin-top:2px}.toast-icon svg[data-v-4e2d7eb8]{width:100%;height:100%}.toast-body[data-v-4e2d7eb8]{flex:1;min-width:0}.toast-message[data-v-4e2d7eb8]{font-weight:600}.toast-detail[data-v-4e2d7eb8]{margin-top:.2rem;font-size:.78rem;color:#ffe0e1b8;word-break:break-word}.toast-close[data-v-4e2d7eb8]{background:transparent;border:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:0;margin-left:.25rem;opacity:.7}.toast-close[data-v-4e2d7eb8]:hover{opacity:1}.toast-enter-active[data-v-4e2d7eb8],.toast-leave-active[data-v-4e2d7eb8]{transition:all .22s ease}.toast-enter-from[data-v-4e2d7eb8]{opacity:0;transform:translateY(8px)}.toast-leave-to[data-v-4e2d7eb8]{opacity:0;transform:translate(20px)}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/raleway-cyrillic-ext-wght-normal-Dc5xu4We.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/raleway-cyrillic-wght-normal-B0Yo_ULV.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/raleway-vietnamese-wght-normal-wikBsL6_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/raleway-latin-ext-wght-normal-CwtNDoQR.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/raleway-latin-wght-normal-CSF1BaNN.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}:root{--gs-az: #003250;--gs-az2: #00243a;--gs-az3: #00172a;--gs-ceu: #35a3dc;--gs-ceu2: #71b5e4;--gs-co: #e6656a;--gs-tq: #22bec6;--gs-vd: #77c58c;--gs-la: #e98a69;--gs-be: #8c7aa5;--gs-am: #f4d036;--gs-azm: #2e7595;--gs-off: #f5f7fa;--gs-bd: #e8ecf1;--gs-g: #7a8a9a;--gs-tx: #1a2a3a;--font-ui: "Raleway Variable", "Raleway", Arial, Helvetica, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "Courier New", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--grad-chrome: linear-gradient(160deg, var(--gs-az3) 0%, var(--gs-az) 100%);--grad-accent: linear-gradient(135deg, var(--gs-ceu) 0%, var(--gs-tq) 100%);--grad-divider: linear-gradient( 90deg, transparent, rgba(53, 163, 220, .2), var(--gs-ceu), rgba(53, 163, 220, .2), transparent );--bg-page: var(--gs-off);--bg-surface: #ffffff;--bg-elevated: #edf2f8;--bg-hover: #e4ebf3;--bg-selected: #fdf6dc;--bg-active: #e1f0fa;--bg-header: var(--gs-az);--text-primary: var(--gs-tx);--text-secondary: #46596b;--text-muted: var(--gs-g);--text-faint: #94a3b0;--text-on-dark: #ffffff;--border: var(--gs-bd);--border-strong: #cfdae5;--accent: var(--gs-ceu);--accent-soft: rgba(53, 163, 220, .14);--accent-hover: #2a8fc4;--pos: #2e7d4f;--neg: #c0393e;--badge-gray-bg: #e4e9ee;--badge-gray-fg: #4a5c6c;--badge-yellow-bg: rgba(244, 208, 54, .18);--badge-yellow-fg: #8a6a0c;--badge-red-bg: rgba(230, 101, 106, .14);--badge-red-fg: var(--neg);--badge-green-bg: rgba(119, 197, 140, .16);--badge-green-fg: var(--pos);--badge-blue-bg: rgba(53, 163, 220, .12);--badge-blue-fg: var(--gs-azm);--badge-orange-bg: rgba(233, 138, 105, .16);--badge-orange-fg: #b85427;--badge-purple-bg: rgba(140, 122, 165, .16);--badge-purple-fg: #6b5b87;--shadow-sm: 0 2px 8px rgba(0, 50, 80, .06);--shadow-md: 0 8px 24px rgba(0, 50, 80, .1);--shadow-lg: 0 16px 48px rgba(0, 50, 80, .18)}html.dark{--bg-page: var(--gs-az3);--bg-surface: #002335;--bg-elevated: #003049;--bg-hover: #013a56;--bg-selected: #3d3418;--bg-active: #003c5c;--bg-header: #000f1c;--text-primary: #e8f0f7;--text-secondary: #a9bdcc;--text-muted: #7f94a4;--text-faint: #5f7484;--border: #103349;--border-strong: #1e4a64;--accent: #4fb0e3;--accent-soft: rgba(79, 176, 227, .18);--accent-hover: var(--gs-ceu2);--pos: var(--gs-vd);--neg: var(--gs-co);--badge-gray-bg: rgba(122, 138, 154, .18);--badge-gray-fg: #b3c1cd;--badge-yellow-bg: rgba(244, 208, 54, .12);--badge-yellow-fg: var(--gs-am);--badge-red-bg: rgba(230, 101, 106, .16);--badge-red-fg: var(--gs-co);--badge-green-bg: rgba(119, 197, 140, .15);--badge-green-fg: var(--gs-vd);--badge-blue-bg: rgba(53, 163, 220, .16);--badge-blue-fg: var(--gs-ceu2);--badge-orange-bg: rgba(233, 138, 105, .15);--badge-orange-fg: var(--gs-la);--badge-purple-bg: rgba(140, 122, 165, .18);--badge-purple-fg: #b3a3c8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55)}body{margin:0;font-family:var(--font-ui);background:var(--bg-page);color:var(--text-primary);transition:background-color .2s ease,color .2s ease}table{border-collapse:collapse}input,select,textarea{color:inherit;font-family:inherit}select option{background:var(--bg-surface);color:var(--text-primary)}html.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}input[type=checkbox]{accent-color:var(--accent)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{background:var(--bg-hover)}.sort-indicator{margin-left:.3rem;font-size:.75rem;color:var(--text-muted);opacity:.5}th.sortable.active .sort-indicator{opacity:1;color:var(--accent)}.filter-row{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.filter-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.filter-row select,.filter-row input{padding:.5rem .7rem;height:2.4rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);width:200px;box-sizing:border-box}.filter-row select:focus,.filter-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.today-label{font-size:.85rem;color:var(--text-secondary);align-self:flex-end;padding-bottom:.6rem;font-weight:500}.header-actions{display:flex;align-items:center;gap:.6rem;align-self:flex-end;padding-bottom:.4rem}.header-actions .today-label{align-self:center;padding-bottom:0}.btn-refresh{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer}.btn-refresh:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-refresh:disabled{opacity:.55;cursor:not-allowed}.btn-refresh .refresh-glyph{display:inline-block}.btn-refresh.is-loading .refresh-glyph{animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-search,.btn-reset{height:2.4rem;min-width:7.5rem;padding:0 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;cursor:pointer;align-self:flex-end;border:1px solid transparent;line-height:1;font-family:inherit;transition:all .25s ease}.btn-search{background:var(--grad-accent);color:var(--text-on-dark, #fff);border-color:transparent;box-shadow:0 4px 14px #35a3dc4d}.btn-search:hover{transform:translateY(-2px);box-shadow:0 8px 24px #35a3dc66}.btn-reset{background:transparent;color:var(--text-secondary);border-color:var(--border-strong)}.btn-reset:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:768px){.filter-row select,.filter-row input{width:100%}.filter-row label{flex:1 1 100%}.btn-search,.btn-reset{flex:1 1 auto}}.sidebar .nav-item{display:flex;align-items:center;width:100%;height:44px;padding:0;background:transparent;border:none;border-left:3px solid transparent;color:#ffffff9e;text-decoration:none;text-align:left;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar .nav-item:hover{background:#ffffff12;color:var(--text-on-dark)}.sidebar .nav-item.router-link-active{background:#35a3dc29;color:var(--text-on-dark);border-left-color:var(--gs-ceu);font-weight:700}.sidebar .nav-item.router-link-active .icon-slot{color:var(--gs-ceu)}.sidebar .nav-item .user-email{color:#ffffff6b}.sidebar .icon-slot{width:var(--sb-icon-col, 64px);height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar .icon-slot svg{width:18px;height:18px}.sidebar .nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;opacity:1;transform:translate(0);transition:opacity .15s ease,transform .18s ease}.sidebar.collapsed .nav-label{opacity:0;transform:translate(-6px);pointer-events:none}.page{min-height:100vh;display:flex}.content{padding:1.5rem 2rem;flex:1;min-width:0}.page-title{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.title-with-info{display:flex;align-items:center;gap:.25rem;margin-bottom:1.25rem}.sticky-toolbar{background:var(--bg-page);margin:-1.5rem -2rem 1rem;padding:1.5rem 2rem 0}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.25rem}.tab{padding:.6rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-family:inherit;white-space:nowrap}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:var(--badge-gray-bg);color:var(--text-secondary);padding:.1rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.tab.active .tab-count{background:var(--accent);color:#fff}.toolbar{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:.75rem}.top-toolbar{position:relative;justify-content:space-between;align-items:flex-start;gap:1rem}.toolbar-left{flex:1;min-width:0}.toolbar-right{display:flex;gap:.75rem}.state-msg{color:var(--text-faint);padding:2rem 0;text-align:center}.error-msg{color:var(--neg);font-size:.85rem;margin:.5rem 0}.success-msg{color:var(--pos);font-size:.85rem;margin:.5rem 0}.muted{color:var(--text-faint)}.small{font-size:.82rem}.mono{font-family:var(--font-mono);font-size:.85rem}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:clip}.data-table{width:100%;font-size:.9rem;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:.65rem .9rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.data-table th{background:var(--bg-elevated);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:700}.data-table th:first-child{border-top-left-radius:var(--radius-md)}.data-table th:last-child{border-top-right-radius:var(--radius-md)}.data-table tbody tr:last-child td{border-bottom:none}.data-table th.num,.data-table td.num,.num{font-variant-numeric:tabular-nums}.cell-name{font-weight:600;color:var(--text-primary)}.data-table th.col-actions,.data-table td.cell-actions{width:1%;white-space:nowrap;text-align:right}.cell-actions .btn-sm+.btn-sm{margin-left:.5rem}.modal-overlay .modal .data-table th,.modal-overlay .confirm-card .data-table th,.confirm-overlay .confirm-dialog .data-table th{position:static}.btn-primary{padding:.5rem 1.25rem;background:var(--grad-accent);color:var(--text-on-dark, #fff);border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px #35a3dc4d;transition:all .25s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #35a3dc66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-secondary{padding:.5rem 1.25rem;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .25s ease}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-revert{padding:.4rem .9rem;background:transparent;color:var(--neg);border:1px solid var(--neg);border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .25s ease}.btn-revert:hover{background:var(--badge-red-bg)}.btn-link{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:.25rem .5rem;font-family:inherit}.btn-link:hover{text-decoration:underline}.btn-sm{padding:.35rem .8rem;font-size:.8rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;width:480px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-wide{max-width:800px;width:800px}.modal-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary)}.modal-sub{margin:0 0 1.25rem;color:var(--text-faint);font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.form-row{margin-bottom:.85rem}.form-grid{display:flex;flex-direction:column;gap:.9rem}.form-field,.field{display:flex;flex-direction:column;gap:.3rem}.field>span,.field-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.3rem}.required{color:var(--badge-red-fg)}.field-help{cursor:help;color:var(--text-faint);font-size:.8rem}.field input,.field select,.field textarea,.form-field input,.form-field textarea{padding:.5rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;background:var(--bg-page);color:var(--text-primary)}.field input:focus,.field select:focus,.field textarea:focus,.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cell-email{color:var(--text-secondary);font-size:.85rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg-hover)}@media(max-width:640px){.content{padding:1rem .9rem}.sticky-toolbar{margin:-1rem -.9rem 1rem;padding:1rem .9rem 0}.page-title{font-size:1.15rem}.title-with-info{margin-bottom:1rem}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrapper .data-table{min-width:max-content}.data-table{font-size:.82rem}.data-table th,.data-table td{padding:.5rem .6rem}.toolbar,.top-toolbar{flex-wrap:wrap}.modal,.modal-wide{width:100%}}
