*{box-sizing:border-box}:root{--bg: #f3f3f3;--surface: #ffffff;--surface-soft: #f6f6f6;--text: #222222;--text-muted: #666666;--primary: #1f4f8b;--primary-hover: #163c6a;--border: #d0d0d0;--danger: #b3261e}body{margin:0;font-family:Segoe UI,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 14px;border-radius:4px;border:1px solid var(--border);font-weight:600;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:#15365d}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:none}.btn-secondary{background:#efefef;color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:#e5e5e5}.btn-danger{background:var(--danger);color:#fff;border-color:#8e1f18}input,select,textarea{width:100%;max-width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #1f4f8b26}table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:#fff}th,td{padding:12px;text-align:left;border-bottom:1px solid #edf2f7;vertical-align:middle}tbody tr:nth-child(2n){background:#fafafa}tbody tr:hover{background:#f3f7fc}th{background:#f2f2f2;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}thead th{position:sticky;top:0;z-index:1}td{font-size:13px}.table-wrap{border:1px solid var(--border);border-radius:4px;overflow:auto;background:#fff;-webkit-overflow-scrolling:touch}.table-wrap table{border:none;border-radius:0;margin:0}.table-actions{display:flex;flex-wrap:wrap;gap:6px}.table-actions .btn{min-height:30px;padding:5px 10px;font-size:12px}code{font-size:12px;background:#f4f4f4;border:1px solid #dedede;border-radius:3px;padding:2px 6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:none;padding:14px;margin-bottom:14px}.page-header{margin-bottom:12px}.page-header h1{margin:0 0 6px;font-size:24px;line-height:1.2;font-weight:600}.page-header p{margin:0;color:var(--text-muted);font-size:14px}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-dialog{width:min(680px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #d0d0d0;border-radius:6px;padding:16px;box-shadow:0 8px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-header h3{margin:0}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media (max-width: 1024px){th,td{padding:10px}.btn{min-height:34px;padding:7px 10px;font-size:12px}}@media (max-width: 768px){body{font-size:13px}.card{padding:10px;margin-bottom:10px}.page-header h1{font-size:20px}.page-header p{font-size:12px}th,td{padding:8px}th{font-size:10px}.table-actions{min-width:140px}.modal-backdrop{padding:8px}.modal-dialog{width:100%;max-height:calc(100vh - 16px);padding:10px}}@media (max-width: 520px){.btn{width:100%}.modal-actions .btn{width:auto}}
