.app-header[data-v-e18d6b73]{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.header-inner[data-v-e18d6b73]{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;padding:0 1rem;display:flex}.logo[data-v-e18d6b73]{color:#2e7d5b;letter-spacing:2px;font-size:1.25rem;font-weight:700;text-decoration:none}.burger[data-v-e18d6b73]{cursor:pointer;z-index:201;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;display:flex}.burger span[data-v-e18d6b73]{background:#1a2e1a;border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.burger.open span[data-v-e18d6b73]:first-child{transform:translateY(7px)rotate(45deg)}.burger.open span[data-v-e18d6b73]:nth-child(2){opacity:0}.burger.open span[data-v-e18d6b73]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-overlay[data-v-e18d6b73]{z-index:199;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.nav-overlay.visible[data-v-e18d6b73]{opacity:1;pointer-events:auto}.nav-sidebar[data-v-e18d6b73]{z-index:200;background:#fff;flex-direction:column;width:280px;max-width:85vw;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001a}.nav-sidebar.open[data-v-e18d6b73]{transform:translate(0)}.nav-sidebar__header[data-v-e18d6b73]{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.nav-sidebar__logo[data-v-e18d6b73]{color:#2e7d5b;letter-spacing:2px;font-size:1.1rem;font-weight:700}.nav-sidebar__close[data-v-e18d6b73]{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:28px;line-height:1}.nav-sidebar__links[data-v-e18d6b73]{flex-direction:column;padding:8px 12px;display:flex}.nav-sidebar__links a[data-v-e18d6b73]{color:#4b5563;border-radius:8px;align-items:center;gap:10px;padding:11px 14px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-sidebar__links a[data-v-e18d6b73]:hover{color:#1a2e1a;background:#f5f7f5}.nav-sidebar__links a.router-link-active[data-v-e18d6b73]{color:#2e7d5b;background:#ecfdf5;font-weight:600}.nav-icon[data-v-e18d6b73]{text-align:center;width:20px;font-size:16px}.nav-sidebar__divider[data-v-e18d6b73]{background:#e5e7eb;height:1px;margin:4px 20px}.nav-sidebar__section-label[data-v-e18d6b73]{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:12px 26px 4px;font-size:11px;font-weight:600}.nav-sidebar__footer[data-v-e18d6b73]{border-top:1px solid #e5e7eb;flex-direction:column;gap:12px;margin-top:auto;padding:16px 20px;display:flex}.nav-sidebar__email[data-v-e18d6b73]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.btn-logout[data-v-e18d6b73]{cursor:pointer;color:#2e7d5b;background:0 0;border:1.5px solid #2e7d5b;border-radius:8px;width:100%;padding:10px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.btn-logout[data-v-e18d6b73]:hover{color:#fff;background:#2e7d5b}.app-main[data-v-e18d6b73]{background:#f5f7f5;max-width:1200px;min-height:calc(100vh - 56px);margin:0 auto;padding:1.5rem 1rem}.app-main-full[data-v-e18d6b73]{background:#f5f7f5;min-height:100vh}@media (width>=768px){.app-main[data-v-e18d6b73]{padding:2rem 1.5rem}}:root{--bg:#f5f7f5;--surface:#fff;--surface2:#eef2ee;--border:#d4ddd4;--primary:#2e7d5b;--primary-light:#3a9d72;--primary-dark:#245e46;--text:#1a2e1a;--text2:#6b7f6b;--danger:#d64545;--danger-light:#fdeaea;--warning:#c48b1a;--warning-light:#fef6e6;--success:#2e7d5b;--success-light:#e8f5ee;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-light)}img{max-width:100%;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.card-title{color:var(--text);font-size:1.125rem;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.btn-outline{color:var(--primary);border-color:var(--border);background:0 0}.btn-outline:hover:not(:disabled){background:var(--surface2);border-color:var(--primary)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-block{width:100%}.form-group{margin-bottom:1rem}.form-label{color:var(--text);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-input{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2e7d5b1f}.form-input::placeholder{color:var(--text2)}.form-hint{color:var(--text2);margin-top:.25rem;font-size:.75rem}.form-error{color:var(--danger);margin-top:.25rem;font-size:.75rem}.badge{border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-neutral{background:var(--surface2);color:var(--text2)}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert-success{background:var(--success-light);color:var(--success);border:1px solid #c2e0d0}.alert-danger{background:var(--danger-light);color:var(--danger);border:1px solid #f5c6c6}.alert-warning{background:var(--warning-light);color:var(--warning);border:1px solid #f0d8a0}.auth-container{width:100%;max-width:460px;margin:0 auto;display:block}.auth-card{width:100%;max-width:400px}.auth-card .logo{text-align:center;color:var(--primary);letter-spacing:1px;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.auth-card .subtitle{text-align:center;color:var(--text2);margin-bottom:1.5rem;font-size:.875rem}.auth-card .auth-footer{text-align:center;color:var(--text2);margin-top:1rem;font-size:.8125rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-title{font-size:1.5rem;font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}table th,table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.875rem}table th{color:var(--text2);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}table tbody tr:hover{background:var(--surface2)}.grid{gap:1.5rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-muted{color:var(--text2)}.text-sm{font-size:.875rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{justify-content:center;align-items:center;padding:3rem;display:flex}
