*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#f4f5f7;color:#1a202c}.topbar{background:#111827;color:#fff;padding:12px 20px;display:flex;align-items:center;gap:16px}.topbar h1{margin:0;font-size:16px;font-weight:600}.topbar .spacer{flex:1}.topbar select{padding:6px 10px;border-radius:6px;border:1px solid #374151;background:#1f2937;color:#fff;font-size:13px}.topbar a{color:#9ca3af;text-decoration:none;font-size:13px}.topbar a:hover{color:#fff}.layout{display:flex;min-height:calc(100vh - 48px)}.sidebar{width:220px;background:#1f2937;padding:12px 0}.sidebar a.nav{display:block;padding:10px 20px;color:#d1d5db;text-decoration:none;font-size:14px}.sidebar a.nav:hover{background:#374151;color:#fff}.sidebar a.nav.active{background:#111827;color:#fff;border-left:3px solid #3b82f6;padding-left:17px}.content{flex:1;padding:24px;max-width:1200px}.card{background:#fff;padding:20px;margin:0 0 16px;border-radius:10px;box-shadow:0 1px 3px #0000000f}.card h2{margin:0 0 12px;font-size:16px}button{padding:7px 14px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;background:#3b82f6;color:#fff}button:hover{opacity:.92}button.ghost{background:#e5e7eb;color:#111827}button.danger{background:#ef4444}button.ok{background:#10b981}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse}th,td{padding:9px 10px;text-align:left;border-bottom:1px solid #f3f4f6;font-size:13px}th{background:#f9fafb;font-weight:600}input,select,textarea{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:-1px;border-color:transparent}input[readonly]{background:#f3f4f6;color:#6b7280;cursor:not-allowed}label{display:block;font-size:12px;color:#4b5563;font-weight:500}label input,label select,label textarea{display:block;width:100%;margin-top:4px;font-weight:400;color:#111827}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:1fr 1fr 1fr}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.badge.green{background:#d1fae5;color:#065f46}.badge.red{background:#fee2e2;color:#991b1b}.badge.gray{background:#f3f4f6;color:#4b5563}.badge.yellow{background:#fef3c7;color:#92400e}.login-wrap{max-width:400px;margin:80px auto}.pagination{display:flex;gap:6px;align-items:center;margin-top:12px;font-size:13px}.pagination button{padding:4px 10px;font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:14px}.tabs button{background:none;color:#6b7280;border-radius:0;padding:8px 14px;border-bottom:2px solid transparent;font-weight:500}.tabs button.active{color:#111827;border-bottom-color:#3b82f6}.muted{color:#6b7280;font-size:12px}code{background:#f3f4f6;padding:1px 5px;border-radius:4px;font-family:monospace;font-size:12px}.help{color:#6b7280;font-size:11px;margin-top:4px}.setting-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #f3f4f6}.setting-row:last-child{border-bottom:none}
