.navbar[data-v-1ef5cb7a]{background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:100;height:56px}.navbar-inner[data-v-1ef5cb7a]{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;height:100%}.navbar-brand[data-v-1ef5cb7a]{font-size:18px;font-weight:700;color:var(--primary);margin-right:24px}.navbar-brand[data-v-1ef5cb7a]:hover{color:var(--primary-hover)}.hamburger[data-v-1ef5cb7a]{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}.hamburger span[data-v-1ef5cb7a],.hamburger span[data-v-1ef5cb7a]:before,.hamburger span[data-v-1ef5cb7a]:after{display:block;width:24px;height:2px;background:var(--gray-700);transition:.2s}.hamburger span[data-v-1ef5cb7a]{position:relative}.hamburger span[data-v-1ef5cb7a]:before{content:"";position:absolute;top:-7px}.hamburger span[data-v-1ef5cb7a]:after{content:"";position:absolute;top:7px}.hamburger span.open[data-v-1ef5cb7a]{background:transparent}.hamburger span.open[data-v-1ef5cb7a]:before{top:0;transform:rotate(45deg)}.hamburger span.open[data-v-1ef5cb7a]:after{top:0;transform:rotate(-45deg)}.navbar-links[data-v-1ef5cb7a]{display:flex;align-items:center;gap:8px;flex:1}.navbar-links>a[data-v-1ef5cb7a]{padding:6px 12px;font-size:14px;color:var(--gray-700);border-radius:var(--radius)}.navbar-links>a[data-v-1ef5cb7a]:hover{background:var(--gray-100)}.navbar-links>a.router-link-active[data-v-1ef5cb7a]{color:var(--primary);font-weight:600}.navbar-spacer[data-v-1ef5cb7a]{flex:1}.nav-icon-link[data-v-1ef5cb7a]{position:relative;font-size:18px;padding:6px 8px}.nav-badge[data-v-1ef5cb7a]{position:absolute;top:0;right:-2px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:0 4px;border-radius:10px;min-width:16px;text-align:center;line-height:16px}.nav-dropdown[data-v-1ef5cb7a]{position:relative}.nav-dropdown-btn[data-v-1ef5cb7a]{background:none;border:none;font-size:14px;font-family:inherit;color:var(--gray-700);cursor:pointer;padding:6px 8px;border-radius:var(--radius)}.nav-dropdown-btn[data-v-1ef5cb7a]:hover{background:var(--gray-100)}.nav-avatar-btn[data-v-1ef5cb7a]{background:none;border:none;cursor:pointer;padding:2px;border-radius:50%;transition:box-shadow .15s}.nav-avatar-btn[data-v-1ef5cb7a]:hover{box-shadow:0 0 0 3px #4f46e540}.nav-avatar-img[data-v-1ef5cb7a]{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block}.nav-avatar-placeholder[data-v-1ef5cb7a]{width:34px;height:34px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.nav-dropdown-menu[data-v-1ef5cb7a]{display:none;position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:140px;padding:4px}.nav-dropdown:hover .nav-dropdown-menu[data-v-1ef5cb7a]{display:block}.nav-dropdown-menu a[data-v-1ef5cb7a]{display:block;padding:8px 12px;font-size:14px;color:var(--gray-700);border-radius:4px}.nav-dropdown-menu a[data-v-1ef5cb7a]:hover{background:var(--gray-100)}@media(max-width:768px){.hamburger[data-v-1ef5cb7a]{display:block}.navbar-links[data-v-1ef5cb7a]{display:none;position:absolute;top:56px;left:0;right:0;background:#fff;border-bottom:1px solid var(--gray-200);flex-direction:column;padding:12px 16px;gap:4px;align-items:stretch}.navbar-links.open[data-v-1ef5cb7a]{display:flex}.nav-dropdown-menu[data-v-1ef5cb7a]{position:static;box-shadow:none;border:none;padding-left:16px}}.modal-overlay[data-v-1ef5cb7a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:300}.modal-card[data-v-1ef5cb7a]{background:#fff;border-radius:var(--radius);padding:24px;width:360px;max-width:90vw;box-shadow:var(--shadow-md)}.main-container[data-v-d41e8a43]{max-width:1200px;margin:0 auto;padding:24px 16px;min-height:calc(100vh - 60px)}:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--success: #16a34a;--success-light: #dcfce7;--danger: #dc2626;--danger-light: #fef2f2;--warning: #f59e0b;--warning-light: #fffbeb;--info: #2563eb;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--gray-800);background:var(--gray-50);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.plain-link{color:inherit;text-decoration:none}.plain-link:hover{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-outline{background:#fff;border-color:var(--gray-300);color:var(--gray-700)}.btn-outline:hover:not(:disabled){background:var(--gray-100)}.btn-sm{padding:4px 10px;font-size:13px}.btn-lg{padding:10px 24px;font-size:16px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--gray-700)}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;font-family:inherit;transition:border-color .15s;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.form-textarea{resize:vertical;min-height:120px;font-family:Fira Code,Cascadia Code,Consolas,monospace}.form-error{color:var(--danger);font-size:13px;margin-top:4px}.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:16px}.card-title{font-size:18px;font-weight:600;margin-bottom:16px}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;background:var(--primary-light);color:var(--primary);margin-right:4px}.tag-sm{padding:1px 6px;font-size:11px}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background:var(--success-light);color:var(--success)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-info{background:var(--primary-light);color:var(--primary)}.status-accepted{color:#16a34a}.status-presentation-error,.status-presentation_error{color:#0891b2}.status-wrong-answer,.status-wrong_answer{color:#dc2626}.status-time-limit-exceeded,.status-time_limit_exceeded,.status-memory-limit-exceeded,.status-memory_limit_exceeded{color:#2563a0}.status-runtime-error,.status-runtime_error{color:#7c3aed}.status-compile-error,.status-compile_error{color:#a16207}.status-system-error,.status-system_error{color:#1f2937}.status-rj{color:#7f1d1d}.status-pending,.status-compiling,.status-running{color:#2563eb}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--gray-200);font-size:14px}th{background:var(--gray-100);font-weight:600;color:var(--gray-700);white-space:nowrap}tr:hover td{background:var(--gray-50)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-500)}.text-success{color:var(--success)}.text-sm{font-size:13px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-2{margin-bottom:16px}.mr-1{margin-right:8px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:8px}.gap-2{gap:16px}.loading{display:flex;justify-content:center;align-items:center;padding:48px;color:var(--gray-500);font-size:15px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid #fecaca}.alert-success{background:var(--success-light);color:var(--success);border:1px solid #bbf7d0}.empty-state{text-align:center;padding:48px 16px;color:var(--gray-500)}.empty-state p{font-size:15px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700}
