.login-page[data-v-7fb1e533]{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex;position:relative}.login-bg[data-v-7fb1e533]{z-index:0;background:radial-gradient(circle at 20% 30%,rgba(79,106,230,.15),transparent 50%),linear-gradient(160deg,#f0f3fa 0%,#e8edf8 100%);position:absolute;top:0;bottom:0;left:0;right:0}.login-card[data-v-7fb1e533]{z-index:1;width:min(400px,100%);position:relative}.brand[data-v-7fb1e533]{text-align:center;margin-bottom:.5rem}.brand h1[data-v-7fb1e533]{color:var(--primary);margin-top:.5rem;font-size:1.5rem;font-weight:800}.tagline[data-v-7fb1e533]{color:var(--text-muted);margin-top:.25rem;font-weight:600}form[data-v-7fb1e533]{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.field[data-v-7fb1e533]{flex-direction:column;gap:.35rem;display:flex}.submit-btn[data-v-7fb1e533]{width:100%;margin-top:.5rem;padding:.75em;font-size:1.05rem}nav[data-v-1cefa112]{flex:1}.logout-btn[data-v-1cefa112]{background:rgba(255,255,255,.15);justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:auto;padding:.75rem;display:inline-flex}.logout-btn[data-v-1cefa112]:hover{background:rgba(255,255,255,.25)}.icon-btn[data-v-1cefa112]{align-items:center;gap:.4rem;display:inline-flex}.section-title[data-v-17669c84]{color:var(--text);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.table-card[data-v-17669c84]{margin-top:1.5rem}.count-badge[data-v-17669c84]{min-width:2em;color:var(--primary);background:rgba(79,106,230,.12);border-radius:8px;justify-content:center;align-items:center;padding:.2em .6em;font-weight:800;display:inline-flex}.empty-hint[data-v-17669c84]{color:var(--text-muted);text-align:center;padding:1rem 0}.toolbar[data-v-ca1749eb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.icon-btn[data-v-ca1749eb]{align-items:center;gap:.4rem;display:inline-flex}.actions-cell[data-v-ca1749eb]{white-space:nowrap}.actions-cell button[data-v-ca1749eb]{margin-right:.35rem}.status-tag[data-v-ca1749eb]{border-radius:6px;padding:.2em .65em;font-size:.85em;font-weight:700;display:inline-block}.status-tag.on[data-v-ca1749eb]{color:#3d7a2a;background:rgba(123,201,80,.2)}.status-tag.off[data-v-ca1749eb]{color:var(--danger);background:rgba(230,57,70,.15)}.map-shell[data-v-072c5f50]{width:100%;max-width:900px;margin:0 auto}.map-toolbar[data-v-072c5f50]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.zoom-btn[data-v-072c5f50]{box-sizing:border-box;border:1.5px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;transition:border-color .15s,background .15s,transform .1s;display:inline-flex}.zoom-btn[data-v-072c5f50]:hover{border-color:var(--primary);background:#f0f9ff}.zoom-btn[data-v-072c5f50]:active{transform:scale(.97)}.zoom-btn.icon[data-v-072c5f50]{width:36px;height:36px;padding:0}.zoom-btn.text[data-v-072c5f50]{height:36px;padding:0 .85rem}.zoom-label[data-v-072c5f50]{text-align:center;min-width:3rem;color:var(--text);font-size:.9rem;font-weight:800}.zoom-hint[data-v-072c5f50]{color:var(--text-muted);margin-left:auto;font-size:.8rem;font-weight:600}.simple-map[data-v-072c5f50]{aspect-ratio:1010/666;border:2px solid var(--border);touch-action:none;background:#b8dff5;border-radius:14px;width:100%;position:relative;overflow:hidden}.simple-map.zoomed[data-v-072c5f50]{cursor:grab}.simple-map.zoomed.dragging[data-v-072c5f50]{cursor:grabbing}.map-svg[data-v-072c5f50]{width:100%;height:100%;display:block}.land[data-v-072c5f50]{fill:#c5e8d0;stroke:#fff;stroke-width:.8px;pointer-events:none}.land-project[data-v-072c5f50]{fill:rgba(149,201,165,.55);stroke:#94a3b8;stroke-width:1.2px;stroke-dasharray:4 3;cursor:pointer;pointer-events:auto;transition:fill .15s,stroke .15s}.land-project[data-v-072c5f50]:hover{fill:rgba(168,212,180,.75)}.land-project.land-active[data-v-072c5f50]{fill:rgba(149,201,165,.92);stroke:#eab308;stroke-width:2.5px;stroke-dasharray:none}.map-pin[data-v-072c5f50]{cursor:pointer;z-index:2;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.pin-dot[data-v-072c5f50]{background:#fff;border:2px solid #94a3b8;border-radius:50%;width:12px;height:12px;transition:transform .15s,border-color .15s;box-shadow:0 1px 4px rgba(0,0,0,.15)}.map-pin:hover .pin-dot[data-v-072c5f50],.map-pin.active .pin-dot[data-v-072c5f50]{border-color:#eab308;transform:scale(1.15);box-shadow:0 0 0 3px rgba(250,204,21,.35)}.pin-label[data-v-072c5f50]{color:#1d3557;white-space:nowrap;text-overflow:ellipsis;background:rgba(255,255,255,.92);border-radius:4px;max-width:5.5em;padding:1px 5px;font-size:10px;font-weight:800;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.map-pin.active .pin-label[data-v-072c5f50]{color:#a16207;background:#fffbeb;outline:1.5px solid #facc15}@media (max-width:640px){.zoom-hint[data-v-072c5f50]{width:100%;margin-left:0}}.page-desc[data-v-df77050d]{color:var(--text-muted);margin:-.5rem 0 1.25rem;line-height:1.5}.map-card[data-v-df77050d]{margin-bottom:1.25rem;padding:1rem 1.25rem 1.25rem}.map-hint[data-v-df77050d]{color:var(--text-muted);text-align:center;margin-bottom:.75rem;font-size:.92rem;font-weight:600}.selected-name[data-v-df77050d]{color:#a16207;background:#fffbeb;border:1.5px solid #facc15;border-radius:999px;padding:.35em .75em;font-size:.92rem;font-weight:700}.toolbar[data-v-df77050d]{flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.toolbar label[data-v-df77050d]{white-space:nowrap;font-weight:700}.toolbar select[data-v-df77050d]{width:auto;min-width:140px}.icon-btn[data-v-df77050d]{align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.guide-row[data-v-df77050d]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 0;display:flex}.guide-row[data-v-df77050d]:last-child{border-bottom:none}.guide-main[data-v-df77050d]{flex:1;min-width:0}.guide-label[data-v-df77050d]{align-items:center;gap:.5rem;font-weight:600;display:flex}.type-tag[data-v-df77050d]{color:var(--primary);background:rgba(79,106,230,.12);border-radius:6px;padding:.2em .55em;font-size:.75em;font-weight:700}.row-preview[data-v-df77050d]{margin-top:.5rem}.row-preview audio[data-v-df77050d],.row-preview video[data-v-df77050d]{border-radius:8px;width:100%;max-width:360px}.row-preview video[data-v-df77050d]{background:#000;max-height:160px}.row-actions[data-v-df77050d]{flex-shrink:0}.row-actions button[data-v-df77050d]{margin-left:.35rem}.empty-hint[data-v-df77050d]{color:var(--text-muted);text-align:center;padding:1.5rem}.upload-hint[data-v-df77050d]{color:var(--text-muted);word-break:break-all;font-size:.85em}.upload-error[data-v-df77050d]{color:#c0392b;font-size:.85em}.modal-preview[data-v-df77050d]{margin:.5rem 0}.modal-preview audio[data-v-df77050d],.modal-preview video[data-v-df77050d]{border-radius:8px;width:100%}.modal-preview video[data-v-df77050d]{background:#000;max-height:200px}.modal-img[data-v-df77050d]{border-radius:10px;max-width:100%;margin:.5rem 0}.toolbar[data-v-e89b2360]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-desc[data-v-e89b2360]{color:var(--text-muted);margin-top:.35rem;font-size:.95rem}.game-row[data-v-e89b2360]{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.85rem 0;display:flex}.game-row[data-v-e89b2360]:last-child{border-bottom:none}.game-preview[data-v-e89b2360]{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 12px rgba(0,0,0,.12)}.game-main[data-v-e89b2360]{flex:1;min-width:0}.game-title[data-v-e89b2360]{align-items:center;gap:.5rem;font-weight:800;display:flex}.game-url[data-v-e89b2360]{color:var(--primary);word-break:break-all;margin-top:.2rem;font-size:.88rem;display:block}.game-meta[data-v-e89b2360]{color:var(--text-muted);margin-top:.25rem;font-size:.82rem}.status-tag.off[data-v-e89b2360]{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:.1em .5em;font-size:.75rem}.row-actions[data-v-e89b2360]{flex-shrink:0;gap:.5rem;display:flex}.empty-hint[data-v-e89b2360]{color:var(--text-muted);text-align:center;padding:2rem 0}.icon-grid[data-v-e89b2360]{grid-template-columns:repeat(4,1fr);gap:.55rem;margin-bottom:.75rem;display:grid}.icon-pick[data-v-e89b2360]{border:2px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:14px;flex-direction:column;align-items:center;gap:.25rem;min-height:72px;padding:.55rem .35rem .45rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.icon-pick[data-v-e89b2360]:hover{background:#eef6ff;border-color:#93c5fd}.icon-pick.active[data-v-e89b2360]{border-color:var(--primary);background:#fff5f0;box-shadow:0 0 0 3px rgba(255,107,74,.18)}.icon-pick-label[data-v-e89b2360]{color:var(--text-muted);text-align:center;font-size:.68rem;font-weight:700;line-height:1.2}.icon-pick.active .icon-pick-label[data-v-e89b2360]{color:var(--primary)}.color-row[data-v-e89b2360]{align-items:center;gap:.5rem;display:flex}.color-input[data-v-e89b2360]{background:0 0;border:none;width:48px;height:40px;padding:0}.color-presets[data-v-e89b2360]{flex-wrap:wrap;gap:.45rem;margin:.65rem 0 .85rem;display:flex}.color-swatch[data-v-e89b2360]{width:28px;height:28px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:2px solid #fff;border-radius:50%}.color-swatch.active[data-v-e89b2360]{box-shadow:0 0 0 2px var(--primary)}.preview-box[data-v-e89b2360]{margin:.5rem 0 1rem}.preview-box>span[data-v-e89b2360]{color:var(--text-muted);margin-bottom:.45rem;font-size:.85rem;display:block}.preview-btn[data-v-e89b2360]{color:#fff;border-radius:18px;align-items:center;gap:.55rem;padding:.75rem 1.1rem;font-weight:800;display:inline-flex;box-shadow:0 6px 18px rgba(0,0,0,.12)}.enable-row[data-v-e89b2360]{border:1.5px solid var(--border);background:#f8fafc;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.85rem;padding:.85rem 1rem;display:flex}.enable-text[data-v-e89b2360]{flex-direction:column;gap:.15rem;display:flex}.enable-title[data-v-e89b2360]{color:var(--text);font-weight:800}.enable-desc[data-v-e89b2360]{color:var(--text-muted);font-size:.82rem}.toggle-switch[data-v-e89b2360]{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;flex-shrink:0;width:52px;height:30px;padding:0;transition:background .2s;position:relative}.toggle-switch.on[data-v-e89b2360]{background:var(--secondary)}.toggle-knob[data-v-e89b2360]{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px rgba(0,0,0,.18)}.toggle-switch.on .toggle-knob[data-v-e89b2360]{transform:translate(22px)}.back-btn[data-v-52b79b3a]{background:var(--card);color:var(--primary);border:1px solid var(--border);align-items:center;gap:.4rem;margin-bottom:.75rem;display:inline-flex}.back-btn[data-v-52b79b3a]:hover{background:var(--bg-soft)}.page-header[data-v-52b79b3a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header .page-heading[data-v-52b79b3a]{margin-bottom:0}.danger-btn[data-v-52b79b3a]{color:#fff;cursor:pointer;background:#e63946;border:none;border-radius:999px;padding:.55em 1.1em;font-weight:700}.danger-btn[data-v-52b79b3a]:hover{background:#c1121f}.actions-cell[data-v-52b79b3a]{white-space:nowrap}.action-btn[data-v-52b79b3a]{margin-right:.35rem}.action-btn.warn[data-v-52b79b3a]{color:#b45309;background:#fff;border:1px solid #fbbf24}.action-btn.warn[data-v-52b79b3a]:hover{background:#fef3c7}.journal-modal[data-v-52b79b3a]{flex-direction:column;width:min(560px,94vw);max-height:88vh;padding:0;display:flex;overflow:hidden}.modal-head[data-v-52b79b3a]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-head h2[data-v-52b79b3a]{margin:0;font-size:1.1rem;font-weight:800}.close-btn[data-v-52b79b3a]{background:var(--bg-soft);cursor:pointer;width:2rem;height:2rem;color:var(--text-muted);border:none;border-radius:50%;font-size:1.35rem;line-height:1}.close-btn[data-v-52b79b3a]:hover{background:var(--border)}.modal-body[data-v-52b79b3a]{flex:1;padding:1rem 1.25rem;overflow-y:auto}.modal-foot[data-v-52b79b3a]{border-top:1px solid var(--border);text-align:right;padding:.85rem 1.25rem}.section[data-v-52b79b3a]{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;margin:.65rem 0;padding:.85rem 1rem}.section h3[data-v-52b79b3a]{color:var(--primary);margin-bottom:.45rem;font-size:.95rem;font-weight:700}.journal-img[data-v-52b79b3a]{border:1px solid var(--border);border-radius:10px;max-width:100%}.journal-video[data-v-52b79b3a]{border-radius:10px;max-width:100%}.muted[data-v-52b79b3a]{color:var(--text-muted)}.status-tag[data-v-52b79b3a]{border-radius:6px;padding:.3em .75em;font-size:.88em;font-weight:800;display:inline-block}.status-tag.unlit[data-v-52b79b3a]{color:var(--text-muted);background:rgba(100,116,139,.15)}.status-tag.lit[data-v-52b79b3a]{color:#a16207;background:#fff;border:2px solid #facc15;box-shadow:0 0 0 1px rgba(250,204,21,.35)}.status-tag.done[data-v-52b79b3a]{color:#3d7a2a;background:rgba(123,201,80,.25);border:1px solid #86efac}.icon-btn[data-v-52b79b3a]{align-items:center;gap:.35rem;display:inline-flex}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f0f3fa;--bg-soft:#e8edf8;--primary:#4f6ae6;--primary-dark:#3d56c9;--secondary:#7bc950;--accent:#ffd166;--text:#2d3748;--text-muted:#64748b;--card:#fff;--border:#c8d4f0;--danger:#e63946;--shadow:0 4px 20px rgba(79,106,230,.1);--radius-card:16px;--radius-input:10px;font-size:16px}@media (prefers-color-scheme:dark){:root{--bg:#141a26;--bg-soft:#1c2433;--text:#e2e8f0;--text-muted:#94a3b8;--card:#1e293b;--border:#334155;--shadow:0 4px 20px rgba(0,0,0,.35)}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100dvh;font-family:Nunito,PingFang SC,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:.5em 1.2em;font-weight:600;transition:transform .15s,background .15s}button:hover:not(:disabled){background:var(--primary-dark)}button:active:not(:disabled){transform:scale(.98)}button.danger{background:var(--danger)}button.muted{background:var(--text-muted)}input,textarea,select{font:inherit;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--card);width:100%;color:var(--text);padding:.55em .85em}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(79,106,230,.2)}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow);border:1px solid var(--border);padding:1.25rem}.layout{min-height:100dvh;display:flex}.sidebar{background:linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;flex-direction:column;flex-shrink:0;width:240px;padding:1.5rem 1rem;display:flex}.sidebar-brand{align-items:center;gap:.5rem;margin-bottom:2rem;font-size:1.25rem;font-weight:800;display:flex}.sidebar a{color:#fff;border-radius:10px;align-items:center;gap:.6rem;margin-bottom:.25rem;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.sidebar a:hover{background:rgba(255,255,255,.12)}.sidebar a.router-link-active{background:rgba(255,255,255,.22)}.main{flex:1;padding:1.75rem 2rem;overflow-x:auto}.page-heading{color:var(--primary);margin-bottom:1.25rem;font-size:1.75rem;font-weight:800}table{border-collapse:collapse;width:100%}th{color:var(--text-muted);text-transform:none;font-size:.85em;font-weight:700}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.85rem .75rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-soft)}.error-msg{color:var(--danger);margin-top:.5rem;font-weight:600}.modal-overlay{z-index:100;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:rgba(15,23,42,.45);flex-direction:column;align-items:center;padding:1.25rem 1rem 2rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.modal-card{flex-direction:column;flex-shrink:0;gap:.6rem;width:min(420px,100%);max-height:calc(100dvh - 2.5rem);margin:auto 0;display:flex;overflow-y:auto}.modal-actions{background:var(--card);border-top:1px solid var(--border);gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex;position:sticky;bottom:0}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.stat-card{text-align:center;padding:1.5rem 1rem}.stat-num{color:var(--primary);font-size:2.5rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);margin-top:.4rem;font-weight:600}@media (max-width:768px){.layout{flex-direction:column}.sidebar{flex-flow:wrap;gap:.25rem;width:100%;padding:1rem}.sidebar-brand{width:100%;margin-bottom:.5rem}.main{padding:1rem}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
